@everymatrix/stage-mm-verification-report 1.0.0

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 (201) hide show
  1. package/chunk-A3NTIEMP.js +1 -0
  2. package/chunk-CAY35YP7.js +7 -0
  3. package/chunk-H3QHLLCN.js +1 -0
  4. package/chunk-KE4BCZO4.js +851 -0
  5. package/chunk-OHPEWN32.js +1198 -0
  6. package/chunk-WSQOM5HU.js +1 -0
  7. package/component-lib.js +1 -0
  8. package/index.html +12 -0
  9. package/main.js +3264 -0
  10. package/modules/angular/LICENSE.md +21 -0
  11. package/modules/angular/README.md +67 -0
  12. package/modules/angular/angular-csp.css +25 -0
  13. package/modules/angular/angular.js +36600 -0
  14. package/modules/angular/angular.min.js +352 -0
  15. package/modules/angular/angular.min.js.gzip +0 -0
  16. package/modules/angular/angular.min.js.map +8 -0
  17. package/modules/angular/bower.json +9 -0
  18. package/modules/angular/index.js +2 -0
  19. package/modules/angular/package.json +25 -0
  20. package/modules/angular-ui-grid/CHANGELOG.md +1973 -0
  21. package/modules/angular-ui-grid/README.md +59 -0
  22. package/modules/angular-ui-grid/css/ui-grid.cellnav.css +25 -0
  23. package/modules/angular-ui-grid/css/ui-grid.cellnav.min.css +1 -0
  24. package/modules/angular-ui-grid/css/ui-grid.core.css +866 -0
  25. package/modules/angular-ui-grid/css/ui-grid.core.min.css +5 -0
  26. package/modules/angular-ui-grid/css/ui-grid.edit.css +23 -0
  27. package/modules/angular-ui-grid/css/ui-grid.edit.min.css +1 -0
  28. package/modules/angular-ui-grid/css/ui-grid.empty-base-layer.css +6 -0
  29. package/modules/angular-ui-grid/css/ui-grid.empty-base-layer.min.css +1 -0
  30. package/modules/angular-ui-grid/css/ui-grid.expandable.css +16 -0
  31. package/modules/angular-ui-grid/css/ui-grid.expandable.min.css +1 -0
  32. package/modules/angular-ui-grid/css/ui-grid.exporter.css +0 -0
  33. package/modules/angular-ui-grid/css/ui-grid.exporter.min.css +0 -0
  34. package/modules/angular-ui-grid/css/ui-grid.grouping.css +3 -0
  35. package/modules/angular-ui-grid/css/ui-grid.grouping.min.css +1 -0
  36. package/modules/angular-ui-grid/css/ui-grid.importer.css +0 -0
  37. package/modules/angular-ui-grid/css/ui-grid.importer.min.css +0 -0
  38. package/modules/angular-ui-grid/css/ui-grid.move-columns.css +9 -0
  39. package/modules/angular-ui-grid/css/ui-grid.move-columns.min.css +1 -0
  40. package/modules/angular-ui-grid/css/ui-grid.pagination.css +299 -0
  41. package/modules/angular-ui-grid/css/ui-grid.pagination.min.css +1 -0
  42. package/modules/angular-ui-grid/css/ui-grid.pinning.css +67 -0
  43. package/modules/angular-ui-grid/css/ui-grid.pinning.min.css +1 -0
  44. package/modules/angular-ui-grid/css/ui-grid.resize-columns.css +38 -0
  45. package/modules/angular-ui-grid/css/ui-grid.resize-columns.min.css +1 -0
  46. package/modules/angular-ui-grid/css/ui-grid.row-edit.css +9 -0
  47. package/modules/angular-ui-grid/css/ui-grid.row-edit.min.css +1 -0
  48. package/modules/angular-ui-grid/css/ui-grid.selection.css +25 -0
  49. package/modules/angular-ui-grid/css/ui-grid.selection.min.css +1 -0
  50. package/modules/angular-ui-grid/css/ui-grid.tree-base.css +4 -0
  51. package/modules/angular-ui-grid/css/ui-grid.tree-base.min.css +1 -0
  52. package/modules/angular-ui-grid/css/ui-grid.tree-view.css +6 -0
  53. package/modules/angular-ui-grid/css/ui-grid.tree-view.min.css +1 -0
  54. package/modules/angular-ui-grid/css/ui-grid.validate.css +3 -0
  55. package/modules/angular-ui-grid/css/ui-grid.validate.min.css +1 -0
  56. package/modules/angular-ui-grid/fonts/ui-grid.eot +0 -0
  57. package/modules/angular-ui-grid/fonts/ui-grid.svg +56 -0
  58. package/modules/angular-ui-grid/fonts/ui-grid.ttf +0 -0
  59. package/modules/angular-ui-grid/fonts/ui-grid.woff +0 -0
  60. package/modules/angular-ui-grid/less/animation.less +85 -0
  61. package/modules/angular-ui-grid/less/body.less +84 -0
  62. package/modules/angular-ui-grid/less/cell.less +46 -0
  63. package/modules/angular-ui-grid/less/cellnav.less +29 -0
  64. package/modules/angular-ui-grid/less/core.less +11 -0
  65. package/modules/angular-ui-grid/less/edit.less +27 -0
  66. package/modules/angular-ui-grid/less/elements.less +156 -0
  67. package/modules/angular-ui-grid/less/emptyBaseLayer.less +8 -0
  68. package/modules/angular-ui-grid/less/expandable.less +29 -0
  69. package/modules/angular-ui-grid/less/exporter.less +4 -0
  70. package/modules/angular-ui-grid/less/footer.less +76 -0
  71. package/modules/angular-ui-grid/less/grid.less +86 -0
  72. package/modules/angular-ui-grid/less/grouping.less +5 -0
  73. package/modules/angular-ui-grid/less/header.less +250 -0
  74. package/modules/angular-ui-grid/less/icons.less +151 -0
  75. package/modules/angular-ui-grid/less/importer.less +4 -0
  76. package/modules/angular-ui-grid/less/main.less +2 -0
  77. package/modules/angular-ui-grid/less/menu.less +91 -0
  78. package/modules/angular-ui-grid/less/moveColumns.less +12 -0
  79. package/modules/angular-ui-grid/less/pagination.less +297 -0
  80. package/modules/angular-ui-grid/less/pinning.less +86 -0
  81. package/modules/angular-ui-grid/less/resizeColumns.less +53 -0
  82. package/modules/angular-ui-grid/less/rowEdit.less +19 -0
  83. package/modules/angular-ui-grid/less/rtl.less +67 -0
  84. package/modules/angular-ui-grid/less/selection.less +29 -0
  85. package/modules/angular-ui-grid/less/sorting.less +16 -0
  86. package/modules/angular-ui-grid/less/treeBase.less +6 -0
  87. package/modules/angular-ui-grid/less/treeView.less +8 -0
  88. package/modules/angular-ui-grid/less/validate.less +5 -0
  89. package/modules/angular-ui-grid/less/variables.less +90 -0
  90. package/modules/angular-ui-grid/package.json +144 -0
  91. package/modules/angular-ui-grid/ui-grid.auto-resize.js +69 -0
  92. package/modules/angular-ui-grid/ui-grid.auto-resize.min.js +6 -0
  93. package/modules/angular-ui-grid/ui-grid.cellnav.js +1181 -0
  94. package/modules/angular-ui-grid/ui-grid.cellnav.min.js +6 -0
  95. package/modules/angular-ui-grid/ui-grid.core.js +12737 -0
  96. package/modules/angular-ui-grid/ui-grid.core.min.js +6 -0
  97. package/modules/angular-ui-grid/ui-grid.css +3208 -0
  98. package/modules/angular-ui-grid/ui-grid.edit.js +1325 -0
  99. package/modules/angular-ui-grid/ui-grid.edit.min.js +6 -0
  100. package/modules/angular-ui-grid/ui-grid.empty-base-layer.js +178 -0
  101. package/modules/angular-ui-grid/ui-grid.empty-base-layer.min.js +6 -0
  102. package/modules/angular-ui-grid/ui-grid.expandable.js +651 -0
  103. package/modules/angular-ui-grid/ui-grid.expandable.min.js +6 -0
  104. package/modules/angular-ui-grid/ui-grid.exporter.js +1777 -0
  105. package/modules/angular-ui-grid/ui-grid.exporter.min.js +6 -0
  106. package/modules/angular-ui-grid/ui-grid.grouping.js +1291 -0
  107. package/modules/angular-ui-grid/ui-grid.grouping.min.js +6 -0
  108. package/modules/angular-ui-grid/ui-grid.importer.js +791 -0
  109. package/modules/angular-ui-grid/ui-grid.importer.min.js +6 -0
  110. package/modules/angular-ui-grid/ui-grid.infinite-scroll.js +552 -0
  111. package/modules/angular-ui-grid/ui-grid.infinite-scroll.min.js +6 -0
  112. package/modules/angular-ui-grid/ui-grid.js +30867 -0
  113. package/modules/angular-ui-grid/ui-grid.language.all.js +3214 -0
  114. package/modules/angular-ui-grid/ui-grid.language.all.min.js +6 -0
  115. package/modules/angular-ui-grid/ui-grid.language.ar.js +118 -0
  116. package/modules/angular-ui-grid/ui-grid.language.ar.min.js +6 -0
  117. package/modules/angular-ui-grid/ui-grid.language.bg.js +115 -0
  118. package/modules/angular-ui-grid/ui-grid.language.bg.min.js +6 -0
  119. package/modules/angular-ui-grid/ui-grid.language.cs.js +96 -0
  120. package/modules/angular-ui-grid/ui-grid.language.cs.min.js +6 -0
  121. package/modules/angular-ui-grid/ui-grid.language.da.js +90 -0
  122. package/modules/angular-ui-grid/ui-grid.language.da.min.js +6 -0
  123. package/modules/angular-ui-grid/ui-grid.language.de.js +133 -0
  124. package/modules/angular-ui-grid/ui-grid.language.de.min.js +6 -0
  125. package/modules/angular-ui-grid/ui-grid.language.es-ct.js +133 -0
  126. package/modules/angular-ui-grid/ui-grid.language.es-ct.min.js +6 -0
  127. package/modules/angular-ui-grid/ui-grid.language.es.js +106 -0
  128. package/modules/angular-ui-grid/ui-grid.language.es.min.js +6 -0
  129. package/modules/angular-ui-grid/ui-grid.language.fa.js +93 -0
  130. package/modules/angular-ui-grid/ui-grid.language.fa.min.js +6 -0
  131. package/modules/angular-ui-grid/ui-grid.language.fi.js +76 -0
  132. package/modules/angular-ui-grid/ui-grid.language.fi.min.js +6 -0
  133. package/modules/angular-ui-grid/ui-grid.language.fr.js +128 -0
  134. package/modules/angular-ui-grid/ui-grid.language.fr.min.js +6 -0
  135. package/modules/angular-ui-grid/ui-grid.language.he.js +71 -0
  136. package/modules/angular-ui-grid/ui-grid.language.he.min.js +6 -0
  137. package/modules/angular-ui-grid/ui-grid.language.hy.js +76 -0
  138. package/modules/angular-ui-grid/ui-grid.language.hy.min.js +6 -0
  139. package/modules/angular-ui-grid/ui-grid.language.is.js +118 -0
  140. package/modules/angular-ui-grid/ui-grid.language.is.min.js +6 -0
  141. package/modules/angular-ui-grid/ui-grid.language.it.js +112 -0
  142. package/modules/angular-ui-grid/ui-grid.language.it.min.js +6 -0
  143. package/modules/angular-ui-grid/ui-grid.language.ja.js +118 -0
  144. package/modules/angular-ui-grid/ui-grid.language.ja.min.js +6 -0
  145. package/modules/angular-ui-grid/ui-grid.language.ko.js +77 -0
  146. package/modules/angular-ui-grid/ui-grid.language.ko.min.js +6 -0
  147. package/modules/angular-ui-grid/ui-grid.language.nl.js +91 -0
  148. package/modules/angular-ui-grid/ui-grid.language.nl.min.js +6 -0
  149. package/modules/angular-ui-grid/ui-grid.language.no.js +115 -0
  150. package/modules/angular-ui-grid/ui-grid.language.no.min.js +6 -0
  151. package/modules/angular-ui-grid/ui-grid.language.pl.js +126 -0
  152. package/modules/angular-ui-grid/ui-grid.language.pl.min.js +6 -0
  153. package/modules/angular-ui-grid/ui-grid.language.pt-br.js +133 -0
  154. package/modules/angular-ui-grid/ui-grid.language.pt-br.min.js +6 -0
  155. package/modules/angular-ui-grid/ui-grid.language.pt.js +133 -0
  156. package/modules/angular-ui-grid/ui-grid.language.pt.min.js +6 -0
  157. package/modules/angular-ui-grid/ui-grid.language.ro.js +112 -0
  158. package/modules/angular-ui-grid/ui-grid.language.ro.min.js +6 -0
  159. package/modules/angular-ui-grid/ui-grid.language.rs-lat.js +126 -0
  160. package/modules/angular-ui-grid/ui-grid.language.rs-lat.min.js +6 -0
  161. package/modules/angular-ui-grid/ui-grid.language.ru.js +115 -0
  162. package/modules/angular-ui-grid/ui-grid.language.ru.min.js +6 -0
  163. package/modules/angular-ui-grid/ui-grid.language.sk.js +127 -0
  164. package/modules/angular-ui-grid/ui-grid.language.sk.min.js +6 -0
  165. package/modules/angular-ui-grid/ui-grid.language.sv.js +126 -0
  166. package/modules/angular-ui-grid/ui-grid.language.sv.min.js +6 -0
  167. package/modules/angular-ui-grid/ui-grid.language.ta.js +87 -0
  168. package/modules/angular-ui-grid/ui-grid.language.ta.min.js +6 -0
  169. package/modules/angular-ui-grid/ui-grid.language.tr.js +112 -0
  170. package/modules/angular-ui-grid/ui-grid.language.tr.min.js +6 -0
  171. package/modules/angular-ui-grid/ui-grid.language.ua.js +112 -0
  172. package/modules/angular-ui-grid/ui-grid.language.ua.min.js +6 -0
  173. package/modules/angular-ui-grid/ui-grid.language.zh-cn.js +112 -0
  174. package/modules/angular-ui-grid/ui-grid.language.zh-cn.min.js +6 -0
  175. package/modules/angular-ui-grid/ui-grid.language.zh-tw.js +77 -0
  176. package/modules/angular-ui-grid/ui-grid.language.zh-tw.min.js +6 -0
  177. package/modules/angular-ui-grid/ui-grid.min.css +5 -0
  178. package/modules/angular-ui-grid/ui-grid.min.js +6 -0
  179. package/modules/angular-ui-grid/ui-grid.move-columns.js +582 -0
  180. package/modules/angular-ui-grid/ui-grid.move-columns.min.js +6 -0
  181. package/modules/angular-ui-grid/ui-grid.pagination.js +510 -0
  182. package/modules/angular-ui-grid/ui-grid.pagination.min.js +6 -0
  183. package/modules/angular-ui-grid/ui-grid.pinning.js +281 -0
  184. package/modules/angular-ui-grid/ui-grid.pinning.min.js +6 -0
  185. package/modules/angular-ui-grid/ui-grid.resize-columns.js +574 -0
  186. package/modules/angular-ui-grid/ui-grid.resize-columns.min.js +6 -0
  187. package/modules/angular-ui-grid/ui-grid.row-edit.js +717 -0
  188. package/modules/angular-ui-grid/ui-grid.row-edit.min.js +6 -0
  189. package/modules/angular-ui-grid/ui-grid.saveState.js +831 -0
  190. package/modules/angular-ui-grid/ui-grid.saveState.min.js +6 -0
  191. package/modules/angular-ui-grid/ui-grid.selection.js +1196 -0
  192. package/modules/angular-ui-grid/ui-grid.selection.min.js +6 -0
  193. package/modules/angular-ui-grid/ui-grid.tree-base.js +1743 -0
  194. package/modules/angular-ui-grid/ui-grid.tree-base.min.js +6 -0
  195. package/modules/angular-ui-grid/ui-grid.tree-view.js +218 -0
  196. package/modules/angular-ui-grid/ui-grid.tree-view.min.js +6 -0
  197. package/modules/angular-ui-grid/ui-grid.validate.js +589 -0
  198. package/modules/angular-ui-grid/ui-grid.validate.min.js +6 -0
  199. package/package.json +8 -0
  200. package/polyfills.js +2 -0
  201. package/styles.css +1 -0
