jsl-ui 9.28.3 → 9.28.4

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 -65
  3. package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +22 -22
  4. package/lib/components/auto-suggest/AutoSuggestComponent.js +47 -47
  5. package/lib/components/button/ButtonComponent.d.ts +18 -18
  6. package/lib/components/button/ButtonComponent.js +29 -29
  7. package/lib/components/checkbox/CheckBoxComponent.d.ts +28 -28
  8. package/lib/components/checkbox/CheckBoxComponent.js +81 -81
  9. package/lib/components/date/DateComponent.d.ts +32 -32
  10. package/lib/components/date/DateComponent.js +89 -89
  11. package/lib/components/date-range/DateRangeComponent.d.ts +35 -35
  12. package/lib/components/date-range/DateRangeComponent.js +121 -123
  13. package/lib/components/date-time/DateTimeComponent.d.ts +15 -15
  14. package/lib/components/date-time/DateTimeComponent.js +39 -39
  15. package/lib/components/dialog/DialogComponent.d.ts +67 -67
  16. package/lib/components/dialog/DialogComponent.js +192 -198
  17. package/lib/components/drop-down/DropDownComponent.d.ts +27 -27
  18. package/lib/components/drop-down/DropDownComponent.js +60 -60
  19. package/lib/components/expander/ExpanderComponent.d.ts +27 -27
  20. package/lib/components/expander/ExpanderComponent.js +87 -89
  21. package/lib/components/form-field/FormComponent.d.ts +12 -12
  22. package/lib/components/form-field/FormComponent.js +23 -23
  23. package/lib/components/form-field/FormFieldComponent.d.ts +39 -39
  24. package/lib/components/form-field/FormFieldComponent.js +138 -138
  25. package/lib/components/grid/GridComponent.d.ts +26 -26
  26. package/lib/components/grid/GridComponent.js +110 -110
  27. package/lib/components/input/InputComponent.d.ts +33 -33
  28. package/lib/components/input/InputComponent.js +126 -126
  29. package/lib/components/loading/LoadingComponent.d.ts +8 -8
  30. package/lib/components/loading/LoadingComponent.js +20 -20
  31. package/lib/components/navigation/NavigationComponent.d.ts +34 -34
  32. package/lib/components/navigation/NavigationComponent.js +47 -45
  33. package/lib/components/notification/Notification.d.ts +19 -19
  34. package/lib/components/notification/Notification.js +65 -65
  35. package/lib/components/number/NumberComponent.d.ts +26 -26
  36. package/lib/components/number/NumberComponent.js +80 -80
  37. package/lib/components/overlay/OverlayComponent.d.ts +27 -27
  38. package/lib/components/overlay/OverlayComponent.js +134 -137
  39. package/lib/components/progress/ProgressComponent.d.ts +18 -18
  40. package/lib/components/progress/ProgressComponent.js +40 -40
  41. package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +12 -12
  42. package/lib/components/ribbon-menu/RibbonMenuComponent.js +23 -23
  43. package/lib/components/select/SelectComponent.d.ts +79 -79
  44. package/lib/components/select/SelectComponent.js +352 -356
  45. package/lib/components/select/SelectDDAreaComponent.d.ts +32 -32
  46. package/lib/components/select/SelectDDAreaComponent.js +303 -303
  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 -124
  51. package/lib/components/stack-panel/StackPanelComponent.d.ts +20 -20
  52. package/lib/components/stack-panel/StackPanelComponent.js +50 -50
  53. package/lib/components/tabs/TabsComponent.d.ts +40 -40
  54. package/lib/components/tabs/TabsComponent.js +191 -200
  55. package/lib/components/time/TimeComponent.d.ts +29 -29
  56. package/lib/components/time/TimeComponent.js +102 -104
  57. package/lib/components/tree-view/TreeViewComponent.d.ts +23 -23
  58. package/lib/components/tree-view/TreeViewComponent.js +42 -43
  59. package/lib/components/virtual-render/VirtualRenderComponent.d.ts +30 -30
  60. package/lib/components/virtual-render/VirtualRenderComponent.js +90 -92
  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 -346
  65. package/lib/core/helper.d.ts +13 -13
  66. package/lib/core/helper.js +100 -100
  67. package/lib/core/jq.d.ts +37 -37
  68. package/lib/core/jq.js +362 -362
  69. package/lib/core/lang.d.ts +24 -24
  70. package/lib/core/lang.js +24 -24
  71. package/lib/core/numeric.d.ts +7 -7
  72. package/lib/core/numeric.js +139 -139
  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 -106
  78. package/lib/grid/filterDialogs/excelFilter.d.ts +9 -9
  79. package/lib/grid/filterDialogs/excelFilter.js +250 -250
  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 -1069
  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 -352
  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 -5409
  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 -208
  118. package/lib/grid.css +705 -1
  119. package/lib/grid.d.ts +13 -13
  120. package/lib/grid.js +13 -13
  121. package/lib/index.css +2195 -8
  122. package/lib/index.css.map +1 -1
  123. package/lib/index.d.ts +55 -56
  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 +1 -0
  128. package/lib/interaction/eventhandler.d.ts +13 -13
  129. package/lib/interaction/eventhandler.js +39 -39
  130. package/lib/interaction/moveable.d.ts +39 -39
  131. package/lib/interaction/moveable.js +160 -160
  132. package/lib/interaction/resizable.d.ts +37 -37
  133. package/lib/interaction/resizable.js +109 -109
  134. package/lib/ui/auto.suggest.d.ts +18 -18
  135. package/lib/ui/auto.suggest.js +244 -244
  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 -39
  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 -98
  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 -56
  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
- 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
+ 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
+ }