Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    AdaptiveMenu problem

    SmartClient Version: v13.1p_2025-08-10/AllModules Development Only (built 2025-08-10)

    Safari on iPadOS 17.4, iPad Air 5th generation, portrait orientation
    Actually, it also occurs on desktop (FF, Chrome, Safari on MacOS Sequoia) if the vLayout width is set to 820.

    Hi, I found an issue with the adaptive menu. I noticed it on iPad, but I’d say that with the following test case it happens everywhere if vLayout is set to a width of 820px, and with fontIncrease=4&sizeIncrease=15, ie using this URL:
    https://www-demos.smartclient.com/sm...rease=15&dhc=1

    then run this code in the browser console:

    Code:
    isc.Auth.setRoles(["ROLE_FOO", "ROLE_FOO_S"]);
    isc.Auth.setAvailableRoles(["ROLE_FOO", "ROLE_FOO_S", "ROLE_BAR"]);
    
    isc.DynamicForm.create({
        ID: "embeddedForm",
        snapTo: "L",
        snapOffsetLeft: 20,
        defaultLayoutAlign: "center",
        height: 1,
        width: "100%",
        minWidth: 300,
        titleWidth: 1,
        numCols: 4,
        linearMode: true,
        linearNumCols: 3,
        fields: [
            {
                name: "foo",
                showTitle: false,
                valueMap: ['one', 'two', 'three', 'four', 'five']
            },
            {
                name: "bar",
                showTitle: false,
                valueMap: ['one', 'two', 'three', 'four', 'five']
            },
            {
                name: "spacer",
                type: "spacer",
                height: 20
            }
        ]
    });
    
    isc.AdaptiveMenu.create({
        ID: "adaptiveMenu",
        menuButtonTitle: "Altro...",
        menuProperties: {
            width: "100%"
        },
        defaultLayoutAlign: "center",
        items: [
            {
                title: "Le Mie Attivitą",
                icon: "Edit",
                visibleWhen: {fieldName: "auth.roles", operator: "contains", value: "ROLE_BAR"}
            },
            {
                title: "Export Planning",
                icon: "Edit",
                visibleWhen: {fieldName: "auth.roles", operator: "contains", value: "ROLE_FOO_S"}
            },
            {
                title: "Export Massivo Report",
                icon: "Edit",
                visibleWhen: {fieldName: "auth.roles", operator: "contains", value: "ROLE_FOO_S"}
            },
            {
                title: "Report Tecnici",
                icon: "Edit"
            },
            {
                title: "Report Societą",
                icon: "Edit"
            },
            {
                title: "Report Attivitą",
                icon: "Edit",
                visibleWhen: {
                    _constructor: "AdvancedCriteria",
                    operator: "or",
                    criteria: [
                        {fieldName: "auth.roles", operator: "contains", value: "ROLE_FOO"},
                        {fieldName: "auth.roles", operator: "contains", value: "ROLE_FOO_S"}
                    ]
                }
            },
            {
                title: "Cerca Attivitą",
                icon: "Edit"
            },
            {
                title: "Aggiorna",
                icon: "Edit"
            },
            {
                title: "Legenda Attivitą",
                icon: "Edit"
            },
            {isSeparator: true},
            {
                icon: "Edit",
                embeddedComponent: embeddedForm,
                embeddedComponentFields: ["title"]
            }
        ]
    });
    
    isc.ToolStrip.create({
        ID: "toolStrip",
        membersMargin: 5,
        members: [
            adaptiveMenu
        ]
    });
    
    isc.VLayout.create({
        ID: "vLayout",
        width: "100%",
        height: "100%",
        backgroundColor: "white",
        members: [
            toolStrip
        ]
    }).show()
    As you can see, after opening the menu, the buttons that were previously visible inline disappear; then, after closing and reopening the menu, they reappear, but with some anomalies: the first menuItem that should have been hidden shows up, and the embedded component disappears.

    Click image for larger version  Name:	Simulator Screen Recording - iPad Air (5th generation) - 2025-08-11 at 18.58.14.gif Views:	0 Size:	29.2 KB ID:	276225

    It doesn’t happen without the embeddedComponent, and it doesn’t happen if the first menu doesn’t have the visibleWhen (and is therefore always visible).
    Last edited by claudiobosticco; 11 Aug 2025, 09:21.

    #2
    This should be fixed in 13.1+ builds dated 2025-08-13 and beyond.

    Comment


      #3
      SmartClient Version: v13.1p_2025-08-13/Enterprise Deployment (built 2025-08-13)

      I see it's fixed, thank you very much

      Comment

      Working...
      X