@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.
- package/lib/core/dist/core.js +97 -6
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/data/DataView.js +7 -5
- package/lib/core/es6/grid/Core.js +1 -1
- package/lib/core/es6/grid/components/Cell.d.ts +2 -0
- package/lib/core/es6/grid/components/Cell.js +89 -0
- package/lib/filter-dialog/themes/base-checkbox.less +1 -1
- package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +210 -87
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.js +7 -0
- package/lib/rt-grid/es6/Grid.js +106 -81
- package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.js +18 -15
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +6 -1
- package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +0 -2
- package/lib/tr-grid-row-dragging/es6/RowDragging.js +82 -77
- package/lib/tr-grid-row-selection/es6/RowSelection.js +155 -35
- package/lib/types/es6/Core/grid/components/Cell.d.ts +2 -0
- package/lib/types/es6/RowDragging.d.ts +0 -2
- package/lib/versions.json +5 -5
- 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
|
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
|
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
@@ -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.
|
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.
|
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.
|
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
|
-
|
32576
|
-
|
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.
|
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
|
-
|
45047
|
-
|
45048
|
-
|
45049
|
-
|
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
|
-
|
45387
|
-
|
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
|
-
|
45413
|
-
|
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.
|
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
|
49107
|
+
Grid.prototype._focusCell = function(cell, args) {
|
49003
49108
|
if(cell) {
|
49004
49109
|
let cellContent = cell.getContent();
|
49005
|
-
if(cellContent
|
49006
|
-
|
49007
|
-
|
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(!
|
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
|
49043
|
-
if(this._focusingArgs
|
49044
|
-
|
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
|
-
|
49214
|
+
_preventDefault(args.event);
|
49215
|
+
this._requestScroll(args);
|
49091
49216
|
return;
|
49092
49217
|
} else {
|
49093
49218
|
let cell = section.getCell(c, r);
|
49094
|
-
if(
|
49095
|
-
|
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
|
-
|
49106
|
-
|
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
|
-
|
49266
|
+
_preventDefault(args.event);
|
49267
|
+
this._requestScroll(args);
|
49145
49268
|
return;
|
49146
49269
|
} else {
|
49147
49270
|
let cell = section.getCell(c, r);
|
49148
|
-
if(
|
49149
|
-
|
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
|
-
|
49160
|
-
|
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
|
-
|
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
|
|