@sd-angular/core 1.3.99 → 1.3.101

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.
@@ -8,7 +8,7 @@ import { v4 } from 'uuid';
8
8
  import { Subscription, BehaviorSubject, Subject, isObservable, combineLatest } from 'rxjs';
9
9
  import { SdNotifyService } from '@sd-angular/core/notify';
10
10
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
11
- import { startWith, debounceTime, map, switchMap } from 'rxjs/operators';
11
+ import { debounceTime, map, switchMap, startWith } from 'rxjs/operators';
12
12
  import { DeviceDetectorService } from 'ngx-device-detector';
13
13
  import { SdLoadingService } from '@sd-angular/core/loading';
14
14
  import { SdTranslateService } from '@sd-angular/core/translate';
@@ -156,22 +156,16 @@ class SdPopupFilter {
156
156
  this.cdRef.markForCheck();
157
157
  };
158
158
  this.onApply = () => {
159
- __classPrivateFieldGet(this, _filterRegister).set({
159
+ __classPrivateFieldGet(this, _filterRegister).configuration.set({
160
160
  inlineColumn: this.inlineColumn,
161
- columnFilter: this.columnFilter,
162
161
  inlineExternal: this.inlineExternal,
163
- externalFilter: this.externalFilter,
164
162
  inlineFilterDef: this.inlineFilterDef,
163
+ });
164
+ __classPrivateFieldGet(this, _filterRegister).value.set({
165
+ columnFilter: this.columnFilter,
166
+ externalFilter: this.externalFilter,
165
167
  filterDef: this.filterDef
166
168
  });
167
- // this.changeFilter.emit({
168
- // inlineColumn: this.inlineColumn || {},
169
- // columnFilter: this.columnFilter || {},
170
- // inlineExternal: this.inlineExternal || {},
171
- // externalFilter: this.externalFilter || {},
172
- // inlineFilterDef: this.inlineFilterDef || {},
173
- // filterDef: this.filterDef || {}
174
- // });
175
169
  this.modal.close();
176
170
  this.cdRef.markForCheck();
177
171
  };
@@ -181,27 +175,16 @@ class SdPopupFilter {
181
175
  }
182
176
  ;
183
177
  ngAfterViewInit() {
184
- // this.#subscription.add(this.#filterOptionChanges.pipe(startWith(this.filter)).subscribe(() => {
185
- // if (this.filter?.disabled) {
186
- // this.filterChange.next(true);
187
- // return;
188
- // }
189
- // this.externalFilters = this.filter?.externalFilters || [];
190
- // const configuration = this.gridFilterService.get(this.filter?.key);
191
- // this.inlineColumn = configuration.inlineColumn;
192
- // this.inlineExternal = configuration.inlineExternal;
193
- // this.inlineFilterDef = configuration.inlineFilterDef;
194
- // this.#loadDefault();
195
- // this.filterChange.next(true);
196
- // this.ref.markForCheck();
197
- // }));
198
- __classPrivateFieldGet(this, _subscription).add(__classPrivateFieldGet(this, _filterRegister).observer.subscribe(configuration => {
178
+ __classPrivateFieldGet(this, _subscription).add(__classPrivateFieldGet(this, _filterRegister).configuration.observer.subscribe(configuration => {
199
179
  this.inlineColumn = JSON.parse(JSON.stringify(configuration.inlineColumn));
200
- this.columnFilter = JSON.parse(JSON.stringify(configuration.columnFilter));
201
180
  this.inlineExternal = JSON.parse(JSON.stringify(configuration.inlineExternal));
202
- this.externalFilter = JSON.parse(JSON.stringify(configuration.externalFilter));
203
181
  this.inlineFilterDef = JSON.parse(JSON.stringify(configuration.inlineFilterDef));
204
- this.filterDef = JSON.parse(JSON.stringify(configuration.filterDef));
182
+ this.cdRef.markForCheck();
183
+ }));
184
+ __classPrivateFieldGet(this, _subscription).add(__classPrivateFieldGet(this, _filterRegister).value.observer.subscribe(filterValue => {
185
+ this.columnFilter = JSON.parse(JSON.stringify(filterValue.columnFilter));
186
+ this.externalFilter = JSON.parse(JSON.stringify(filterValue.externalFilter));
187
+ this.filterDef = JSON.parse(JSON.stringify(filterValue.filterDef));
205
188
  this.cdRef.markForCheck();
206
189
  }));
207
190
  }
@@ -209,7 +192,7 @@ class SdPopupFilter {
209
192
  __classPrivateFieldGet(this, _subscription).unsubscribe();
210
193
  }
211
194
  onClear() {
212
- __classPrivateFieldGet(this, _filterRegister).remove();
195
+ __classPrivateFieldGet(this, _filterRegister).value.remove();
213
196
  this.modal.close();
214
197
  this.cdRef.markForCheck();
215
198
  }
@@ -251,20 +234,15 @@ class SdGridFilter {
251
234
  this.inlineExternal = {};
252
235
  _subscription$1.set(this, new Subscription());
253
236
  this.onFilter = (item) => {
254
- this.filterRegister.set({
237
+ this.filterRegister.value.set({
255
238
  columnFilter: this.columnFilter,
256
239
  externalFilter: this.externalFilter,
257
240
  filterDef: this.filterDef
258
241
  });
259
- // this.filterChange.next(true);
260
242
  };
261
243
  this.open = () => {
262
244
  this.popupFilter.open();
263
245
  };
264
- this.onReset = () => {
265
- this.filterRegister.remove();
266
- this.ref.markForCheck();
267
- };
268
246
  this.isMobileOrTablet = !this.deviceService.isDesktop();
269
247
  this.ref.markForCheck();
270
248
  }
@@ -280,53 +258,19 @@ class SdGridFilter {
280
258
  }
281
259
  ;
282
260
  ngAfterViewInit() {
283
- // this.#subscription.add(this.#filterOptionChanges.pipe(startWith(this.filter)).subscribe(() => {
284
- // if (this.filter?.disabled) {
285
- // this.filterChange.next(true);
286
- // return;
287
- // }
288
- // this.externalFilters = this.filter?.externalFilters || [];
289
- // const configuration = this.gridFilterService.get(this.filter?.key);
290
- // this.inlineColumn = configuration.inlineColumn;
291
- // this.inlineExternal = configuration.inlineExternal;
292
- // this.inlineFilterDef = configuration.inlineFilterDef;
293
- // this.#loadDefault();
294
- // this.filterChange.next(true);
295
- // this.ref.markForCheck();
296
- // }));
297
- __classPrivateFieldGet(this, _subscription$1).add(this.filterRegisterChange.pipe(startWith(this.filterRegister)).subscribe(() => {
298
- __classPrivateFieldGet(this, _subscription$1).add(this.filterRegister.observer.subscribe(configuration => {
299
- this.inlineColumn = configuration.inlineColumn;
300
- this.columnFilter = configuration.columnFilter;
301
- this.inlineExternal = configuration.inlineExternal;
302
- this.externalFilter = configuration.externalFilter;
303
- this.inlineFilterDef = configuration.inlineFilterDef;
304
- this.filterDef = configuration.filterDef;
305
- this.ref.markForCheck();
306
- }));
261
+ __classPrivateFieldGet(this, _subscription$1).add(this.filterRegister.configuration.observer.subscribe(configuration => {
262
+ this.inlineColumn = configuration.inlineColumn;
263
+ this.inlineExternal = configuration.inlineExternal;
264
+ this.inlineFilterDef = configuration.inlineFilterDef;
265
+ this.ref.markForCheck();
266
+ }));
267
+ __classPrivateFieldGet(this, _subscription$1).add(this.filterRegister.value.observer.subscribe(value => {
268
+ this.columnFilter = value.columnFilter;
269
+ this.externalFilter = value.externalFilter;
270
+ this.filterDef = value.filterDef;
271
+ this.ref.markForCheck();
307
272
  }));
308
273
  }
309
- // #loadDefault = () => {
310
- // for (const column of this.columns) {
311
- // this.inlineColumn[column.field] = this.inlineColumn[column.field] ?? column?.filter?.defaultShowing;
312
- // this.columnFilter[column.field] = this.columnFilter[column.field] ?? column?.filter?.default;
313
- // }
314
- // for (const externalFilter of this.externalFilters) {
315
- // this.inlineExternal[externalFilter.field] = this.inlineExternal[externalFilter.field] ?? externalFilter?.defaultShowing;
316
- // if (externalFilter.type === 'daterange') {
317
- // this.externalFilter[externalFilter.field] = {
318
- // from: this.externalFilter[externalFilter.field]?.from ?? externalFilter.default?.from ?? undefined,
319
- // to: this.externalFilter[externalFilter.field]?.to ?? externalFilter.default?.to ?? undefined
320
- // };
321
- // } else {
322
- // this.externalFilter[externalFilter.field] = this.externalFilter[externalFilter.field] ?? externalFilter.default;
323
- // }
324
- // }
325
- // for (const filterDef of this.filterDefs) {
326
- // this.inlineFilterDef[filterDef.sdMaterialFilterDef] =
327
- // this.inlineFilterDef[filterDef.sdMaterialFilterDef] ?? filterDef?.defaultShowing;
328
- // }
329
- // }
330
274
  ngOnDestroy() {
331
275
  __classPrivateFieldGet(this, _subscription$1).unsubscribe();
332
276
  }
@@ -1184,160 +1128,163 @@ SdEditorHandlerColumnPipe.ctorParameters = () => [
1184
1128
  { type: NgZone }
1185
1129
  ];
1186
1130
 
1187
- var _prefix$1, _loadDefault;
1131
+ var _filterConfiguration, _filterValue, _cache$2, _loadDefaultConfiguration, _loadDefaultValue;
1188
1132
  class SdGridFilterService {
1189
1133
  constructor(settingService) {
1190
1134
  this.settingService = settingService;
1191
- _prefix$1.set(this, 'GRID-FILTER');
1135
+ _filterConfiguration.set(this, 'GRID-FILTER-CONFIGURATION');
1136
+ _filterValue.set(this, 'GRID-FILTER-VALUE');
1137
+ _cache$2.set(this, {});
1192
1138
  this.register = (key, args) => {
1193
1139
  let cacheSession = false;
1194
1140
  if (!key) {
1195
- key = v4();
1141
+ const { columns, externalFilters } = args;
1142
+ key = hash({
1143
+ columns,
1144
+ externalFilters
1145
+ });
1196
1146
  cacheSession = true; // Nếu không có key thì chỉ lưu theo session
1197
1147
  }
1198
- const { get, set, remove, subject, observer } = this.settingService.create({
1199
- prefix: __classPrivateFieldGet(this, _prefix$1),
1200
- key
1201
- }, {
1202
- default: __classPrivateFieldGet(this, _loadDefault).call(this, args),
1203
- type: cacheSession ? 'session' : undefined
1204
- });
1205
- return {
1206
- get: () => {
1207
- var _a;
1208
- const configuration = get();
1209
- return {
1210
- selectedQuickFilter: (_a = configuration === null || configuration === void 0 ? void 0 : configuration.selectedQuickFilter) !== null && _a !== void 0 ? _a : null,
1211
- quickFilters: (configuration === null || configuration === void 0 ? void 0 : configuration.quickFilters) || [],
1212
- // Filter column
1213
- inlineColumn: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineColumn) || {},
1214
- columnFilter: (configuration === null || configuration === void 0 ? void 0 : configuration.columnFilter) || {},
1215
- // Filter external
1216
- inlineExternal: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineExternal) || {},
1217
- externalFilter: (configuration === null || configuration === void 0 ? void 0 : configuration.externalFilter) || {},
1218
- // Filter def
1219
- inlineFilterDef: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineFilterDef) || {},
1220
- filterDef: (configuration === null || configuration === void 0 ? void 0 : configuration.filterDef) || {}
1221
- };
1222
- },
1223
- set: (configuration) => {
1224
- const keys = Object.keys(configuration || {});
1225
- const current = get();
1226
- const { selectedQuickFilter, quickFilters, inlineColumn, columnFilter, inlineExternal, externalFilter, inlineFilterDef, filterDef } = current;
1227
- const updatedConfiguration = {
1228
- selectedQuickFilter: keys.includes('selectedQuickFilter') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.selectedQuickFilter) || null) : selectedQuickFilter,
1229
- quickFilters: keys.includes('quickFilters') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.quickFilters) || []) : quickFilters,
1230
- // Filter column
1231
- inlineColumn: keys.includes('inlineColumn') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.inlineColumn) || {}) : inlineColumn,
1232
- columnFilter: keys.includes('columnFilter') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.columnFilter) || {}) : columnFilter,
1233
- // Filter external
1234
- inlineExternal: keys.includes('inlineExternal') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.inlineExternal) || {}) : inlineExternal,
1235
- externalFilter: keys.includes('externalFilter') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.externalFilter) || {}) : externalFilter,
1236
- // Filter def
1237
- inlineFilterDef: keys.includes('inlineFilterDef') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.inlineFilterDef) || {}) : inlineFilterDef,
1238
- filterDef: keys.includes('filterDef') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.filterDef) || {}) : filterDef,
1239
- };
1240
- set(updatedConfiguration);
1241
- return updatedConfiguration;
1242
- },
1243
- remove: () => {
1244
- remove();
1245
- },
1246
- subject,
1247
- observer
1248
- };
1148
+ if (!__classPrivateFieldGet(this, _cache$2)[key]) {
1149
+ const filterConfiguration = this.settingService.create({
1150
+ prefix: __classPrivateFieldGet(this, _filterConfiguration),
1151
+ key
1152
+ }, {
1153
+ default: __classPrivateFieldGet(this, _loadDefaultConfiguration).call(this, args),
1154
+ type: cacheSession ? 'session' : undefined
1155
+ });
1156
+ const filterValue = this.settingService.create({
1157
+ prefix: __classPrivateFieldGet(this, _filterValue),
1158
+ key
1159
+ }, {
1160
+ default: __classPrivateFieldGet(this, _loadDefaultValue).call(this, args),
1161
+ type: cacheSession ? 'session' : undefined
1162
+ });
1163
+ __classPrivateFieldGet(this, _cache$2)[key] = {
1164
+ configuration: {
1165
+ get: () => {
1166
+ const configuration = filterConfiguration.get();
1167
+ return {
1168
+ // Filter column
1169
+ inlineColumn: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineColumn) || {},
1170
+ // Filter external
1171
+ inlineExternal: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineExternal) || {},
1172
+ // Filter def
1173
+ inlineFilterDef: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineFilterDef) || {},
1174
+ };
1175
+ },
1176
+ set: (configuration) => {
1177
+ const keys = Object.keys(configuration || {});
1178
+ const current = filterConfiguration.get();
1179
+ const { inlineColumn, inlineExternal, inlineFilterDef } = current;
1180
+ const updatedConfiguration = {
1181
+ // Filter column
1182
+ inlineColumn: keys.includes('inlineColumn') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.inlineColumn) || {}) : inlineColumn,
1183
+ // Filter external
1184
+ inlineExternal: keys.includes('inlineExternal') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.inlineExternal) || {}) : inlineExternal,
1185
+ // Filter def
1186
+ inlineFilterDef: keys.includes('inlineFilterDef') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.inlineFilterDef) || {}) : inlineFilterDef,
1187
+ };
1188
+ filterConfiguration.set(updatedConfiguration);
1189
+ return updatedConfiguration;
1190
+ },
1191
+ remove: () => {
1192
+ filterConfiguration.remove();
1193
+ },
1194
+ observer: filterConfiguration.observer
1195
+ },
1196
+ value: {
1197
+ get: () => {
1198
+ const configuration = filterValue.get();
1199
+ return {
1200
+ // Filter column
1201
+ columnFilter: (configuration === null || configuration === void 0 ? void 0 : configuration.columnFilter) || {},
1202
+ // Filter external
1203
+ externalFilter: (configuration === null || configuration === void 0 ? void 0 : configuration.externalFilter) || {},
1204
+ // Filter def
1205
+ filterDef: (configuration === null || configuration === void 0 ? void 0 : configuration.filterDef) || {}
1206
+ };
1207
+ },
1208
+ set: (configuration) => {
1209
+ const keys = Object.keys(configuration || {});
1210
+ const current = filterValue.get();
1211
+ const { columnFilter, externalFilter, filterDef } = current;
1212
+ const updatedConfiguration = {
1213
+ // Filter column
1214
+ columnFilter: keys.includes('columnFilter') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.columnFilter) || {}) : columnFilter,
1215
+ // Filter external
1216
+ externalFilter: keys.includes('externalFilter') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.externalFilter) || {}) : externalFilter,
1217
+ // Filter def
1218
+ filterDef: keys.includes('filterDef') ? ((configuration === null || configuration === void 0 ? void 0 : configuration.filterDef) || {}) : filterDef,
1219
+ };
1220
+ filterValue.set(updatedConfiguration);
1221
+ return updatedConfiguration;
1222
+ },
1223
+ remove: () => {
1224
+ filterValue.remove();
1225
+ },
1226
+ observer: filterValue.observer
1227
+ }
1228
+ };
1229
+ }
1230
+ return __classPrivateFieldGet(this, _cache$2)[key];
1249
1231
  };