@@ -0,0 +1,582 @@
1
+ /*!
2
+ * ui-grid - v4.12.7 - 2024-04-12
3
+ * http://ui-grid.info/
4
+ * Copyright (c) 2024 ; License: MIT
5
+ */
6
+
7
+ (function () {
8
+ 'use strict';
9
+
10
+ /**
11
+ * @ngdoc overview
12
+ * @name ui.grid.moveColumns
13
+ * @description
14
+ *
15
+ * # ui.grid.moveColumns
16
+ *
17
+ * <div class="alert alert-warning" role="alert"><strong>Alpha</strong> This feature is in development. There will almost certainly be breaking api changes, or there are major outstanding bugs.</div>
18
+ *
19
+ * This module provides column moving capability to ui.grid. It enables to change the position of columns.
20
+ * <div doc-module-components="ui.grid.moveColumns"></div>
21
+ */
22
+ var module = angular.module('ui.grid.moveColumns', ['ui.grid']);
23
+
24
+ /**
25
+ * @ngdoc service
26
+ * @name ui.grid.moveColumns.service:uiGridMoveColumnService
27
+ * @description Service for column moving feature.
28
+ */
29
+ module.service('uiGridMoveColumnService', ['$q', '$rootScope', '$log', 'ScrollEvent', 'uiGridConstants', 'gridUtil', function ($q, $rootScope, $log, ScrollEvent, uiGridConstants, gridUtil) {
30
+ var service = {
31
+ initializeGrid: function (grid) {
32
+ var self = this;
33
+ this.registerPublicApi(grid);
34
+ this.defaultGridOptions(grid.options);
35
+ grid.moveColumns = {orderCache: []}; // Used to cache the order before columns are rebuilt
36
+ grid.registerColumnBuilder(self.movableColumnBuilder);
37
+ grid.registerDataChangeCallback(self.verifyColumnOrder, [uiGridConstants.dataChange.COLUMN]);
38
+ },
39
+ registerPublicApi: function (grid) {
40
+ var self = this;
41
+ /**
42
+ * @ngdoc object
43
+ * @name ui.grid.moveColumns.api:PublicApi
44
+ * @description Public Api for column moving feature.
45
+ */
46
+ var publicApi = {
47
+ events: {
48
+ /**
49
+ * @ngdoc event
50
+ * @name columnPositionChanged
51
+ * @eventOf ui.grid.moveColumns.api:PublicApi
52
+ * @description raised when column is moved
53
+ * <pre>
54
+ * gridApi.colMovable.on.columnPositionChanged(scope,function(colDef, originalPosition, newPosition) {})
55
+ * </pre>
56
+ * @param {object} colDef the column that was moved
57
+ * @param {integer} originalPosition of the column
58
+ * @param {integer} finalPosition of the column
59
+ */
60
+ colMovable: {
61
+ columnPositionChanged: function (colDef, originalPosition, newPosition) {
62
+ }
63
+ }
64
+ },
65
+ methods: {
66
+ /**
67
+ * @ngdoc method
68
+ * @name moveColumn
69
+ * @methodOf ui.grid.moveColumns.api:PublicApi
70
+ * @description Method can be used to change column position.
71
+ * <pre>
72
+ * gridApi.colMovable.moveColumn(oldPosition, newPosition)
73
+ * </pre>
74
+ * @param {integer} originalPosition of the column
75
+ * @param {integer} finalPosition of the column
76
+ */
77
+ colMovable: {
78
+ moveColumn: function (originalPosition, finalPosition) {
79
+ var columns = grid.columns;
80
+ if (!angular.isNumber(originalPosition) || !angular.isNumber(finalPosition)) {
81
+ gridUtil.logError('MoveColumn: Please provide valid values for originalPosition and finalPosition');
82
+ return;
83
+ }
84
+ var nonMovableColumns = 0;
85
+ for (var i = 0; i < columns.length; i++) {
86
+ if ((angular.isDefined(columns[i].colDef.visible) && columns[i].colDef.visible === false) || columns[i].isRowHeader === true) {
87
+ nonMovableColumns++;
88
+ }
89
+ }
90
+ if (originalPosition >= (columns.length - nonMovableColumns) || finalPosition >= (columns.length - nonMovableColumns)) {
91
+ gridUtil.logError('MoveColumn: Invalid values for originalPosition, finalPosition');
92
+ return;
93
+ }
94
+ var findPositionForRenderIndex = function (index) {
95
+ var position = index;
96
+ for (var i = 0; i <= position; i++) {
97
+ if (angular.isDefined(columns[i]) && ((angular.isDefined(columns[i].colDef.visible) && columns[i].colDef.visible === false) || columns[i].isRowHeader === true)) {
98
+ position++;
99
+ }
100
+ }
101
+ return position;
102
+ };
103
+ self.redrawColumnAtPosition(grid, findPositionForRenderIndex(originalPosition), findPositionForRenderIndex(finalPosition));
104
+ }
105
+ }
106
+ }
107
+ };
108
+ grid.api.registerEventsFromObject(publicApi.events);
109
+ grid.api.registerMethodsFromObject(publicApi.methods);
110
+ },
111
+ defaultGridOptions: function (gridOptions) {
112
+ /**
113
+ * @ngdoc object
114
+ * @name ui.grid.moveColumns.api:GridOptions
115
+ *
116
+ * @description Options for configuring the move column feature, these are available to be
117
+ * set using the ui-grid {@link ui.grid.class:GridOptions gridOptions}
118
+ */
119
+ /**
120
+ * @ngdoc object
121
+ * @name enableColumnMoving
122
+ * @propertyOf ui.grid.moveColumns.api:GridOptions
123
+ * @description If defined, sets the default value for the colMovable flag on each individual colDefs
124
+ * if their individual enableColumnMoving configuration is not defined. Defaults to true.
125
+ */
126
+ gridOptions.enableColumnMoving = gridOptions.enableColumnMoving !== false;
127
+ },
128
+ movableColumnBuilder: function (colDef, col, gridOptions) {
129
+ var promises = [];
130
+ /**
131
+ * @ngdoc object
132
+ * @name ui.grid.moveColumns.api:ColumnDef
133
+ *
134
+ * @description Column Definition for move column feature, these are available to be
135
+ * set using the ui-grid {@link ui.grid.class:GridOptions.columnDef gridOptions.columnDefs}
136
+ */
137
+ /**
138
+ * @ngdoc object
139
+ * @name enableColumnMoving
140
+ * @propertyOf ui.grid.moveColumns.api:ColumnDef
141
+ * @description Enable column moving for the column.
142
+ */
143
+ colDef.enableColumnMoving = colDef.enableColumnMoving === undefined ? gridOptions.enableColumnMoving
144
+ : colDef.enableColumnMoving;
145
+ return $q.all(promises);
146
+ },
147
+ /**
148
+ * @ngdoc method
149
+ * @name updateColumnCache
150
+ * @methodOf ui.grid.moveColumns
151
+ * @description Cache the current order of columns, so we can restore them after new columnDefs are defined
152
+ */
153
+ updateColumnCache: function(grid) {
154
+ grid.moveColumns.orderCache = grid.getOnlyDataColumns();
155
+ },
156
+ /**
157
+ * @ngdoc method
158
+ * @name verifyColumnOrder
159
+ * @methodOf ui.grid.moveColumns
160
+ * @description dataChangeCallback which uses the cached column order to restore the column order
161
+ * when it is reset by altering the columnDefs array.
162
+ */
163
+ verifyColumnOrder: function(grid) {
164
+ var headerRowOffset = grid.rowHeaderColumns.length;
165
+ var newIndex;
166
+
167
+ angular.forEach(grid.moveColumns.orderCache, function(cacheCol, cacheIndex) {
168
+ newIndex = grid.columns.indexOf(cacheCol);
169
+ if ( newIndex !== -1 && newIndex - headerRowOffset !== cacheIndex ) {
170
+ var column = grid.columns.splice(newIndex, 1)[0];
171
+ grid.columns.splice(cacheIndex + headerRowOffset, 0, column);
172
+ }
173
+ });
174
+ },
175
+ redrawColumnAtPosition: function (grid, originalPosition, newPosition) {
176
+ var columns = grid.columns;
177
+
178
+ if (originalPosition === newPosition) {
179
+ return;
180
+ }
181
+
182
+ // check columns in between move-range to make sure they are visible columns
183
+ var pos = (originalPosition < newPosition) ? originalPosition + 1 : originalPosition - 1;
184
+ var i0 = Math.min(pos, newPosition);
185
+ for (i0; i0 <= Math.max(pos, newPosition); i0++) {
186
+ if (columns[i0].visible) {
187
+ break;
188
+ }
189
+ }
190
+ if (i0 > Math.max(pos, newPosition)) {
191
+ // no visible column found, column did not visibly move
192
+ return;
193
+ }
194
+
195
+ var originalColumn = columns[originalPosition];
196
+ if (originalColumn.colDef.enableColumnMoving) {
197
+ if (originalPosition > newPosition) {
198
+ for (var i1 = originalPosition; i1 > newPosition; i1--) {
199
+ columns[i1] = columns[i1 - 1];
200
+ }
201
+ }
202
+ else if (newPosition > originalPosition) {
203
+ for (var i2 = originalPosition; i2 < newPosition; i2++) {
204
+ columns[i2] = columns[i2 + 1];
205
+ }
206
+ }
207
+ columns[newPosition] = originalColumn;
208
+ service.updateColumnCache(grid);
209
+ grid.queueGridRefresh();
210
+ $rootScope.$applyAsync(function () {
211
+ grid.api.core.notifyDataChange( uiGridConstants.dataChange.COLUMN );
212
+ grid.api.colMovable.raise.columnPositionChanged(originalColumn.colDef, originalPosition, newPosition);
213
+ });
214
+ }
215
+ }
216
+ };
217
+ return service;
218
+ }]);
219
+
220
+ /**
221
+ * @ngdoc directive
222
+ * @name ui.grid.moveColumns.directive:uiGridMoveColumns
223
+ * @element div
224
+ * @restrict A
225
+ * @description Adds column moving features to the ui-grid directive.
226
+ * @example
227
+ <example module="app">
228
+ <file name="app.js">
229
+ var app = angular.module('app', ['ui.grid', 'ui.grid.moveColumns']);
230
+ app.controller('MainCtrl', ['$scope', function ($scope) {
231
+ $scope.data = [
232
+ { name: 'Bob', title: 'CEO', age: 45 },
233
+ { name: 'Frank', title: 'Lowly Developer', age: 25 },
234
+ { name: 'Jenny', title: 'Highly Developer', age: 35 }
235
+ ];
236
+ $scope.columnDefs = [
237
+ {name: 'name'},
238
+ {name: 'title'},
239
+ {name: 'age'}
240
+ ];
241
+ }]);
242
+ </file>
243
+ <file name="main.css">
244
+ .grid {
245
+ width: 100%;
246
+ height: 150px;
247
+ }
248
+ </file>
249
+ <file name="index.html">
250
+ <div ng-controller="MainCtrl">
251
+ <div class="grid" ui-grid="{ data: data, columnDefs: columnDefs }" ui-grid-move-columns></div>
252
+ </div>
253
+ </file>
254
+ </example>
255
+ */
256
+ module.directive('uiGridMoveColumns', ['uiGridMoveColumnService', function (uiGridMoveColumnService) {
257
+ return {
258
+ replace: true,
259
+ priority: 0,
260
+ require: '^uiGrid',
261
+ scope: false,
262
+ compile: function () {
263
+ return {
264
+ pre: function ($scope, $elm, $attrs, uiGridCtrl) {
265
+ uiGridMoveColumnService.initializeGrid(uiGridCtrl.grid);
266
+ },
267
+ post: function ($scope, $elm, $attrs, uiGridCtrl) {
268
+ }
269
+ };
270
+ }
271
+ };
272
+ }]);
273
+
274
+ /**
275
+ * @ngdoc directive
276
+ * @name ui.grid.moveColumns.directive:uiGridHeaderCell
277
+ * @element div
278
+ * @restrict A
279
+ *
280
+ * @description Stacks on top of ui.grid.uiGridHeaderCell to provide capability to be able to move it to reposition column.
281
+ *
282
+ * On receiving mouseDown event headerCell is cloned, now as the mouse moves the cloned header cell also moved in the grid.
283
+ * In case the moving cloned header cell reaches the left or right extreme of grid, grid scrolling is triggered (if horizontal scroll exists).
284
+ * On mouseUp event column is repositioned at position where mouse is released and cloned header cell is removed.
285
+ *
286
+ * Events that invoke cloning of header cell:
287
+ * - mousedown
288
+ *
289
+ * Events that invoke movement of cloned header cell:
290
+ * - mousemove
291
+ *
292
+ * Events that invoke repositioning of column:
293
+ * - mouseup
294
+ */
295
+ module.directive('uiGridHeaderCell', ['$q', 'gridUtil', 'uiGridMoveColumnService', '$document', '$log', 'uiGridConstants', 'ScrollEvent',
296
+ function ($q, gridUtil, uiGridMoveColumnService, $document, $log, uiGridConstants, ScrollEvent) {
297
+ return {
298
+ priority: -10,
299
+ require: '^uiGrid',
300
+ compile: function () {
301
+ return {
302
+ post: function ($scope, $elm, $attrs, uiGridCtrl) {
303
+
304
+ if ($scope.col.colDef.enableColumnMoving) {
305
+
306
+ /*
307
+ * Our general approach to column move is that we listen to a touchstart or mousedown
308
+ * event over the column header. When we hear one, then we wait for a move of the same type
309
+ * - if we are a touchstart then we listen for a touchmove, if we are a mousedown we listen for
310
+ * a mousemove (i.e. a drag) before we decide that there's a move underway. If there's never a move,
311
+ * and we instead get a mouseup or a touchend, then we just drop out again and do nothing.
312
+ *
313
+ */
314
+ var $contentsElm = angular.element( $elm[0].querySelectorAll('.ui-grid-cell-contents') );
315
+
316
+ var gridLeft;
317
+ var previousMouseX;
318
+ var totalMouseMovement;
319
+ var rightMoveLimit;
320
+ var elmCloned = false;
321
+ var movingElm;
322
+ var reducedWidth;
323
+ var moveOccurred = false;
324
+
325
+ var downFn = function( event ) {
326
+ // Setting some variables required for calculations.
327
+ gridLeft = $scope.grid.element[0].getBoundingClientRect().left;
328
+ if ( $scope.grid.hasLeftContainer() ) {
329
+ gridLeft += $scope.grid.renderContainers.left.header[0].getBoundingClientRect().width;
330
+ }
331
+
332
+ previousMouseX = event.pageX || (event.originalEvent ? event.originalEvent.pageX : 0);
333
+ totalMouseMovement = 0;
334
+ rightMoveLimit = gridLeft + $scope.grid.getViewportWidth();
335
+
336
+ if ( event.type === 'mousedown' ) {
337
+ $document.on('mousemove', moveFn);
338
+ $document.on('mouseup', upFn);
339
+ }
340
+ else if ( event.type === 'touchstart' ) {
341
+ $document.on('touchmove', moveFn);
342
+ $document.on('touchend', upFn);
343
+ }
344
+ };
345
+
346
+ var moveFn = function( event ) {
347
+ var pageX = event.pageX || (event.originalEvent ? event.originalEvent.pageX : 0);
348
+ var changeValue = pageX - previousMouseX;
349
+ if ( changeValue === 0 ) { return; }
350
+ // Disable text selection in Chrome during column move
351
+ document.onselectstart = function() { return false; };
352
+
353
+ moveOccurred = true;
354
+
355
+ if (!elmCloned) {
356
+ cloneElement();
357
+ }
358
+ else if (elmCloned) {
359
+ moveElement(changeValue);
360
+ previousMouseX = pageX;
361
+ }
362
+ };
363
+
364
+ var upFn = function( event ) {
365
+ // Re-enable text selection after column move
366
+ document.onselectstart = null;
367
+
368
+ // Remove the cloned element on mouse up.
369
+ if (movingElm) {
370
+ movingElm.remove();
371
+ elmCloned = false;
372
+ }
373
+
374
+ offAllEvents();
375
+ onDownEvents();
376
+
377
+ if (!moveOccurred) {
378
+ return;
379
+ }
380
+
381
+ var columns = $scope.grid.columns;
382
+ var columnIndex = 0;
383
+ for (var i = 0; i < columns.length; i++) {
384
+ if (columns[i].colDef.name !== $scope.col.colDef.name) {
385
+ columnIndex++;
386
+ }
387
+ else {
388
+ break;
389
+ }
390
+ }
391
+
392
+ var targetIndex;
393
+
394
+ // Case where column should be moved to a position on its left
395
+ if (totalMouseMovement < 0) {
396
+ var totalColumnsLeftWidth = 0;
397
+ var il;
398
+ if ( $scope.grid.isRTL() ) {
399
+ for (il = columnIndex + 1; il < columns.length; il++) {
400
+ if (angular.isUndefined(columns[il].colDef.visible) || columns[il].colDef.visible === true) {
401
+ totalColumnsLeftWidth += columns[il].drawnWidth || columns[il].width || columns[il].colDef.width;
402
+ if (totalColumnsLeftWidth > Math.abs(totalMouseMovement)) {
403
+ uiGridMoveColumnService.redrawColumnAtPosition
404
+ ($scope.grid, columnIndex, il - 1);
405
+ break;
406
+ }
407
+ }
408
+ }
409
+ }
410
+ else {
411
+ for (il = columnIndex - 1; il >= 0; il--) {
412
+ if (angular.isUndefined(columns[il].colDef.visible) || columns[il].colDef.visible === true) {
413
+ totalColumnsLeftWidth += columns[il].drawnWidth || columns[il].width || columns[il].colDef.width;
414
+ if (totalColumnsLeftWidth > Math.abs(totalMouseMovement)) {
415
+ uiGridMoveColumnService.redrawColumnAtPosition
416
+ ($scope.grid, columnIndex, il + 1);
417
+ break;
418
+ }
419
+ }
420
+ }
421
+ }
422
+
423
+ // Case where column should be moved to beginning (or end in RTL) of the grid.
424
+ if (totalColumnsLeftWidth < Math.abs(totalMouseMovement)) {
425
+ targetIndex = 0;
426
+ if ( $scope.grid.isRTL() ) {
427
+ targetIndex = columns.length - 1;
428
+ }
429
+ uiGridMoveColumnService.redrawColumnAtPosition
430
+ ($scope.grid, columnIndex, targetIndex);
431
+ }
432
+ }
433
+
434
+ // Case where column should be moved to a position on its right
435
+ else if (totalMouseMovement > 0) {
436
+ var totalColumnsRightWidth = 0;
437
+ var ir;
438
+ if ( $scope.grid.isRTL() ) {
439
+ for (ir = columnIndex - 1; ir > 0; ir--) {
440
+ if (angular.isUndefined(columns[ir].colDef.visible) || columns[ir].colDef.visible === true) {
441
+ totalColumnsRightWidth += columns[ir].drawnWidth || columns[ir].width || columns[ir].colDef.width;
442
+ if (totalColumnsRightWidth > totalMouseMovement) {
443
+ uiGridMoveColumnService.redrawColumnAtPosition
444
+ ($scope.grid, columnIndex, ir);
445
+ break;
446
+ }
447
+ }
448
+ }
449
+ }
450
+ else {
451
+ for (ir = columnIndex + 1; ir < columns.length; ir++) {
452
+ if (angular.isUndefined(columns[ir].colDef.visible) || columns[ir].colDef.visible === true) {
453
+ totalColumnsRightWidth += columns[ir].drawnWidth || columns[ir].width || columns[ir].colDef.width;
454
+ if (totalColumnsRightWidth > totalMouseMovement) {
455
+ uiGridMoveColumnService.redrawColumnAtPosition
456
+ ($scope.grid, columnIndex, ir - 1);
457
+ break;
458
+ }
459
+ }
460
+ }
461
+ }
462
+
463
+
464
+ // Case where column should be moved to end (or beginning in RTL) of the grid.
465
+ if (totalColumnsRightWidth < totalMouseMovement) {
466
+ targetIndex = columns.length - 1;
467
+ if ( $scope.grid.isRTL() ) {
468
+ targetIndex = 0;
469
+ }
470
+ uiGridMoveColumnService.redrawColumnAtPosition
471
+ ($scope.grid, columnIndex, targetIndex);
472
+ }
473
+ }
474
+
475
+
476
+
477
+ };
478
+
479
+ var onDownEvents = function() {
480
+ $contentsElm.on('touchstart', downFn);
481
+ $contentsElm.on('mousedown', downFn);
482
+ };
483
+
484
+ var offAllEvents = function() {
485
+ $contentsElm.off('touchstart', downFn);
486
+ $contentsElm.off('mousedown', downFn);
487
+
488
+ $document.off('mousemove', moveFn);
489
+ $document.off('touchmove', moveFn);
490
+
491
+ $document.off('mouseup', upFn);
492
+ $document.off('touchend', upFn);
493
+ };
494
+
495
+ onDownEvents();
496
+
497
+
498
+ var cloneElement = function () {
499
+ elmCloned = true;
500
+
501
+ // Cloning header cell and appending to current header cell.
502
+ movingElm = $elm.clone();
503
+ $elm.parent().append(movingElm);
504
+
505
+ // Left of cloned element should be aligned to original header cell.
506
+ movingElm.addClass('movingColumn');
507
+ var movingElementStyles = {};
508
+ movingElementStyles.left = $elm[0].offsetLeft + 'px';
509
+ var gridRight = $scope.grid.element[0].getBoundingClientRect().right;
510
+ var elmRight = $elm[0].getBoundingClientRect().right;
511
+ if (elmRight > gridRight) {
512
+ reducedWidth = $scope.col.drawnWidth + (gridRight - elmRight);
513
+ movingElementStyles.width = reducedWidth + 'px';
514
+ }
515
+ movingElm.css(movingElementStyles);
516
+ };
517
+
518
+ var moveElement = function (changeValue) {
519
+ // Calculate total column width
520
+ var columns = $scope.grid.columns;
521
+ var totalColumnWidth = 0;
522
+ for (var i = 0; i < columns.length; i++) {
523
+ if (angular.isUndefined(columns[i].colDef.visible) || columns[i].colDef.visible === true) {
524
+ totalColumnWidth += columns[i].drawnWidth || columns[i].width || columns[i].colDef.width;
525
+ }
526
+ }
527
+
528
+ // Calculate new position of left of column
529
+ var currentElmLeft = movingElm[0].getBoundingClientRect().left - 1;
530
+ var currentElmRight = movingElm[0].getBoundingClientRect().right;
531
+ var newElementLeft;
532
+
533
+ newElementLeft = currentElmLeft - gridLeft + changeValue;
534
+ newElementLeft = newElementLeft < rightMoveLimit ? newElementLeft : rightMoveLimit;
535
+
536
+ // Update css of moving column to adjust to new left value or fire scroll in case column has reached edge of grid
537
+ if ((currentElmLeft >= gridLeft || changeValue > 0) && (currentElmRight <= rightMoveLimit || changeValue < 0)) {
538
+ movingElm.css({visibility: 'visible', 'left': (movingElm[0].offsetLeft +
539
+ (newElementLeft < rightMoveLimit ? changeValue : (rightMoveLimit - currentElmLeft))) + 'px'});
540
+ }
541
+ else if (totalColumnWidth > Math.ceil(uiGridCtrl.grid.gridWidth)) {
542
+ changeValue *= 8;
543
+ var scrollEvent = new ScrollEvent($scope.col.grid, null, null, 'uiGridHeaderCell.moveElement');
544
+ scrollEvent.x = {pixels: changeValue};
545
+ scrollEvent.grid.scrollContainers('',scrollEvent);
546
+ }
547
+
548
+ // Calculate total width of columns on the left of the moving column and the mouse movement
549
+ var totalColumnsLeftWidth = 0;
550
+ for (var il = 0; il < columns.length; il++) {
551
+ if (angular.isUndefined(columns[il].colDef.visible) || columns[il].colDef.visible === true) {
552
+ if (columns[il].colDef.name !== $scope.col.colDef.name) {
553
+ totalColumnsLeftWidth += columns[il].drawnWidth || columns[il].width || columns[il].colDef.width;
554
+ }
555
+ else {
556
+ break;
557
+ }
558
+ }
559
+ }
560
+ if ($scope.newScrollLeft === undefined) {
561
+ totalMouseMovement += changeValue;
562
+ }
563
+ else {
564
+ totalMouseMovement = $scope.newScrollLeft + newElementLeft - totalColumnsLeftWidth;
565
+ }
566
+
567
+ // Increase width of moving column, in case the rightmost column was moved and its width was
568
+ // decreased because of overflow
569
+ if (reducedWidth < $scope.col.drawnWidth) {
570
+ reducedWidth += Math.abs(changeValue);
571
+ movingElm.css({'width': reducedWidth + 'px'});
572
+ }
573
+ };
574
+
575
+ $scope.$on('$destroy', offAllEvents);
576
+ }
577
+ }
578
+ };
579
+ }
580
+ };
581
+ }]);
582
+ })();
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * ui-grid - v4.12.7 - 2024-04-12
3
+ * http://ui-grid.info/
4
+ * Copyright (c) 2024 ; License: MIT
5
+ */
6
+ !function(){"use strict";var e=angular.module("ui.grid.moveColumns",["ui.grid"]);e.service("uiGridMoveColumnService",["$q","$rootScope","$log","ScrollEvent","uiGridConstants","gridUtil",function(o,d,e,i,s,u){var c={initializeGrid:function(e){this.registerPublicApi(e),this.defaultGridOptions(e.options),e.moveColumns={orderCache:[]},e.registerColumnBuilder(this.movableColumnBuilder),e.registerDataChangeCallback(this.verifyColumnOrder,[s.dataChange.COLUMN])},registerPublicApi:function(t){var a=this,e={colMovable:{columnPositionChanged:function(e,i,n){}}},i={colMovable:{moveColumn:function(e,i){var o=t.columns;if(angular.isNumber(e)&&angular.isNumber(i)){for(var n,r=0,l=0;l<o.length;l++)(angular.isDefined(o[l].colDef.visible)&&!1===o[l].colDef.visible||!0===o[l].isRowHeader)&&r++;e>=o.length-r||i>=o.length-r?u.logError("MoveColumn: Invalid values for originalPosition, finalPosition"):a.redrawColumnAtPosition(t,(n=function(e){for(var i=e,n=0;n<=i;n++)angular.isDefined(o[n])&&(angular.isDefined(o[n].colDef.visible)&&!1===o[n].colDef.visible||!0===o[n].isRowHeader)&&i++;return i})(e),n(i))}else u.logError("MoveColumn: Please provide valid values for originalPosition and finalPosition")}}};t.api.registerEventsFromObject(e),t.api.registerMethodsFromObject(i)},defaultGridOptions:function(e){e.enableColumnMoving=!1!==e.enableColumnMoving},movableColumnBuilder:function(e,i,n){return e.enableColumnMoving=(void 0===e.enableColumnMoving?n:e).enableColumnMoving,o.all([])},updateColumnCache:function(e){e.moveColumns.orderCache=e.getOnlyDataColumns()},verifyColumnOrder:function(n){var o,r=n.rowHeaderColumns.length;angular.forEach(n.moveColumns.orderCache,function(e,i){-1!==(o=n.columns.indexOf(e))&&o-r!==i&&(e=n.columns.splice(o,1)[0],n.columns.splice(i+r,0,e))})},redrawColumnAtPosition:function(e,i,n){var o=e.columns;if(i!==n){for(var r=i<n?i+1:i-1,l=Math.min(r,n);l<=Math.max(r,n)&&!o[l].visible;l++);if(!(l>Math.max(r,n))){var t=o[i];if(t.colDef.enableColumnMoving){if(n<i)for(var a=i;n<a;a--)o[a]=o[a-1];else if(i<n)for(var u=i;u<n;u++)o[u]=o[u+1];o[n]=t,c.updateColumnCache(e),e.queueGridRefresh(),d.$applyAsync(function(){e.api.core.notifyDataChange(s.dataChange.COLUMN),e.api.colMovable.raise.columnPositionChanged(t.colDef,i,n)})}}}}};return c}]),e.directive("uiGridMoveColumns",["uiGridMoveColumnService",function(r){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(e,i,n,o){r.initializeGrid(o.grid)},post:function(e,i,n,o){}}}}}]),e.directive("uiGridHeaderCell",["$q","gridUtil","uiGridMoveColumnService","$document","$log","uiGridConstants","ScrollEvent",function(e,i,w,D,n,o,M){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(d,o,e,s){var i,c,n,f,g,v,m,h,C,r,l,t,b,p,a,u;d.col.colDef.enableColumnMoving&&(i=angular.element(o[0].querySelectorAll(".ui-grid-cell-contents")),C=v=!1,r=function(e){c=d.grid.element[0].getBoundingClientRect().left,d.grid.hasLeftContainer()&&(c+=d.grid.renderContainers.left.header[0].getBoundingClientRect().width),n=e.pageX||(e.originalEvent?e.originalEvent.pageX:0),f=0,g=c+d.grid.getViewportWidth(),"mousedown"===e.type?(D.on("mousemove",l),D.on("mouseup",t)):"touchstart"===e.type&&(D.on("touchmove",l),D.on("touchend",t))},l=function(e){var e=e.pageX||(e.originalEvent?e.originalEvent.pageX:0),i=e-n;0!=i&&(document.onselectstart=function(){return!1},C=!0,v?(u(i),n=e):a())},t=function(e){if(document.onselectstart=null,m&&(m.remove(),v=!1),p(),b(),C){for(var i,n=d.grid.columns,o=0,r=0;r<n.length&&n[r].colDef.name!==d.col.colDef.name;r++)o++;if(f<0){var l,t=0;if(d.grid.isRTL()){for(l=o+1;l<n.length;l++)if((angular.isUndefined(n[l].colDef.visible)||!0===n[l].colDef.visible)&&(t+=n[l].drawnWidth||n[l].width||n[l].colDef.width)>Math.abs(f)){w.redrawColumnAtPosition(d.grid,o,l-1);break}}else for(l=o-1;0<=l;l--)if((angular.isUndefined(n[l].colDef.visible)||!0===n[l].colDef.visible)&&(t+=n[l].drawnWidth||n[l].width||n[l].colDef.width)>Math.abs(f)){w.redrawColumnAtPosition(d.grid,o,l+1);break}t<Math.abs(f)&&(i=0,d.grid.isRTL()&&(i=n.length-1),w.redrawColumnAtPosition(d.grid,o,i))}else if(0<f){var a,u=0;if(d.grid.isRTL()){for(a=o-1;0<a;a--)if((angular.isUndefined(n[a].colDef.visible)||!0===n[a].colDef.visible)&&(u+=n[a].drawnWidth||n[a].width||n[a].colDef.width,f<u)){w.redrawColumnAtPosition(d.grid,o,a);break}}else for(a=o+1;a<n.length;a++)if((angular.isUndefined(n[a].colDef.visible)||!0===n[a].colDef.visible)&&(u+=n[a].drawnWidth||n[a].width||n[a].colDef.width,f<u)){w.redrawColumnAtPosition(d.grid,o,a-1);break}u<f&&(i=n.length-1,d.grid.isRTL()&&(i=0),w.redrawColumnAtPosition(d.grid,o,i))}}},p=function(){i.off("touchstart",r),i.off("mousedown",r),D.off("mousemove",l),D.off("touchmove",l),D.off("mouseup",t),D.off("touchend",t)},(b=function(){i.on("touchstart",r),i.on("mousedown",r)})(),a=function(){v=!0,m=o.clone(),o.parent().append(m),m.addClass("movingColumn");var e={},i=(e.left=o[0].offsetLeft+"px",d.grid.element[0].getBoundingClientRect().right),n=o[0].getBoundingClientRect().right;i<n&&(h=d.col.drawnWidth+(i-n),e.width=h+"px"),m.css(e)},u=function(e){for(var i=d.grid.columns,n=0,o=0;o<i.length;o++)!angular.isUndefined(i[o].colDef.visible)&&!0!==i[o].colDef.visible||(n+=i[o].drawnWidth||i[o].width||i[o].colDef.width);var r=m[0].getBoundingClientRect().left-1,l=m[0].getBoundingClientRect().right,t=r-c+e;t=t<g?t:g,(c<=r||0<e)&&(l<=g||e<0)?m.css({visibility:"visible",left:m[0].offsetLeft+(t<g?e:g-r)+"px"}):n>Math.ceil(s.grid.gridWidth)&&(e*=8,(l=new M(d.col.grid,null,null,"uiGridHeaderCell.moveElement")).x={pixels:e},l.grid.scrollContainers("",l));for(var a=0,u=0;u<i.length;u++)if(angular.isUndefined(i[u].colDef.visible)||!0===i[u].colDef.visible){if(i[u].colDef.name===d.col.colDef.name)break;a+=i[u].drawnWidth||i[u].width||i[u].colDef.width}void 0===d.newScrollLeft?f+=e:f=d.newScrollLeft+t-a,h<d.col.drawnWidth&&(h+=Math.abs(e),m.css({width:h+"px"}))},d.$on("$destroy",p))}}}}}])}();