@refinitiv-ui/efx-grid 6.0.119 → 6.0.120

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. package/lib/core/dist/core.js +97 -6
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/data/DataView.js +7 -5
  4. package/lib/core/es6/grid/Core.js +1 -1
  5. package/lib/core/es6/grid/components/Cell.d.ts +2 -0
  6. package/lib/core/es6/grid/components/Cell.js +89 -0
  7. package/lib/filter-dialog/themes/base-checkbox.less +1 -1
  8. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
  9. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  10. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
  11. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  12. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
  13. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  14. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
  15. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
  16. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
  17. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  18. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
  19. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  20. package/lib/grid/index.js +1 -1
  21. package/lib/rt-grid/dist/rt-grid.js +210 -87
  22. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  23. package/lib/rt-grid/es6/ColumnDefinition.js +7 -0
  24. package/lib/rt-grid/es6/Grid.js +106 -81
  25. package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.js +18 -15
  26. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +6 -1
  27. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +0 -2
  28. package/lib/tr-grid-row-dragging/es6/RowDragging.js +82 -77
  29. package/lib/tr-grid-row-selection/es6/RowSelection.js +155 -35
  30. package/lib/types/es6/Core/grid/components/Cell.d.ts +2 -0
  31. package/lib/types/es6/RowDragging.d.ts +0 -2
  32. package/lib/versions.json +5 -5
  33. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
  import "./imports/native-elements.js";
2
2
 
3
3
 
4
- dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#8a8a96;scrollbar-shadow-color:#8a8a96;scrollbar-highlight-color:#8a8a96;scrollbar-arrow-color:#8a8a96;scrollbar-track-color:#fff;scrollbar-3dlight-color:#fff;scrollbar-darkshadow-color:#fff;scrollbar-color:#8a8a96 #fff}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:4px}:host #container{border:1px solid #a9afba;overflow-y:auto;min-height:48px;flex-grow:1}:host .item-container{display:flex;width:100%;align-items:center}:host .item-label{margin-left:7px;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .root{display:flex;flex-flow:column;overflow:hidden}::-webkit-scrollbar{width:13px;height:13px}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #fff;height:12px;width:12px;display:block}::-webkit-scrollbar-thumb{background:#8a8a96;border-radius:7px;border:2px solid #fff}::-webkit-scrollbar-thumb:hover{background:#a9afba}::-webkit-scrollbar-thumb:active{background:#ee7600}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-corner{background:#fff}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:horizontal:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}' }}));
4
+ dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#8a8a96;scrollbar-shadow-color:#8a8a96;scrollbar-highlight-color:#8a8a96;scrollbar-arrow-color:#8a8a96;scrollbar-track-color:#fff;scrollbar-3dlight-color:#fff;scrollbar-darkshadow-color:#fff}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:4px}@supports not selector(::-webkit-scrollbar){:host{scrollbar-color:#8a8a96 #fff}}:host #container{border:1px solid #a9afba;overflow-y:auto;min-height:48px;flex-grow:1}:host .item-container{display:flex;width:100%;align-items:center}:host .item-label{margin-left:7px;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .root{display:flex;flex-flow:column;overflow:hidden}::-webkit-scrollbar{width:13px;height:13px}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #fff;height:12px;width:12px;display:block}::-webkit-scrollbar-thumb{background:#8a8a96;border-radius:7px;border:2px solid #fff}::-webkit-scrollbar-thumb:hover{background:#a9afba}::-webkit-scrollbar-thumb:active{background:#ee7600}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-corner{background:#fff}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:horizontal:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}' }}));
@@ -1,4 +1,4 @@
1
1
  dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'filter-dialog', styles: ':host{display:block}:host *{margin-bottom:0;margin-top:0}:host .compact{padding-top:8px;padding-bottom:8px}:host .compact #filterAdvancedUI,:host .compact #filterValueUI{margin-top:5px}:host .compact #filterValueUI>*+*{margin-top:4px}:host .compact .input-group ef-combo-box+ef-combo-box,:host .compact .input-group ef-combo-box+ef-datetime-picker{margin-top:10px}:host .compact .input-group ef-combo-box+div.radio-group,:host .compact .input-group ef-datetime-picker+div.radio-group{margin-top:6px}:host .compact .input-group div.radio-group+ef-combo-box{margin-top:8px}:host .compact .cancel-ok{margin-top:4px}:host .compact #separator,:host .compact .group-label{display:none}:host ef-panel{box-shadow:0 0 10px rgba(0,0,0,.5);padding-top:17px;padding-bottom:31px;display:block}:host label{line-height:18px;font-size:12px}:host hr{border-top:1px solid;margin-top:9px;margin-bottom:6px;width:100%}:host ef-radio-button{height:18px}:host #filterCoralSplitBtn,:host ef-combo-box,:host ef-input,:host ef-search-field,:host ef-datetime-picker{width:100%}:host ef-radio-group{text-align:center}:host #root_panel{display:flex;flex-direction:column}:host #filterUI{display:flex;flex-direction:column;overflow-y:hidden;flex:1}:host #dataSelector{overflow:hidden;display:flex;flex-direction:column}:host #filterAdvancedUI,:host #filterValueUI{margin-top:19px;display:flex;flex-direction:column;flex:1;overflow:auto}:host #filterValueUI>*+*{margin-top:19px}:host #filterDialogContent{width:243px;display:flex;flex-direction:column;overflow:hidden;flex:1}:host #dataFilter{flex:0 0 auto}:host .group-block>*+*{margin-top:4px}:host .group-block label{display:block}:host .group-filter{overflow:hidden;display:flex;flex-direction:column;flex:1}:host .input-group ef-combo-box+ef-combo-box,:host .input-group ef-combo-box+ef-datetime-picker{margin-top:19px}:host .input-group ef-radio-button+ef-radio-button{margin-left:6px}:host .input-group ef-combo-box+div.radio-group,:host .input-group ef-datetime-picker+div.radio-group{margin-top:13px}:host .input-group div.radio-group+ef-combo-box{margin-top:16px}:host .cancel-ok{text-align:right;margin-top:31px}:host .cancel-ok #cancel_btn{margin-left:12px}:host .cancel-ok #clear_btn{float:left}:host .hide{display:none!important}#filterDialogContent.no-filter-ui{width:119px}' }}))
