It seems that setting the alwaysShowOperatorIcon flag in a list grid does not consistently show the operator icons when modifying column structure or navigating before the initially drawn columns.
VERSION: v12.0p_2019-07-10/Pro.
BROWSER: This behavior has been observed on all browsers/platforms i.e. Chrome,Firefox,IE11,Safari/Linux,Windows 7 Enterprise,Mac Mojave
SCENARIO:
In a ListGrid with showFilterEditor, allowFilterOperators and alwaysShowOperatorIcon set to true, by default all operators are shown correctly.
When a column is removed and added again, or if a new column is added that was not initially displayed, upon redraw the icons are no longer visible. This issue is also observed when we need to scroll to the right on a listgrid that has more columns than those displayed within the viewport.
STEPS TO REPRODUCE:
Navigate to the following Showcase example: https://www.smartclient.com/smartcli...OperatorFilter
Replace the entire contents of inlineOperatorFilter.js with the following (only adding the alwaysShowOperatorIcon property):
CODE:
Click on the "Try it" button to run the code
All operators will be displayed as expected:
Using the header context menu (right click on header) on any column remove Capital from the list of columns and re-add it.
You can see that the icons are now only showing for the columns where an initial criteria is set.
VERSION: v12.0p_2019-07-10/Pro.
BROWSER: This behavior has been observed on all browsers/platforms i.e. Chrome,Firefox,IE11,Safari/Linux,Windows 7 Enterprise,Mac Mojave
SCENARIO:
In a ListGrid with showFilterEditor, allowFilterOperators and alwaysShowOperatorIcon set to true, by default all operators are shown correctly.
When a column is removed and added again, or if a new column is added that was not initially displayed, upon redraw the icons are no longer visible. This issue is also observed when we need to scroll to the right on a listgrid that has more columns than those displayed within the viewport.
STEPS TO REPRODUCE:
Navigate to the following Showcase example: https://www.smartclient.com/smartcli...OperatorFilter
Replace the entire contents of inlineOperatorFilter.js with the following (only adding the alwaysShowOperatorIcon property):
CODE:
Code:
isc.ListGrid.create({ ID: "countryList", width:550, height:300, alternateRecordStyles:true, dataSource: worldDS, fields:[ {name:"countryCode", width:60}, {name:"countryName"}, {name:"capital"}, {name:"continent"}, {name:"area"}, {name:"population"} ], autoFetchData: true, showFilterEditor: true, allowFilterOperators: true, alwaysShowOperatorIcon: true, initialCriteria: { _constructor: "AdvancedCriteria", operator: "and", criteria: [ { fieldName: "countryName", operator: "iNotContains", value: "i" }, { fieldName: "capital", operator: "iNotStartsWith", value: "p" } ] } });
Click on the "Try it" button to run the code
All operators will be displayed as expected:
Using the header context menu (right click on header) on any column remove Capital from the list of columns and re-add it.
You can see that the icons are now only showing for the columns where an initial criteria is set.
Comment