Other SithasoDaisy 2 - The Power to Choose Edition Now Available

Hi there

Demo on Vercel

NB: Merging of CSS & JS SHOULD BE FALSE

B4X:
BANano.TranspilerOptions.MergeAllCSSFiles = False
BANano.TranspilerOptions.MergeAllJavascriptFiles = False

It is with pleasure to announce The Power to Choose Edition of SithasoDaisy. Basically this collection of b4xlibs gives you the developer the power to choose which plugins you want included in your project. There is the core SithasoDaisy b4xlib and then additional b4xlibs that you can include in your project.

This project makes heavy use of the BANano "...later" directive to load css/js resources, for as and when needed.

The attached document shows you whats new and how to migrate your projects. You can also explore the attached "demo" app to explore more functionality of how we have done it.

As a SithasoDaisy user, please feel free to explore, make suggestions, critisize in a kind way. Get it from the same location. The files are suffixed with 2.

Yours

Mashy

PS: The demo application contains everything on SithasoDaisy. Please test the beta with your own projects and then please comment / ask question down here on anything you experience I humbly thank you.


Screenshot_1.jpg


Update: Migrating from V1 to V2

1. Ensure that all the b4xlibs from SithasoDaisy are sitting in your Additional Libraries folder.

2. Add this sub to pgIndex

B4X:
Sub AddUses
    'uncomment unused
    BANano.Await(app.UsesPDF)
    BANano.Await(app.UsesExcel)
    BANano.Await(app.UsesCSV)
    BANano.Await(app.UsesEnjoyHint)
    BANano.Await(app.UsesFlatPickDateTime)
    BANano.Await(app.UsesRollDate)
    BANano.Await(app.UsesPocketBase)
    BANano.Await(app.UsesFlipPage)
    BANano.Await(app.UsesTimeLine)
    BANano.Await(app.UsesGridNav)
    BANano.Await(app.UsesChartKick)
    BANano.Await(app.UsesQRCode)
    BANano.Await(app.UsesBarCodeReader)
    BANano.Await(app.UsesWebCam)
    BANano.Await(app.UsesAxios)
    BANano.Await(app.UsesLottiePlayer)
    BANano.Await(app.UsesDocxTemplator)
    BANano.Await(app.UsesHTMLParser)
    BANano.Await(app.UsesLZCompressString)
    BANano.Await(app.UsesFullCalendar)
    BANano.Await(app.UsesDevice)
    BANano.Await(app.UsesKanBan)
    BANano.Await(app.UsesAES)
    BANano.Await(app.UsesGMaps)
    BANano.Await(app.UsesAES4PHP)
    BANano.Await(app.UsesToastChart)
    BANano.Await(app.UsesMockupCode)
    BANano.Await(app.UsesFireBase)
    BANano.Await(app.UsesSupaBase)
    BANano.Await(app.UsesRelax)
    BANano.Await(app.UsesGijgo)
    BANano.Await(app.UsesJustGage)
    BANano.Await(app.UsesFluidMeter)
    BANano.Await(app.UsesFrappeGantt)
    BANano.Await(app.UsesEvoCalendar)
    BANano.Await(app.UsesDropZone)
    BANano.Await(app.UsesCollectJS)
    BANano.Await(app.UsesSwiper)
End Sub

Please note, you can remove the Use calls of the libs you wont use.

Update the pgIndex.Initialize call to include a call to the new sub

B4X:
Sub Initialize                    'ignoreDeadCode
    'initialize the app
    BANano.Await(app.AddApp(Me, Main.AppName))
    BANano.Await(AddUses)

3. Ensure you select all the Libraries starting with SithasoDaisy... in Libraries

1697060303339.png


1697060348276.png


Also from this list, you can remove the libs you wont need in your app and also the Use calls that wont be needed.

OPTIONAL: DO NOT SELECT THESE LIBRARIES, They are already included internally in SithasoDaisy b4xlib and are part of the core.

1697060620562.png


The above Use case is for the SithasoDaisyDemo, depending on your project, the Use calls and b4xlibs used might be different, depending on your needs.

Related Content


 
Last edited:

Mashiane

Expert
Licensed User
Longtime User
The drawer child with href strings in the Needful Things don't work,
Fixed.
I didn't find a way to show an icon for each drawer child item with href that will open a new window.
B4X:
drawer.AddItemChildLinkIcon("tw", "link-twa", "Tailwind Awesome", "https://www.tailwindawesome.com", "_blank", "fa-solid fa-swatchbook")

update the code

B4X:
Private Sub appdrawer_menu_Click (item As String)
    'hide the drawer
    drawer.Close
    'we have navigated to a page, exit
    If app.ShowPage(item) Then Return
    '
    If item.StartsWith("api-") Then
        sithasoAPI.compname = item
        sithasoAPI.Show(app)
        Return
    End If
    
    If item.StartsWith("link-") Then
        drawer.ItemLink(item).NavigateTo
        Return
    End If
    
    'we have code that does not open a page
    Select Case item
    Case "rightdrawer"
        drwRight.show
    Case "leftdrawer"
        drwLeft.show
    End Select
End Sub

Will be available on the next update
 

JGParamo

Member
Licensed User
I cannot get to work the navigation bar menu button using the event Menu_Click (e As BANanoEvent) as given in the manual.
B4X:
...
    cboDesign.SizeSM
    cboDesign.Root.mx(2)
    cboDesign.Hide
    cboDesign.HideOnSmall
    '
    'add a menu button to the navbar
    navbar.AddMenuButton

End Sub

Sub Menu_Click (e As BANanoEvent)
    app.ShowSwal("Menu Button click!")
End Sub
1691234443835.png
 

Mashiane

Expert
Licensed User
Longtime User
I cannot get to work the navigation bar menu button using the event Menu_Click (e As BANanoEvent) as given in the manual.
B4X:
...
    cboDesign.SizeSM
    cboDesign.Root.mx(2)
    cboDesign.Hide
    cboDesign.HideOnSmall
    '
    'add a menu button to the navbar
    navbar.AddMenuButton

End Sub

Sub Menu_Click (e As BANanoEvent)
    app.ShowSwal("Menu Button click!")
End Sub
View attachment 144471
This was added as an example. You can add any control you want in the navbar, see how the cboDesign component was added. Also check other navbar code in the demo source.
 
Top