jsl-ui 9.28.2 → 9.28.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/lib/components/IntervalComponent.d.ts +17 -17
  2. package/lib/components/IntervalComponent.js +65 -68
  3. package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +22 -22
  4. package/lib/components/auto-suggest/AutoSuggestComponent.js +47 -49
  5. package/lib/components/button/ButtonComponent.d.ts +18 -18
  6. package/lib/components/button/ButtonComponent.js +29 -46
  7. package/lib/components/checkbox/CheckBoxComponent.d.ts +28 -28
  8. package/lib/components/checkbox/CheckBoxComponent.js +81 -98
  9. package/lib/components/date/DateComponent.d.ts +32 -32
  10. package/lib/components/date/DateComponent.js +89 -106
  11. package/lib/components/date-range/DateRangeComponent.d.ts +35 -35
  12. package/lib/components/date-range/DateRangeComponent.js +123 -136
  13. package/lib/components/date-time/DateTimeComponent.d.ts +15 -15
  14. package/lib/components/date-time/DateTimeComponent.js +39 -53
  15. package/lib/components/dialog/DialogComponent.d.ts +67 -67
  16. package/lib/components/dialog/DialogComponent.js +198 -251
  17. package/lib/components/drop-down/DropDownComponent.d.ts +27 -27
  18. package/lib/components/drop-down/DropDownComponent.js +60 -74
  19. package/lib/components/expander/ExpanderComponent.d.ts +27 -27
  20. package/lib/components/expander/ExpanderComponent.js +89 -90
  21. package/lib/components/form-field/FormComponent.d.ts +12 -12
  22. package/lib/components/form-field/FormComponent.js +23 -26
  23. package/lib/components/form-field/FormFieldComponent.d.ts +39 -39
  24. package/lib/components/form-field/FormFieldComponent.js +138 -140
  25. package/lib/components/grid/GridComponent.d.ts +26 -26
  26. package/lib/components/grid/GridComponent.js +110 -116
  27. package/lib/components/input/InputComponent.d.ts +33 -33
  28. package/lib/components/input/InputComponent.js +126 -147
  29. package/lib/components/loading/LoadingComponent.d.ts +8 -8
  30. package/lib/components/loading/LoadingComponent.js +20 -22
  31. package/lib/components/navigation/NavigationComponent.d.ts +34 -34
  32. package/lib/components/navigation/NavigationComponent.js +45 -70
  33. package/lib/components/notification/Notification.d.ts +19 -19
  34. package/lib/components/notification/Notification.js +65 -69
  35. package/lib/components/number/NumberComponent.d.ts +26 -26
  36. package/lib/components/number/NumberComponent.js +80 -98
  37. package/lib/components/overlay/OverlayComponent.d.ts +27 -27
  38. package/lib/components/overlay/OverlayComponent.js +137 -149
  39. package/lib/components/progress/ProgressComponent.d.ts +18 -18
  40. package/lib/components/progress/ProgressComponent.js +40 -42
  41. package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +12 -12
  42. package/lib/components/ribbon-menu/RibbonMenuComponent.js +23 -34
  43. package/lib/components/select/SelectComponent.d.ts +79 -79
  44. package/lib/components/select/SelectComponent.js +356 -369
  45. package/lib/components/select/SelectDDAreaComponent.d.ts +32 -32
  46. package/lib/components/select/SelectDDAreaComponent.js +303 -317
  47. package/lib/components/slider/nouislider.d.ts +44 -44
  48. package/lib/components/slider/nouislider.js +2158 -2158
  49. package/lib/components/stack-panel/SplitterComponent.d.ts +21 -21
  50. package/lib/components/stack-panel/SplitterComponent.js +124 -126
  51. package/lib/components/stack-panel/StackPanelComponent.d.ts +20 -20
  52. package/lib/components/stack-panel/StackPanelComponent.js +50 -64
  53. package/lib/components/tabs/TabsComponent.d.ts +40 -40
  54. package/lib/components/tabs/TabsComponent.js +200 -204
  55. package/lib/components/time/TimeComponent.d.ts +29 -29
  56. package/lib/components/time/TimeComponent.js +104 -113
  57. package/lib/components/tree-view/TreeViewComponent.d.ts +23 -23
  58. package/lib/components/tree-view/TreeViewComponent.js +43 -45
  59. package/lib/components/virtual-render/VirtualRenderComponent.d.ts +30 -30
  60. package/lib/components/virtual-render/VirtualRenderComponent.js +92 -104
  61. package/lib/core/culture.d.ts +5 -5
  62. package/lib/core/culture.js +385 -385
  63. package/lib/core/date.d.ts +14 -14
  64. package/lib/core/date.js +346 -350
  65. package/lib/core/helper.d.ts +13 -13
  66. package/lib/core/helper.js +100 -104
  67. package/lib/core/jq.d.ts +37 -37
  68. package/lib/core/jq.js +362 -371
  69. package/lib/core/lang.d.ts +24 -24
  70. package/lib/core/lang.js +24 -28
  71. package/lib/core/numeric.d.ts +7 -7
  72. package/lib/core/numeric.js +139 -143
  73. package/lib/core/polyfills.js +22 -22
  74. package/lib/core.d.ts +6 -6
  75. package/lib/core.js +6 -6
  76. package/lib/grid/filterDialogs/dateRangeFilter.d.ts +7 -7
  77. package/lib/grid/filterDialogs/dateRangeFilter.js +106 -156
  78. package/lib/grid/filterDialogs/excelFilter.d.ts +9 -9
  79. package/lib/grid/filterDialogs/excelFilter.js +250 -316
  80. package/lib/grid/plugins/ext.overlay.d.ts +2 -2
  81. package/lib/grid/plugins/ext.overlay.js +295 -295
  82. package/lib/grid/plugins/slick.cellrangedecorator.d.ts +12 -12
  83. package/lib/grid/plugins/slick.cellrangedecorator.js +68 -68
  84. package/lib/grid/plugins/slick.cellrangeselector.d.ts +1 -1
  85. package/lib/grid/plugins/slick.cellrangeselector.js +144 -144
  86. package/lib/grid/plugins/slick.cellselectionmodel.d.ts +1 -1
  87. package/lib/grid/plugins/slick.cellselectionmodel.js +194 -194
  88. package/lib/grid/plugins/slick.headerbuttons.d.ts +55 -55
  89. package/lib/grid/plugins/slick.headerbuttons.js +156 -156
  90. package/lib/grid/plugins/slick.headermenu.d.ts +74 -74
  91. package/lib/grid/plugins/slick.headermenu.js +260 -260
  92. package/lib/grid/plugins/slick.rowmovemanager.d.ts +18 -18
  93. package/lib/grid/plugins/slick.rowmovemanager.js +249 -249
  94. package/lib/grid/plugins/slick.rowselectionmodel.d.ts +1 -1
  95. package/lib/grid/plugins/slick.rowselectionmodel.js +167 -167
  96. package/lib/grid/slick.core.d.ts +91 -91
  97. package/lib/grid/slick.core.js +574 -574
  98. package/lib/grid/slick.creator.d.ts +81 -81
  99. package/lib/grid/slick.creator.js +726 -726
  100. package/lib/grid/slick.dataview.d.ts +71 -71
  101. package/lib/grid/slick.dataview.js +1069 -1080
  102. package/lib/grid/slick.editors.core.d.ts +4 -4
  103. package/lib/grid/slick.editors.core.js +235 -235
  104. package/lib/grid/slick.editors.date.d.ts +2 -2
  105. package/lib/grid/slick.editors.date.js +125 -125
  106. package/lib/grid/slick.editors.lookup.d.ts +14 -14
  107. package/lib/grid/slick.editors.lookup.js +352 -353
  108. package/lib/grid/slick.editors.nav.d.ts +6 -6
  109. package/lib/grid/slick.editors.nav.js +22 -22
  110. package/lib/grid/slick.formatters.d.ts +17 -17
  111. package/lib/grid/slick.formatters.js +144 -144
  112. package/lib/grid/slick.grid.d.ts +285 -285
  113. package/lib/grid/slick.grid.js +5409 -5412
  114. package/lib/grid/slick.groupitemmetadataprovider.d.ts +39 -39
  115. package/lib/grid/slick.groupitemmetadataprovider.js +165 -165
  116. package/lib/grid/slick.tree.d.ts +33 -33
  117. package/lib/grid/slick.tree.js +208 -220
  118. package/lib/grid.css +1 -705
  119. package/lib/grid.d.ts +13 -13
  120. package/lib/grid.js +13 -13
  121. package/lib/index.css +8 -2195
  122. package/lib/index.css.map +1 -1
  123. package/lib/index.d.ts +56 -55
  124. package/lib/index.js +61 -61
  125. package/lib/index.js.map +1 -1
  126. package/lib/interaction/dataconverter.d.ts +4 -4
  127. package/lib/interaction/dataconverter.js +0 -1
  128. package/lib/interaction/eventhandler.d.ts +13 -13
  129. package/lib/interaction/eventhandler.js +39 -42
  130. package/lib/interaction/moveable.d.ts +39 -39
  131. package/lib/interaction/moveable.js +160 -174
  132. package/lib/interaction/resizable.d.ts +37 -37
  133. package/lib/interaction/resizable.js +109 -123
  134. package/lib/ui/auto.suggest.d.ts +18 -18
  135. package/lib/ui/auto.suggest.js +244 -259
  136. package/lib/ui/date.picker/date-picker-options.d.ts +11 -11
  137. package/lib/ui/date.picker/date-picker-options.js +76 -76
  138. package/lib/ui/date.picker/lib/date-manip.d.ts +74 -74
  139. package/lib/ui/date.picker/lib/date-manip.js +120 -120
  140. package/lib/ui/date.picker/lib/dom.d.ts +23 -23
  141. package/lib/ui/date.picker/lib/dom.js +28 -28
  142. package/lib/ui/date.picker/lib/emitter.d.ts +13 -13
  143. package/lib/ui/date.picker/lib/emitter.js +49 -49
  144. package/lib/ui/date.picker/lib/fns.d.ts +23 -23
  145. package/lib/ui/date.picker/lib/fns.js +39 -43
  146. package/lib/ui/date.picker/mode/base-mode.d.ts +26 -26
  147. package/lib/ui/date.picker/mode/base-mode.js +248 -248
  148. package/lib/ui/date.picker/mode/dropdown-mode.d.ts +28 -28
  149. package/lib/ui/date.picker/mode/dropdown-mode.js +50 -50
  150. package/lib/ui/date.picker/mode/index.d.ts +28 -28
  151. package/lib/ui/date.picker/mode/index.js +18 -18
  152. package/lib/ui/date.picker/mode/modal-mode.d.ts +25 -25
  153. package/lib/ui/date.picker/mode/modal-mode.js +17 -17
  154. package/lib/ui/date.picker/mode/permanent-mode.d.ts +29 -29
  155. package/lib/ui/date.picker/mode/permanent-mode.js +19 -19
  156. package/lib/ui/date.picker/views/day-picker.d.ts +40 -40
  157. package/lib/ui/date.picker/views/day-picker.js +155 -155
  158. package/lib/ui/date.picker/views/month-picker.d.ts +26 -26
  159. package/lib/ui/date.picker/views/month-picker.js +65 -65
  160. package/lib/ui/date.picker/views/year-picker.d.ts +20 -20
  161. package/lib/ui/date.picker/views/year-picker.js +66 -66
  162. package/lib/ui/date.picker.d.ts +66 -66
  163. package/lib/ui/date.picker.js +32 -32
  164. package/lib/ui/dialog.d.ts +22 -22
  165. package/lib/ui/dialog.js +98 -113
  166. package/lib/ui/drop.down.d.ts +52 -52
  167. package/lib/ui/drop.down.js +2112 -2112
  168. package/lib/ui/number.input.d.ts +13 -13
  169. package/lib/ui/number.input.js +56 -67
  170. package/package.json +1 -1
