@messaia/cdk 17.1.0-rc07 → 17.1.0-rc08

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.
@@ -47,11 +47,11 @@ export function Table(tableDefinition) {
47
47
  export function Column(args) {
48
48
  return function (target, propertyKey) {
49
49
  let tableColumn = new TableColumn(args);
50
- tableColumn.name ??= propertyKey;
51
- tableColumn.header ??= Reflect.getMetadata(headerMetadataKey, target, propertyKey) || tableColumn.name;
52
- tableColumn.filter ??= tableColumn.name;
53
- tableColumn.sortBy ??= tableColumn.name;
54
- tableColumn.content ??= (row) => {
50
+ tableColumn.name ||= propertyKey;
51
+ tableColumn.header ||= Reflect.getMetadata(headerMetadataKey, target, propertyKey) || tableColumn.name;
52
+ tableColumn.filter ||= tableColumn.name;
53
+ tableColumn.sortBy ||= tableColumn.name;
54
+ tableColumn.content ||= (row) => {
55
55
  /* Get content using property name */
56
56
  var content = Utils.getPropertyValue(row, tableColumn.name);
57
57
  /* Truncate the text if content length is specified */
@@ -61,18 +61,18 @@ export function Column(args) {
61
61
  return content;
62
62
  };
63
63
  tableColumn.configurable = args?.configurable === undefined ? true : args.configurable;
64
- tableColumn.display ??= Grid.All;
64
+ tableColumn.display ||= Grid.All;
65
65
  /* Set type to 'Menu' if menu is specified */
66
66
  if (tableColumn.menu) {
67
- tableColumn.type ??= TableColumnType.Menu;
67
+ tableColumn.type ||= TableColumnType.Menu;
68
68
  }
69
69
  /* Set type to 'IconButton' if iconButton is specified */
70
70
  else if (tableColumn.iconButton) {
71
- tableColumn.type ??= TableColumnType.IconButton;
71
+ tableColumn.type ||= TableColumnType.IconButton;
72
72
  }
73
73
  /* Set type to enum, if enum type is specified */
74
74
  else if (tableColumn.enumType) {
75
- tableColumn.type ??= TableColumnType.Enum;
75
+ tableColumn.type ||= TableColumnType.Enum;
76
76
  tableColumn.multiple = Reflect.getMetadata("design:type", target, propertyKey)?.name?.trim()?.toLowerCase() == 'array';
77
77
  }
78
78
  /* Otherwiese, set type depending on property type */
@@ -81,28 +81,28 @@ export function Column(args) {
81
81
  var propertyType = Reflect.getMetadata("design:type", target, propertyKey)?.name;
82
82
  switch (propertyType.toLowerCase()) {
83
83
  case 'number':
84
- tableColumn.inputType ??= 'number';
85
- tableColumn.type ??= TableColumnType.Number;
86
- tableColumn.filterOperator ??= FilterOperator.Contains;
84
+ tableColumn.inputType ||= 'number';
85
+ tableColumn.type ||= TableColumnType.Number;
86
+ tableColumn.filterOperator ||= FilterOperator.Contains;
87
87
  break;
88
88
  case 'date':
89
- tableColumn.inputType ??= 'date';
90
- tableColumn.type ??= TableColumnType.Date;
91
- tableColumn.maxWidth ??= 94;
89
+ tableColumn.inputType ||= 'date';
90
+ tableColumn.type ||= TableColumnType.Date;
91
+ tableColumn.maxWidth ||= 94;
92
92
  tableColumn.arrowBefore = tableColumn.arrowBefore !== undefined ? tableColumn.arrowBefore : true;
93
93
  break;
94
94
  case 'boolean':
95
- tableColumn.type ??= TableColumnType.Toggle;
96
- tableColumn.options ??= [{ id: false, name: $localize `:@@no:No` }, { id: true, name: $localize `:@@yes:Yes` }];
97
- tableColumn.maxWidth ??= 70;
95
+ tableColumn.type ||= TableColumnType.Toggle;
96
+ tableColumn.options ||= [{ id: false, name: $localize `:@@no:No` }, { id: true, name: $localize `:@@yes:Yes` }];
97
+ tableColumn.maxWidth ||= 70;
98
98
  break;
99
99
  default:
100
- tableColumn.type ??= TableColumnType.Text;
100
+ tableColumn.type ||= TableColumnType.Text;
101
101
  break;
102
102
  }
103
103
  }
104
104
  if (tableColumn.maxWidth) {
105
- tableColumn.width ??= tableColumn.maxWidth;
105
+ tableColumn.width ||= tableColumn.maxWidth;
106
106
  }
107
107
  /* Get old table columns */
108
108
  let previousTableColumns = Reflect.getMetadata(tableColumnsMetadataKey, target);
@@ -118,4 +118,4 @@ export function Column(args) {
118
118
  Reflect.defineMetadata(tableColumnsMetadataKey, tableColumns, target);
119
119
  };
120
120
  }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL2Z1bmN0aW9ucy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHckQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQVUsZUFBNkM7SUFDeEUsT0FBTyxVQUFVLE1BQWdCO1FBQzdCLElBQUksZUFBZSxFQUFFLE9BQU8sRUFBRTtZQUMxQixvREFBb0Q7WUFDcEQsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2YsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDO29CQUMzQixLQUFLLEVBQUUsSUFBSTtvQkFDWCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU07b0JBQzVCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFlBQVksRUFBRSxPQUFPO29CQUNyQixZQUFZLEVB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SUFBSSxvQkFBb0IsR0FBcUIsT0FBTyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRyxtQ0FBbUM7UUFDbkMsb0JBQW9CLEdBQUcsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckYsaUNBQWlDO1FBQ2pDLElBQUksWUFBWSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXJHLHNCQUFzQjtRQUN0QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU5QywrQkFBK0I7UUFDL0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdkMseUNBQXlDO1FBQ3pDLE9BQU8sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XHJcbmltcG9ydCB7IGhlYWRlck1ldGFkYXRhS2V5IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb25zdGFudHMvY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9mdW5jdGlvbnMvdXRpbHNcIjtcclxuaW1wb3J0IHsgdGFibGVDb2x1bW5zTWV0YWRhdGFLZXksIHRhYmxlRGVmaW5pdGlvbk1ldGFkYXRhS2V5IH0gZnJvbSBcIi4uL2NvbnN0YW50cy9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRmlsdGVyT3BlcmF0b3IgfSBmcm9tIFwiLi4vZW51bXMvZmlsdGVyLW9wZXJhdG9yXCI7XHJcbmltcG9ydCB7IEdyaWQgfSBmcm9tIFwiLi4vZW51bXMvZ3JpZFwiO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tIFwiLi4vZW51bXMvdGFibGUtY29sdW1uLXR5cGVcIjtcclxuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vbW9kZWxzL3RhYmxlLWNvbHVtblwiO1xyXG5pbXBvcnQgeyBUYWJsZURlZmluaXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL3RhYmxlLWRlZmluaXRpb25cIjtcclxuXHJcbi8qKlxyXG4gKiBDbGFzcyBkZWNvcmF0b3IgdG8gY3JlYXRlIGEgbWF0LXRhYmxlXHJcbiAqIEBwYXJhbSB0YWJsZURlZmluaXRpb24gXHJcbiAqIEByZXR1cm5zIFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFRhYmxlPFQgPSBhbnk+KHRhYmxlRGVmaW5pdGlvbj86IFBhcnRpYWw8VGFibGVEZWZpbml0aW9uPFQ+Pik6IEZ1bmN0aW9uIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBGdW5jdGlvbikge1xyXG4gICAgICAgIGlmICh0YWJsZURlZmluaXRpb24/LmNvbHVtbnMpIHtcclxuICAgICAgICAgICAgLyogQWRkIGFjdGlvbiBtZW51cyBmcm9tIHRhYmxlIGRlZmluaXRpb24sIGlmIGFueSAqL1xyXG4gICAgICAgICAgICB2YXIgYWN0aW9uQ29sbXVuID0gdGFibGVEZWZpbml0aW9uLmNvbHVtbnM/LmZpbmQoeCA9PiB4Lm5hbWUgPT0gJ2FjdGlvbicpO1xyXG4gICAgICAgICAgICBpZiAoIWFjdGlvbkNvbG11bikge1xyXG4gICAgICAgICAgICAgICAgYWN0aW9uQ29sbXVuID0gbmV3IFRhYmxlQ29sdW1uKHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogMjAwMCxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnYWN0aW9uJyxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBUYWJsZUNvbHVtblR5cGUuQWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJvd01lbnVJdGVtczogYWN0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvKiBBZGQgdGhlIGFjdGlvbiBjb2x1bW4gaW50byB0aGUgdGFibGUgY29sdW1ucyAqL1xyXG4gICAgICAgICAgICAgICAgdGFibGVEZWZpbml0aW9uLmNvbHVtbnMucHVzaChhY3Rpb25Db2xtdW4pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKiBHZXQgY3VzdG9tIGFjdGlvbiwgaWYgYW55ICovXHJcbiAgICAgICAgICAgIHZhciBhY3Rpb25zID0gdGFibGVEZWZpbml0aW9uPy5hY3Rpb25zO1xyXG4gICAgICAgICAgICBpZiAoYWN0aW9ucyAhPSBudWxsICYmIGFjdGlvbkNvbG11biAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICBhY3Rpb25Db2xtdW4ucm93TWVudUl0ZW1zID8/PSBbXTtcclxuICAgICAgICAgICAgICAgIGFjdGlvbnMuZm9yRWFjaCh5ID0+IGFjdGlvbkNvbG11biEucm93TWVudUl0ZW1zIS5wdXNoKHkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU2F2ZSB0aGUgdGFibGUgZGVmaW50aW9uIGluIHRoZSBtZXRhZGF0YSAqL1xyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEodGFibGVEZWZpbml0aW9uTWV0YWRhdGFLZXksIHRhYmxlRGVmaW5pdGlvbiwgdGFyZ2V0KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgdG8gY3JlYXRlIHRhYmxlIGNvbHVtbnNcclxuICogQHBhcmFtIGFyZ3MgXHJcbiAqIEByZXR1cm5zIFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENvbHVtbjxUID0gYW55PihhcmdzPzogUGFydGlhbDxUYWJsZUNvbHVtbjxUPj4pOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHRhYmxlQ29sdW1uID0gbmV3IFRhYmxlQ29sdW1uKGFyZ3MpO1xyXG5cclxuICAgICAgICB0YWJsZUNvbHVtbi5uYW1lID8/PSBwcm9wZXJ0eUtleTtcclxuICAgICAgICB0YWJsZUNvbHVtbi5oZWFkZXIgPz89IFJlZmxlY3QuZ2V0TWV0YWRhdGEoaGVhZGVyTWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkpIHx8IHRhYmxlQ29sdW1uLm5hbWU7XHJcbiAgICAgICAgdGFibGVDb2x1bW4uZmlsdGVyID8/PSB0YWJsZUNvbHVtbi5uYW1lO1xyXG4gICAgICAgIHRhYmxlQ29sdW1uLnNvcnRCeSA/Pz0gdGFibGVDb2x1bW4ubmFtZTtcclxuICAgICAgICB0YWJsZUNvbHVtbi5jb250ZW50ID8/PSAocm93OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLyogR2V0IGNvbnRlbnQgdXNpbmcgcHJvcGVydHkgbmFtZSAqL1xyXG4gICAgICAgICAgICB2YXIgY29udGVudCA9IFV0aWxzLmdldFByb3BlcnR5VmFsdWUocm93LCB0YWJsZUNvbHVtbi5uYW1lKTtcclxuXHJcbiAgICAgICAgICAgIC8qIFRydW5jYXRlIHRoZSB0ZXh0IGlmIGNvbnRlbnQgbGVuZ3RoIGlzIHNwZWNpZmllZCAqL1xyXG4gICAgICAgICAgICBpZiAoKHRhYmxlQ29sdW1uPy5jb250ZW50TGVuZ3RoID8/IDApID4gMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFV0aWxzLnRydW5jYXRlVGV4dChjb250ZW50LCB0YWJsZUNvbHVtbiEuY29udGVudExlbmd0aCEpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudDtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRhYmxlQ29sdW1uLmNvbmZpZ3VyYWJsZSA9IGFyZ3M/LmNvbmZpZ3VyYWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGFyZ3MuY29uZmlndXJhYmxlO1xyXG4gICAgICAgIHRhYmxlQ29sdW1uLmRpc3BsYXkgPz89IEdyaWQuQWxsO1xyXG5cclxuICAgICAgICAvKiBTZXQgdHlwZSB0byAnTWVudScgaWYgbWVudSBpcyBzcGVjaWZpZWQgKi9cclxuICAgICAgICBpZiAodGFibGVDb2x1bW4ubWVudSkge1xyXG4gICAgICAgICAgICB0YWJsZUNvbHVtbi50eXBlID8/PSBUYWJsZUNvbHVtblR5cGUuTWVudTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFNldCB0eXBlIHRvICdJY29uQnV0dG9uJyBpZiBpY29uQnV0dG9uIGlzIHNwZWNpZmllZCAqL1xyXG4gICAgICAgIGVsc2UgaWYgKHRhYmxlQ29sdW1uLmljb25CdXR0b24pIHtcclxuICAgICAgICAgICAgdGFibGVDb2x1bW4udHlwZSA/Pz0gVGFibGVDb2x1bW5UeXBlLkljb25CdXR0b247XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBTZXQgdHlwZSB0byBlbnVtLCBpZiBlbnVtIHR5cGUgaXMgc3BlY2lmaWVkICovXHJcbiAgICAgICAgZWxzZSBpZiAodGFibGVDb2x1bW4uZW51bVR5cGUpIHtcclxuICAgICAgICAgICAgdGFibGVDb2x1bW4udHlwZSA/Pz0gVGFibGVDb2x1bW5UeXBlLkVudW07XHJcbiAgICAgICAgICAgIHRhYmxlQ29sdW1uLm11bHRpcGxlID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIHRhcmdldCwgcHJvcGVydHlLZXkpPy5uYW1lPy50cmltKCk/LnRvTG93ZXJDYXNlKCkgPT0gJ2FycmF5JztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE90aGVyd2llc2UsIHNldCB0eXBlIGRlcGVuZGluZyBvbiBwcm9wZXJ0eSB0eXBlICovXHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8qIEdldCBwcm9wZXJ0eSB0eXBlICovXHJcbiAgICAgICAgICAgIHZhciBwcm9wZXJ0eVR5cGU6IHN0cmluZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCB0YXJnZXQsIHByb3BlcnR5S2V5KT8ubmFtZTtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eVR5cGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbHVtbi5pbnB1dFR5cGUgPz89ICdudW1iZXInO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLnR5cGUgPz89IFRhYmxlQ29sdW1uVHlwZS5OdW1iZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFibGVDb2x1bW4uZmlsdGVyT3BlcmF0b3IgPz89IEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLmlucHV0VHlwZSA/Pz0gJ2RhdGUnO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLnR5cGUgPz89IFRhYmxlQ29sdW1uVHlwZS5EYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLm1heFdpZHRoID8/PSA5NDtcclxuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbHVtbi5hcnJvd0JlZm9yZSA9IHRhYmxlQ29sdW1uLmFycm93QmVmb3JlICE9PSB1bmRlZmluZWQgPyB0YWJsZUNvbHVtbi5hcnJvd0JlZm9yZSA6IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgdGFibGVDb2x1bW4udHlwZSA/Pz0gVGFibGVDb2x1bW5UeXBlLlRvZ2dsZTtcclxuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbHVtbi5vcHRpb25zID8/PSBbeyBpZDogZmFsc2UsIG5hbWU6ICRsb2NhbGl6ZWA6QEBubzpOb2AgfSwgeyBpZDogdHJ1ZSwgbmFtZTogJGxvY2FsaXplYDpAQHllczpZZXNgIH1dO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLm1heFdpZHRoID8/PSA3MDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLnR5cGUgPz89IFRhYmxlQ29sdW1uVHlwZS5UZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGFibGVDb2x1bW4ubWF4V2lkdGgpIHtcclxuICAgICAgICAgICAgdGFibGVDb2x1bW4ud2lkdGggPz89IHRhYmxlQ29sdW1uLm1heFdpZHRoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogR2V0IG9sZCB0YWJsZSBjb2x1bW5zICovXHJcbiAgICAgICAgbGV0IHByZXZpb3VzVGFibGVDb2x1bW5zOiBUYWJsZUNvbHVtbjxUPltdID0gUmVmbGVjdC5nZXRNZXRhZGF0YSh0YWJsZUNvbHVtbnNNZXRhZGF0YUtleSwgdGFyZ2V0KTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGZpZWxkLCBpZiBleGlzdHMgKi9cclxuICAgICAgICBwcmV2aW91c1RhYmxlQ29sdW1ucyA9IHByZXZpb3VzVGFibGVDb2x1bW5zPy5maWx0ZXIoeCA9PiB4Lm5hbWUgIT0gdGFibGVDb2x1bW4ubmFtZSk7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSBhIGNvcHkgb2YgdGhlIHJlc3VsdCAqL1xyXG4gICAgICAgIGxldCB0YWJsZUNvbHVtbnMgPSBwcmV2aW91c1RhYmxlQ29sdW1ucyA/IHByZXZpb3VzVGFibGVDb2x1bW5zLmNvbmNhdChbdGFibGVDb2x1bW5dKSA6IFt0YWJsZUNvbHVtbl07XHJcblxyXG4gICAgICAgIC8qIFNldCBjb2x1bW4gaW5kZXggKi9cclxuICAgICAgICB0YWJsZUNvbHVtbnMuZm9yRWFjaCgoeCwgaSkgPT4geC5pbmRleCA/Pz0gaSk7XHJcblxyXG4gICAgICAgIC8qIFNvcnQgdGhlIGNvbHVtbnMgYnkgaW5kZXggKi9cclxuICAgICAgICBVdGlscy5zb3J0QXJyYXkodGFibGVDb2x1bW5zLCAnaW5kZXgnKTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKHRhYmxlQ29sdW1uc01ldGFkYXRhS2V5LCB0YWJsZUNvbHVtbnMsIHRhcmdldCk7XHJcbiAgICB9O1xyXG59Il19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL2Z1bmN0aW9ucy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHckQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQVUsZUFBNkM7SUFDeEUsT0FBTyxVQUFVLE1BQWdCO1FBQzdCLElBQUksZUFBZSxFQUFFLE9BQU8sRUFBRTtZQUMxQixvREFBb0Q7WUFDcEQsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2YsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDO29CQUMzQixLQUFLLEVBQUUsSUFBSTtvQkFDWCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU07b0JBQzVCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFlBQVksRUFBRSxPQUFPO29CQUNyQixZQUFZLEVBQUUsS0FBSztpQkFDdEIsQ0FBQyxDQUFDO2dCQUVILGtEQUFrRDtnQkFDbEQsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDOUM7WUFFRCwrQkFBK0I7WUFDL0IsSUFBSSxPQUFPLEdBQUcsZUFBZSxFQUFFLE9BQU8sQ0FBQztZQUN2QyxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksWUFBWSxJQUFJLElBQUksRUFBRTtnQkFDekMsWUFBWSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFhLENBQUMsWUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1NBQ0o7UUFFRCw4Q0FBOEM7UUFDOUMsT0FBTyxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEYsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFVLElBQThCO0lBQzFELE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsSUFBSSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsV0FBVyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7UUFDakMsV0FBVyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3ZHLFdBQVcsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztRQUN4QyxXQUFXLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDeEMsV0FBVyxDQUFDLE9BQU8sS0FBSyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2pDLHFDQUFxQztZQUNyQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU1RCxzREFBc0Q7WUFDdEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QyxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFdBQVksQ0FBQyxhQUFjLENBQUMsQ0FBQzthQUNuRTtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUNGLFdBQVcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2RixXQUFXLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7UUFFakMsNkNBQTZDO1FBQzdDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtZQUNsQixXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxJQUFJLENBQUM7U0FDN0M7UUFFRCx5REFBeUQ7YUFDcEQsSUFBSSxXQUFXLENBQUMsVUFBVSxFQUFFO1lBQzdCLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLFVBQVUsQ0FBQztTQUNuRDtRQUVELGlEQUFpRDthQUM1QyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDM0IsV0FBVyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQzFDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxPQUFPLENBQUM7U0FDMUg7UUFFRCxxREFBcUQ7YUFDaEQ7WUFDRCx1QkFBdUI7WUFDdkIsSUFBSSxZQUFZLEdBQVcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUN6RixRQUFRLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDaEMsS0FBSyxRQUFRO29CQUNULFdBQVcsQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDO29CQUNuQyxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQUM7b0JBQzVDLFdBQVcsQ0FBQyxjQUFjLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQztvQkFDdkQsTUFBTTtnQkFFVixLQUFLLE1BQU07b0JBQ1AsV0FBVyxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUM7b0JBQ2pDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDMUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUM7b0JBQzVCLFdBQVcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDakcsTUFBTTtnQkFFVixLQUFLLFNBQVM7b0JBQ1YsV0FBVyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsTUFBTSxDQUFDO29CQUM1QyxXQUFXLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUEsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUEsWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDOUcsV0FBVyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUM7b0JBQzVCLE1BQU07Z0JBRVY7b0JBQ0ksV0FBVyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsSUFBSSxDQUFDO29CQUMxQyxNQUFNO2FBQ2I7U0FDSjtRQUVELElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUN0QixXQUFXLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUM7U0FDOUM7UUFFRCwyQkFBMkI7UUFDM0IsSUFBSSxvQkFBb0IsR0FBcUIsT0FBTyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRyxtQ0FBbUM7UUFDbkMsb0JBQW9CLEdBQUcsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckYsaUNBQWlDO1FBQ2pDLElBQUksWUFBWSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXJHLHNCQUFzQjtRQUN0QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU5QywrQkFBK0I7UUFDL0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdkMseUNBQXlDO1FBQ3pDLE9BQU8sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XHJcbmltcG9ydCB7IGhlYWRlck1ldGFkYXRhS2V5IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb25zdGFudHMvY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9mdW5jdGlvbnMvdXRpbHNcIjtcclxuaW1wb3J0IHsgdGFibGVDb2x1bW5zTWV0YWRhdGFLZXksIHRhYmxlRGVmaW5pdGlvbk1ldGFkYXRhS2V5IH0gZnJvbSBcIi4uL2NvbnN0YW50cy9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRmlsdGVyT3BlcmF0b3IgfSBmcm9tIFwiLi4vZW51bXMvZmlsdGVyLW9wZXJhdG9yXCI7XHJcbmltcG9ydCB7IEdyaWQgfSBmcm9tIFwiLi4vZW51bXMvZ3JpZFwiO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tIFwiLi4vZW51bXMvdGFibGUtY29sdW1uLXR5cGVcIjtcclxuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vbW9kZWxzL3RhYmxlLWNvbHVtblwiO1xyXG5pbXBvcnQgeyBUYWJsZURlZmluaXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL3RhYmxlLWRlZmluaXRpb25cIjtcclxuXHJcbi8qKlxyXG4gKiBDbGFzcyBkZWNvcmF0b3IgdG8gY3JlYXRlIGEgbWF0LXRhYmxlXHJcbiAqIEBwYXJhbSB0YWJsZURlZmluaXRpb24gXHJcbiAqIEByZXR1cm5zIFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFRhYmxlPFQgPSBhbnk+KHRhYmxlRGVmaW5pdGlvbj86IFBhcnRpYWw8VGFibGVEZWZpbml0aW9uPFQ+Pik6IEZ1bmN0aW9uIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBGdW5jdGlvbikge1xyXG4gICAgICAgIGlmICh0YWJsZURlZmluaXRpb24/LmNvbHVtbnMpIHtcclxuICAgICAgICAgICAgLyogQWRkIGFjdGlvbiBtZW51cyBmcm9tIHRhYmxlIGRlZmluaXRpb24sIGlmIGFueSAqL1xyXG4gICAgICAgICAgICB2YXIgYWN0aW9uQ29sbXVuID0gdGFibGVEZWZpbml0aW9uLmNvbHVtbnM/LmZpbmQoeCA9PiB4Lm5hbWUgPT0gJ2FjdGlvbicpO1xyXG4gICAgICAgICAgICBpZiAoIWFjdGlvbkNvbG11bikge1xyXG4gICAgICAgICAgICAgICAgYWN0aW9uQ29sbXVuID0gbmV3IFRhYmxlQ29sdW1uKHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogMjAwMCxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnYWN0aW9uJyxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBUYWJsZUNvbHVtblR5cGUuQWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJvd01lbnVJdGVtczogYWN0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvKiBBZGQgdGhlIGFjdGlvbiBjb2x1bW4gaW50byB0aGUgdGFibGUgY29sdW1ucyAqL1xyXG4gICAgICAgICAgICAgICAgdGFibGVEZWZpbml0aW9uLmNvbHVtbnMucHVzaChhY3Rpb25Db2xtdW4pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKiBHZXQgY3VzdG9tIGFjdGlvbiwgaWYgYW55ICovXHJcbiAgICAgICAgICAgIHZhciBhY3Rpb25zID0gdGFibGVEZWZpbml0aW9uPy5hY3Rpb25zO1xyXG4gICAgICAgICAgICBpZiAoYWN0aW9ucyAhPSBudWxsICYmIGFjdGlvbkNvbG11biAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICBhY3Rpb25Db2xtdW4ucm93TWVudUl0ZW1zID8/PSBbXTtcclxuICAgICAgICAgICAgICAgIGFjdGlvbnMuZm9yRWFjaCh5ID0+IGFjdGlvbkNvbG11biEucm93TWVudUl0ZW1zIS5wdXNoKHkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU2F2ZSB0aGUgdGFibGUgZGVmaW50aW9uIGluIHRoZSBtZXRhZGF0YSAqL1xyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEodGFibGVEZWZpbml0aW9uTWV0YWRhdGFLZXksIHRhYmxlRGVmaW5pdGlvbiwgdGFyZ2V0KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgdG8gY3JlYXRlIHRhYmxlIGNvbHVtbnNcclxuICogQHBhcmFtIGFyZ3MgXHJcbiAqIEByZXR1cm5zIFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENvbHVtbjxUID0gYW55PihhcmdzPzogUGFydGlhbDxUYWJsZUNvbHVtbjxUPj4pOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHRhYmxlQ29sdW1uID0gbmV3IFRhYmxlQ29sdW1uKGFyZ3MpO1xyXG5cclxuICAgICAgICB0YWJsZUNvbHVtbi5uYW1lIHx8PSBwcm9wZXJ0eUtleTtcclxuICAgICAgICB0YWJsZUNvbHVtbi5oZWFkZXIgfHw9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoaGVhZGVyTWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkpIHx8IHRhYmxlQ29sdW1uLm5hbWU7XHJcbiAgICAgICAgdGFibGVDb2x1bW4uZmlsdGVyIHx8PSB0YWJsZUNvbHVtbi5uYW1lO1xyXG4gICAgICAgIHRhYmxlQ29sdW1uLnNvcnRCeSB8fD0gdGFibGVDb2x1bW4ubmFtZTtcclxuICAgICAgICB0YWJsZUNvbHVtbi5jb250ZW50IHx8PSAocm93OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLyogR2V0IGNvbnRlbnQgdXNpbmcgcHJvcGVydHkgbmFtZSAqL1xyXG4gICAgICAgICAgICB2YXIgY29udGVudCA9IFV0aWxzLmdldFByb3BlcnR5VmFsdWUocm93LCB0YWJsZUNvbHVtbi5uYW1lKTtcclxuXHJcbiAgICAgICAgICAgIC8qIFRydW5jYXRlIHRoZSB0ZXh0IGlmIGNvbnRlbnQgbGVuZ3RoIGlzIHNwZWNpZmllZCAqL1xyXG4gICAgICAgICAgICBpZiAoKHRhYmxlQ29sdW1uPy5jb250ZW50TGVuZ3RoID8/IDApID4gMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFV0aWxzLnRydW5jYXRlVGV4dChjb250ZW50LCB0YWJsZUNvbHVtbiEuY29udGVudExlbmd0aCEpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudDtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRhYmxlQ29sdW1uLmNvbmZpZ3VyYWJsZSA9IGFyZ3M/LmNvbmZpZ3VyYWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGFyZ3MuY29uZmlndXJhYmxlO1xyXG4gICAgICAgIHRhYmxlQ29sdW1uLmRpc3BsYXkgfHw9IEdyaWQuQWxsO1xyXG5cclxuICAgICAgICAvKiBTZXQgdHlwZSB0byAnTWVudScgaWYgbWVudSBpcyBzcGVjaWZpZWQgKi9cclxuICAgICAgICBpZiAodGFibGVDb2x1bW4ubWVudSkge1xyXG4gICAgICAgICAgICB0YWJsZUNvbHVtbi50eXBlIHx8PSBUYWJsZUNvbHVtblR5cGUuTWVudTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFNldCB0eXBlIHRvICdJY29uQnV0dG9uJyBpZiBpY29uQnV0dG9uIGlzIHNwZWNpZmllZCAqL1xyXG4gICAgICAgIGVsc2UgaWYgKHRhYmxlQ29sdW1uLmljb25CdXR0b24pIHtcclxuICAgICAgICAgICAgdGFibGVDb2x1bW4udHlwZSB8fD0gVGFibGVDb2x1bW5UeXBlLkljb25CdXR0b247XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBTZXQgdHlwZSB0byBlbnVtLCBpZiBlbnVtIHR5cGUgaXMgc3BlY2lmaWVkICovXHJcbiAgICAgICAgZWxzZSBpZiAodGFibGVDb2x1bW4uZW51bVR5cGUpIHtcclxuICAgICAgICAgICAgdGFibGVDb2x1bW4udHlwZSB8fD0gVGFibGVDb2x1bW5UeXBlLkVudW07XHJcbiAgICAgICAgICAgIHRhYmxlQ29sdW1uLm11bHRpcGxlID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIHRhcmdldCwgcHJvcGVydHlLZXkpPy5uYW1lPy50cmltKCk/LnRvTG93ZXJDYXNlKCkgPT0gJ2FycmF5JztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE90aGVyd2llc2UsIHNldCB0eXBlIGRlcGVuZGluZyBvbiBwcm9wZXJ0eSB0eXBlICovXHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8qIEdldCBwcm9wZXJ0eSB0eXBlICovXHJcbiAgICAgICAgICAgIHZhciBwcm9wZXJ0eVR5cGU6IHN0cmluZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCB0YXJnZXQsIHByb3BlcnR5S2V5KT8ubmFtZTtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eVR5cGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbHVtbi5pbnB1dFR5cGUgfHw9ICdudW1iZXInO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLnR5cGUgfHw9IFRhYmxlQ29sdW1uVHlwZS5OdW1iZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFibGVDb2x1bW4uZmlsdGVyT3BlcmF0b3IgfHw9IEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLmlucHV0VHlwZSB8fD0gJ2RhdGUnO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLnR5cGUgfHw9IFRhYmxlQ29sdW1uVHlwZS5EYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLm1heFdpZHRoIHx8PSA5NDtcclxuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbHVtbi5hcnJvd0JlZm9yZSA9IHRhYmxlQ29sdW1uLmFycm93QmVmb3JlICE9PSB1bmRlZmluZWQgPyB0YWJsZUNvbHVtbi5hcnJvd0JlZm9yZSA6IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgdGFibGVDb2x1bW4udHlwZSB8fD0gVGFibGVDb2x1bW5UeXBlLlRvZ2dsZTtcclxuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbHVtbi5vcHRpb25zIHx8PSBbeyBpZDogZmFsc2UsIG5hbWU6ICRsb2NhbGl6ZWA6QEBubzpOb2AgfSwgeyBpZDogdHJ1ZSwgbmFtZTogJGxvY2FsaXplYDpAQHllczpZZXNgIH1dO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLm1heFdpZHRoIHx8PSA3MDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ29sdW1uLnR5cGUgfHw9IFRhYmxlQ29sdW1uVHlwZS5UZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGFibGVDb2x1bW4ubWF4V2lkdGgpIHtcclxuICAgICAgICAgICAgdGFibGVDb2x1bW4ud2lkdGggfHw9IHRhYmxlQ29sdW1uLm1heFdpZHRoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogR2V0IG9sZCB0YWJsZSBjb2x1bW5zICovXHJcbiAgICAgICAgbGV0IHByZXZpb3VzVGFibGVDb2x1bW5zOiBUYWJsZUNvbHVtbjxUPltdID0gUmVmbGVjdC5nZXRNZXRhZGF0YSh0YWJsZUNvbHVtbnNNZXRhZGF0YUtleSwgdGFyZ2V0KTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGZpZWxkLCBpZiBleGlzdHMgKi9cclxuICAgICAgICBwcmV2aW91c1RhYmxlQ29sdW1ucyA9IHByZXZpb3VzVGFibGVDb2x1bW5zPy5maWx0ZXIoeCA9PiB4Lm5hbWUgIT0gdGFibGVDb2x1bW4ubmFtZSk7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSBhIGNvcHkgb2YgdGhlIHJlc3VsdCAqL1xyXG4gICAgICAgIGxldCB0YWJsZUNvbHVtbnMgPSBwcmV2aW91c1RhYmxlQ29sdW1ucyA/IHByZXZpb3VzVGFibGVDb2x1bW5zLmNvbmNhdChbdGFibGVDb2x1bW5dKSA6IFt0YWJsZUNvbHVtbl07XHJcblxyXG4gICAgICAgIC8qIFNldCBjb2x1bW4gaW5kZXggKi9cclxuICAgICAgICB0YWJsZUNvbHVtbnMuZm9yRWFjaCgoeCwgaSkgPT4geC5pbmRleCA/Pz0gaSk7XHJcblxyXG4gICAgICAgIC8qIFNvcnQgdGhlIGNvbHVtbnMgYnkgaW5kZXggKi9cclxuICAgICAgICBVdGlscy5zb3J0QXJyYXkodGFibGVDb2x1bW5zLCAnaW5kZXgnKTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKHRhYmxlQ29sdW1uc01ldGFkYXRhS2V5LCB0YWJsZUNvbHVtbnMsIHRhcmdldCk7XHJcbiAgICB9O1xyXG59Il19
@@ -1540,11 +1540,11 @@ function Table(tableDefinition) {
1540
1540
  function Column(args) {
1541
1541
  return function (target, propertyKey) {
1542
1542
  let tableColumn = new TableColumn(args);
1543
- tableColumn.name ??= propertyKey;
1544
- tableColumn.header ??= Reflect.getMetadata(headerMetadataKey, target, propertyKey) || tableColumn.name;
1545
- tableColumn.filter ??= tableColumn.name;
1546
- tableColumn.sortBy ??= tableColumn.name;
1547
- tableColumn.content ??= (row) => {
1543
+ tableColumn.name ||= propertyKey;
1544
+ tableColumn.header ||= Reflect.getMetadata(headerMetadataKey, target, propertyKey) || tableColumn.name;
1545
+ tableColumn.filter ||= tableColumn.name;
1546
+ tableColumn.sortBy ||= tableColumn.name;
1547
+ tableColumn.content ||= (row) => {
1548
1548
  /* Get content using property name */
1549
1549
  var content = Utils.getPropertyValue(row, tableColumn.name);
1550
1550
  /* Truncate the text if content length is specified */
@@ -1554,18 +1554,18 @@ function Column(args) {
1554
1554
  return content;
1555
1555
  };
1556
1556
  tableColumn.configurable = args?.configurable === undefined ? true : args.configurable;
1557
- tableColumn.display ??= Grid.All;
1557
+ tableColumn.display ||= Grid.All;
1558
1558
  /* Set type to 'Menu' if menu is specified */
1559
1559
  if (tableColumn.menu) {
1560
- tableColumn.type ??= TableColumnType.Menu;
1560
+ tableColumn.type ||= TableColumnType.Menu;
1561
1561
  }
1562
1562
  /* Set type to 'IconButton' if iconButton is specified */
1563
1563
  else if (tableColumn.iconButton) {
1564
- tableColumn.type ??= TableColumnType.IconButton;
1564
+ tableColumn.type ||= TableColumnType.IconButton;
1565
1565
  }
1566
1566
  /* Set type to enum, if enum type is specified */
1567
1567
  else if (tableColumn.enumType) {
1568
- tableColumn.type ??= TableColumnType.Enum;
1568
+ tableColumn.type ||= TableColumnType.Enum;
1569
1569
  tableColumn.multiple = Reflect.getMetadata("design:type", target, propertyKey)?.name?.trim()?.toLowerCase() == 'array';
1570
1570
  }
1571
1571
  /* Otherwiese, set type depending on property type */
@@ -1574,28 +1574,28 @@ function Column(args) {
1574
1574
  var propertyType = Reflect.getMetadata("design:type", target, propertyKey)?.name;
1575
1575
  switch (propertyType.toLowerCase()) {
1576
1576
  case 'number':
1577
- tableColumn.inputType ??= 'number';
1578
- tableColumn.type ??= TableColumnType.Number;
1579
- tableColumn.filterOperator ??= FilterOperator.Contains;
1577
+ tableColumn.inputType ||= 'number';
1578
+ tableColumn.type ||= TableColumnType.Number;
1579
+ tableColumn.filterOperator ||= FilterOperator.Contains;
1580
1580
  break;
1581
1581
  case 'date':
1582
- tableColumn.inputType ??= 'date';
1583
- tableColumn.type ??= TableColumnType.Date;
1584
- tableColumn.maxWidth ??= 94;
1582
+ tableColumn.inputType ||= 'date';
1583
+ tableColumn.type ||= TableColumnType.Date;
1584
+ tableColumn.maxWidth ||= 94;
1585
1585
  tableColumn.arrowBefore = tableColumn.arrowBefore !== undefined ? tableColumn.arrowBefore : true;
1586
1586
  break;
1587
1587
  case 'boolean':
1588
- tableColumn.type ??= TableColumnType.Toggle;
1589
- tableColumn.options ??= [{ id: false, name: $localize `:@@no:No` }, { id: true, name: $localize `:@@yes:Yes` }];
1590
- tableColumn.maxWidth ??= 70;
1588
+ tableColumn.type ||= TableColumnType.Toggle;
1589
+ tableColumn.options ||= [{ id: false, name: $localize `:@@no:No` }, { id: true, name: $localize `:@@yes:Yes` }];
1590
+ tableColumn.maxWidth ||= 70;
1591
1591
  break;
1592
1592
  default:
1593
- tableColumn.type ??= TableColumnType.Text;
1593
+ tableColumn.type ||= TableColumnType.Text;
1594
1594
  break;
1595
1595
  }
1596
1596
  }
1597
1597
  if (tableColumn.maxWidth) {
1598
- tableColumn.width ??= tableColumn.maxWidth;
1598
+ tableColumn.width ||= tableColumn.maxWidth;
1599
1599
  }
1600
1600
  /* Get old table columns */
1601
1601
  let previousTableColumns = Reflect.getMetadata(tableColumnsMetadataKey, target);