B4J Library [Web][SithasoDaisy5] - Create WebSites & WebApps with the power of the Abstract Designer (OpenSource)

DISCLAIMER - TO AVOID CONFUSION, THIS IS A NEW B4XLIB AND NOT SITHASODAISY 2, THIS IS OPEN-SOURCE, SITHASODAISY 2 IS NOT
PLEASE NOTE THAT ALL REFERENCES TO THIS B4XLIB WILL BE [SithasoDaisy5] OR [SDV5]



1736854785728.png


SithasoDaisy5 is a wrap of the MIT based DaiyUI TailwindCSS Component library to be used on top of BANano to bring you the best of worlds when creating your websites and webapps.

Why we chose DaisyUI...

Supercharges Tailwind CSS


DaisyUI takes the power of Tailwind and simplifies it with pre-built, customizable components. You get the best of both worlds: the utility-first approach of Tailwind and the rapid prototyping ability of a component library.

Ready-to-Use Components
With DaisyUI, you have access to a wide range of components like buttons, cards, modals, alerts, and more. These are pre-styled, responsive, and look amazing right out of the box.

Themeable by Design
DaisyUI makes theming effortless. Whether you’re building a light or dark mode, or customizing your brand's palette, DaisyUI supports themes with simple, intuitive configuration.

Customizable
Unlike rigid libraries, DaisyUI components are built with Tailwind classes, so you can easily tweak them to fit your exact design needs without fighting against predefined styles.

Developer-Friendly
Its intuitive syntax is easy to learn and integrate, even for teams new to Tailwind CSS. Plus, it's well-documented, making the development process smooth and hassle-free.

Lightweight & Performant
No unnecessary bloat. DaisyUI is lightweight, keeping your bundle sizes in check and your app’s performance top-notch.

Active Community and Regular Updates
Backed by a vibrant community and maintained actively, DaisyUI is always evolving with the latest best practices and features.

Why reinvent the wheel when you can save time, effort, and resources? With DaisyUI, you can build modern, responsive, and stunning web applications faster than ever.

Don’t just take our word for it—try it out today and experience the difference!, https://daisyui.com/

Now, using the b4j abstract designer, you can now enjoy all the DaisyUI functionality using your favorate IDE. You drag and drop components, set up properties and using LoadLayout, are able to see your UI in no time, just the way you designed it.

There is still a long way to go though before we finalize SDV5.

What's New?

1. SithasoDaisy5 is a NEW b4xlib and not an update to SithasoDaisy2.
2. SithasoDaisy5 is NOT backward compatible with SithasoDaisy2.
3. The component names start with SDUI5.
4. This b4xlib cannot be used in Production Apps as yet. Things might change and code cleanups will be done.
5. FontAwesome is no longer used, for icons one should use SVG icon files.
6. Supports both Abstract Designer & Code for building the UI. The abstract designer is a low code mode of creating your UI whilst writing code to create the UI can be cumbersome. To ease this one uses getters and setters. These getters and setters match 99% of the names used in the DaisyUI documentation.
7. Works well with the latest version of BANano i.e. 9+
8. SithasoDaisy5 is OPEN-SOURCE, compared to all the previous versions of SithasoDaisy. All previous versions of SithasoDaisy are commercial products.

Try the Demo (Open Source)

1. Download BANano
2. Download SithasoDaisy5. Copy the b4xlib to your b4j additional libraries folder.
3. Open and run the Demo project.

Have fun!

Here is a YT video...


Related Thread:




Tutorials


Asking Questions



PLEASE DO NOT ASK QUESTIONS ON THIS THREAD. WHEN YOU ASK QUESTIONS, PLEASE PREFIX YOUR QUESTION WITH [WEB][SITHASODAISY5]

 
Last edited:

Mashiane

Expert
Licensed User
Longtime User
Upcoming changes... Version 5.58

Bug Fixes


  • AvatarPlaceholder - was not displaying properly
  • Page Navigation buttons on Table stability
  • Table AddColumn??? now checks if table column was already added and if so stops executing.
  • Fixed an issue with the dividers on the table
  • Fixed the table size property and how it works
  • Fixed functionality to update table schema at run-time e.g. clear & recreate headers and data and toolbar buttons.
  • Fixed table footer adjustments.
  • Fixed color for toggle and checkbox - default is success
  • Fixed svgrender icon resizing to be in accordance with daisyui sizing of sm/md/lg/xl

New Features

  • AvatarPlaceholder Enhancements to use AvatarColor & Abbreviations, both on Table & as own component.
  • SetColumnVisibleOnly - hide all columns in a table but show the named ones in a list.
  • Latest DaisyUI 5.1.24 with latest version of TailwindCSS with bug fixes from Creators.
  • Table & Modal now includes Icon that one can place at left of title.
  • Modal now can be placed as an inline component (uses card)
  • Management of SelectAll / DeleteAll states now internal
  • Updates SVGRenderer javascript library.
  • Exploring ListViewMode where the table can be used as a Custom List View.*
  • Exploring Column Filters*
  • Enhanced how Table SetItemsPaginate works
  • Enhanced how Table ShowPage works
  • Enhanced how Table SetItems works
  • When adding columns, those with SetColumnHidden initially also remain hidden when you call table.RefreshColumnVisibility

Tip

  • When trapping RowChange event, instead of calling SetItemsPaginate, assign table.Originals to database.Result, when row data actually changed.
Here is example code for mouthing records from the database the bAfterChange when true means a rowChange was made, when false reload everything.

B4X:
Sub MountFields(bAfterChange As Boolean)
    dbFields.Initialize(Main.DBName, "fields")
    dbFields.SetSchemaFromDataModel(app.DataModels)
    dbFields.CLEAR_WHERE
    dbFields.whereEqual("projectid", Main.ProjectID)
    dbFields.whereEqual("tablename", Main.TableName)
    dbFields.orderBy(Array("proppos"))
    BANano.Await(dbFields.SELECT_WHERE1)
    If bAfterChange = False Then
        BANano.Await(tblFields.SetItemsPaginate(dbFields.result))
    Else
        tblFields.Originals = dbFields.result
    End If  
End Sub



To be continued...
 
Last edited:
Top