@@ -1,39 +1,39 @@
1
- /***
2
- * Provides item metadata for group (Slick.Group) and totals (Slick.Totals) rows produced by the DataView.
3
- * This metadata overrides the default behavior and formatting of those rows so that they appear and function
4
- * correctly when processed by the grid.
5
- *
6
- * This class also acts as a grid plugin providing event handlers to expand & collapse groups.
7
- * If "grid.registerPlugin(...)" is not called, expand & collapse will not work.
8
- *
9
- * @class GroupItemMetadataProvider
10
- * @module Data
11
- * @namespace Slick.Data
12
- * @constructor
13
- * @param options
14
- */
15
- export declare function GroupItemMetadataProvider(options?: any): {
16
- init: (grid: any) => void;
17
- destroy: () => void;
18
- getGroupRowMetadata: (item: any) => {
19
- selectable: boolean;
20
- focusable: any;
21
- cssClasses: any;
22
- columns: {
23
- 0: {
24
- colspan: string;
25
- formatter: any;
26
- editor: any;
27
- };
28
- };
29
- height: any;
30
- };
31
- getTotalsRowMetadata: (item: any) => {
32
- selectable: boolean;
33
- focusable: any;
34
- cssClasses: any;
35
- formatter: any;
36
- editor: any;
37
- height: any;
38
- };
39
- };
1
+ /***
2
+ * Provides item metadata for group (Slick.Group) and totals (Slick.Totals) rows produced by the DataView.
3
+ * This metadata overrides the default behavior and formatting of those rows so that they appear and function
4
+ * correctly when processed by the grid.
5
+ *
6
+ * This class also acts as a grid plugin providing event handlers to expand & collapse groups.
7
+ * If "grid.registerPlugin(...)" is not called, expand & collapse will not work.
8
+ *
9
+ * @class GroupItemMetadataProvider
10
+ * @module Data
11
+ * @namespace Slick.Data
12
+ * @constructor
13
+ * @param options
14
+ */
15
+ export declare function GroupItemMetadataProvider(options?: any): {
16
+ init: (grid: any) => void;
17
+ destroy: () => void;
18
+ getGroupRowMetadata: (item: any) => {
19
+ selectable: boolean;
20
+ focusable: any;
21
+ cssClasses: any;
22
+ columns: {
23
+ 0: {
24
+ colspan: string;
25
+ formatter: any;
26
+ editor: any;
27
+ };
28
+ };
29
+ height: any;
30
+ };
31
+ getTotalsRowMetadata: (item: any) => {
32
+ selectable: boolean;
33
+ focusable: any;
34
+ cssClasses: any;
35
+ formatter: any;
36
+ editor: any;
37
+ height: any;
38
+ };
39
+ };
@@ -1,165 +1,165 @@
1
- import { jQueryReplacement } from "../core/jq";
2
- import { Slick } from "./slick.core";
3
- var $ = jQueryReplacement;
4
- $.deepExtend(Slick, {
5
- Data: {
6
- GroupItemMetadataProvider: GroupItemMetadataProvider
7
- }
8
- });
9
- /***
10
- * Provides item metadata for group (Slick.Group) and totals (Slick.Totals) rows produced by the DataView.
11
- * This metadata overrides the default behavior and formatting of those rows so that they appear and function
12
- * correctly when processed by the grid.
13
- *
14
- * This class also acts as a grid plugin providing event handlers to expand & collapse groups.
15
- * If "grid.registerPlugin(...)" is not called, expand & collapse will not work.
16
- *
17
- * @class GroupItemMetadataProvider
18
- * @module Data
19
- * @namespace Slick.Data
20
- * @constructor
21
- * @param options
22
- */
23
- export function GroupItemMetadataProvider(options) {
24
- var _grid;
25
- var _defaults = {
26
- checkboxSelect: false,
27
- checkboxSelectCssClass: "slick-group-select-checkbox",
28
- checkboxSelectPlugin: null,
29
- groupCssClass: "slick-group",
30
- groupTitleCssClass: "slick-group-title",
31
- totalsCssClass: "slick-group-totals",
32
- groupFocusable: true,
33
- totalsFocusable: false,
34
- toggleCssClass: "slick-group-toggle",
35
- toggleExpandedCssClass: "expanded",
36
- toggleCollapsedCssClass: "collapsed",
37
- enableExpandCollapse: true,
38
- groupFormatter: defaultGroupCellFormatter,
39
- totalsFormatter: defaultTotalsCellFormatter
40
- };
41
- options = $.deepExtend({}, _defaults, options);
42
- function defaultGroupCellFormatter(row, cell, value, columnDef, item, grid) {
43
- if (!options.enableExpandCollapse) {
44
- return item.title;
45
- }
46
- var indentation = item.level * 15 + "px";
47
- return (options.checkboxSelect ? '<span class="' + options.checkboxSelectCssClass +
48
- ' ' + (item.selectChecked ? 'checked' : 'unchecked') + '"></span>' : '') +
49
- "<span class='" + options.toggleCssClass + " " +
50
- (item.collapsed ? options.toggleCollapsedCssClass : options.toggleExpandedCssClass) +
51
- "' style='margin-left:" + indentation + "'>" +
52
- "</span>" +
53
- "<span class='" + options.groupTitleCssClass + "' level='" + item.level + "'>" +
54
- item.title +
55
- "</span>";
56
- }
57
- function defaultTotalsCellFormatter(row, cell, value, columnDef, item, grid) {
58
- var formatter_res;
59
- if (columnDef.groupTotalsFormatter) {
60
- formatter_res = columnDef.groupTotalsFormatter(item, columnDef, grid) || "";
61
- }
62
- else {
63
- var res = (item.avg && item.avg[columnDef.field])
64
- || (item.sum && item.sum[columnDef.field])
65
- || (item.max && item.max[columnDef.field])
66
- || (item.min && item.min[columnDef.field]);
67
- formatter_res = (columnDef.formatter ? columnDef.formatter(row, cell, res, columnDef, item) : "");
68
- }
69
- return formatter_res;
70
- //return (Object.prototype.toString.call(formatter_res) !== '[object Object]' ? (<string>formatter_res) : (<ISlickFormatterResult>formatter_res).text);
71
- }
72
- function init(grid) {
73
- _grid = grid;
74
- _grid.onClick.subscribe(handleGridClick);
75
- _grid.onKeyDown.subscribe(handleGridKeyDown);
76
- }
77
- function destroy() {
78
- if (_grid) {
79
- _grid.onClick.unsubscribe(handleGridClick);
80
- _grid.onKeyDown.unsubscribe(handleGridKeyDown);
81
- }
82
- }
83
- function handleGridClick(e, args) {
84
- var $target = $(e.target);
85
- var item = this.getDataItem(args.row);
86
- if (item && item instanceof Slick.Group && $target.hasClass(options.toggleCssClass)) {
87
- var range = _grid.getRenderedRange();
88
- this.dataView.setRefreshHints({
89
- ignoreDiffsBefore: range.top,
90
- ignoreDiffsAfter: range.bottom + 1
91
- });
92
- if (item.collapsed) {
93
- this.dataView.expandGroup(item.groupingKey);
94
- }
95
- else {
96
- this.dataView.collapseGroup(item.groupingKey);
97
- }
98
- e.stopImmediatePropagation();
99
- e.preventDefault();
100
- }
101
- if (item && item instanceof Slick.Group && $target.hasClass(options.checkboxSelectCssClass)) {
102
- item.selectChecked = !item.selectChecked;
103
- $target.removeClass((item.selectChecked ? "unchecked" : "checked"));
104
- $target.addClass((item.selectChecked ? "checked" : "unchecked"));
105
- // get rowIndexes array
106
- var rowIndexes = _grid.dataView.mapItemsToRows(item.rows);
107
- (item.selectChecked ? options.checkboxSelectPlugin.selectRows : options.checkboxSelectPlugin.deSelectRows)(rowIndexes);
108
- }
109
- }
110
- // TODO: add -/+ handling
111
- function handleGridKeyDown(e, args) {
112
- if (options.enableExpandCollapse && (e.which == Slick.keyCode.SPACE)) {
113
- var activeCell = this.getActiveCell();
114
- if (activeCell) {
115
- var item = this.getDataItem(activeCell.row);
116
- if (item && item instanceof Slick.Group) {
117
- var range = _grid.getRenderedRange();
118
- this.dataView.setRefreshHints({
119
- ignoreDiffsBefore: range.top,
120
- ignoreDiffsAfter: range.bottom + 1
121
- });
122
- if (item.collapsed) {
123
- this.dataView.expandGroup(item.groupingKey);
124
- }
125
- else {
126
- this.dataView.collapseGroup(item.groupingKey);
127
- }
128
- e.stopImmediatePropagation();
129
- e.preventDefault();
130
- }
131
- }
132
- }
133
- }
134
- function getGroupRowMetadata(item) {
135
- return {
136
- selectable: false,
137
- focusable: options.groupFocusable,
138
- cssClasses: options.groupCssClass,
139
- columns: {
140
- 0: {
141
- colspan: "*",
142
- formatter: options.groupFormatter,
143
- editor: null
144
- }
145
- },
146
- height: options.calcGroupHeight ? options.calcGroupHeight(item) : undefined
147
- };
148
- }
149
- function getTotalsRowMetadata(item) {
150
- return {
151
- selectable: false,
152
- focusable: options.totalsFocusable,
153
- cssClasses: options.totalsCssClass,
154
- formatter: options.totalsFormatter,
155
- editor: null,
156
- height: options.calcTotalsHeight ? options.calcTotalsHeight(item) : undefined
157
- };
158
- }
159
- return {
160
- "init": init,
161
- "destroy": destroy,
162
- "getGroupRowMetadata": getGroupRowMetadata,
163
- "getTotalsRowMetadata": getTotalsRowMetadata
164
- };
165
- }
1
+ import { jQueryReplacement } from "../core/jq";
2
+ import { Slick } from "./slick.core";
3
+ let $ = jQueryReplacement;
4
+ $.deepExtend(Slick, {
5
+ Data: {
6
+ GroupItemMetadataProvider: GroupItemMetadataProvider
7
+ }
8
+ });
9
+ /***
10
+ * Provides item metadata for group (Slick.Group) and totals (Slick.Totals) rows produced by the DataView.
11
+ * This metadata overrides the default behavior and formatting of those rows so that they appear and function
12
+ * correctly when processed by the grid.
13
+ *
14
+ * This class also acts as a grid plugin providing event handlers to expand & collapse groups.
15
+ * If "grid.registerPlugin(...)" is not called, expand & collapse will not work.
16
+ *
17
+ * @class GroupItemMetadataProvider
18
+ * @module Data
19
+ * @namespace Slick.Data
20
+ * @constructor
21
+ * @param options
22
+ */
23
+ export function GroupItemMetadataProvider(options) {
24
+ var _grid;
25
+ var _defaults = {
26
+ checkboxSelect: false,
27
+ checkboxSelectCssClass: "slick-group-select-checkbox",
28
+ checkboxSelectPlugin: null,
29
+ groupCssClass: "slick-group",
30
+ groupTitleCssClass: "slick-group-title",
31
+ totalsCssClass: "slick-group-totals",
32
+ groupFocusable: true,
33
+ totalsFocusable: false,
34
+ toggleCssClass: "slick-group-toggle",
35
+ toggleExpandedCssClass: "expanded",
36
+ toggleCollapsedCssClass: "collapsed",
37
+ enableExpandCollapse: true,
38
+ groupFormatter: defaultGroupCellFormatter,
39
+ totalsFormatter: defaultTotalsCellFormatter
40
+ };
41
+ options = $.deepExtend({}, _defaults, options);
42
+ function defaultGroupCellFormatter(row, cell, value, columnDef, item, grid) {
43
+ if (!options.enableExpandCollapse) {
44
+ return item.title;
45
+ }
46
+ let indentation = item.level * 15 + "px";
47
+ return (options.checkboxSelect ? '<span class="' + options.checkboxSelectCssClass +
48
+ ' ' + (item.selectChecked ? 'checked' : 'unchecked') + '"></span>' : '') +
49
+ "<span class='" + options.toggleCssClass + " " +
50
+ (item.collapsed ? options.toggleCollapsedCssClass : options.toggleExpandedCssClass) +
51
+ "' style='margin-left:" + indentation + "'>" +
52
+ "</span>" +
53
+ "<span class='" + options.groupTitleCssClass + "' level='" + item.level + "'>" +
54
+ item.title +
55
+ "</span>";
56
+ }
57
+ function defaultTotalsCellFormatter(row, cell, value, columnDef, item, grid) {
58
+ let formatter_res;
59
+ if (columnDef.groupTotalsFormatter) {
60
+ formatter_res = columnDef.groupTotalsFormatter(item, columnDef, grid) || "";
61
+ }
62
+ else {
63
+ let res = (item.avg && item.avg[columnDef.field])
64
+ || (item.sum && item.sum[columnDef.field])
65
+ || (item.max && item.max[columnDef.field])
66
+ || (item.min && item.min[columnDef.field]);
67
+ formatter_res = (columnDef.formatter ? columnDef.formatter(row, cell, res, columnDef, item) : "");
68
+ }
69
+ return formatter_res;
70
+ //return (Object.prototype.toString.call(formatter_res) !== '[object Object]' ? (<string>formatter_res) : (<ISlickFormatterResult>formatter_res).text);
71
+ }
72
+ function init(grid) {
73
+ _grid = grid;
74
+ _grid.onClick.subscribe(handleGridClick);
75
+ _grid.onKeyDown.subscribe(handleGridKeyDown);
76
+ }
77
+ function destroy() {
78
+ if (_grid) {
79
+ _grid.onClick.unsubscribe(handleGridClick);
80
+ _grid.onKeyDown.unsubscribe(handleGridKeyDown);
81
+ }
82
+ }
83
+ function handleGridClick(e, args) {
84
+ var $target = $(e.target);
85
+ var item = this.getDataItem(args.row);
86
+ if (item && item instanceof Slick.Group && $target.hasClass(options.toggleCssClass)) {
87
+ var range = _grid.getRenderedRange();
88
+ this.dataView.setRefreshHints({
89
+ ignoreDiffsBefore: range.top,
90
+ ignoreDiffsAfter: range.bottom + 1
91
+ });
92
+ if (item.collapsed) {
93
+ this.dataView.expandGroup(item.groupingKey);
94
+ }
95
+ else {
96
+ this.dataView.collapseGroup(item.groupingKey);
97
+ }
98
+ e.stopImmediatePropagation();
99
+ e.preventDefault();
100
+ }
101
+ if (item && item instanceof Slick.Group && $target.hasClass(options.checkboxSelectCssClass)) {
102
+ item.selectChecked = !item.selectChecked;
103
+ $target.removeClass((item.selectChecked ? "unchecked" : "checked"));
104
+ $target.addClass((item.selectChecked ? "checked" : "unchecked"));
105
+ // get rowIndexes array
106
+ var rowIndexes = _grid.dataView.mapItemsToRows(item.rows);
107
+ (item.selectChecked ? options.checkboxSelectPlugin.selectRows : options.checkboxSelectPlugin.deSelectRows)(rowIndexes);
108
+ }
109
+ }
110
+ // TODO: add -/+ handling
111
+ function handleGridKeyDown(e, args) {
112
+ if (options.enableExpandCollapse && (e.which == Slick.keyCode.SPACE)) {
113
+ var activeCell = this.getActiveCell();
114
+ if (activeCell) {
115
+ var item = this.getDataItem(activeCell.row);
116
+ if (item && item instanceof Slick.Group) {
117
+ var range = _grid.getRenderedRange();
118
+ this.dataView.setRefreshHints({
119
+ ignoreDiffsBefore: range.top,
120
+ ignoreDiffsAfter: range.bottom + 1
121
+ });
122
+ if (item.collapsed) {
123
+ this.dataView.expandGroup(item.groupingKey);
124
+ }
125
+ else {
126
+ this.dataView.collapseGroup(item.groupingKey);
127
+ }
128
+ e.stopImmediatePropagation();
129
+ e.preventDefault();
130
+ }
131
+ }
132
+ }
133
+ }
134
+ function getGroupRowMetadata(item) {
135
+ return {
136
+ selectable: false,
137
+ focusable: options.groupFocusable,
138
+ cssClasses: options.groupCssClass,
139
+ columns: {
140
+ 0: {
141
+ colspan: "*",
142
+ formatter: options.groupFormatter,
143
+ editor: null
144
+ }
145
+ },
146
+ height: options.calcGroupHeight ? options.calcGroupHeight(item) : undefined
147
+ };
148
+ }
149
+ function getTotalsRowMetadata(item) {
150
+ return {
151
+ selectable: false,
152
+ focusable: options.totalsFocusable,
153
+ cssClasses: options.totalsCssClass,
154
+ formatter: options.totalsFormatter,
155
+ editor: null,
156
+ height: options.calcTotalsHeight ? options.calcTotalsHeight(item) : undefined
157
+ };
158
+ }
159
+ return {
160
+ "init": init,
161
+ "destroy": destroy,
162
+ "getGroupRowMetadata": getGroupRowMetadata,
163
+ "getTotalsRowMetadata": getTotalsRowMetadata
164
+ };
165
+ }
@@ -1,33 +1,33 @@
1
- import "./slick.tree.css";
2
- import { IJSLGrid } from "./slick.creator";
3
- import { ISlickFormatter } from "./slick.core";
4
- export interface IGridTreeOptions {
5
- parentColumn: string;
6
- indentInRem?: number;
7
- enableCollapsing?: boolean;
8
- hiddenStateField?: string;
9
- collapsedStateField?: string;
10
- expandIconHTML?: string;
11
- collapseIconHTML?: string;
12
- }
13
- export declare let IndentFormatter: ISlickFormatter;
14
- export declare class GridTree<T> {
15
- private grid;
16
- private primaryKey;
17
- private options;
18
- constructor(grid: IJSLGrid<T>, o: IGridTreeOptions);
19
- getOptions(): IGridTreeOptions;
20
- getLevel(item: T): number;
21
- getParent(item: T): T;
22
- hasChildren(item: T): boolean;
23
- getDirectChildren(item: T): T[];
24
- getAllChildren(item: T): T[];
25
- rowHasChildren(row: number): boolean;
26
- toggleExpand(item: T): void;
27
- expand(item: T): void;
28
- indent(rows: T[]): void;
29
- outdent(rows: T[]): void;
30
- filterChildren(rows: T[]): T[];
31
- collapse(item: T): void;
32
- private initEvents;
33
- }
1
+ import "./slick.tree.css";
2
+ import { IJSLGrid } from "./slick.creator";
3
+ import { ISlickFormatter } from "./slick.core";
4
+ export interface IGridTreeOptions {
5
+ parentColumn: string;
6
+ indentInRem?: number;
7
+ enableCollapsing?: boolean;
8
+ hiddenStateField?: string;
9
+ collapsedStateField?: string;
10
+ expandIconHTML?: string;
11
+ collapseIconHTML?: string;
12
+ }
13
+ export declare let IndentFormatter: ISlickFormatter;
14
+ export declare class GridTree<T> {
15
+ private grid;
16
+ private primaryKey;
17
+ private options;
18
+ constructor(grid: IJSLGrid<T>, o: IGridTreeOptions);
19
+ getOptions(): IGridTreeOptions;
20
+ getLevel(item: T): number;
21
+ getParent(item: T): T;
22
+ hasChildren(item: T): boolean;
23
+ getDirectChildren(item: T): T[];
24
+ getAllChildren(item: T): T[];
25
+ rowHasChildren(row: number): boolean;
26
+ toggleExpand(item: T): void;
27
+ expand(item: T): void;
28
+ indent(rows: T[]): void;
29
+ outdent(rows: T[]): void;
30
+ filterChildren(rows: T[]): T[];
31
+ collapse(item: T): void;
32
+ private initEvents;
33
+ }