jsl-ui 9.13.2 → 9.14.1

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.
package/lib/core/jq.js CHANGED
@@ -136,7 +136,9 @@ function jQWrapper(elements) {
136
136
  _elements.remove = function () {
137
137
  for (var i = 0; i < _elements.length; i++) {
138
138
  var el = _elements[i];
139
- el.parentNode.removeChild(el);
139
+ if (el.parentNode) {
140
+ el.parentNode.removeChild(el);
141
+ }
140
142
  }
141
143
  };
142
144
  _elements.data = function (name, value) {
@@ -63,6 +63,14 @@ export interface IJSLGrid<T> extends ISlickGrid<T> {
63
63
  column: ISlickColumn;
64
64
  item: T;
65
65
  }>;
66
+ onAfterFillDown: ISlickEvent<{
67
+ grid: IJSLGrid<T>;
68
+ items: T[];
69
+ direction: "up" | "down";
70
+ range: any;
71
+ column: ISlickColumn;
72
+ value: any;
73
+ }>;
66
74
  onFiltersChanged: ISlickEvent<void>;
67
75
  getHeaderMenu: () => any;
68
76
  getFilterDialog: () => any;
@@ -117,42 +117,46 @@ export function createJSLGrid(selector, data, columns, option) {
117
117
  }
118
118
  // Find the initial value
119
119
  dataView.beginUpdate();
120
+ var value;
121
+ var items = [];
120
122
  if (args.direction === "down") {
121
123
  var item = dataView.getItem(args.range.fromRow);
122
- var value = grid.getDataItemValueForColumn(item, column); // item[column.field];
124
+ value = grid.getDataItemValueForColumn(item, column); // item[column.field];
123
125
  // Copy the value down
124
126
  for (var i = args.range.fromRow + 1; i <= args.range.toRow; i++) {
125
127
  if (grid.onBeforeEditCell.notify({ row: i, cell: args.range.fromCell, item: dataView.getItem(i), column: column }, e) !== false) {
126
- var oldValue = grid.getDataItemValueForColumn(dataView.getItem(i), column);
127
- if (options.setDataItemValueForColumn != null) {
128
- options.setDataItemValueForColumn(dataView.getItem(i), column, value);
129
- }
130
- else {
131
- dataView.getItem(i)[column.field] = value;
132
- }
133
- grid.invalidateRow(i);
134
- grid.onAfterEdit.notify({ grid: grid, oldValue: oldValue, newValue: value, column: column, item: dataView.getItem(i) }, e);
128
+ var currentItem = dataView.getItem(i);
129
+ items.push(currentItem);
130
+ // if (options.setDataItemValueForColumn != null) {
131
+ // options.setDataItemValueForColumn(currentItem, column, value);
132
+ // } else {
133
+ // dataView.getItem(i)[column.field] = value;
134
+ // }
135
+ // grid.invalidateRow(i);
136
+ // grid.onAfterEdit.notify({ grid, oldValue, newValue: value, column, item: dataView.getItem(i) }, e);
135
137
  }
136
138
  }
137
139
  }
138
140
  else {
139
141
  var item = dataView.getItem(args.range.toRow);
140
- var value = grid.getDataItemValueForColumn(item, column); // item[column.field];
142
+ items.push(item);
143
+ value = grid.getDataItemValueForColumn(item, column); // item[column.field];
141
144
  // Copy the value up
142
145
  for (var i = args.range.fromRow; i <= args.range.toRow - 1; i++) {
143
146
  if (grid.onBeforeEditCell.notify({ row: i, cell: args.range.fromCell, item: dataView.getItem(i), column: column }, e) !== false) {
144
- var oldValue = grid.getDataItemValueForColumn(dataView.getItem(i), column);
145
- if (options.setDataItemValueForColumn != null) {
146
- options.setDataItemValueForColumn(dataView.getItem(i), column, value);
147
- }
148
- else {
149
- dataView.getItem(i)[column.field] = value;
150
- }
151
- grid.invalidateRow(i);
152
- grid.onAfterEdit.notify({ grid: grid, oldValue: oldValue, newValue: value, column: column, item: dataView.getItem(i) }, e);
147
+ var currentItem = dataView.getItem(i);
148
+ items.push(currentItem);
149
+ // if (options.setDataItemValueForColumn != null) {
150
+ // options.setDataItemValueForColumn(currentItem, column, value);
151
+ // } else {
152
+ // dataView.getItem(i)[column.field] = value;
153
+ // }
154
+ // grid.invalidateRow(i);
155
+ // grid.onAfterEdit.notify({ grid, oldValue, newValue: value, column, item: dataView.getItem(i) }, e);
153
156
  }
154
157
  }
155
158
  }
159
+ grid.onAfterFillDown.notify({ grid: grid, value: value, column: column, direction: args.direction, range: args.range, items: items }, e);
156
160
  dataView.endUpdate();
157
161
  grid.render();
158
162
  });
@@ -269,6 +273,7 @@ export function createJSLGrid(selector, data, columns, option) {
269
273
  function addCustomEvents() {
270
274
  grid.onAfterEdit = new Slick.Event();
271
275
  grid.onFiltersChanged = new Slick.Event();
276
+ grid.onAfterFillDown = new Slick.Event();
272
277
  }
273
278
  function setupChangeEvents() {
274
279
  dataView.onRowsChanged.subscribe(function (e, args) {