@ni/nimble-components 19.2.0 → 19.2.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.
@@ -86,7 +86,7 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
86
86
  private readonly table;
87
87
  private options;
88
88
  private readonly tableValidator;
89
- private readonly updateTracker;
89
+ private readonly tableUpdateTracker;
90
90
  private readonly selectionManager;
91
91
  private columnNotifiers;
92
92
  private isInitialized;
@@ -10,7 +10,7 @@ import { template } from './template';
10
10
  import { TableColumnSortDirection, TableRowSelectionMode, TableRowSelectionState } from './types';
11
11
  import { Virtualizer } from './models/virtualizer';
12
12
  import { getTanStackSortingFunction } from './models/sort-operations';
13
- import { UpdateTracker } from './models/update-tracker';
13
+ import { TableUpdateTracker } from './models/table-update-tracker';
14
14
  import { TableLayoutHelper } from './models/table-layout-helper';
15
15
  import { ColumnInternals } from '../table-column/base/models/column-internals';
16
16
  import { InteractiveSelectionManager } from './models/interactive-selection-manager';
@@ -62,7 +62,7 @@ export class Table extends FoundationElement {
62
62
  */
63
63
  this.documentShiftKeyDown = false;
64
64
  this.tableValidator = new TableValidator();
65
- this.updateTracker = new UpdateTracker(this);
65
+ this.tableUpdateTracker = new TableUpdateTracker(this);
66
66
  this.columnNotifiers = [];
67
67
  this.isInitialized = false;
68
68
  this.collapsedRows = new Set();
@@ -227,7 +227,7 @@ export class Table extends FoundationElement {
227
227
  this.tableValidator.validateColumnConfigurations(this.columns);
228
228
  }
229
229
  else {
230
- this.updateTracker.trackColumnPropertyChanged(args);
230
+ this.tableUpdateTracker.trackColumnPropertyChanged(args);
231
231
  }
232
232
  }
233
233
  }
