jsl-ui 9.18.3 → 9.18.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 (213) hide show
  1. package/lib/components/IntervalComponent.d.ts +17 -0
  2. package/lib/components/IntervalComponent.js +68 -0
  3. package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +22 -0
  4. package/lib/components/auto-suggest/AutoSuggestComponent.js +49 -0
  5. package/lib/components/button/ButtonComponent.d.ts +18 -0
  6. package/lib/components/button/ButtonComponent.js +46 -0
  7. package/lib/components/checkbox/CheckBoxComponent.d.ts +28 -0
  8. package/lib/components/checkbox/CheckBoxComponent.js +94 -0
  9. package/lib/components/checkbox/CheckBoxStyle.scss +86 -0
  10. package/lib/components/date/DateComponent.d.ts +32 -0
  11. package/lib/components/date/DateComponent.js +106 -0
  12. package/lib/components/date-range/DateRangeComponent.d.ts +35 -0
  13. package/lib/components/date-range/DateRangeComponent.js +136 -0
  14. package/lib/components/date-range/DateRangeStyle.scss +12 -0
  15. package/lib/components/date-time/DateTimeComponent.d.ts +15 -0
  16. package/lib/components/date-time/DateTimeComponent.js +53 -0
  17. package/lib/components/date-time/DateTimeStyle.scss +7 -0
  18. package/lib/components/dialog/DialogComponent.d.ts +67 -0
  19. package/lib/components/dialog/DialogComponent.js +242 -0
  20. package/lib/components/drop-down/DropDownComponent.d.ts +27 -0
  21. package/lib/components/drop-down/DropDownComponent.js +74 -0
  22. package/lib/components/expander/ExpanderComponent.d.ts +27 -0
  23. package/lib/components/expander/ExpanderComponent.js +90 -0
  24. package/lib/components/expander/ExpanderStyle.scss +47 -0
  25. package/lib/components/expander/OldExpanderStyle.scss +37 -0
  26. package/lib/components/form-field/FormComponent.d.ts +12 -0
  27. package/lib/components/form-field/FormComponent.js +26 -0
  28. package/lib/components/form-field/FormFieldComponent.d.ts +38 -0
  29. package/lib/components/form-field/FormFieldComponent.js +139 -0
  30. package/lib/components/form-field/FormFieldStyle.scss +87 -0
  31. package/lib/components/grid/GridComponent.d.ts +26 -0
  32. package/lib/components/grid/GridComponent.js +116 -0
  33. package/lib/components/input/InputComponent.d.ts +33 -0
  34. package/lib/components/input/InputComponent.js +144 -0
  35. package/lib/components/loading/LoadingComponent.d.ts +8 -0
  36. package/lib/components/loading/LoadingComponent.js +22 -0
  37. package/lib/components/loading/LoadingStyle.css +29 -0
  38. package/lib/components/navigation/NavigationComponent.d.ts +34 -0
  39. package/lib/components/navigation/NavigationComponent.js +70 -0
  40. package/lib/components/navigation/NavigationStyle.scss +226 -0
  41. package/lib/components/notification/Notification.d.ts +17 -0
  42. package/lib/components/notification/Notification.js +56 -0
  43. package/lib/components/notification/Notification.scss +19 -0
  44. package/lib/components/number/NumberComponent.d.ts +25 -0
  45. package/lib/components/number/NumberComponent.js +87 -0
  46. package/lib/components/overlay/OverlayComponent.d.ts +27 -0
  47. package/lib/components/overlay/OverlayComponent.js +149 -0
  48. package/lib/components/overlay/overlay.css +57 -0
  49. package/lib/components/progress/ProgressComponent.d.ts +18 -0
  50. package/lib/components/progress/ProgressComponent.js +42 -0
  51. package/lib/components/progress/ProgressStyle.scss +15 -0
  52. package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +12 -0
  53. package/lib/components/ribbon-menu/RibbonMenuComponent.js +34 -0
  54. package/lib/components/ribbon-menu/RibbonMenuStyle.scss +76 -0
  55. package/lib/components/select/SelectComponent.d.ts +79 -0
  56. package/lib/components/select/SelectComponent.js +362 -0
  57. package/lib/components/select/SelectDDAreaComponent.d.ts +32 -0
  58. package/lib/components/select/SelectDDAreaComponent.js +317 -0
  59. package/lib/components/select/SelectStyle.scss +187 -0
  60. package/lib/components/slider/nouislider.css +310 -0
  61. package/lib/components/slider/nouislider.d.ts +44 -0
  62. package/lib/components/slider/nouislider.js +2158 -0
  63. package/lib/components/stack-panel/SplitterComponent.d.ts +21 -0
  64. package/lib/components/stack-panel/SplitterComponent.js +126 -0
  65. package/lib/components/stack-panel/SplitterStyle.scss +45 -0
  66. package/lib/components/stack-panel/StackPanelComponent.d.ts +20 -0
  67. package/lib/components/stack-panel/StackPanelComponent.js +64 -0
  68. package/lib/components/stack-panel/StackPanelStyle.scss +53 -0
  69. package/lib/components/tabs/TabsComponent.d.ts +39 -0
  70. package/lib/components/tabs/TabsComponent.js +177 -0
  71. package/lib/components/tabs/TabsStyle.scss +76 -0
  72. package/lib/components/time/TimeComponent.d.ts +29 -0
  73. package/lib/components/time/TimeComponent.js +113 -0
  74. package/lib/components/time/TimeComponent.scss +4 -0
  75. package/lib/components/tree-view/TreeViewComponent.d.ts +23 -0
  76. package/lib/components/tree-view/TreeViewComponent.js +45 -0
  77. package/lib/components/tree-view/TreeViewStyle.scss +96 -0
  78. package/lib/components/virtual-render/VirtualRenderComponent.d.ts +30 -0
  79. package/lib/components/virtual-render/VirtualRenderComponent.js +104 -0
  80. package/lib/components/virtual-render/VirtualRenderStyle.scss +9 -0
  81. package/lib/core/culture.d.ts +5 -0
  82. package/lib/core/culture.js +385 -0
  83. package/lib/core/date.d.ts +14 -0
  84. package/lib/core/date.js +350 -0
  85. package/lib/core/helper.d.ts +12 -0
  86. package/lib/core/helper.js +101 -0
  87. package/lib/core/jq.d.ts +37 -0
  88. package/lib/core/jq.js +371 -0
  89. package/lib/core/lang.d.ts +24 -0
  90. package/lib/core/lang.js +28 -0
  91. package/lib/core/numeric.d.ts +7 -0
  92. package/lib/core/numeric.js +143 -0
  93. package/lib/core/polyfills.d.ts +0 -0
  94. package/lib/core/polyfills.js +22 -0
  95. package/lib/core.d.ts +6 -0
  96. package/lib/core.js +6 -0
  97. package/lib/grid/controls/slick.columnpicker.css +46 -0
  98. package/lib/grid/controls/slick.draggablegrouping.css +52 -0
  99. package/lib/grid/controls/slick.gridmenu.css +127 -0
  100. package/lib/grid/controls/slick.pager.css +41 -0
  101. package/lib/grid/examples/examples.css +203 -0
  102. package/lib/grid/filterDialogs/dateRangeFilter.d.ts +7 -0
  103. package/lib/grid/filterDialogs/dateRangeFilter.js +156 -0
  104. package/lib/grid/filterDialogs/excelFilter.d.ts +9 -0
  105. package/lib/grid/filterDialogs/excelFilter.js +313 -0
  106. package/lib/grid/plugins/ext.overlay.css +28 -0
  107. package/lib/grid/plugins/ext.overlay.d.ts +2 -0
  108. package/lib/grid/plugins/ext.overlay.js +291 -0
  109. package/lib/grid/plugins/slick.cellrangedecorator.d.ts +12 -0
  110. package/lib/grid/plugins/slick.cellrangedecorator.js +68 -0
  111. package/lib/grid/plugins/slick.cellrangeselector.d.ts +1 -0
  112. package/lib/grid/plugins/slick.cellrangeselector.js +144 -0
  113. package/lib/grid/plugins/slick.cellselectionmodel.d.ts +1 -0
  114. package/lib/grid/plugins/slick.cellselectionmodel.js +194 -0
  115. package/lib/grid/plugins/slick.headerbuttons.css +40 -0
  116. package/lib/grid/plugins/slick.headerbuttons.d.ts +55 -0
  117. package/lib/grid/plugins/slick.headerbuttons.js +156 -0
  118. package/lib/grid/plugins/slick.headermenu.css +101 -0
  119. package/lib/grid/plugins/slick.headermenu.d.ts +74 -0
  120. package/lib/grid/plugins/slick.headermenu.js +260 -0
  121. package/lib/grid/plugins/slick.rowdetailview.css +37 -0
  122. package/lib/grid/plugins/slick.rowmovemanager.css +8 -0
  123. package/lib/grid/plugins/slick.rowmovemanager.d.ts +18 -0
  124. package/lib/grid/plugins/slick.rowmovemanager.js +249 -0
  125. package/lib/grid/plugins/slick.rowselectionmodel.d.ts +1 -0
  126. package/lib/grid/plugins/slick.rowselectionmodel.js +167 -0
  127. package/lib/grid/slick-default-theme.css +154 -0
  128. package/lib/grid/slick.core.d.ts +90 -0
  129. package/lib/grid/slick.core.js +574 -0
  130. package/lib/grid/slick.creator.d.ts +80 -0
  131. package/lib/grid/slick.creator.js +723 -0
  132. package/lib/grid/slick.dataview.d.ts +71 -0
  133. package/lib/grid/slick.dataview.js +1080 -0
  134. package/lib/grid/slick.editors.core.d.ts +4 -0
  135. package/lib/grid/slick.editors.core.js +232 -0
  136. package/lib/grid/slick.editors.date.d.ts +2 -0
  137. package/lib/grid/slick.editors.date.js +125 -0
  138. package/lib/grid/slick.editors.lookup.d.ts +14 -0
  139. package/lib/grid/slick.editors.lookup.js +353 -0
  140. package/lib/grid/slick.editors.nav.d.ts +6 -0
  141. package/lib/grid/slick.editors.nav.js +22 -0
  142. package/lib/grid/slick.formatters.d.ts +17 -0
  143. package/lib/grid/slick.formatters.js +137 -0
  144. package/lib/grid/slick.grid.css +325 -0
  145. package/lib/grid/slick.grid.d.ts +284 -0
  146. package/lib/grid/slick.grid.js +5395 -0
  147. package/lib/grid/slick.groupitemmetadataprovider.d.ts +39 -0
  148. package/lib/grid/slick.groupitemmetadataprovider.js +165 -0
  149. package/lib/grid/slick.tree.css +20 -0
  150. package/lib/grid/slick.tree.d.ts +33 -0
  151. package/lib/grid/slick.tree.js +220 -0
  152. package/lib/grid.d.ts +13 -0
  153. package/lib/grid.js +13 -0
  154. package/lib/index.css +2576 -0
  155. package/lib/index.css.map +1 -1
  156. package/lib/index.d.ts +56 -0
  157. package/lib/index.js +61 -10198
  158. package/lib/index.js.map +1 -1
  159. package/lib/interaction/dataconverter.d.ts +4 -0
  160. package/lib/interaction/dataconverter.js +1 -0
  161. package/lib/interaction/eventhandler.d.ts +13 -0
  162. package/lib/interaction/eventhandler.js +42 -0
  163. package/lib/interaction/moveable.css +0 -0
  164. package/lib/interaction/moveable.d.ts +39 -0
  165. package/lib/interaction/moveable.js +172 -0
  166. package/lib/interaction/resizable.css +33 -0
  167. package/lib/interaction/resizable.d.ts +37 -0
  168. package/lib/interaction/resizable.js +123 -0
  169. package/lib/ui/auto.suggest.css +14 -0
  170. package/lib/ui/auto.suggest.d.ts +17 -0
  171. package/lib/ui/auto.suggest.js +255 -0
  172. package/lib/ui/base.css +150 -0
  173. package/lib/ui/date.picker/css/date-range-picker.css +87 -0
  174. package/lib/ui/date.picker/css/tiny-date-picker.css +326 -0
  175. package/lib/ui/date.picker/date-picker-options.d.ts +11 -0
  176. package/lib/ui/date.picker/date-picker-options.js +76 -0
  177. package/lib/ui/date.picker/lib/date-manip.d.ts +74 -0
  178. package/lib/ui/date.picker/lib/date-manip.js +120 -0
  179. package/lib/ui/date.picker/lib/dom.d.ts +23 -0
  180. package/lib/ui/date.picker/lib/dom.js +28 -0
  181. package/lib/ui/date.picker/lib/emitter.d.ts +13 -0
  182. package/lib/ui/date.picker/lib/emitter.js +49 -0
  183. package/lib/ui/date.picker/lib/fns.d.ts +23 -0
  184. package/lib/ui/date.picker/lib/fns.js +43 -0
  185. package/lib/ui/date.picker/mode/base-mode.d.ts +26 -0
  186. package/lib/ui/date.picker/mode/base-mode.js +248 -0
  187. package/lib/ui/date.picker/mode/dropdown-mode.d.ts +28 -0
  188. package/lib/ui/date.picker/mode/dropdown-mode.js +50 -0
  189. package/lib/ui/date.picker/mode/index.d.ts +28 -0
  190. package/lib/ui/date.picker/mode/index.js +18 -0
  191. package/lib/ui/date.picker/mode/modal-mode.d.ts +25 -0
  192. package/lib/ui/date.picker/mode/modal-mode.js +17 -0
  193. package/lib/ui/date.picker/mode/permanent-mode.d.ts +29 -0
  194. package/lib/ui/date.picker/mode/permanent-mode.js +19 -0
  195. package/lib/ui/date.picker/views/day-picker.d.ts +40 -0
  196. package/lib/ui/date.picker/views/day-picker.js +155 -0
  197. package/lib/ui/date.picker/views/month-picker.d.ts +26 -0
  198. package/lib/ui/date.picker/views/month-picker.js +65 -0
  199. package/lib/ui/date.picker/views/year-picker.d.ts +20 -0
  200. package/lib/ui/date.picker/views/year-picker.js +66 -0
  201. package/lib/ui/date.picker.d.ts +66 -0
  202. package/lib/ui/date.picker.js +32 -0
  203. package/lib/ui/dialog.css +109 -0
  204. package/lib/ui/dialog.d.ts +22 -0
  205. package/lib/ui/dialog.js +113 -0
  206. package/lib/ui/drop.down.css +472 -0
  207. package/lib/ui/drop.down.d.ts +52 -0
  208. package/lib/ui/drop.down.js +2112 -0
  209. package/lib/ui/number.input.css +3 -0
  210. package/lib/ui/number.input.d.ts +12 -0
  211. package/lib/ui/number.input.js +64 -0
  212. package/lib/ui/tabs.css +53 -0
  213. package/package.json +1 -1