1250
- _loadDefault.set(this, (args) => {
1251
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
1232
+ _loadDefaultConfiguration.set(this, (args) => {
1233
+ var _a, _b, _c, _d;
1252
1234
  const { columns, externalFilters, filterDefs } = args;
1253
1235
  const inlineColumn = {};
1254
- const columnFilter = {};
1255
1236
  const inlineExternal = {};
1256
- const externalFilter = {};
1257
1237
  const inlineFilterDef = {};
1258
- const filterDef = {};
1259
1238
  // Filter column
1260
1239
  for (const item of (columns || [])) {
1261
1240
  inlineColumn[item.field] = (_a = inlineColumn[item.field]) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.filter) === null || _b === void 0 ? void 0 : _b.defaultShowing;
1262
- columnFilter[item.field] = (_c = columnFilter[item.field]) !== null && _c !== void 0 ? _c : (_d = item === null || item === void 0 ? void 0 : item.filter) === null || _d === void 0 ? void 0 : _d.default;
1263
1241
  }
1264
1242
  // Filter external
1265
1243
  for (const item of (externalFilters || [])) {
1266
- inlineExternal[item.field] = (_e = inlineExternal[item.field]) !== null && _e !== void 0 ? _e : item === null || item === void 0 ? void 0 : item.defaultShowing;
1244
+ inlineExternal[item.field] = (_c = inlineExternal[item.field]) !== null && _c !== void 0 ? _c : item === null || item === void 0 ? void 0 : item.defaultShowing;
1245
+ }
1246
+ // Filter def
1247
+ for (const item of (filterDefs || [])) {
1248
+ inlineFilterDef[item.sdMaterialFilterDef] = (_d = inlineFilterDef[item.sdMaterialFilterDef]) !== null && _d !== void 0 ? _d : item === null || item === void 0 ? void 0 : item.defaultShowing;
1249
+ }
1250
+ return {
1251
+ inlineColumn,
1252
+ inlineExternal,
1253
+ inlineFilterDef,
1254
+ };
1255
+ });
1256
+ _loadDefaultValue.set(this, (args) => {
1257
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
1258
+ const { columns, externalFilters, filterDefs } = args;
1259
+ const columnFilter = {};
1260
+ const externalFilter = {};
1261
+ const filterDef = {};
1262
+ // Filter column
1263
+ for (const item of (columns || [])) {
1264
+ columnFilter[item.field] = (_a = columnFilter[item.field]) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.filter) === null || _b === void 0 ? void 0 : _b.default;
1265
+ }
1266
+ // Filter external
1267
+ for (const item of (externalFilters || [])) {
1267
1268
  if (item.type === 'daterange') {
1268
1269
  externalFilter[item.field] = {
1269
- from: (_j = (_g = (_f = externalFilter[item.field]) === null || _f === void 0 ? void 0 : _f.from) !== null && _g !== void 0 ? _g : (_h = item.default) === null || _h === void 0 ? void 0 : _h.from) !== null && _j !== void 0 ? _j : undefined,
1270
- to: (_o = (_l = (_k = externalFilter[item.field]) === null || _k === void 0 ? void 0 : _k.to) !== null && _l !== void 0 ? _l : (_m = item.default) === null || _m === void 0 ? void 0 : _m.to) !== null && _o !== void 0 ? _o : undefined
1270
+ from: (_f = (_d = (_c = externalFilter[item.field]) === null || _c === void 0 ? void 0 : _c.from) !== null && _d !== void 0 ? _d : (_e = item.default) === null || _e === void 0 ? void 0 : _e.from) !== null && _f !== void 0 ? _f : undefined,
1271
+ to: (_k = (_h = (_g = externalFilter[item.field]) === null || _g === void 0 ? void 0 : _g.to) !== null && _h !== void 0 ? _h : (_j = item.default) === null || _j === void 0 ? void 0 : _j.to) !== null && _k !== void 0 ? _k : undefined
1271
1272
  };
1272
1273
  }
1273
1274
  else {
1274
- externalFilter[item.field] = (_p = externalFilter[item.field]) !== null && _p !== void 0 ? _p : item.default;
1275
+ externalFilter[item.field] = (_l = externalFilter[item.field]) !== null && _l !== void 0 ? _l : item.default;
1275
1276
  }
1276
1277
  }
1277
1278
  // Filter def
1278
- for (const item of (filterDefs || [])) {
1279
- inlineFilterDef[item.sdMaterialFilterDef] = (_q = inlineFilterDef[item.sdMaterialFilterDef]) !== null && _q !== void 0 ? _q : item === null || item === void 0 ? void 0 : item.defaultShowing;
1280
- }
1281
1279
  return {
1282
- quickFilters: [],
1283
- selectedQuickFilter: null,
1284
- inlineColumn,
1285
1280
  columnFilter,
1286
- inlineExternal,
1287
1281
  externalFilter,
1288
- inlineFilterDef,
1289
1282
  filterDef,
1290
1283
  };
1291
1284
  });