2
2
 
3
- dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#8a8a96;scrollbar-shadow-color:#8a8a96;scrollbar-highlight-color:#8a8a96;scrollbar-arrow-color:#8a8a96;scrollbar-track-color:#fff;scrollbar-3dlight-color:#fff;scrollbar-darkshadow-color:#fff;scrollbar-color:#8a8a96 #fff}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:4px}:host #container{border:1px solid #a9afba;overflow-y:auto;min-height:48px;flex-grow:1}:host .item-container{display:flex;width:100%;align-items:center}:host .item-label{margin-left:7px;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .root{display:flex;flex-flow:column;overflow:hidden}::-webkit-scrollbar{width:13px;height:13px}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #fff;height:12px;width:12px;display:block}::-webkit-scrollbar-thumb{background:#8a8a96;border-radius:7px;border:2px solid #fff}::-webkit-scrollbar-thumb:hover{background:#a9afba}::-webkit-scrollbar-thumb:active{background:#ee7600}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-corner{background:#fff}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:horizontal:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}' }}));
3
+ dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#8a8a96;scrollbar-shadow-color:#8a8a96;scrollbar-highlight-color:#8a8a96;scrollbar-arrow-color:#8a8a96;scrollbar-track-color:#fff;scrollbar-3dlight-color:#fff;scrollbar-darkshadow-color:#fff}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:4px}@supports not selector(::-webkit-scrollbar){:host{scrollbar-color:#8a8a96 #fff}}:host #container{border:1px solid #a9afba;overflow-y:auto;min-height:48px;flex-grow:1}:host .item-container{display:flex;width:100%;align-items:center}:host .item-label{margin-left:7px;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .root{display:flex;flex-flow:column;overflow:hidden}::-webkit-scrollbar{width:13px;height:13px}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #fff;height:12px;width:12px;display:block}::-webkit-scrollbar-thumb{background:#8a8a96;border-radius:7px;border:2px solid #fff}::-webkit-scrollbar-thumb:hover{background:#a9afba}::-webkit-scrollbar-thumb:active{background:#ee7600}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-corner{background:#fff}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 2.5px,5px 3.5px,4px 4.5px,3px 5.5px,2px 6.5px}::-webkit-scrollbar-button:vertical:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:10px 3.5px,9px 4.5px,8px 5.5px,7px 6.5px,6px 7.5px,5px 6.5px,4px 5.5px,3px 4.5px,2px 3.5px}::-webkit-scrollbar-button:horizontal:start:decrement{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,2.5px 6px,3.5px 5px,4.5px 4px,5.5px 3px,6.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment{background-image:linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96),linear-gradient(#8a8a96,#8a8a96);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba),linear-gradient(#a9afba,#a9afba);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600),linear-gradient(#ee7600,#ee7600);background-position:3.5px 10px,4.5px 9px,5.5px 8px,6.5px 7px,7.5px 6px,6.5px 5px,5.5px 4px,4.5px 3px,3.5px 2px}' }}));
4
4
 
