Announcement

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

    FilterBuilder translation of BETWEEN and BETWEEN_INCLUSIVE operators is not working properly / 13.0-p20230315

    FilterBuilder.getCriteria().asString() seems to be translating BETWEEN operator to IBETWEEN and BETWEEN_INCLUSIVE operator to IBETWEEN_INCLUSIVE for all field types, including TEXT.

    This is quite unexpected and reproducible on 13.0-p20230315

    Is this a bug or are we missing something?

    #2
    FYI
    The problem is still present in 13.0-p20250430

    Comment


      #3
      To clarify, here are the operator labels and their matching operatorIds:

      Label OperatorId
      between (inclusive) iBetweenInclusive
      between iBetween
      between (match case) between
      between (inclusive, matchcase) betweenInclusive

      Best Regards
      Isomorphic Software







      Comment


        #4
        I am afraid it is possible that we have misunderstood the relationship between "Label" and "OperatorId".
        Let me check.

        Comment


          #5
          I can confirm that on 13.0-p20250430 the labels are the same for both the case matching and the case insensitive operators.

          Label is "between" for "iBetween" operator
          Label is "between (inclusive)" for both "iBetweenInclusive" operator

          However:
          Label is "between" for "between" operator
          Label is "between (inclusive)" for both "betweenInclusive" operator

          I am guessing the label is derived from a combination of both the operator and the field type.
          Last edited by eliasbalasis; 3 May 2025, 09:45.

          Comment


            #6
            Can you clarify what the problem is here?

            Bear in mind that, as far as descriptions intended for end users, there is an intentional design decision to keep it simple.

            So what's the issue you have here: something is unclear to end users, or criteria descriptions are the same despite different operators, or something else?

            Ideally, can you give a specific Criteria where the description seems off?

            Comment


              #7
              To clarify, the display label in FilterBuilder seems to be the same for similar operators.
              for example: both "between" and "iBeetween" operators display "between" as label in "FilterBuilder" on a numeric field.
              similarly: both "betweenInclusive" and "iBeetweenInclusive" operators display "between (inclusive)" as label in "FilterBuilder" on a numeric field.

              This is contrary to the mapping you provided and confused me, making me suspect that the choice of label displayed depends on the field type.

              I was expecting different label for each operator regardless of field type.

              I hope this explains my confusion.

              It is worth mentioning that we are assigning specific operators to specific field types thus avoiding assignment of operators with same label but I believe it is worth raising the question either way.
              Last edited by eliasbalasis; 4 May 2025, 05:32.

              Comment

              Working...
              X