@@ -327,16 +327,16 @@ export class Table extends FoundationElement {
327
327
  */
328
328
  update() {
329
329
  this.validate();
330
- if (this.updateTracker.requiresTanStackUpdate) {
330
+ if (this.tableUpdateTracker.requiresTanStackUpdate) {
331
331
  this.updateTanStack();
332
332
  }
333
- if (this.updateTracker.updateActionMenuSlots) {
333
+ if (this.tableUpdateTracker.updateActionMenuSlots) {
334
334
  this.updateActionMenuSlots();
335
335
  }
336
- if (this.updateTracker.updateColumnWidths) {
336
+ if (this.tableUpdateTracker.updateColumnWidths) {
337
337
  this.updateRowGridColumns();
338
338
  }
339
- if (this.updateTracker.updateGroupRows) {
339
+ if (this.tableUpdateTracker.updateGroupRows) {
340
340
  this.showCollapseAll = this.getColumnsParticipatingInGrouping().length > 0;
341
341
  }
342
342
  }
@@ -354,20 +354,20 @@ export class Table extends FoundationElement {
354
354
  if (!this.$fastController.isConnected) {
355
355
  return;
356
356
  }
357
- this.updateTracker.trackSelectionModeChanged();
357
+ this.tableUpdateTracker.trackSelectionModeChanged();
358
358
  }
359
359
  idFieldNameChanged(_prev, _next) {
360
360
  if (!this.$fastController.isConnected) {
361
361
  return;
362
362
  }
363
- this.updateTracker.trackIdFieldNameChanged();
363
+ this.tableUpdateTracker.trackIdFieldNameChanged();
364
364
  }
365
365
  columnsChanged(_prev, _next) {
366
366
  if (!this.$fastController.isConnected) {
367
367
  return;
368
368
  }
369
369
  this.observeColumns();
370
- this.updateTracker.trackColumnInstancesChanged();
370
+ this.tableUpdateTracker.trackColumnInstancesChanged();
371
371
  }
372
372
  async handleActionMenuBeforeToggleEvent(rowIndex, event) {
373
373
  const selectionChanged = this.selectionManager.handleActionMenuOpening(this.tableData[rowIndex]);
@@ -408,13 +408,13 @@ export class Table extends FoundationElement {
408
408
  this.isInitialized = true;
409
409
  // Initialize the controller to ensure that FAST functionality such as Observables work as expected.
410
410
  this.$fastController.onConnectedCallback();
411
- this.updateTracker.trackAllStateChanged();
411
+ this.tableUpdateTracker.trackAllStateChanged();
412
412
  this.observeColumns();
413
413
  }
414
414
  async processPendingUpdates() {
415
415
  this.initialize();
416
416
  await DOM.nextUpdate();
417
- if (this.updateTracker.hasPendingUpdates) {
417
+ if (this.tableUpdateTracker.hasPendingUpdates) {
418
418
  throw new Error('Expected pending updates to be resolved');
419
419
  }
420
420
  }
@@ -452,28 +452,28 @@ export class Table extends FoundationElement {
452
452
  updateTanStack() {
453
453
  const updatedOptions = {};
454
454
  updatedOptions.state = {};
455
- if (this.updateTracker.updateColumnSort) {
455
+ if (this.tableUpdateTracker.updateColumnSort) {
456
456
  updatedOptions.state.sorting = this.calculateTanStackSortState();
457
457
  }
458
- if (this.updateTracker.updateColumnDefinition) {
458
+ if (this.tableUpdateTracker.updateColumnDefinition) {
459
459
  updatedOptions.columns = this.calculateTanStackColumns();
460
460
  }
461
- if (this.updateTracker.updateRowIds) {
461
+ if (this.tableUpdateTracker.updateRowIds) {
462
462
  updatedOptions.getRowId = this.calculateTanStackRowIdFunction();
463
463
  updatedOptions.state.rowSelection = {};
464
464
  this.selectionManager.handleSelectionReset();
465
465
  }
466
- if (this.updateTracker.updateSelectionMode) {
466
+ if (this.tableUpdateTracker.updateSelectionMode) {
467
467
  updatedOptions.enableMultiRowSelection = this.selectionMode === TableRowSelectionMode.multiple;
468
468
  updatedOptions.enableSubRowSelection = this.selectionMode === TableRowSelectionMode.multiple;
469
469
  updatedOptions.state.rowSelection = {};
470
470
  this.selectionManager.handleSelectionModeChanged(this.selectionMode);
471
471
  }
472
- if (this.updateTracker.requiresTanStackDataReset) {
472
+ if (this.tableUpdateTracker.requiresTanStackDataReset) {
473
473
  // Perform a shallow copy of the data to trigger tanstack to regenerate the row models and columns.
474
474
  updatedOptions.data = [...this.table.options.data];
475
475
  }
476
- if (this.updateTracker.updateGroupRows) {
476
+ if (this.tableUpdateTracker.updateGroupRows) {
477
477
  updatedOptions.state.grouping = this.calculateTanStackGroupingState();
478
478
  updatedOptions.state.expanded = true;
479
479
  this.collapsedRows.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,IAAI,EACJ,UAAU,EACV,UAAU,EAEV,GAAG,EACN,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEH,YAAY,EACZ,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAMH,WAAW,IAAI,mBAAmB,EAClC,eAAe,IAAI,uBAAuB,EAC1C,iBAAiB,IAAI,yBAAyB,EAC9C,kBAAkB,IAAI,0BAA0B,EAChD,mBAAmB,IAAI,2BAA2B,EAOrD,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAGH,wBAAwB,EAIxB,qBAAqB,EACrB,sBAAsB,EAIzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAQrF;;GAEG;AACH,MAAM,OAAO,KAEX,SAAQ,iBAAiB;IA4HvB;QACI,KAAK,EAAE,CAAC;QAxHL,kBAAa,GAA0B,qBAAqB,CAAC,IAAI,CAAC;QAEzE;;WAEG;QAEI,cAAS,GAA2B,EAAE,CAAC;QAE9C;;WAEG;QAEI,YAAO,GAAkB,EAAE,CAAC;QAEnC;;WAEG;QAEa,eAAU,GAAc,EAAE,CAAC;QAE3C;;WAEG;QAEa,gBAAW,GAAe,EAAE,CAAC;QAE7C;;WAEG;QAEI,oBAAe,GAAa,EAAE,CAAC;QAQtC;;WAEG;QAEI,kBAAa,GAAG,IAAI,CAAC;QAE5B;;WAEG;QAEI,YAAO,GAAG,CAAC,CAAC;QAQnB;;WAEG;QAEI,mBAAc,GAA2B,sBAAsB,CAAC,WAAW,CAAC;QAiBnF;;WAEG;QAEI,oBAAe,GAAG,KAAK,CAAC;QAkB/B;;WAEG;QAEI,yBAAoB,GAAG,KAAK,CAAC;QAInB,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,uBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE3D,oBAAe,GAAe,EAAE,CAAC;QACjC,kBAAa,GAAG,KAAK,CAAC;QACb,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACnD,wFAAwF;QACxF,iFAAiF;QACjF,4DAA4D;QAC5D,gDAAgD;QACxC,gCAA2B,GAAG,KAAK,CAAC;QAgX3B,qBAAgB,GAAG,CAAC,KAAY,EAAQ,EAAE;YACvD,IAAI,CAAC,OAAO,GAAI,KAAK,CAAC,MAAsB,CAAC,UAAU,CAAC;QAC5D,CAAC,CAAC;QAEe,cAAS,GAAG,CAAC,KAAoB,EAAQ,EAAE;YACxD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;aACpC;QACL,CAAC,CAAC;QAEe,YAAO,GAAG,CAAC,KAAoB,EAAQ,EAAE;YACtD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACrC;QACL,CAAC,CAAC;QAgTe,qBAAgB,GAAG,CAAC,GAAuB,EAAW,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE;gBACrB,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YAExD,IAAI,aAAa,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;aACf;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnD,OAAO,aAAc,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;aAClC;YAED,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEe,6BAAwB,GAAkD,CAAC,cAA0D,EAAQ,EAAE;YAC5J,MAAM,iBAAiB,GAAG,cAAc,YAAY,QAAQ;gBACxD,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;gBACpD,CAAC,CAAC,cAAc,CAAC;YAErB,IAAI,CAAC,kBAAkB,CAAC;gBACpB,KAAK,EAAE;oBACH,YAAY,EAAE,iBAAiB;iBAClC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC;QAEe,yBAAoB,GAA8C,CAAC,cAAsD,EAAQ,EAAE;YAChJ,MAAM,aAAa,GAAG,cAAc,YAAY,QAAQ;gBACpD,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBAChD,CAAC,CAAC,cAAc,CAAC;YAErB,IAAI,CAAC,kBAAkB,CAAC;gBACpB,KAAK,EAAE;oBACH,QAAQ,EAAE,aAAa;iBAC1B;aACJ,CAAC,CAAC;QACP,CAAC,CAAC;QAltBE,IAAI,CAAC,OAAO,GAAG;YACX,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC,CAAsC,EAAE,EAAE,GAAE,CAAC;YAC7D,oBAAoB,EAAE,IAAI,CAAC,wBAAwB;YACnD,gBAAgB,EAAE,IAAI,CAAC,oBAAoB;YAC3C,eAAe,EAAE,uBAAuB,EAAE;YAC1C,iBAAiB,EAAE,yBAAyB,EAAE;YAC9C,kBAAkB,EAAE,0BAA0B,EAAE;YAChD,mBAAmB,EAAE,2BAA2B,EAAE;YAClD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,IAAI,CAAC,2GAA2G;aAC7H;YACD,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE;YAC9C,uBAAuB,EAAE,KAAK;YAC9B,qBAAqB,EAAE,KAAK;YAC5B,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,KAAK;SACtB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAA2B,CACnD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,CACrB,CAAC;IACN,CAAC;IAzFD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAyFM,KAAK,CAAC,OAAO,CAAC,OAAyB;QAC1C,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,eAAe,GAAiD;YAClE,IAAI;SACP,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE;YACzC,+FAA+F;YAC/F,8FAA8F;YAC9F,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5D,eAAe,CAAC,KAAK,GAAG;gBACpB,YAAY,EACR,IAAI,CAAC,+BAA+B,CAAC,iBAAiB,CAAC;aAC9D,CAAC;SACL;QACD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC7B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/D,IAAI,CAAC,sBAAsB,EAAE;YACzB,OAAO,EAAE,CAAC;SACb;QAED,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAC1C,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YACvB,IAAI,UAAU,EAAE;gBACZ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;QACL,CAAC,CACJ,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,SAAmB;QACjD,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,IAAI,EAAE;YACnD,OAAO;SACV;QAED,IAAI,CAAC,kBAAkB,CAAC;YACpB,KAAK,EAAE;gBACH,YAAY,EAAE,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC;aAChE;SACJ,CAAC,CAAC;IACP,CAAC;IAEe,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC5D,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAEe,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,MAAe,EAAE,IAAa;QAC9C,IACI,CAAC,MAAM,YAAY,WAAW;eACvB,MAAM,YAAY,eAAe,CAAC;eACtC,OAAO,IAAI,KAAK,QAAQ,EAC7B;YACE,IAAI,IAAI,KAAK,oBAAoB,EAAE;gBAC/B,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClE;iBAAM;gBACH,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;aAC5D;SACJ;IACL,CAAC;IAED,gBAAgB;IACT,oBAAoB,CACvB,QAAgB,EAChB,KAAsD;QAEtD,KAAK,CAAC,wBAAwB,EAAE,CAAC;QAEjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,KAAK,CAAC,MAAM,CAAC,QAAQ,EACrB,IAAI,CAAC,oBAAoB,CAC5B,CAAC;QAEF,IAAI,gBAAgB,EAAE;YAClB,KAAK,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACxC;IACL,CAAC;IAED,gBAAgB;IACT,UAAU,CAAC,QAAgB,EAAE,KAAiB;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CACjC,CAAC;QAEF,IAAI,gBAAgB,EAAE;YAClB,KAAK,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACxC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;IACT,wBAAwB,CAAC,KAAkB;QAC9C,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,2BAA2B,EAAE;YAClC,OAAO;SACV;QAED,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAkB,CAAC,OAAO,CAAC,CAAC;QAClE,KAAK,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACzC,CAAC;IAED,gBAAgB;IACT,2BAA2B,CAC9B,QAAgB,EAChB,KAAoD;QAEpD,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,iCAAiC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB;IACT,qBAAqB,CACxB,KAAoD;QAEpD,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB;IACT,0BAA0B;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK;aACL,WAAW,EAAE;aACb,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB;IACT,sBAAsB,CAAC,QAAgB,EAAE,KAAY;QACxD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnC,KAAK,CAAC,eAAe,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,gBAAgB,CACnB,MAAmB,EACnB,cAAuB;QAEvB,IAAI,MAAM,CAAC,eAAe,EAAE;YACxB,OAAO;SACV;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,gCAAgC,EAAE,CAAC,IAAI,CACjE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAiB;cACvC,CAAC,CAAC,eAAe,CAAC,gBAAiB,CAC5C,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,mBAAmB,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;QAE7C,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC;QACrE,IAAI,gBAAgB,GAA6B,wBAAwB,CAAC,SAAS,CAAC;QAEpF,IAAI,mBAAmB,EAAE;YACrB,IAAI,gBAAgB,KAAK,wBAAwB,CAAC,UAAU,EAAE;gBAC1D,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACxC,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CAAC;gBACjD,MAAM,CAAC,eAAe,CAAC,gBAAgB,GAAG,SAAS,CAAC;aACvD;iBAAM;gBACH,gBAAgB,GAAG,wBAAwB,CAAC,UAAU,CAAC;aAC1D;SACJ;aAAM;YACH,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,MAAM,CAAC,eAAe,CAAC,oBAAoB,GAAG,gBAAgB,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAE,CAAC;YAC3C,IAAI,cAAc,EAAE;gBAChB,gBAAgB,CAAC,CAAC,CAAE,CAAC,eAAe,CAAC,gBAAgB,GAAG,CAAC,CAAC;aAC7D;iBAAM,IAAI,aAAa,KAAK,MAAM,EAAE;gBACjC,aAAa,CAAC,eAAe,CAAC,gBAAgB,GAAG,CAAC,CAAC;aACtD;iBAAM;gBACH,aAAa,CAAC,eAAe,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBAC3D,aAAa,CAAC,eAAe,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,IAAI,CAAC;aACtF;SACJ;QAED,IAAI,CAAC,kCAAkC,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,MAAM;QACT,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE;YAChD,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE;YAC5C,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SAC9E;IACL,CAAC;IAED,IAAoB,mBAAmB;QACnC,QAAQ,IAAI,CAAC,aAAa,EAAE;YACxB,KAAK,qBAAqB,CAAC,QAAQ;gBAC/B,OAAO,MAAM,CAAC;YAClB,KAAK,qBAAqB,CAAC,MAAM;gBAC7B,OAAO,OAAO,CAAC;YACnB;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;IAES,oBAAoB,CAC1B,KAAyB,EACzB,KAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YACnC,OAAO;SACV;QAED,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,CAAC;IACxD,CAAC;IAES,kBAAkB,CACxB,KAAyB,EACzB,KAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YACnC,OAAO;SACV;QAED,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;IACtD,CAAC;IAES,cAAc,CACpB,KAAgC,EAChC,KAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YACnC,OAAO;SACV;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,EAAE,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC3C,QAAgB,EAChB,KAAoD;QAEpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAClE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC3B,CAAC;QACF,IAAI,gBAAgB,EAAE;YAClB,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACzC;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,8BAA8B,CACxC,KAAoD;QAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;SAC3C;IACL,CAAC;IAEO,KAAK,CAAC,8BAA8B,CACxC,aAA4D;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,QAAQ;YACnE,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE;YACnC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAuB,CAAC,CAAC;QACrC,OAAO;YACH,GAAG,aAAa,CAAC,MAAM;YACvB,SAAS;SACZ,CAAC;IACN,CAAC;IAkBO,qBAAqB;QACzB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEO,UAAU;QACd,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,iEAAiE;YACjE,OAAO;SACV;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,oGAAoG;QACpG,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;IACL,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAChD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAC5C,MAAM,CAAC,eAAe,CACzB,CAAC;YACF,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvC;IACL,CAAC;IAEO,gCAAgC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe;eAChB,CAAC,CAAC,eAAe,CAAC,oBAAoB;oBACjC,wBAAwB,CAAC,IAAI;eAClC,OAAO,CAAC,CAAC,eAAe,CAAC,gBAAgB,KAAK,QAAQ,CAChE,CAAC;IACN,CAAC;IAEO,iCAAiC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB;eACjC,OAAO,CAAC,CAAC,eAAe,CAAC,UAAU,KAAK,QAAQ,CAC1D,CAAC;IACN,CAAC;IAEO,iBAAiB;QACrB,KAAK,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACrF,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACjC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,YAAY,WAAW,CACpD,CAAC;IACN,CAAC;IAEO,cAAc;QAClB,MAAM,cAAc,GAAiD,EAAE,CAAC;QACxE,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE;YAC1C,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACpE;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE;YAChD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;SAC5D;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACtC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAChE,cAAc,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;SAChD;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE;YAC7C,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,QAAQ,CAAC;YAC/F,cAAc,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,QAAQ,CAAC;YAC7F,cAAc,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAC5C,IAAI,CAAC,aAAa,CACrB,CAAC;SACL;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,EAAE;YACnD,mGAAmG;YACnG,cAAc,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE;YACzC,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACtE,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC9B;QAED,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAEO,qBAAqB;QACzB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,MAAM,CAAC,cAAc,EAAE;gBACvB,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;aACpC;SACJ;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,sBAAsB,CAC1D,IAAI,CAAC,OAAO,CACf,CAAC;IACN,CAAC;IAEO,QAAQ;QACZ,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,CACnB,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,yBAAyB,CACzC,IAAI,CAAC,gCAAgC,EAAE,CAAC,GAAG,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAiB,CAC3C,CACJ,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAC1C,IAAI,CAAC,iCAAiC,EAAE,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,UAAW,CACrC,CACJ,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAEO,gBAAgB,CAAC,IAAmB;QACxC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC;IAEO,kCAAkC;QACtC,MAAM,MAAM,GAA8C;YACtD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,gBAAgB,IAAI,SAAS;gBAC/D,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,oBAAoB;gBAC1D,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,UAAU;gBAC7C,MAAM,EAAE,MAAM,CAAC,YAAY;gBAC3B,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,sBAAsB;gBAC9D,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,iBAAiB;aACvD,CAAC,CAAC;SACN,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,wBAAwB;QAClC,MAAM,MAAM,GAAiC;YACzC,iBAAiB,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE;SACvD,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEO,qBAAqB;QACzB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEO,wBAAwB;QAC5B,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEO,yBAAyB;QAC7B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,KAAK,sBAAsB,CAAC,QAAQ,CAAC;YACzF,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc;oBAClD,sBAAsB,CAAC,iBAAiB,CAAC;YACjD,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SAC5C;IACL,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,QAAQ,GAAyB;gBACnC,MAAM,EAAE,GAAG,CAAC,QAAQ;gBACpB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;gBAC9C,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE;gBAC7B,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE;gBAC/B,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE;oBAC7B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAiB,CAAC;oBACrC,CAAC,CAAC,SAAS;gBACf,YAAY,EAAE,GAAG,CAAC,KAAK;gBACvB,aAAa,EAAE,GAAG;qBACb,WAAW,EAAE;qBACb,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;qBACrD,MAAM;gBACX,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;aAC3C,CAAC;YACF,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAEO,sBAAsB;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE;YACnC,OAAO,sBAAsB,CAAC,QAAQ,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE;YACpC,OAAO,sBAAsB,CAAC,iBAAiB,CAAC;SACnD;QACD,OAAO,sBAAsB,CAAC,WAAW,CAAC;IAC9C,CAAC;IAEO,oBAAoB,CACxB,GAAuB;QAEvB,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE;YACpB,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;SAChD;QAED,OAAO,GAAG,CAAC,aAAa,EAAE;YACtB,CAAC,CAAC,sBAAsB,CAAC,QAAQ;YACjC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC;IAC7C,CAAC;IAEO,2BAA2B,CAC/B,UAA8B;QAE9B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACzC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE;gBACpB,MAAM,yBAAyB,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBACxE,QAAQ,yBAAyB,EAAE;oBAC/B,KAAK,sBAAsB,CAAC,WAAW;wBACnC,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,MAAM;oBACV,KAAK,sBAAsB,CAAC,QAAQ;wBAChC,gBAAgB,GAAG,IAAI,CAAC;wBACxB,MAAM;oBACV;wBACI,OAAO,sBAAsB,CAAC,iBAAiB,CAAC;iBACvD;aACJ;iBAAM,IAAI,GAAG,CAAC,aAAa,EAAE,EAAE;gBAC5B,gBAAgB,GAAG,IAAI,CAAC;aAC3B;iBAAM;gBACH,mBAAmB,GAAG,IAAI,CAAC;aAC9B;YAED,IAAI,gBAAgB,IAAI,mBAAmB,EAAE;gBACzC,OAAO,sBAAsB,CAAC,iBAAiB,CAAC;aACnD;SACJ;QAED,OAAO,gBAAgB;YACnB,CAAC,CAAC,sBAAsB,CAAC,QAAQ;YACjC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CACrB,GAAuB;QAEvB,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACvC,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS,CAChD,CAAC;SACL;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,kBAAkB,CACtB,cAA4D;QAE5D,IAAI,CAAC,OAAO,GAAG;YACX,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,cAAc;YACjB,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE;SAC5D,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IA4CO,mBAAmB,CAAC,QAAgB;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC;QACrD,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACxC,+DAA+D;QAC/D,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAClC;aAAM;YACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACrC;QACD,GAAG,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAEO,0BAA0B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,gCAAgC,EAAE,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAiB;cACvC,CAAC,CAAC,eAAe,CAAC,gBAAiB,CAC5C,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,MAAM;YACzC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ;gBACnC,IAAI,EACA,MAAM,CAAC,eAAe,CAAC,oBAAoB;wBACvC,wBAAwB,CAAC,UAAU;aAC9C,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,8BAA8B;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC,IAAI,CAChE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC,eAAe,CAAC,UAAW,CAC1E,CAAC;QAEF,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEO,8BAA8B;QAOlC,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAC9D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,MAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAY,CAAW,CAAC;IACjE,CAAC;IAEO,wBAAwB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ;gBACnC,UAAU,EAAE,CAAC,IAAW,EAAmB,EAAE;oBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,0BAA0B,CAAC;oBACpE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;wBAC/B,OAAO,SAAS,CAAC;qBACpB;oBACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;gBACD,SAAS,EAAE,0BAA0B,CACjC,MAAM,CAAC,eAAe,CAAC,aAAa,CACvC;aACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,+BAA+B,CACnC,iBAA2B;QAE3B,IAAI,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,IAAI,EAAE;YACnD,OAAO,EAAE,CAAC;SACb;QAED,MAAM,sBAAsB,GAA8B,EAAE,CAAC;QAC7D,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACvF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE;YACxC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAExC,IAAI,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,MAAM,EAAE;gBACrD,8EAA8E;gBAC9E,MAAM;aACT;SACJ;QAED,OAAO,sBAAsB,CAAC;IAClC,CAAC;CACJ;AAz6BG;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;0CACT;AAG5B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;4CACmC;AAMzE;IADC,UAAU;wCACmC;AAM9C;IADC,UAAU;sCACwB;AAMnC;IADC,UAAU;yCACgC;AAM3C;IADC,UAAU;0CACkC;AAM7C;IADC,UAAU;8CAC2B;AAMtC;IADC,UAAU;qDAC4B;AAMvC;IADC,UAAU;4CACiB;AAM5B;IADC,UAAU;sCACQ;AAMnB;IADC,UAAU;6CACoB;AAM/B;IADC,UAAU;6CACwE;AAenF;IADC,UAAU;gDACkC;AAM7C;IADC,UAAU;8CACoB;AAgB/B;IADC,UAAU;gDAC4B;AAMvC;IADC,UAAU;mDACyB;AAi0BxC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,QAAQ,EAAE,OAAO;IACjB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import type { Table } from '..';
2
2
  import type { TableRecord } from '../types';
3
+ import { UpdateTracker } from '../../utilities/models/update-tracker';
4
+ declare const trackedItems: readonly ["rowIds", "groupRows", "columnIds", "columnSort", "columnWidths", "columnDefinition", "actionMenuSlots", "selectionMode"];
3
5
  /**
4
6
  * Helper class to track what updates are needed to the table based on configuration
5
7
  * changes.
6
8
  */
7
- export declare class UpdateTracker<TData extends TableRecord> {
8
- private readonly requiredUpdates;
9
+ export declare class TableUpdateTracker<TData extends TableRecord> extends UpdateTracker<typeof trackedItems> {
9
10
  private readonly table;
10
11
  private updateQueued;
11
12
  constructor(table: Table<TData>);
@@ -25,6 +26,6 @@ export declare class UpdateTracker<TData extends TableRecord> {
25
26
  trackColumnInstancesChanged(): void;
26
27
  trackIdFieldNameChanged(): void;
27
28
  trackSelectionModeChanged(): void;
28
- private setAllKeys;
29
- private queueUpdate;
29
+ protected queueUpdate(): void;
30
30
  }
31
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { DOM } from '@microsoft/fast-element';
2
+ import { UpdateTracker } from '../../utilities/models/update-tracker';
2
3
  const isColumnProperty = (changedProperty, ...args) => {
3
4
  for (const arg of args) {
4
5
  if (changedProperty === arg) {
@@ -15,61 +16,62 @@ const isColumnInternalsProperty = (changedProperty, ...args) => {
15
16
  }
16
17
  return false;
17
18
  };
19
+ const trackedItems = [
20
+ 'rowIds',
21
+ 'groupRows',
22
+ 'columnIds',
23
+ 'columnSort',
24
+ 'columnWidths',
25
+ 'columnDefinition',
26
+ 'actionMenuSlots',
27
+ 'selectionMode'
28
+ ];
18
29
  /**
19
30
  * Helper class to track what updates are needed to the table based on configuration
20
31
  * changes.
21
32
  */
22
- export class UpdateTracker {
33
+ export class TableUpdateTracker extends UpdateTracker {
23
34
  constructor(table) {
24
- this.requiredUpdates = {
25
- rowIds: false,
26
- groupRows: false,
27
- columnIds: false,
28
- columnSort: false,
29
- columnWidths: false,
30
- columnDefinition: false,
31
- actionMenuSlots: false,
32
- selectionMode: false
33
- };
34
- this.updateQueued = false;
35
+ super(trackedItems);
35
36
  this.table = table;
37
+ this.updateQueued = false;
36
38
  }
37
39
  get updateRowIds() {
38
- return this.requiredUpdates.rowIds;
40
+ return this.isTracked('rowIds');
39
41
  }
40
42
  get updateGroupRows() {
41
- return this.requiredUpdates.groupRows;
43
+ return this.isTracked('groupRows');
42
44
  }
43
45
  get updateColumnIds() {
44
- return this.requiredUpdates.columnIds;
46
+ return this.isTracked('columnIds');
45
47
  }
46
48
  get updateColumnSort() {
47
- return this.requiredUpdates.columnSort;
49
+ return this.isTracked('columnSort');
48
50
  }
49
51
  get updateColumnWidths() {
50
- return this.requiredUpdates.columnWidths;
52
+ return this.isTracked('columnWidths');
51
53
  }
52
54
  get updateColumnDefinition() {
53
- return this.requiredUpdates.columnDefinition;
55
+ return this.isTracked('columnDefinition');
54
56
  }
55
57
  get updateActionMenuSlots() {
56
- return this.requiredUpdates.actionMenuSlots;
58
+ return this.isTracked('actionMenuSlots');
57
59
  }
58
60
  get updateSelectionMode() {
59
- return this.requiredUpdates.selectionMode;
61
+ return this.isTracked('selectionMode');
60
62
  }
61
63
  get requiresTanStackUpdate() {
62
- return (this.requiredUpdates.rowIds
63
- || this.requiredUpdates.columnSort
64
- || this.requiredUpdates.columnDefinition
65
- || this.requiredUpdates.groupRows
66
- || this.requiredUpdates.selectionMode);
64
+ return (this.isTracked('rowIds')
65
+ || this.isTracked('columnSort')
66
+ || this.isTracked('columnDefinition')
67
+ || this.isTracked('groupRows')
68
+ || this.isTracked('selectionMode'));
67
69
  }
68
70
  get requiresTanStackDataReset() {
69
- return (this.requiredUpdates.rowIds || this.requiredUpdates.columnDefinition);
71
+ return this.isTracked('rowIds') || this.isTracked('columnDefinition');
70
72
  }
71
73
  trackAllStateChanged() {
72
- this.setAllKeys(true);
74
+ this.trackAll();
73
75
  this.queueUpdate();
74
76
  }
75
77
  get hasPendingUpdates() {
@@ -77,49 +79,44 @@ export class UpdateTracker {
77
79
  }
78
80
  trackColumnPropertyChanged(changedColumnProperty) {
79
81
  if (isColumnProperty(changedColumnProperty, 'columnId')) {
80
- this.requiredUpdates.columnIds = true;
82
+ this.track('columnIds');
81
83
  }
82
84
  else if (isColumnInternalsProperty(changedColumnProperty, 'operandDataRecordFieldName', 'sortOperation')) {
83
- this.requiredUpdates.columnDefinition = true;
85
+ this.track('columnDefinition');
84
86
  }
85
87
  else if (isColumnProperty(changedColumnProperty, 'sortingDisabled')
86
88
  || isColumnInternalsProperty(changedColumnProperty, 'currentSortDirection', 'currentSortIndex')) {
87
- this.requiredUpdates.columnSort = true;
89
+ this.track('columnSort');
88
90
  }
89
91
  else if (isColumnProperty(changedColumnProperty, 'columnHidden')
90
92
  || isColumnInternalsProperty(changedColumnProperty, 'currentFractionalWidth', 'currentPixelWidth', 'minPixelWidth')) {
91
- this.requiredUpdates.columnWidths = true;
93
+ this.track('columnWidths');
92
94
  }
93
95
  else if (isColumnProperty(changedColumnProperty, 'actionMenuSlot')) {
94
- this.requiredUpdates.actionMenuSlots = true;
96
+ this.track('actionMenuSlots');
95
97
  }
96
98
  else if (isColumnInternalsProperty(changedColumnProperty, 'groupIndex', 'groupingDisabled')) {
97
- this.requiredUpdates.groupRows = true;
99
+ this.track('groupRows');
98
100
  }
99
101
  this.queueUpdate();
100
102
  }
101
103
  trackColumnInstancesChanged() {
102
- this.requiredUpdates.columnIds = true;
103
- this.requiredUpdates.columnDefinition = true;
104
- this.requiredUpdates.columnSort = true;
105
- this.requiredUpdates.columnWidths = true;
106
- this.requiredUpdates.actionMenuSlots = true;
107
- this.requiredUpdates.groupRows = true;
104
+ this.track('columnIds');
105
+ this.track('columnDefinition');
106
+ this.track('columnSort');
107
+ this.track('columnWidths');
108
+ this.track('actionMenuSlots');
109
+ this.track('groupRows');
108
110
  this.queueUpdate();
109
111
  }
110
112
  trackIdFieldNameChanged() {
111
- this.requiredUpdates.rowIds = true;
113
+ this.track('rowIds');
112
114
  this.queueUpdate();
113
115
  }
114
116
  trackSelectionModeChanged() {
115
- this.requiredUpdates.selectionMode = true;
117
+ this.track('selectionMode');
116
118
  this.queueUpdate();
117
119
  }
118
- setAllKeys(value) {
119
- Object.keys(this.requiredUpdates).forEach(key => {
120
- this.requiredUpdates[key] = value;
121
- });
122
- }
123
120
  queueUpdate() {
124
121
  if (!this.table.$fastController.isConnected) {
125
122
  return;
@@ -128,10 +125,10 @@ export class UpdateTracker {
128
125
  this.updateQueued = true;
129
126
  DOM.queueUpdate(() => {
130
127
  this.table.update();
131
- this.setAllKeys(false);
128
+ this.untrackAll();
132
129
  this.updateQueued = false;
133
130
  });
134
131
  }
135
132
  }
136
133
  }
137
- //# sourceMappingURL=update-tracker.js.map
134
+ //# sourceMappingURL=table-update-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-update-tracker.js","sourceRoot":"","sources":["../../../../src/table/models/table-update-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
+ import { Validator } from '../../../utilities/models/validator';
1
2
  import type { TableColumnValidity } from '../types';
2
3
  import type { ColumnInternals } from './column-internals';
3
- declare type ObjectFromList<T extends readonly string[]> = {
4
- [K in T extends readonly (infer U)[] ? U : never]: boolean;
5
- };
6
4
  /**
7
5
  * Base column validator
8
6
  */
9
- export declare class ColumnValidator<ValidityFlagNames extends readonly string[]> {
7
+ export declare class ColumnValidator<ValidityFlagNames extends readonly string[]> extends Validator<ValidityFlagNames> {
10
8
  private readonly columnInternals;
11
- protected configValidity: ObjectFromList<ValidityFlagNames>;
12
9
  constructor(columnInternals: ColumnInternals<unknown>, configValidityKeys: ValidityFlagNames);
13
10
  /**
14
11
  * @returns whether the entire column configuration is valid
15
12
  */
16
- isValid(): boolean;
13
+ isValidColumn(): boolean;
17
14
  /**
18
15
  * @returns an object containing flags for various ways the configuation can be invalid
19
16
  */
@@ -24,4 +21,3 @@ export declare class ColumnValidator<ValidityFlagNames extends readonly string[]
24
21
  protected setConditionValue(name: ValidityFlagNames extends readonly (infer U)[] ? U : never, isInvalid: boolean): void;
25
22
  private updateColumnInternalsFlag;
26
23
  }
27
- export {};
@@ -1,37 +1,34 @@
1
+ import { Validator } from '../../../utilities/models/validator';
1
2
  /**
2
3
  * Base column validator
3
4
  */
4
- export class ColumnValidator {
5
+ export class ColumnValidator extends Validator {
5
6
  constructor(columnInternals, configValidityKeys) {
7
+ super(configValidityKeys);
6
8
  this.columnInternals = columnInternals;
7
- this.configValidity = configValidityKeys.reduce((r, key) => {
8
- return {
9
- ...r,
10
- [key]: false
11
- };
12
- },
13
- // eslint-disable-next-line @typescript-eslint/prefer-reduce-type-parameter
14
- {});
15
9
  }
16
10
  /**
17
11
  * @returns whether the entire column configuration is valid
18
12
  */
19
- isValid() {
20
- return Object.values(this.configValidity).every(x => !x);
13
+ isValidColumn() {
14
+ return this.isValid();
21
15
  }
22
16
  /**
23
17
  * @returns an object containing flags for various ways the configuation can be invalid
24
18
  */
25
19
  getValidity() {
26
- return {
27
- ...this.configValidity
28
- };
20
+ return this.getValidationFlags();
29
21
  }
30
22
  /**
31
23
  * Sets a particular validity condition flag's value, e.g. "hasInvalidFooValue" = true
32
24
  */
33
25
  setConditionValue(name, isInvalid) {
34
- this.configValidity[name] = isInvalid;
26
+ if (isInvalid) {
27
+ this.track(name);
28
+ }
29
+ else {
30
+ this.untrack(name);
31
+ }
35
32
  this.updateColumnInternalsFlag();
36
33
  }
37
34
  updateColumnInternalsFlag() {
@@ -1 +1 @@
1
- {"version":3,"file":"column-validator.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-validator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAO,eAAe;IAGxB,YACqB,eAAyC,EAC1D,kBAAqC;QADpB,oBAAe,GAAf,eAAe,CAA0B;QAI1D,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,GAAG,EAAkB,EAAE;YACvB,OAAO;gBACH,GAAG,CAAC;gBACJ,CAAC,GAAG,CAAC,EAAE,KAAK;aACf,CAAC;QACN,CAAC;QACD,2EAA2E;QAC3E,EAAoB,CACvB,CAAC;IACN,CAAC;IAED;;OAEG;IACI,OAAO;QACV,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO;YACH,GAAG,IAAI,CAAC,cAAc;SACzB,CAAC;IACN,CAAC;IAED;;OAEG;IACO,iBAAiB,CACvB,IAAgE,EAChE,SAAkB;QAElB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC;CACJ"}
1
+ {"version":3,"file":"column-validator.js","sourceRoot":"","sources":["../../../../../src/table-column/base/models/column-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAIhE;;GAEG;AACH,MAAM,OAAO,eAEX,SAAQ,SAA4B;IAClC,YACqB,eAAyC,EAC1D,kBAAqC;QAErC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAA0B;IAI9D,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACO,iBAAiB,CACvB,IAAgE,EAChE,SAAkB;QAElB,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC;CACJ"}
@@ -0,0 +1,21 @@
1
+ declare type ObjectFromList<T extends readonly string[]> = {
2
+ [K in T extends readonly (infer U)[] ? U : never]: boolean;
3
+ };
4
+ /**
5
+ * Generic Tracker which sets or resets provided flags
6
+ */
7
+ export declare class Tracker<TrackedItemsList extends readonly string[]> {
8
+ private trackedItems;
9
+ constructor(trackedItemsList: TrackedItemsList);
10
+ getTrackedItems(): ObjectFromList<TrackedItemsList>;
11
+ isTracked(key: keyof ObjectFromList<TrackedItemsList>): boolean;
12
+ track(key: keyof ObjectFromList<TrackedItemsList>): void;
13
+ untrack(key: keyof ObjectFromList<TrackedItemsList>): void;
14
+ trackAll(): void;
15
+ untrackAll(): void;
16
+ allTracked(): boolean;
17
+ anyTracked(): boolean;
18
+ noneTracked(): boolean;
19
+ private setAllKeys;
20
+ }
21
+ export {};
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Generic Tracker which sets or resets provided flags
3
+ */
4
+ export class Tracker {
5
+ constructor(trackedItemsList) {
6
+ this.trackedItems = {};
7
+ this.trackedItems = trackedItemsList.reduce((r, key) => {
8
+ return {
9
+ ...r,
10
+ [key]: false
11
+ };
12
+ }, this.trackedItems);
13
+ }
14
+ getTrackedItems() {
15
+ return { ...this.trackedItems };
16
+ }
17
+ isTracked(key) {
18
+ return this.trackedItems[key];
19
+ }
20
+ track(key) {
21
+ this.trackedItems[key] = true;
22
+ }
23
+ untrack(key) {
24
+ this.trackedItems[key] = false;
25
+ }
26
+ trackAll() {
27
+ this.setAllKeys(true);
28
+ }
29
+ untrackAll() {
30
+ this.setAllKeys(false);
31
+ }
32
+ allTracked() {
33
+ return Object.values(this.trackedItems).every(x => x);
34
+ }
35
+ anyTracked() {
36
+ return Object.values(this.trackedItems).some(x => x);
37
+ }
38
+ noneTracked() {
39
+ return Object.values(this.trackedItems).every(x => !x);
40
+ }
41
+ setAllKeys(value) {
42
+ this.trackedItems = Object.keys(this.trackedItems).reduce((r, key) => {
43
+ return {
44
+ ...r,
45
+ [key]: value
46
+ };
47
+ }, this.trackedItems);
48
+ }
49
+ }
50
+ //# sourceMappingURL=tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../../src/utilities/models/tracker.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,OAAO,OAAO;IAGhB,YAAmB,gBAAkC;QAEjD,IAAI,CAAC,YAAY,GAAG,EAAkB,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,GAAG,EAAgB,EAAE;YACrB,OAAO;gBACH,GAAG,CAAC;gBACJ,CAAC,GAAG,CAAC,EAAE,KAAK;aACf,CAAC;QACN,CAAC,EACD,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;IAEM,eAAe;QAClB,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAEM,SAAS,CAAC,GAA2C;QACxD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,GAA2C;QACpD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAClC,CAAC;IAEM,OAAO,CAAC,GAA2C;QACtD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC;IAEM,QAAQ;QACX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,UAAU;QACb,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,UAAU;QACb,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,WAAW;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,UAAU,CAAC,KAAc;QAE7B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,GAAG,EAAgB,EAAE;YACrB,OAAO;gBACH,GAAG,CAAC;gBACJ,CAAC,GAAG,CAAC,EAAE,KAAK;aACf,CAAC;QACN,CAAC,EACD,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { Tracker } from './tracker';
2
+ /**
3
+ * Generic Update Tracker Utility which extends Tracker Utility with update logic
4
+ */
5
+ export declare abstract class UpdateTracker<TrackedProperties extends readonly string[]> extends Tracker<TrackedProperties> {
6
+ protected abstract queueUpdate(): void;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { Tracker } from './tracker';
2
+ /**
3
+ * Generic Update Tracker Utility which extends Tracker Utility with update logic
4
+ */
5
+ export class UpdateTracker extends Tracker {
6
+ }
7
+ //# sourceMappingURL=update-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tracker.js","sourceRoot":"","sources":["../../../../src/utilities/models/update-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAgB,aAEpB,SAAQ,OAA0B;CAEnC"}
@@ -0,0 +1,9 @@
1
+ import type { ValidityObject } from '../../table/types';
2
+ import { Tracker } from './tracker';
3
+ /**
4
+ * Generic Validator Utility extends Tracker Utility for validation purposes
5
+ */
6
+ export declare class Validator<ValidationFlags extends readonly string[]> extends Tracker<ValidationFlags> {
7
+ isValid(): boolean;
8
+ getValidationFlags(): ValidityObject;
9
+ }