@@ -0,0 +1,101 @@
1
+ /* Menu button */
2
+ .slick-header-menubutton {
3
+ position: absolute;
4
+ right: 0;
5
+ top: 0;
6
+ bottom: 0;
7
+ width: 14px;
8
+ background-repeat: no-repeat;
9
+ background-position: left center;
10
+ background-image: url('data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=');
11
+ cursor: pointer;
12
+
13
+ display: none;
14
+ border-left: thin ridge silver;
15
+ }
16
+
17
+ .slick-header-menubutton.resize-offset {
18
+ right: 0.5rem;
19
+ }
20
+
21
+ .slick-header-column:hover > .slick-header-menubutton,
22
+ .slick-header-column-active .slick-header-menubutton {
23
+ display: inline-block;
24
+ }
25
+
26
+ /* Menu */
27
+ .slick-header-menu {
28
+ position: absolute;
29
+ display: inline-block;
30
+ margin: 0;
31
+ padding: 2px;
32
+ cursor: default;
33
+ }
34
+
35
+
36
+ /* Menu items */
37
+ .slick-header-menuitem {
38
+ list-style: none;
39
+ margin: 0;
40
+ padding: 0;
41
+ cursor: pointer;
42
+ }
43
+
44
+ .slick-header-menuicon {
45
+ display: inline-block;
46
+ width: 16px;
47
+ height: 16px;
48
+ vertical-align: middle;
49
+ margin-right: 4px;
50
+ background-repeat: no-repeat;
51
+ background-position: center center;
52
+ }
53
+
54
+ .slick-header-menucontent {
55
+ display: inline-block;
56
+ vertical-align: middle;
57
+ }
58
+
59
+
60
+ /* Disabled */
61
+ .slick-header-menuitem-disabled {
62
+ color: silver;
63
+ }
64
+
65
+ /* Divider */
66
+ .slick-header-menuitem.slick-header-menuitem-divider {
67
+ cursor: default;
68
+ border: none;
69
+ overflow: hidden;
70
+ padding: 0;
71
+ height: 1px;
72
+ margin: 8px 2px;
73
+ background-color: #cecece;
74
+ }
75
+ .slick-header-menuitem-divider.slick-header-menuitem:hover {
76
+ background-color: #cecece;
77
+ }
78
+
79
+ .slick-header-menu {
80
+ border: 1px solid #bebebe;
81
+ background: #ffffff;
82
+ padding: 2px;
83
+ box-shadow: 2px 2px 2px silver;
84
+ z-index: 20;
85
+ }
86
+
87
+
88
+ .slick-header-menuitem {
89
+ padding: 2px 4px;
90
+ border-radius: 3px;
91
+ }
92
+
93
+ .slick-header-menuitem:hover {
94
+ background: #3B99FF;
95
+ color:white;
96
+ }
97
+
98
+ .slick-header-menuitem-disabled {
99
+ border-color: transparent !important;
100
+ background: inherit !important;
101
+ }
@@ -0,0 +1,74 @@
1
+ import './slick.headermenu.css';
2
+ /***
3
+ * A plugin to add drop-down menus to column headers.
4
+ *
5
+ * USAGE:
6
+ *
7
+ * Add the plugin .js & .css files and register it with the grid.
8
+ *
9
+ * To specify a menu in a column header, extend the column definition like so:
10
+ *
11
+ * var columns = [
12
+ * {
13
+ * id: 'myColumn',
14
+ * name: 'My column',
15
+ *
16
+ * // This is the relevant part
17
+ * header: {
18
+ * menu: {
19
+ * items: [
20
+ * {
21
+ * // menu item options
22
+ * },
23
+ * {
24
+ * // menu item options
25
+ * }
26
+ * ]
27
+ * }
28
+ * }
29
+ * }
30
+ * ];
31
+ *
32
+ *
33
+ * Available menu options:
34
+ * tooltip: Menu button tooltip.
35
+ *
36
+ *
37
+ * Available menu item options:
38
+ * title: Menu item text.
39
+ * divider: Whether the current item is a divider, not an actual command.
40
+ * disabled: Whether the item is disabled.
41
+ * tooltip: Item tooltip.
42
+ * command: A command identifier to be passed to the onCommand event handlers.
43
+ * iconCssClass: A CSS class to be added to the menu item icon.
44
+ * iconImage: A url to the icon image.
45
+ * minWidth: Minimum width that the drop menu will have
46
+ * autoAlign: Auto-align drop menu to the left when not enough viewport space to show on the right
47
+ * autoAlignOffset: When drop menu is aligned to the left, it might not be perfectly aligned with the header menu icon, if that is the case you can add an offset (positive/negative number to move right/left)
48
+ *
49
+ *
50
+ * The plugin exposes the following events:
51
+ * onBeforeMenuShow: Fired before the menu is shown. You can customize the menu or dismiss it by returning false.
52
+ * Event args:
53
+ * grid: Reference to the grid.
54
+ * column: Column definition.
55
+ * menu: Menu options. Note that you can change the menu items here.
56
+ *
57
+ * onCommand: Fired on menu item click for buttons with 'command' specified.
58
+ * Event args:
59
+ * grid: Reference to the grid.
60
+ * column: Column definition.
61
+ * command: Button command identified.
62
+ * button: Button options. Note that you can change the button options in your
63
+ * event handler, and the column header will be automatically updated to
64
+ * reflect them. This is useful if you want to implement something like a
65
+ * toggle button.
66
+ *
67
+ *
68
+ * @param options {Object} Options:
69
+ * buttonCssClass: an extra CSS class to add to the menu button
70
+ * buttonImage: a url to the menu button image (default '../images/down.gif')
71
+ * @class Slick.Plugins.HeaderButtons
72
+ * @constructor
73
+ */
74
+ export declare function HeaderMenu(options: any): void;
@@ -0,0 +1,260 @@
1
+ import { jQueryReplacement } from "../../core/jq";
2
+ import { Slick } from "../slick.core";
3
+ import './slick.headermenu.css';
4
+ var $ = jQueryReplacement;
5
+ // register namespace
6
+ $.deepExtend(window, {
7
+ "Slick": {
8
+ "Plugins": {
9
+ "HeaderMenu": HeaderMenu
10
+ }
11
+ }
12
+ });
13
+ /***
14
+ * A plugin to add drop-down menus to column headers.
15
+ *
16
+ * USAGE:
17
+ *
18
+ * Add the plugin .js & .css files and register it with the grid.
19
+ *
20
+ * To specify a menu in a column header, extend the column definition like so:
21
+ *
22
+ * var columns = [
23
+ * {
24
+ * id: 'myColumn',
25
+ * name: 'My column',
26
+ *
27
+ * // This is the relevant part
28
+ * header: {
29
+ * menu: {
30
+ * items: [
31
+ * {
32
+ * // menu item options
33
+ * },
34
+ * {
35
+ * // menu item options
36
+ * }
37
+ * ]
38
+ * }
39
+ * }
40
+ * }
41
+ * ];
42
+ *
43
+ *
44
+ * Available menu options:
45
+ * tooltip: Menu button tooltip.
46
+ *
47
+ *
48
+ * Available menu item options:
49
+ * title: Menu item text.
50
+ * divider: Whether the current item is a divider, not an actual command.
51
+ * disabled: Whether the item is disabled.
52
+ * tooltip: Item tooltip.
53
+ * command: A command identifier to be passed to the onCommand event handlers.
54
+ * iconCssClass: A CSS class to be added to the menu item icon.
55
+ * iconImage: A url to the icon image.
56
+ * minWidth: Minimum width that the drop menu will have
57
+ * autoAlign: Auto-align drop menu to the left when not enough viewport space to show on the right
58
+ * autoAlignOffset: When drop menu is aligned to the left, it might not be perfectly aligned with the header menu icon, if that is the case you can add an offset (positive/negative number to move right/left)
59
+ *
60
+ *
61
+ * The plugin exposes the following events:
62
+ * onBeforeMenuShow: Fired before the menu is shown. You can customize the menu or dismiss it by returning false.
63
+ * Event args:
64
+ * grid: Reference to the grid.
65
+ * column: Column definition.
66
+ * menu: Menu options. Note that you can change the menu items here.
67
+ *
68
+ * onCommand: Fired on menu item click for buttons with 'command' specified.
69
+ * Event args:
70
+ * grid: Reference to the grid.
71
+ * column: Column definition.
72
+ * command: Button command identified.
73
+ * button: Button options. Note that you can change the button options in your
74
+ * event handler, and the column header will be automatically updated to
75
+ * reflect them. This is useful if you want to implement something like a
76
+ * toggle button.
77
+ *
78
+ *
79
+ * @param options {Object} Options:
80
+ * buttonCssClass: an extra CSS class to add to the menu button
81
+ * buttonImage: a url to the menu button image (default '../images/down.gif')
82
+ * @class Slick.Plugins.HeaderButtons
83
+ * @constructor
84
+ */
85
+ export function HeaderMenu(options) {
86
+ var _grid;
87
+ var _self = this;
88
+ var _handler = new Slick.EventHandler();
89
+ var _defaults = {
90
+ buttonCssClass: null,
91
+ buttonImage: null,
92
+ minWidth: 100,
93
+ autoAlign: true,
94
+ autoAlignOffset: 0
95
+ };
96
+ var $menu;
97
+ var $activeHeaderColumn;
98
+ function init(grid) {
99
+ options = $.deepExtend({}, _defaults, options);
100
+ _grid = grid;
101
+ _handler
102
+ .subscribe(_grid.onHeaderCellRendered, handleHeaderCellRendered)
103
+ .subscribe(_grid.onBeforeHeaderCellDestroy, handleBeforeHeaderCellDestroy);
104
+ // Force the grid to re-render the header now that the events are hooked up.
105
+ //_grid.setColumns(_grid.getColumns()); //TODO TODOFIX try to optimize this
106
+ // Hide the menu on outside click.
107
+ $(document.body).on("mousedown", handleBodyMouseDown);
108
+ }
109
+ function setOptions(newOptions) {
110
+ options = $.deepExtend({}, options, newOptions);
111
+ }
112
+ function destroy() {
113
+ _handler.unsubscribeAll();
114
+ document.body.removeEventListener("mousedown", handleBodyMouseDown);
115
+ //$(document.body).off("mousedown", handleBodyMouseDown);
116
+ }
117
+ function handleBodyMouseDown(e) {
118
+ if ($menu && $(e.target).closestClass("slick-header-menu").length === 0) { //!$.contains($menu[0], e.target)) {
119
+ hideMenu();
120
+ }
121
+ }
122
+ function hideMenu() {
123
+ if ($menu) {
124
+ $menu.remove();
125
+ $menu = null;
126
+ $activeHeaderColumn
127
+ .removeClass("slick-header-column-active");
128
+ }
129
+ }
130
+ function handleHeaderCellRendered(e, args) {
131
+ var column = args.column;
132
+ var menu = $.deepExtend({}, (column.header && column.header.menu) || { items: [] });
133
+ if (!column.hideMenu) {
134
+ var $el = $("<div></div>")
135
+ .addClass("slick-header-menubutton")
136
+ .data("column", column)
137
+ .data("menu", menu);
138
+ if (column.resizable) {
139
+ $el.addClass("resize-offset");
140
+ }
141
+ if (options.buttonCssClass) {
142
+ $el.addClass(options.buttonCssClass);
143
+ }
144
+ if (options.buttonImage) {
145
+ $el.css("background-image", "url(" + options.buttonImage + ")");
146
+ }
147
+ if (menu.tooltip) {
148
+ $el.attr("title", menu.tooltip);
149
+ }
150
+ $el
151
+ .on("click", showMenu)
152
+ .appendTo(args.node);
153
+ }
154
+ }
155
+ function handleBeforeHeaderCellDestroy(e, args) {
156
+ var column = args.column;
157
+ if (column.header && column.header.menu) {
158
+ $(args.node).find(".slick-header-menubutton").remove();
159
+ }
160
+ }
161
+ function showMenu(e) {
162
+ var $menuButton = $(e.target);
163
+ var menu = $.deepExtend({}, $menuButton.data("menu"));
164
+ var columnDef = $menuButton.data("column");
165
+ // Let the user modify the menu or cancel altogether,
166
+ // or provide alternative menu implementation.
167
+ if (_self.onBeforeMenuShow.notify({
168
+ "grid": _grid,
169
+ "column": columnDef,
170
+ "menu": menu
171
+ }, e, _self) == false) {
172
+ return;
173
+ }
174
+ if (!$menu) {
175
+ $menu = $("<div class='slick-header-menu' style='min-width: " + options.minWidth + "px'></div>")
176
+ .appendTo(_grid.getContainerNode());
177
+ }
178
+ $menu.empty();
179
+ // Construct the menu items.
180
+ for (var i = 0; i < menu.items.length; i++) {
181
+ var item = menu.items[i];
182
+ var $li = $("<div class='slick-header-menuitem'></div>")
183
+ .data("command", item.command || '')
184
+ .data("column", columnDef)
185
+ .data("item", item)
186
+ .on("click", handleMenuItemClick)
187
+ .appendTo($menu);
188
+ if (item.disabled) {
189
+ $li.addClass("slick-header-menuitem-disabled");
190
+ }
191
+ if (item.divider) {
192
+ $li.addClass("slick-header-menuitem-divider");
193
+ continue;
194
+ }
195
+ if (item.tooltip) {
196
+ $li.attr("title", item.tooltip);
197
+ }
198
+ var $icon = $("<div class='slick-header-menuicon'></div>")
199
+ .appendTo($li);
200
+ if (item.iconCssClass) {
201
+ $icon.addClass(item.iconCssClass);
202
+ }
203
+ if (item.iconImage) {
204
+ $icon.css("background-image", "url(" + item.iconImage + ")");
205
+ }
206
+ $("<span class='slick-header-menucontent'></span>")
207
+ .text(item.title)
208
+ .appendTo($li);
209
+ }
210
+ var leftPos = $menuButton.offset().left;
211
+ // when auto-align is set, it will calculate whether it has enough space in the viewport to show the drop menu on the right (default)
212
+ // if there isn't enough space on the right, it will automatically align the drop menu to the left
213
+ // to simulate an align left, we actually need to know the width of the drop menu
214
+ if (options.autoAlign) {
215
+ var gridPos = _grid.getGridPosition();
216
+ if ((leftPos + options.minWidth) >= gridPos.width) {
217
+ leftPos = leftPos - options.minWidth + options.autoAlignOffset;
218
+ }
219
+ }
220
+ //$menu
221
+ // .offset({ top: $menuButton.offset().top + $menuButton.height(), left: leftPos });
222
+ $menu[0].style.top = /*$menuButton.offset().top +*/ $menuButton.height() + "px";
223
+ $menu[0].style.left = (leftPos - $(_grid.getContainerNode()).offset().left) + "px";
224
+ // Mark the header as active to keep the highlighting.
225
+ $activeHeaderColumn = $menuButton.closestClass(".slick-header-column");
226
+ $activeHeaderColumn
227
+ .addClass("slick-header-column-active");
228
+ // Stop propagation so that it doesn't register as a header click event.
229
+ e.preventDefault();
230
+ e.stopPropagation();
231
+ }
232
+ function handleMenuItemClick(e) {
233
+ var command = $(e.currentTarget).data("command");
234
+ var columnDef = $(e.currentTarget).data("column");
235
+ var item = $(e.currentTarget).data("item");
236
+ if (item.disabled || item.divider) {
237
+ return;
238
+ }
239
+ hideMenu();
240
+ if (command != null && command != '') {
241
+ _self.onCommand.notify({
242
+ "grid": _grid,
243
+ "column": columnDef,
244
+ "command": command,
245
+ "item": item
246
+ }, e, _self);
247
+ }
248
+ // Stop propagation so that it doesn't register as a header click event.
249
+ e.preventDefault();
250
+ e.stopPropagation();
251
+ }
252
+ $.shallowExtend(this, {
253
+ "init": init,
254
+ "destroy": destroy,
255
+ "pluginName": "HeaderMenu",
256
+ "setOptions": setOptions,
257
+ "onBeforeMenuShow": new Slick.Event(),
258
+ "onCommand": new Slick.Event()
259
+ });
260
+ }
@@ -0,0 +1,37 @@
1
+ .detailView-toggle {
2
+ display: inline-block;
3
+ }
4
+
5
+ .detailView-toggle.expand {
6
+ cursor: pointer;
7
+ height: 20px;
8
+ width: 20px;
9
+ background: url(../images/arrow-right.gif) no-repeat center center;
10
+ }
11
+
12
+ .detailView-toggle.collapse {
13
+ cursor: pointer;
14
+ height: 20px;
15
+ width: 20px;
16
+ background: url(../images/sort-desc.gif) no-repeat center center;
17
+ }
18
+
19
+ .dynamic-cell-detail {
20
+ z-index: 10000;
21
+ position: absolute;
22
+ background-color: #dae5e8;
23
+ margin: 0;
24
+ padding: 0;
25
+ width: 100%;
26
+ overflow: auto;
27
+ }
28
+
29
+ .dynamic-cell-detail > :first-child {
30
+ vertical-align: middle;
31
+ line-height: 13px;
32
+ }
33
+
34
+ .dynamic-cell-detail > .detail-container {
35
+ overflow: auto;
36
+ display: block !important;
37
+ }
@@ -0,0 +1,8 @@
1
+ .cell-reorder {
2
+ cursor: move;
3
+ /* background: red; */
4
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAADAFBMVEUAAACWlpbY2NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmpIfcAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAAABlJREFUCNdj+I8EGFA5jHAA5DDBAW2VIQEAmyRUB6U7kZIAAAAASUVORK5CYII=);
5
+ background-repeat: no-repeat;
6
+ background-position-x: center;
7
+ background-position-y: center;
8
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Row Move Manager options:
3
+ * cssClass: A CSS class to be added to the menu item container.
4
+ * columnId: Column definition id (defaults to "_move")
5
+ * cancelEditOnDrag: Do we want to cancel any Editing while dragging a row (defaults to false)
6
+ * disableRowSelection: Do we want to disable the row selection? (defaults to false)
7
+ * hideRowMoveShadow: Do we want to hide the row move shadow clone? (defaults to true)
8
+ * rowMoveShadowMarginTop: When row move shadow is shown, optional margin-top (defaults to 0)
9
+ * rowMoveShadowMarginLeft: When row move shadow is shown, optional margin-left (defaults to 0)
10
+ * rowMoveShadowOpacity: When row move shadow is shown, what is its opacity? (defaults to 0.95)
11
+ * rowMoveShadowScale: When row move shadow is shown, what is its size scale? (default to 0.75)
12
+ * singleRowMove: Do we want a single row move? Setting this to false means that it's a multple row move (defaults to false)
13
+ * width: Width of the column
14
+ * usabilityOverride: Callback method that user can override the default behavior of the row being moveable or not
15
+ *
16
+ */
17
+ import "./slick.rowmovemanager.css";
18
+ export declare function RowMoveManager(options: any): void;