azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 2.9 kB
JavaScript
import{__extends,__spreadArray}from"tslib";import{Selection}from"../../Utilities/Selection";var ListSelection=function(l){function e(e){var t=l.call(this,"boolean"==typeof e||void 0===e?e:{alwaysMerge:e.alwaysMerge,multiSelect:e.multiSelect,unselectableRanges:e.unselectableRanges,selectedRanges:e.selectedRanges})||this;return t.selectOnFocus=!0,"boolean"!=typeof e&&void 0!==e&&(t.selectOnFocus=void 0===e.selectOnFocus||e.selectOnFocus),t}return __extends(e,l),e}(Selection),FilteredListSelection=function(i){function e(e){var a=i.call(this,{alwaysMerge:e.alwaysMerge,multiSelect:e.multiSelect,unselectableRanges:e.unselectableRanges,selectedRanges:e.value,selectOnFocus:e.selectOnFocus})||this;return a.filteredIndexMap=[],a.updateFilteredSelection=function(e,l){var n;void 0===l&&(l=a.selection.multiSelect),0===e.length?(a.value=__spreadArray([],a.selection.value,!0),a.unselectableRanges=__spreadArray([],a.selection.unselectableRanges,!0)):(n=new Selection(l),e.map(function(e,t){a.selection.selected(e)&&n.select(t,1,!0,l),a.selection.selectable(e)||n.addUnselectable(t)}),a.value=__spreadArray([],n.value,!0),a.unselectableRanges=__spreadArray([],n.unselectableRanges,!0)),a.filteredIndexMap=e},a.selectionChanged=function(e,t){switch(t){case"addUnselectable":for(var l=0;l<e.length;l++)for(var n=e[l].beginIndex;n<=e[l].endIndex;n++){var s=0<a.filteredIndexMap.length?a.filteredIndexMap.indexOf(n):n;a.selectable(s)&&a.addUnselectable(s,1)}break;case"removeUnselectable":for(l=0;l<e.length;l++)for(n=e[l].beginIndex;n<=e[l].endIndex;n++){s=0<a.filteredIndexMap.length?a.filteredIndexMap.indexOf(n):n;a.selectable(s)||a.removeUnselectable(s,1)}break;case"setUnselectable":case"set":a.updateFilteredSelection(a.filteredIndexMap);break;case"select":for(l=0;l<e.length;l++)for(var i=e[l].beginIndex;i<=e[l].endIndex;i++)-1<(s=0<a.filteredIndexMap.length?a.filteredIndexMap.indexOf(i):i)&&!a.selected(s)&&a.select(s,1,!0);break;case"unselect":for(l=0;l<e.length;l++)for(i=e[l].beginIndex;i<=e[l].endIndex;i++){s=0<a.filteredIndexMap.length?a.filteredIndexMap.indexOf(i):i;a.selected(s)&&a.unselect(s,1)}}},a.selection=e,a}return __extends(e,i),e.prototype.select=function(e,t,l,n){if(i.prototype.select.call(this,e,t,l,n),0<this.filteredIndexMap.length){l||this.clear(),t=t||1;for(var s=0;s<t;s++)this.selection.select(this.filteredIndexMap[e+s],1,!0,n)}else this.selection.select(e,t,l,n)},e.prototype.unselect=function(e,t){if(i.prototype.unselect.call(this,e,t),0<this.filteredIndexMap.length){t=t||1;for(var l=0;l<t;l++)this.selection.unselect(this.filteredIndexMap[e+l],1)}else this.selection.unselect(e,t)},e.prototype.clear=function(){if(i.prototype.clear.call(this),0<this.filteredIndexMap.length)for(var e=0;e<this.filteredIndexMap.length;e++)this.selection.unselect(this.filteredIndexMap[e]);else this.selection.clear()},e}(ListSelection);export{ListSelection,FilteredListSelection};