Announcement

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

    bug in grid with a frozen column and a visibleWhen field

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

    Hello, please try this test case in the showcase:

    Code:
    isc.DynamicForm.create({
        ID: "testForm",
        numCols: 8,
        margin: 5,
        fields: [
            {
                name: "TEST",
                title: "Test",
                valueMap: {
                    "foo": "foo",
                    "bar": "bar"
                }
            }
        ]
    });
    
    isc.ListGrid.create({
        ID: "companyList",
        autoFetchData: true,
        dataSource: worldDS,
        showAllRecords: true,
        canEdit: true,
        fields: [
            {name: "countryCode", frozen: true},
            {
                name: "countryName",
                visibleWhen: {
                    _constructor: "AdvancedCriteria",
                    operator: "or",
                    criteria: [
                        {
                            fieldName: "testForm.values.TEST",
                            operator: "notEqual",
                            value: "bar"
                        }
                    ]
                }
            },
            {name: "capital"},
            {name: "continent"}
        ]
    });
    
    isc.TabSet.create({
        ID: "tabsetTest", width: 400, height: 300,
        tabs: [
            {
                ID: "tab1", title: "Tab 1",
                pane: isc.Label.create({contents: "foo bar"})
            },
            {
                ID: "tab2", title: "Tab 2",
                pane: companyList
            }
        ]
    });
    
    isc.VLayout.create({
        members: [
            testForm,
            tabsetTest
        ]
    });
    then:
    - choose "bar" from the select
    - select Tab 2

    you'll see this in the developer console:

    Code:
    17:44:53.825:TMR3:WARN:Log:TypeError: Cannot read properties of null (reading 'slice')
    Stack from error.stack:
        ListGrid.getFrozenSlots(<no args: exited>) on[ListGrid ID:companyList] @ ISC_Grids.js:2909:190
        GridBody.adjustOverflow(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:752:27
        Canvas._updateHTML(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3742:86
        Canvas.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3733:705
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridRenderer.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:715:412
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridBody.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:846:23
        [c]Canvas.clearRedrawQueue(<no args: exited>) on [Class Canvas] @ ISC_Core.js:4995:110
        [c]Class.fireCallback(_1=>Obj, _2=>null, _3=>null, _4=>null, _5=>true) on [Class Timer] @ ISC_Core.js:340:252
        Timer._fireTimeout(_1=>"$ir226", _2=>344, _3=>undef) on [Class Timer] @ ISC_Core.js:2558:6
        null.<anonymous>() @ ISC_Core.js:2553:40
    
    17:44:54.090:TMR5:WARN:Log:TypeError: Cannot read properties of null (reading 'slice')
    Stack from error.stack:
        ListGrid.getFrozenSlots(<no args: exited>) on[ListGrid ID:companyList] @ ISC_Grids.js:2909:190
        GridBody.adjustOverflow(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:752:27
        Canvas._updateHTML(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3742:86
        Canvas.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3733:705
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridRenderer.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:715:412
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridBody.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:846:23
        [c]Canvas.clearRedrawQueue(<no args: exited>) on [Class Canvas] @ ISC_Core.js:4995:110
        [c]Class.fireCallback(_1=>Obj, _2=>null, _3=>null, _4=>null, _5=>true) on [Class Timer] @ ISC_Core.js:340:252
        Timer._fireTimeout(_1=>"$ir238", _2=>356, _3=>undef) on [Class Timer] @ ISC_Core.js:2558:6
        null.<anonymous>() @ ISC_Core.js:2553:40
    
    17:44:54.288:TMR6:WARN:Log:TypeError: Cannot read properties of null (reading 'slice')
    Stack from error.stack:
        ListGrid.getFrozenSlots(<no args: exited>) on[ListGrid ID:companyList] @ ISC_Grids.js:2909:190
        GridBody.adjustOverflow(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:752:27
        Canvas._updateHTML(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3742:86
        Canvas.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3733:705
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridRenderer.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:715:412
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridBody.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:846:23
        [c]Canvas.clearRedrawQueue(<no args: exited>) on [Class Canvas] @ ISC_Core.js:4995:110
        [c]Class.fireCallback(_1=>Obj, _2=>null, _3=>null, _4=>null, _5=>true) on [Class Timer] @ ISC_Core.js:340:252
        Timer._fireTimeout(_1=>"$ir248", _2=>366, _3=>undef) on [Class Timer] @ ISC_Core.js:2558:6
        null.<anonymous>() @ ISC_Core.js:2553:40
    
    17:44:54.484:TMR5:WARN:Log:TypeError: Cannot read properties of null (reading 'slice')
    Stack from error.stack:
        ListGrid.getFrozenSlots(<no args: exited>) on[ListGrid ID:companyList] @ ISC_Grids.js:2909:190
        GridBody.adjustOverflow(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:752:27
        Canvas._updateHTML(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3742:86
        Canvas.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3733:705
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162a
        GridRenderer.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:715:412
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridBody.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:846:23
        [c]Canvas.clearRedrawQueue(<no args: exited>) on [Class Canvas] @ ISC_Core.js:4995:110
        [c]Class.fireCallback(_1=>Obj, _2=>null, _3=>null, _4=>null, _5=>true) on [Class Timer] @ ISC_Core.js:340:252
        Timer._fireTimeout(_1=>"$ir258", _2=>376, _3=>undef) on [Class Timer] @ ISC_Core.js:2558:6
        null.<anonymous>() @ ISC_Core.js:2553:40
    
    17:44:54.676:TMR7:WARN:Log:TypeError: Cannot read properties of null (reading 'slice')
    Stack from error.stack:
        ListGrid.getFrozenSlots(<no args: exited>) on[ListGrid ID:companyList] @ ISC_Grids.js:2909:190
        GridBody.adjustOverflow(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:752:27
        Canvas._updateHTML(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3742:86
        Canvas.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:3733:705
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridRenderer.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:715:412
        [c]Class.invokeSuper(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Core.js:326:162
        GridBody.redraw(<no args: exited>) on [GridBody ID:companyList$51d] @ ISC_Grids.js:846:23
        [c]Canvas.clearRedrawQueue(<no args: exited>) on [Class Canvas] @ ISC_Core.js:4995:110
        [c]Class.fireCallback(_1=>Obj, _2=>null, _3=>null, _4=>null, _5=>true) on [Class Timer] @ ISC_Core.js:340:252
        Timer._fireTimeout(_1=>"$ir268", _2=>386, _3=>undef) on [Class Timer] @ ISC_Core.js:2558:6
        null.<anonymous>() @ ISC_Core.js:2553:40

    #2
    Hello, may I ask if you see the issue?

    Comment


      #3
      This one is assigned - it looks like what's going on is that the visibleWhen declaration removes a field from the visible fields array at a time when the frozen columns subsystem expects the visible fields array to be stable.

      Comment


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

        Hi, are there any updates regarding this issue? It still occurs in the latest build.

        Comment


          #5
          hi Claudio - this 13.1/14.0 issue has been fixed for today's builds, dated August 22, and later ones.

          Comment


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

            I see it's working now, thank you very much.

            Comment

            Working...
            X