package/lib/grid/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import {Grid} from "./lib/efx-grid.js";
2
2
  export {Grid}
3
- window.EFX_GRID = { version: "6.0.119" };
3
+ window.EFX_GRID = { version: "6.0.120" };
@@ -15522,6 +15522,13 @@ ColumnDefinition.getDataType = function(field) {
15522
15522
  return "";
15523
15523
  };
15524
15524
  /** @public
15525
+ * @ignore
15526
+ * @return {boolean|string|null}
15527
+ */
15528
+ ColumnDefinition.prototype.getTooltipValue = function() {
15529
+ return this._tooltip;
15530
+ };
15531
+ /** @public
15525
15532
  * @return {string}
15526
15533
  */
15527
15534
  ColumnDefinition.prototype.getTooltip = function() {
@@ -18274,6 +18281,10 @@ Cell.prototype._floatingPanel = null;
18274
18281
  * @type {CellFloatingPanel}
18275
18282
  */
18276
18283
  Cell.prototype._frontIcon = null;
18284
+ /** @type {Object}
18285
+ * @private
18286
+ */
18287
+ Cell.prototype._tooltipInfo = null;
18277
18288
 
18278
18289
  //#region ElementWrapper
18279
18290
  /** {@link ElementWrapper#getContent}
@@ -18866,6 +18877,91 @@ Cell.prototype.getClientWidth = function () {
18866
18877
  Cell.prototype.getClientHeight = function () {
18867
18878
  return (this._element) ? this._element.clientHeight : this.getHeight();
18868
18879
  };
18880
+
18881
+ /** To remove the tooltip, pass str as an empty string. To allow cell calculation for the correct tooltip, set str to null.
18882
+ * @public
18883
+ * @param {string|null} str
18884
+ */
18885
+ Cell.prototype.setTooltip = function(str) {
18886
+ this.setTooltipInfo("userTooltip", str);
18887
+ this.updateTooltip();
18888
+ };
18889
+ /** @public
18890
+ * @ignore
18891
+ * @param {string} type
18892
+ * @param {*=} tooltip
18893
+ */
18894
+ Cell.prototype.setTooltipInfo = function(type, tooltip) {
18895
+ let tooltipInfo = this._tooltipInfo;
18896
+ if(!tooltipInfo) {
18897
+ tooltipInfo = this._tooltipInfo = {};
18898
+ }
18899
+
18900
+ tooltipInfo[type] = tooltip;
18901
+ };
18902
+ /** @public
18903
+ * @ignore
18904
+ */
18905
+ Cell.prototype.updateTooltip = function() {
18906
+ let tooltipInfo = this._tooltipInfo;
18907
+ if(!tooltipInfo) {
18908
+ return;
18909
+ }
18910
+
18911
+ let defaultTooltip = "";
18912
+ let customizedTooltip = null;
18913
+
18914
+ // Clipped text tooltip takes precedence over default group header and column tooltip
18915
+ if(tooltipInfo["clippedText"]) { // boolean
18916
+ defaultTooltip = customizedTooltip = tooltipInfo["clippedTextTooltip"];
18917
+ }
18918
+
18919
+ if(tooltipInfo["groupHeaderTooltip"] == null) {
18920
+ if(tooltipInfo["columnDefault"] !== false) {
18921
+ if(tooltipInfo["columnDefault"] != null) { // true, "", string
18922
+ customizedTooltip = tooltipInfo["columnTooltip"];
18923
+ } else { // null
18924
+ defaultTooltip = tooltipInfo["columnTooltip"];
18925
+ }
18926
+ }
18927
+ } else { // Group header tooltip takes precedence over column tooltip
18928
+ if(tooltipInfo["groupHeaderDefault"] !== false) {
18929
+ if(tooltipInfo["groupHeaderDefault"] != null) {
18930
+ customizedTooltip = tooltipInfo["groupHeaderTooltip"];
18931
+ } else {
18932
+ defaultTooltip = tooltipInfo["groupHeaderTooltip"];
18933
+ }
18934
+ }
18935
+ }
18936
+
18937
+ // User tooltip take the highest precedence
18938
+ if(tooltipInfo["userTooltip"] != null) { // "", string
18939
+ customizedTooltip = tooltipInfo["userTooltip"];
18940
+ }
18941
+
18942
+ if(customizedTooltip == null) {
18943
+ customizedTooltip = defaultTooltip;
18944
+ }
18945
+
18946
+ if(customizedTooltip) {
18947
+ if(this.getAttribute("title") !== customizedTooltip) {
18948
+ this.setAttribute("title", customizedTooltip);
18949
+ }
18950
+ } else if(this.getAttribute("title") != null) {
18951
+ this.removeAttribute("title");
18952
+ }
18953
+ };
18954
+ /** @public
18955
+ * @ignore
18956
+ * @param {string} type
18957
+ * @return {*}
18958
+ */
18959
+ Cell.prototype.getTooltipInfo = function(type) {
18960
+ if(this._tooltipInfo) {
18961
+ return this._tooltipInfo[type];
18962
+ }
18963
+ return null;
18964
+ };
18869
18965
  //#region Internal Public Methods
18870
18966
 
18871
18967
  //#region Private Methods
@@ -32017,7 +32113,7 @@ DataView.prototype._updateRowIds = function(opt_rowIds) {
32017
32113
 
32018
32114
  this._excludedRids = {};
32019
32115
  let exclusionCount = 0;
32020
- exclusionCount += DataView._copyObjectKeys(this._excludedRids, this._hiddenRids);
32116
+ exclusionCount += DataView._copyValidObjectKeys(this._excludedRids, this._hiddenRids);
32021
32117
 
32022
32118
  // Segment separators should not be filtered out (hidden)
32023
32119
  let segments = this._dt._getSegmentSeparators();
@@ -32037,7 +32133,7 @@ DataView.prototype._updateRowIds = function(opt_rowIds) {
32037
32133
  }
32038
32134
  this._collapsedRids = segments.getCollapsedRows();
32039
32135
  // Children of collapsed segments must be filtered out (hidden)
32040
- exclusionCount += DataView._copyObjectKeys(this._excludedRids, this._collapsedRids);
32136
+ exclusionCount += DataView._copyValidObjectKeys(this._excludedRids, this._collapsedRids);
32041
32137
  }
32042
32138
 
32043
32139
  if(this._groupLevel > 0 && !opt_rowIds) { // WARNING: The line below is quite slow
@@ -32567,13 +32663,15 @@ DataView._removeArrayItems = function(ary, items) {
32567
32663
  * @param {Object} masterObj
32568
32664
  * @returns {number}
32569
32665
  */
32570
- DataView._copyObjectKeys = function(baseObj, masterObj) {
32666
+ DataView._copyValidObjectKeys = function(baseObj, masterObj) {
32571
32667
  if(masterObj) {
32572
32668
  let count = 0;
32573
32669
 
32574
32670
  for(let key in masterObj) {
32575
- baseObj[key] = 1;
32576
- ++count; // WARNING: duplicated key can be counted more than once
32671
+ if(masterObj[key]) {
32672
+ baseObj[key] = 1;
32673
+ ++count; // WARNING: duplicated key can be counted more than once
32674
+ }
32577
32675
  }
32578
32676
  return count;
32579
32677
  }
@@ -36467,7 +36565,7 @@ Core.prototype._hasPendingRowChange = false;
36467
36565
  * @return {string}
36468
36566
  */
36469
36567
  Core.getVersion = function () {
36470
- return "5.1.117";
36568
+ return "5.1.121";
36471
36569
  };
36472
36570
  /** {@link ElementWrapper#dispose}
36473
36571
  * @override
@@ -45043,11 +45141,11 @@ let _hasFieldOrId = function(colDef, str) {
45043
45141
  };
45044
45142
 
45045
45143
  /** Compare the difference in the 'id' property.
45046
- * @private
45047
- * @param {Object} obj1
45048
- * @param {Object} obj2
45049
- * @returns {boolean} If the id property of two objects is equal, the return will be true, otherwise it will be false.
45050
- */
45144
+ * @private
45145
+ * @param {Object} obj1
45146
+ * @param {Object} obj2
45147
+ * @returns {boolean} If the id property of two objects is equal, the return will be true, otherwise it will be false.
45148
+ */
45051
45149
  let _hasMatchingId = function(obj1, obj2) {
45052
45150
  if(!obj1 || !obj2 || !obj1.id || !obj2.id) { // Handle nullable, if the object or id have null, it's means difference value
45053
45151
  return false;
@@ -45055,6 +45153,25 @@ let _hasMatchingId = function(obj1, obj2) {
45055
45153
  return obj1.id === obj2.id;
45056
45154
  };
45057
45155
 
45156
+ /** @private
45157
+ * @param {Object} e
45158
+ */
45159
+ let _preventDefault = function(e) {
45160
+ if(e) {
45161
+ e.preventDefault();
45162
+ }
45163
+ };
45164
+ /** @private
45165
+ * @param {number=} id
45166
+ * @returns {number} Always return 0
45167
+ */
45168
+ let _clearTimeout = function(id) {
45169
+ if(id) {
45170
+ clearTimeout(id);
45171
+ }
45172
+ return 0;
45173
+ };
45174
+
45058
45175
  /** @constructor
45059
45176
  * @extends {EventDispatcher}
45060
45177
  * @param {(Element|null)=} placeholder
@@ -45365,10 +45482,6 @@ Grid.prototype._topSection = true;
45365
45482
  * @private
45366
45483
  */
45367
45484
  Grid.prototype._focusingArgs = null;
45368
- /** @type {number}
45369
- * @private
45370
- */
45371
- Grid.prototype._scrolledRow = -1;
45372
45485
  /** @type {boolean}
45373
45486
  * @private
45374
45487
  */
@@ -45383,10 +45496,8 @@ Grid.prototype.dispose = function() {
45383
45496
  clearInterval(this._autoLayoutTimer);
45384
45497
  this._autoLayoutTimer = 0;
45385
45498
  }
45386
- if(this._pollingTimerId) {
45387
- clearTimeout(this._pollingTimerId);
45388
- this._pollingTimerId = 0;
45389
- }
45499
+ this._pollingTimerId = _clearTimeout(this._pollingTimerId);
45500
+
45390
45501
  this.removeAllColumns(); // Some conflators are reset
45391
45502
  this.removeAllRows(); // Some conflators are reset
45392
45503
  this._sorter.dispose();
@@ -45409,9 +45520,8 @@ Grid.prototype.dispose = function() {
45409
45520
  }
45410
45521
 
45411
45522
  if(this._focusingArgs) {
45412
- if(this._focusingArgs.id) {
45413
- clearTimeout(this._focusingArgs.id);
45414
- }
45523
+ _clearTimeout(this._focusingArgs.id);
45524
+ _clearTimeout(this._focusingArgs.timeoutId);
45415
45525
  this._focusingArgs = null;
45416
45526
  }
45417
45527
  };
@@ -45716,6 +45826,7 @@ Grid.prototype.initialize = function(gridOption) {
45716
45826
  this.addListener(gridOption, "beforeContentBinding");
45717
45827
  this.addListener(gridOption, "firstRendered");
45718
45828
  this.addListener(gridOption, "afterContentBinding");
45829
+ this.addListener(gridOption, "tabNavigation");
45719
45830
 
45720
45831
  if(gridOption["autoDateConversion"]) {
45721
45832
  t._autoDateConversion = true;
@@ -48232,12 +48343,15 @@ Grid.prototype._renderColumnHeader = function(colIndex, arg) {
48232
48343
  let colName = colDef.getName();
48233
48344
  let colTooltip = colDef.getTooltip();
48234
48345
  let headerAlignment = colDef.getHeaderAlignment();
48346
+ let tooltipValue = colDef.getTooltipValue();
48235
48347
 
48236
48348
  for(let r = 0; r < rowCount; ++r) {
48237
48349
  let tCell = tSection.getCell(colIndex, r, false);
48238
48350
  // Default behaviors
48239
48351
  tCell.setContent(colName);
48240
- tCell.setTooltip(colTooltip);
48352
+ tCell.setTooltipInfo("columnDefault", tooltipValue);
48353
+ tCell.setTooltipInfo("columnTooltip", colTooltip);
48354
+ tCell.updateTooltip();
48241
48355
  tCell.setStyle("textAlign", headerAlignment);
48242
48356
 
48243
48357
  if(customRenderer) {
@@ -48985,38 +49099,49 @@ Grid.prototype.getVScrollView = function () {
48985
49099
  return this._grid.getVScrollView();
48986
49100
  };
48987
49101
 
48988
- /** @private
48989
- * @param {Element} el
48990
- * @return {boolean}
48991
- */
48992
- function isFocusableContent(el) {
48993
- if(el) {
48994
- return (el.tagName !== "SPAN" && !el.disabled);
48995
- }
48996
- return false;
48997
- }
48998
49102
  /** @private
48999
49103
  * @param {Object} cell
49104
+ * @param {Object} args
49000
49105
  * @return {boolean}
49001
49106
  */
49002
- function focusCell(cell) {
49107
+ Grid.prototype._focusCell = function(cell, args) {
49003
49108
  if(cell) {
49004
49109
  let cellContent = cell.getContent();
49005
- if(cellContent && isFocusableContent(cellContent)) {
49006
- cellContent.focus();
49007
- return true;
49110
+ if(cellContent) {
49111
+ let nfe = null;
49112
+ if(this.hasListener("tabNavigation")) {
49113
+ let tabNavArg = {
49114
+ "shiftKey": args.shiftKey,
49115
+ "activeElement": args.activeElement,
49116
+ "cellContent": cellContent,
49117
+ "cell": cell,
49118
+ "colIndex": args.colIndex,
49119
+ "rowIndex": args.rowIndex,
49120
+ "field": args.fields ? args.fields[args.colIndex] : ""
49121
+ };
49122
+ this._dispatch("tabNavigation", tabNavArg);
49123
+ nfe = tabNavArg.nextFocusableElement;
49124
+ } else if(cellContent.tagName !== "SPAN") {
49125
+ nfe = cellContent;
49126
+ }
49127
+
49128
+ if(nfe && nfe !== args.activeElement && !nfe.disabled) {
49129
+ nfe.focus();
49130
+ return true;
49131
+ }
49008
49132
  }
49009
49133
  }
49010
49134
  return false;
49011
- }
49135
+ };
49012
49136
  /** @private
49013
49137
  */
49014
49138
  Grid.prototype._onVScroll = function() {
49015
49139
  let args = this._focusingArgs;
49016
49140
  if(args) {
49141
+ args.timeoutId = _clearTimeout(args.timeoutId);
49017
49142
  this._focusingArgs = null;
49018
49143
  let cell = this._grid.getCell("content", args.colIndex, args.rowIndex);
49019
- if(!focusCell(cell)) {
49144
+ if(!this._focusCell(cell, args)) {
49020
49145
  if(args.shiftKey) {
49021
49146
  this._focusPrevCellContent(args);
49022
49147
  } else {
@@ -49027,6 +49152,11 @@ Grid.prototype._onVScroll = function() {
49027
49152
  };
49028
49153
  /** @private
49029
49154
  */
49155
+ Grid.prototype._onScrollTimeout = function() {
49156
+ this._focusingArgs = null;
49157
+ };
49158
+ /** @private
49159
+ */
49030
49160
  Grid.prototype._selfScrollToRow = function() {
49031
49161
  let args = this._focusingArgs;
49032
49162
  if(args) {
@@ -49036,20 +49166,14 @@ Grid.prototype._selfScrollToRow = function() {
49036
49166
  };
49037
49167
  /** @private
49038
49168
  * @param {Object} args
49039
- * @param {number} colIndex
49040
- * @param {number} rowIndex
49041
49169
  */
49042
- Grid.prototype._requestScroll = function(args, colIndex, rowIndex) {
49043
- if(this._focusingArgs || this._scrolledRow === args.rowIndex) {
49044
- return; // Avoid infinite loop
49170
+ Grid.prototype._requestScroll = function(args) {
49171
+ if(!this._focusingArgs) {
49172
+ this._focusingArgs = args;
49173
+ args.event = null; // The event is invalid after the scroll
49174
+ args.id = setTimeout(this._selfScrollToRow, 0); // Avoid event loop protection
49175
+ args.timeoutId = setTimeout(this._onScrollTimeout, 100); // To avoid a fail case where scroll cannot be performed
49045
49176
  }
49046
-
49047
- this._scrolledRow = args.rowIndex;
49048
- this._focusingArgs = args;
49049
- args.colIndex = colIndex;
49050
- args.rowIndex = rowIndex;
49051
- args.event = null; // The event is invalid after the scroll
49052
- args.id = setTimeout(this._selfScrollToRow); // Avoid event loop protection
49053
49177
  };
49054
49178
  /** @private
49055
49179
  * @param {Object} args
@@ -49073,28 +49197,27 @@ Grid.prototype._focusNextCellContent = function(args) {
49073
49197
  startIdx = i;
49074
49198
  }
49075
49199
  }
49076
- // If the current focus is on a valid content, starts on the next cell
49077
- if(args.event && args.validContent) {
49078
- startIdx++;
49079
- }
49080
49200
 
49081
49201
  let grid = this._grid;
49082
49202
  let section = grid.getSection("content");
49083
49203
  let viewInfo = grid.getVerticalViewInfo();
49084
49204
  let lastFullRow = viewInfo.lastFullRow;
49085
49205
  let rowCount = this.getRowCount();
49206
+
49207
+ args.fields = grid.getColumnFields();
49086
49208
  for(let r = rowIndex; r < rowCount; r++) {
49209
+ args.rowIndex = r;
49087
49210
  for(i = startIdx; i < len; i++) {
49088
49211
  let c = focusableColIndices[i];
49212
+ args.colIndex = c;
49089
49213
  if(r > lastFullRow) {
49090
- this._requestScroll(args, c, r);
49214
+ _preventDefault(args.event);
49215
+ this._requestScroll(args);
49091
49216
  return;
49092
49217
  } else {
49093
49218
  let cell = section.getCell(c, r);
49094
- if(focusCell(cell)) {
49095
- if(args.event) {
49096
- args.event.preventDefault();
49097
- }
49219
+ if(this._focusCell(cell, args)) {
49220
+ _preventDefault(args.event);
49098
49221
  return;
49099
49222
  }
49100
49223
  }
@@ -49102,9 +49225,8 @@ Grid.prototype._focusNextCellContent = function(args) {
49102
49225
  startIdx = 0;
49103
49226
  }
49104
49227
 
49105
- if(args.validContent) { // The current focus on the last focusable content
49106
- this._grid.getHiddenInput().focus();
49107
- }
49228
+ // The current focus on the last focusable content
49229
+ this._grid.getHiddenInput().focus();
49108
49230
  };
49109
49231
  /** @private
49110
49232
  * @param {Object} args
@@ -49128,27 +49250,26 @@ Grid.prototype._focusPrevCellContent = function(args) {
49128
49250
  startIdx = i;
49129
49251
  }
49130
49252
  }
49131
- // If the current focus is on a valid content, starts on the next cell
49132
- if(args.event && args.validContent) {
49133
- --startIdx;
49134
- }
49135
49253
 
49136
49254
  let grid = this._grid;
49137
49255
  let section = grid.getSection("content");
49138
49256
  let viewInfo = grid.getVerticalViewInfo();
49139
49257
  let firstFullRow = viewInfo.firstFullRow;
49258
+
49259
+ args.fields = this.getColumnFields();
49140
49260
  for(let r = rowIndex; r >= 0; r--) {
49261
+ args.rowIndex = r;
49141
49262
  for(i = startIdx; i >= 0; i--) {
49142
49263
  let c = focusableColIndices[i];
49264
+ args.colIndex = c;
49143
49265
  if(r < firstFullRow) {
49144
- this._requestScroll(args, c, r);
49266
+ _preventDefault(args.event);
49267
+ this._requestScroll(args);
49145
49268
  return;
49146
49269
  } else {
49147
49270
  let cell = section.getCell(c, r);
49148
- if(focusCell(cell)) {
49149
- if(args.event) {
49150
- args.event.preventDefault();
49151
- }
49271
+ if(this._focusCell(cell, args)) {
49272
+ _preventDefault(args.event);
49152
49273
  return;
49153
49274
  }
49154
49275
  }
@@ -49156,15 +49277,18 @@ Grid.prototype._focusPrevCellContent = function(args) {
49156
49277
  startIdx = len - 1;
49157
49278
  }
49158
49279
 
49159
- if(args.validContent) { // The current focus on the last focusable content
49160
- this._grid.getHiddenInput(true).focus();
49161
- }
49280
+ // The current focus on the last focusable content
49281
+ this._grid.getHiddenInput(true).focus();
49162
49282
  };
49163
49283
 
49164
49284
  /** @private
49165
49285
  * @param {Object} e
49166
49286
  */
49167
49287
  Grid.prototype._onTabNavigation = function(e) {
49288
+ if(this._focusingArgs) {
49289
+ return; // Cannot do another tab navigation while waiting for scrolling
49290
+ }
49291
+
49168
49292
  let colDefs = this.getColumnDefinitions();
49169
49293
  let colCount = colDefs.length;
49170
49294
 
@@ -49179,19 +49303,8 @@ Grid.prototype._onTabNavigation = function(e) {
49179
49303
  return;
49180
49304
  }
49181
49305
 
49182
- this._scrolledRow = -1; // Reset the scroll loop protector
49183
49306
  let keyEvt = e.event;
49184
49307
  let pos = this.getRelativePosition(keyEvt);
49185
- let validContent = true;
49186
- let activeElement = e.activeElement;
49187
- if(activeElement) {
49188
- validContent = !activeElement.classList.contains("valigner");
49189
- }
49190
-
49191
- if(validContent) {
49192
- let content = pos["cell"] ? pos["cell"].getContent() : null;
49193
- validContent = isFocusableContent(content);
49194
- }
49195
49308
  let startingRowIndex = pos["rowIndex"];
49196
49309
  if(e.onTheEdge) {
49197
49310
  let viewInfo = this._grid.getVerticalViewInfo();
@@ -49203,7 +49316,7 @@ Grid.prototype._onTabNavigation = function(e) {
49203
49316
  colIndex: pos["colIndex"],
49204
49317
  rowIndex: startingRowIndex,
49205
49318
  focusableColIndices: focusableColIndices,
49206
- validContent: validContent
49319
+ activeElement: e.activeElement
49207
49320
  };
49208
49321
 
49209
49322
  if(keyEvt.shiftKey) {
@@ -49213,6 +49326,16 @@ Grid.prototype._onTabNavigation = function(e) {
49213
49326
  }
49214
49327
  };
49215
49328
 
49329
+ /** @public
49330
+ * @ignore
49331
+ * @return {!Object}
49332
+ */
49333
+ Grid.prototype._getEventHandlers = function() {
49334
+ return {
49335
+ "tabNavigation": this._onTabNavigation
49336
+ };
49337
+ };
49338
+
49216
49339
 
49217
49340
  /* harmony default export */ var js_Grid = (Grid);
49218
49341