1292
- this.get = (key) => {
1293
- var _a;
1294
- if (!key) {
1295
- return {
1296
- selectedQuickFilter: null,
1297
- quickFilters: [],
1298
- inlineExternal: {},
1299
- inlineColumn: {},
1300
- inlineFilterDef: {}
1301
- };
1302
- }
1303
- const { get } = this.settingService.create({
1304
- prefix: __classPrivateFieldGet(this, _prefix$1),
1305
- key
1306
- });
1307
- const configuration = get();
1308
- return {
1309
- selectedQuickFilter: (_a = configuration === null || configuration === void 0 ? void 0 : configuration.selectedQuickFilter) !== null && _a !== void 0 ? _a : null,
1310
- quickFilters: (configuration === null || configuration === void 0 ? void 0 : configuration.quickFilters) || [],
1311
- inlineExternal: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineExternal) || {},
1312
- inlineColumn: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineColumn) || {},
1313
- inlineFilterDef: (configuration === null || configuration === void 0 ? void 0 : configuration.inlineFilterDef) || {},
1314
- };
1315
- };
1316
- this.set = (key, configuration) => {
1317
- configuration = {
1318
- selectedQuickFilter: (configuration === null || configuration === void 0 ? void 0 : configuration.selectedQuickFilter) || null,
1319
- quickFilters: (configuration === null || configuration === void 0 ? void 0 : configuration.quickFilters) || [],
1320
- inlineExternal: configuration.inlineExternal || {},
1321
- inlineColumn: configuration.inlineColumn || {},
1322
- inlineFilterDef: configuration.inlineFilterDef || {}
1323
- };
1324
- if (!key) {
1325
- return configuration;
1326
- }
1327
- const { set } = this.settingService.create({
1328
- prefix: __classPrivateFieldGet(this, _prefix$1),
1329
- key
1330
- });
1331
- key = hash({
1332
- prefix: __classPrivateFieldGet(this, _prefix$1),
1333
- key
1334
- });
1335
- set(configuration);
1336
- return configuration;
1337
- };
1338
1285
  }
