| 1107 | } |
| 1108 | // update selected2's value based on selectable2 |
| 1109 | var onlyKeepSelectableCols = function() { |
| 1110 | if (selDisable) { // users can't select; useful when only want backend select |
| 1111 | selected2 = []; |
| 1112 | return; |
| 1113 | } |
| 1114 | if (selectable2.length === 0) return; |
| 1115 | var nonselectable = selectable2[0] <= 0; |
| 1116 | if (nonselectable) { |
| 1117 | // need to make selectable2 positive |
| 1118 | selected2 = $(selected2).not(selectable2.map(function(i) { return -i; })).get(); |
| 1119 | } else { |
| 1120 | selected2 = $(selected2).filter(selectable2).get(); |
| 1121 | } |
| 1122 | } |
| 1123 | // update selected2 and then |
| 1124 | // refresh the col selection state according to values in selected2 |
| 1125 | var selectCols = function(ignoreSelectable) { |