Announcement

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

    warning when using DataSource.combineCriteria for a visibleWhen

    SmartClient Version: SNAPSHOT_v13.1d_2024-10-17/Enterprise Deployment (built 2024-10-17)

    Hello, I’ve noticed the following WARN messages in my application's dev console:

    Code:
    12:04:33.595:TMR8:WARN:FilteredList:isc_FilteredList_3 (dataSource: isc_DataSource_3, created by: undefined):removeAt(): No valid record at position 0 to remove
    and:
    Code:
    12:19:32.492:WARN:FilteredList:isc_FilteredList_2 (dataSource: isc_DataSource_3, created by: undefined):addAt(): cannot add {title: "Chiudi",
    icon: "sprite:svg:[APP]/webjars/FontAwesome/6.5..."[68],
    enableWhen: Obj{_constructor:AdvancedCriteria},
    visibleWhen: Obj{_constructor:AdvancedCriteria},
    click: [o]ToolStripButton.click(),
    getAdaptiveMenu: getAdaptiveMenu(),
    _member: [ToolStripButton ID: planningScuolaCalcioModaleAdaptiveMenu_inlineMenuItem_isc_OID_40],
    _visibleWhenHidden: false,
    _adaptiveHidden: true} as the ResultSet already contains this object.
    These warnings seem to appear because I’m using isc.DataSource.combineCriteria to merge two criteria and then applying the result to the visibleWhen property of an AdaptiveMenuItem.

    Although the code seems to work fine, I’m concerned whether this approach might be unsupported or potentially problematic.

    #2
    Hi Claudio
    Can you share more details about this please?
    These warnings can occur when your code directly or indirectly attempts to call certain APIs on a FilteredList that may not be directly supported.
    The FilteredList class is a specialized ResultSet which holds all its data locally and, unlike an Array, supports filtering.

    In your case you're working with an AdvancedCriteria object and it appears that you have a FilteredList inside it.
    We're not sure how you got into this state.

    Can you share:
    - The structure of the AdvancedCriteria object (basically a pseudo-JSON string showing us where the FilteredList is within this object)
    - Any information you have, including code-snippets, showing us how the two criteria were created that you ultimately pass to DataSource.combineCriteria()

    Thank you for your help

    Isomorphic Software Support

    Comment


      #3
      SmartClient Version: SNAPSHOT_v13.1d_2024-10-18/AllModules Development Only (built 2024-10-18)

      Hello, I managed to make a test case to reproduce the first WARN, please run it in the showcase sample fetchOperationFS:

      Code:
      isc.DynamicForm.create({
          ID: "dsForm",
          width: 300,
          height: 100,
          items: [
              {name: "inStock"}
          ],
          dataSource: "supplyItem"
      }).fetchData()
      
      isc.ToolStrip.create({
          members: [
              isc.AdaptiveMenu.create({
                  ID: "test",
                  align: "center",
                  defaultLayoutAlign: "center",
                  items: [
                      {
                          title: "In stock",
                          visibleWhen: {fieldName: "dsForm.values.inStock", operator: "equals", value: true}
                      },
                      {
                          title: "Not in stock",
                          visibleWhen: {fieldName: "dsForm.values.inStock", operator: "notEqual", value: true}
                      }
                  ]
              })
          ]
      })
      Please let me know if you need also something for the 2nd WARN.

      Comment


        #4
        We've made a change to address the first issue. This should be present in nightly builds going forward (dated Oct 23 or above)
        If the second warning persists please let us know and show us how to reproduce the problem

        Regards
        Isomorphic Software

        Comment


          #5
          SmartClient Version: SNAPSHOT_v13.1d_2024-10-23/AllModules Development Only (built 2024-10-23)

          After a quick test, I don't see those warnings, thank you very much

          Comment

          Working...
          X