1339
1286
  }
1340
- _prefix$1 = new WeakMap(), _loadDefault = new WeakMap();
1287
+ _filterConfiguration = new WeakMap(), _filterValue = new WeakMap(), _cache$2 = new WeakMap(), _loadDefaultConfiguration = new WeakMap(), _loadDefaultValue = new WeakMap();
1341
1288
  SdGridFilterService.decorators = [
1342
1289
  { type: Injectable }
1343
1290
  ];
@@ -1416,7 +1363,7 @@ class SdGridMaterial {
1416
1363
  });
1417
1364
  _filterExportInfo.set(this, (pageNumber, pageSize) => {
1418
1365
  var _a, _b;
1419
- const { columnFilter, externalFilter, filterDef } = this.filterRegister.get();
1366
+ const { columnFilter, externalFilter, filterDef } = this.filterRegister.value.get();
1420
1367
  return {
1421
1368
  rawColumnFilter: columnFilter || {},
1422
1369
  rawExternalFilter: externalFilter || {},
@@ -1442,18 +1389,23 @@ class SdGridMaterial {
1442
1389
  _loadFilterRegister.set(this, () => {
1443
1390
  var _a, _b, _c, _d, _e;
1444
1391
  // Init filter
1445
- this.filterRegister = this.gridFilterService.register((_b = (_a = this.gridOption) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.key, {
1446
- columns: (_c = this.gridOption) === null || _c === void 0 ? void 0 : _c.columns,
1447
- externalFilters: (_e = (_d = this.gridOption) === null || _d === void 0 ? void 0 : _d.filter) === null || _e === void 0 ? void 0 : _e.externalFilters,
1448
- filterDefs: this.filterDefs
1449
- });
1450
- __classPrivateFieldGet(this, _subscription$2).add(this.filterRegister.observer.pipe(debounceTime(500), map((configuration) => {
1451
- this.columnFilter = configuration.columnFilter;
1452
- __classPrivateFieldGet(this, _paginator).pageIndex = 0;
1453
- __classPrivateFieldGet(this, _reload).next({
1454
- force: false,
1392
+ if (this.gridOption) {
1393
+ const hasRegister = !!this.filterRegister;
1394
+ this.filterRegister = this.gridFilterService.register((_b = (_a = this.gridOption) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.key, {
1395
+ columns: (_c = this.gridOption) === null || _c === void 0 ? void 0 : _c.columns,
1396
+ externalFilters: (_e = (_d = this.gridOption) === null || _d === void 0 ? void 0 : _d.filter) === null || _e === void 0 ? void 0 : _e.externalFilters,
1397
+ filterDefs: this.filterDefs
1455
1398
  });
1456
- })).subscribe());
1399
+ if (!hasRegister) {
1400
+ __classPrivateFieldGet(this, _subscription$2).add(this.filterRegister.value.observer.pipe(debounceTime(500), map((filterValue) => {
1401
+ this.columnFilter = filterValue.columnFilter;
1402
+ __classPrivateFieldGet(this, _paginator).pageIndex = 0;
1403
+ __classPrivateFieldGet(this, _reload).next({
1404
+ force: false,
1405
+ });
1406
+ })).subscribe());
1407
+ }
1408
+ }
1457
1409
  });
1458
1410
  _filterLocal.set(this, (localItems, filterInfo) => {
1459
1411
  const { columns } = this.gridOption;
@@ -1573,7 +1525,7 @@ class SdGridMaterial {
1573
1525
  });
1574
1526
  _getFilter.set(this, () => {
1575
1527
  var _a, _b, _c, _d, _e, _f;
1576
- const { columnFilter, externalFilter, filterDef } = this.filterRegister.get();
1528
+ const { columnFilter, externalFilter, filterDef } = this.filterRegister.value.get();
1577
1529
  return {
1578
1530
  rawColumnFilter: columnFilter || {},
1579
1531
  rawExternalFilter: externalFilter || {},
@@ -2010,15 +1962,11 @@ class SdGridMaterial {
2010
1962
  this.ref.detectChanges();
2011
1963
  });
2012
1964
  this.clearFilter = () => {
2013
- this.filterRegister.remove();
2014
- // if (this.gridOption?.filter?.inlineColumn) {
2015
- // this.columnFilter = {};
2016
- // }
2017
- // this.gridFilter?.onClearFilter();
1965
+ this.filterRegister.value.remove();
2018
1966
  };
2019
1967
  this.setFilter = (args) => {
2020
1968
  const { columnFilter, externalFilter, filterDef } = args || {};
2021
- this.filterRegister.set({
1969
+ this.filterRegister.value.set({
2022
1970
  columnFilter,
2023
1971
  externalFilter,
2024
1972
  filterDef
@@ -2776,7 +2724,7 @@ SdGridConfigurationResultPipe.ctorParameters = () => [
2776
2724
  { type: SdGridConfigurationService }
2777
2725
  ];
2778
2726
 
2779
- var _cache$2;
2727
+ var _cache$3;
2780
2728
  class SdPopupGridConfiguration {
2781
2729
  constructor(ref, notifyService, translateService, gridConfigurationService) {
2782
2730
  this.ref = ref;
@@ -2784,24 +2732,24 @@ class SdPopupGridConfiguration {
2784
2732
  this.translateService = translateService;
2785
2733
  this.gridConfigurationService = gridConfigurationService;
2786
2734
  this.changes = new EventEmitter();
2787
- _cache$2.set(this, void 0);
2735
+ _cache$3.set(this, void 0);
2788
2736
  this.isCreatingColumn = false;
2789
2737
  this.selected = {};
2790
2738
  this.disabledDrag = true;
2791
2739
  this.open = () => __awaiter(this, void 0, void 0, function* () {
2792
- __classPrivateFieldSet(this, _cache$2, this.gridConfigurationService.init(this.key, this.gridOption));
2793
- this.configuration = yield __classPrivateFieldGet(this, _cache$2).get();
2740
+ __classPrivateFieldSet(this, _cache$3, this.gridConfigurationService.init(this.key, this.gridOption));
2741
+ this.configuration = yield __classPrivateFieldGet(this, _cache$3).get();
2794
2742
  this.modal.open();
2795
2743
  });
2796
2744
  this.onSave = () => {
2797
- __classPrivateFieldGet(this, _cache$2).set(this.configuration);
2745
+ __classPrivateFieldGet(this, _cache$3).set(this.configuration);
2798
2746
  this.modal.close();
2799
2747
  this.ref.detectChanges();
2800
2748
  };
2801
2749
  this.onReset = () => __awaiter(this, void 0, void 0, function* () {
2802
2750
  const { translate } = this.translateService;
2803
2751
  this.notifyService.confirm(translate('Reset grid configuration to default')).then(() => {
2804
- __classPrivateFieldGet(this, _cache$2).remove();
2752
+ __classPrivateFieldGet(this, _cache$3).remove();
2805
2753
  this.modal.close();
2806
2754
  this.ref.detectChanges();
2807
2755
  });
@@ -2825,7 +2773,7 @@ class SdPopupGridConfiguration {
2825
2773
  generatedColumns: this.configuration.columns.filter(e => { var _a; return this.selected[(_a = e.origin) === null || _a === void 0 ? void 0 : _a.field]; }).map(e => { var _a; return (_a = e.origin) === null || _a === void 0 ? void 0 : _a.field; })
2826
2774
  };
2827
2775
  this.configuration.columns.push(generatedColumn);
2828
- this.configuration = __classPrivateFieldGet(this, _cache$2).set(this.configuration);
2776
+ this.configuration = __classPrivateFieldGet(this, _cache$3).set(this.configuration);
2829
2777
  this.isCreatingColumn = false;
2830
2778
  });
2831
2779
  }
@@ -2845,7 +2793,7 @@ class SdPopupGridConfiguration {
2845
2793
  this.disabledDrag = true;
2846
2794
  }
2847
2795
  }
2848
- _cache$2 = new WeakMap();
2796
+ _cache$3 = new WeakMap();
2849
2797
  SdPopupGridConfiguration.decorators = [
2850
2798
  { type: Component, args: [{
2851
2799
  selector: 'sd-popup-grid-configuration',
@@ -3037,11 +2985,11 @@ SdSelectionVisibleSelectAllPipe.decorators = [
3037
2985
  },] }
3038
2986
  ];
3039
2987
 
3040
- var _cache$3;
2988
+ var _cache$4;
3041
2989
  class SdGeneratedColumnService {
3042
2990
  constructor(settingService) {
3043
2991
  this.settingService = settingService;
3044
- _cache$3.set(this, {});
2992
+ _cache$4.set(this, {});
3045
2993
  this.load = (configuration) => {
3046
2994
  if (!(configuration === null || configuration === void 0 ? void 0 : configuration.key)) {
3047
2995
  return null;
@@ -3050,22 +2998,22 @@ class SdGeneratedColumnService {
3050
2998
  prefix: '260f5e94-5865-4425-8ced-b9c083c390dd',
3051
2999
  key: configuration.key
3052
3000
  });
3053
- if (!__classPrivateFieldGet(this, _cache$3)[key]) {
3001
+ if (!__classPrivateFieldGet(this, _cache$4)[key]) {
3054
3002
  if ((configuration === null || configuration === void 0 ? void 0 : configuration.storage) === 'server') {
3055
- __classPrivateFieldGet(this, _cache$3)[key] = this.settingService.createServer(key, {
3003
+ __classPrivateFieldGet(this, _cache$4)[key] = this.settingService.createServer(key, {
3056
3004
  args: configuration === null || configuration === void 0 ? void 0 : configuration.args,
3057
3005
  default: []
3058
3006
  });
3059
3007
  }
3060
3008
  else {
3061
- __classPrivateFieldGet(this, _cache$3)[key] = this.settingService.create(key, {
3009
+ __classPrivateFieldGet(this, _cache$4)[key] = this.settingService.create(key, {
3062
3010
  type: configuration === null || configuration === void 0 ? void 0 : configuration.storage,
3063
3011
  args: configuration === null || configuration === void 0 ? void 0 : configuration.args,
3064
3012
  default: []
3065
3013
  });
3066
3014
  }
3067
3015
  }
3068
- return __classPrivateFieldGet(this, _cache$3)[key];
3016
+ return __classPrivateFieldGet(this, _cache$4)[key];
3069
3017
  };
3070
3018
  this.loadSystem = (configuration) => {
3071
3019
  var _a, _b;
@@ -3079,26 +3027,26 @@ class SdGeneratedColumnService {
3079
3027
  prefix: '8b8050ca-1f44-4860-bad3-20e646c0d68f',
3080
3028
  key: configuration.key
3081
3029
  });
3082
- if (!__classPrivateFieldGet(this, _cache$3)[key]) {
3030
+ if (!__classPrivateFieldGet(this, _cache$4)[key]) {
3083
3031
  if ((configuration === null || configuration === void 0 ? void 0 : configuration.storage) === 'server') {
3084
- __classPrivateFieldGet(this, _cache$3)[key] = this.settingService.createServer(key, {
3032
+ __classPrivateFieldGet(this, _cache$4)[key] = this.settingService.createServer(key, {
3085
3033
  args: (_a = configuration === null || configuration === void 0 ? void 0 : configuration.systemColumn) === null || _a === void 0 ? void 0 : _a.args,
3086
3034
  default: []
3087
3035
  });
3088
3036
  }
3089
3037
  else {
3090
- __classPrivateFieldGet(this, _cache$3)[key] = this.settingService.create(key, {
3038
+ __classPrivateFieldGet(this, _cache$4)[key] = this.settingService.create(key, {
3091
3039
  type: configuration === null || configuration === void 0 ? void 0 : configuration.storage,
3092
3040
  args: (_b = configuration === null || configuration === void 0 ? void 0 : configuration.systemColumn) === null || _b === void 0 ? void 0 : _b.args,
3093
3041
  default: []
3094
3042
  });
3095
3043
  }
3096
3044
  }
3097
- return __classPrivateFieldGet(this, _cache$3)[key];
3045
+ return __classPrivateFieldGet(this, _cache$4)[key];
3098
3046
  };
3099
3047
  }
3100
3048
  }
3101
- _cache$3 = new WeakMap();
3049
+ _cache$4 = new WeakMap();
3102
3050
  SdGeneratedColumnService.decorators = [
3103
3051
  { type: Injectable }
3104
3052
  ];