@mediusinc/mng-commons 5.0.0-rc.2 → 5.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/data-providers/base-data-provider.factory.d.ts +13 -0
- package/core/data-providers/base.data-provider.d.ts +2 -14
- package/core/descriptors/editor.descriptor.d.ts +1 -1
- package/core/descriptors/tableview.descriptor.d.ts +5 -5
- package/core/directives/component.directive.d.ts +2 -2
- package/core/index.d.ts +1 -0
- package/core/security/permission.service.d.ts +1 -0
- package/core/services/commons-router.service.d.ts +3 -3
- package/core/services/commons.service.d.ts +31 -42
- package/core/services/tokens/module-config.token.d.ts +2 -2
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +3 -3
- package/esm2022/core/components/pages/error/error.page.component.mjs +3 -3
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +3 -3
- package/esm2022/core/data-providers/base-data-provider.factory.mjs +28 -0
- package/esm2022/core/data-providers/base.data-provider.mjs +1 -31
- package/esm2022/core/descriptors/editor.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
- package/esm2022/core/directives/component.directive.mjs +10 -7
- package/esm2022/core/index.mjs +2 -1
- package/esm2022/core/security/permission.service.mjs +4 -2
- package/esm2022/core/services/commons-init.service.mjs +2 -2
- package/esm2022/core/services/commons-router.service.mjs +16 -15
- package/esm2022/core/services/commons.service.mjs +109 -166
- package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +4 -4
- package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +31 -0
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -31
- package/esm2022/form/api/index.mjs +2 -1
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +92 -83
- package/esm2022/form/components/dropdown/dropdown.component.mjs +145 -87
- package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +8 -0
- package/esm2022/model/descriptors/enum.descriptor.mjs +3 -6
- package/esm2022/model/descriptors/model.descriptor.mjs +22 -9
- package/esm2022/model/descriptors/type.descriptor.mjs +3 -9
- package/esm2022/model/index.mjs +3 -1
- package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +33 -0
- package/esm2022/table/api/data-providers/table.data-provider.mjs +1 -31
- package/esm2022/table/api/descriptors/sort.descriptor.mjs +2 -2
- package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +89 -0
- package/esm2022/table/api/descriptors/table.descriptor.mjs +4 -139
- package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +97 -0
- package/esm2022/table/api/index.mjs +4 -1
- package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +6 -7
- package/esm2022/table/components/column-value/column-value.component.mjs +2 -2
- package/esm2022/table/components/table/table.component.mjs +5 -5
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +2 -2
- package/esm2022/table/services/data-list.service.mjs +1 -1
- package/esm2022/tableview/action/components/action/action.component.mjs +140 -188
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +56 -66
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +119 -141
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +21 -39
- package/esm2022/tableview/action/components/route/action-route.component.mjs +17 -23
- package/esm2022/tableview/action/components/table/action-table.component.mjs +1 -1
- package/esm2022/tableview/action/services/action-executor.service.mjs +9 -9
- package/esm2022/tableview/action/services/navigation.service.mjs +3 -2
- package/esm2022/tableview/action/services/view-container.service.mjs +5 -21
- package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +119 -0
- package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +77 -0
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +20 -80
- package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +45 -0
- package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -32
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +3 -69
- package/esm2022/tableview/api/action/models/action-component.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +1 -1
- package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +33 -0
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +1 -31
- package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +81 -0
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +7 -133
- package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +13 -5
- package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +4 -4
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +3 -3
- package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +95 -0
- package/esm2022/tableview/api/editor/helpers/field-validators.mjs +7 -7
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/field-validation.model.mjs +2 -0
- package/esm2022/tableview/api/editor/models/field.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
- package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +1 -1
- package/esm2022/tableview/api/editor/models/formly-field.model.mjs +1 -1
- package/esm2022/tableview/api/index.mjs +11 -1
- package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +47 -0
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +5 -46
- package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +111 -0
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +15 -168
- package/esm2022/tableview/api/tableview/helpers/files-export.mjs +2 -2
- package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +5 -5
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +53 -18
- package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +110 -0
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +2 -2
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +16 -11
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +6 -2
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +10 -11
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +1 -1
- package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +9 -11
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +16 -18
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +20 -22
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +18 -20
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +27 -6
- package/esm2022/tableview/editor/services/form-editor.service.mjs +96 -0
- package/esm2022/tableview/index.mjs +2 -1
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -3
- package/fesm2022/mediusinc-mng-commons-core.mjs +155 -210
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +3 -3
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +18 -18
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +236 -169
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs +43 -33
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +192 -146
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +11 -12
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +822 -590
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +564 -571
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/form/api/data-providers/lookup-data-provider.factory.d.ts +18 -0
- package/form/api/data-providers/lookup.data-provider.d.ts +2 -14
- package/form/api/index.d.ts +1 -0
- package/form/components/autocomplete/autocomplete.component.d.ts +31 -23
- package/form/components/dropdown/dropdown.component.d.ts +38 -25
- package/model/data-providers/base-from-type-data-provider.factory.d.ts +8 -0
- package/model/descriptors/enum.descriptor.d.ts +1 -2
- package/model/descriptors/model.descriptor.d.ts +11 -4
- package/model/descriptors/type.descriptor.d.ts +2 -4
- package/model/index.d.ts +1 -0
- package/package.json +7 -7
- package/table/api/data-providers/table-data-provider.factory.d.ts +18 -0
- package/table/api/data-providers/table.data-provider.d.ts +2 -14
- package/table/api/descriptors/table-descriptor.factory.d.ts +44 -0
- package/table/api/descriptors/table.descriptor.d.ts +4 -65
- package/table/api/helpers/table-descriptor-helpers.d.ts +44 -0
- package/table/api/index.d.ts +3 -0
- package/table/components/column-filter-full/column-filter-full.component.d.ts +5 -4
- package/table/components/table/table.component.d.ts +11 -11
- package/table/services/data-list.service.d.ts +9 -10
- package/tableview/action/components/action/action.component.d.ts +37 -44
- package/tableview/action/components/editor/action-editor.component.d.ts +20 -18
- package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +23 -23
- package/tableview/action/components/localization/data-language-dropdown.component.d.ts +11 -14
- package/tableview/action/components/route/action-route.component.d.ts +6 -11
- package/tableview/action/components/table/action-table.component.d.ts +3 -3
- package/tableview/action/services/view-container.service.d.ts +3 -9
- package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +36 -0
- package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +31 -0
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +17 -37
- package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +15 -0
- package/tableview/api/action/descriptors/action-link.descriptor.d.ts +1 -9
- package/tableview/api/action/descriptors/action.descriptor.d.ts +4 -27
- package/tableview/api/action/models/action-component.model.d.ts +8 -8
- package/tableview/api/action/models/execution/view-container.model.d.ts +4 -3
- package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +18 -0
- package/tableview/api/editor/data-providers/editor.data-provider.d.ts +2 -14
- package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +44 -0
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +34 -90
- package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +3 -3
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +15 -13
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +7 -6
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -2
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +8 -8
- package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +6 -6
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +1 -1
- package/tableview/api/editor/helpers/editor-descriptor-helpers.d.ts +43 -0
- package/tableview/api/editor/helpers/field-validators.d.ts +1 -1
- package/tableview/api/editor/models/editor-fields.model.d.ts +24 -22
- package/tableview/api/editor/models/field-action-context.model.d.ts +10 -8
- package/tableview/api/editor/models/field-validation.model.d.ts +26 -0
- package/tableview/api/editor/models/field.model.d.ts +0 -19
- package/tableview/api/editor/models/form-editor.event.d.ts +24 -16
- package/tableview/api/editor/models/form-editor.interface.d.ts +2 -1
- package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
- package/tableview/api/editor/models/formly-field.model.d.ts +4 -4
- package/tableview/api/index.d.ts +10 -0
- package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +25 -0
- package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +3 -20
- package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +49 -0
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +40 -100
- package/tableview/api/tableview/helpers/tableview-create.d.ts +2 -2
- package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +4 -2
- package/tableview/api/tableview/helpers/tableview-descriptor-helpers.d.ts +42 -0
- package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +1 -1
- package/tableview/editor/components/editor/form-editor.component.d.ts +6 -4
- package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +5 -3
- package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +1 -0
- package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +3 -4
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +3 -4
- package/tableview/editor/helpers/editor-formly.d.ts +1 -1
- package/tableview/editor/services/form-editor.service.d.ts +39 -0
- package/tableview/index.d.ts +1 -0
- package/tableview/tableview/components/route/tableview-route.component.d.ts +1 -1
- package/tableview/tableview/components/tableview/tableview.component.d.ts +1 -1
- package/version-info.json +7 -7
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { CommonsInternalError, TypeRegistry } from '@mediusinc/mng-commons/core';
|
|
2
|
+
import { enumModelGeneric, findClassTitleAttribute } from '@mediusinc/mng-commons/model';
|
|
3
|
+
import { ColumnTypeEnum } from '../models/column.model';
|
|
4
|
+
import { getTableClassAttributeDef } from './class-attribute-converter';
|
|
5
|
+
/**
|
|
6
|
+
* generates column based on attributes
|
|
7
|
+
* @param desc Table descriptor
|
|
8
|
+
* @param attribute attribute map
|
|
9
|
+
* @param column if provided, replaced by new, otherwise new is created
|
|
10
|
+
* @param args additional parameters
|
|
11
|
+
*/
|
|
12
|
+
export function upsertTableColumnFromAttributeDef(desc, attribute, column, ...args) {
|
|
13
|
+
if (column == null) {
|
|
14
|
+
column = desc.addColumnUnsafe(attribute.name);
|
|
15
|
+
}
|
|
16
|
+
if (attribute.columnType === ColumnTypeEnum.Enum && args.length === 0 && attribute.enumType) {
|
|
17
|
+
args = [enumModelGeneric(attribute.enumType)];
|
|
18
|
+
}
|
|
19
|
+
column = column.asType(attribute.columnType, attribute.columnDisplayType, ...args);
|
|
20
|
+
if (attribute.classType) {
|
|
21
|
+
const titleProperty = findClassTitleAttribute(attribute.classType) ?? undefined;
|
|
22
|
+
if (titleProperty) {
|
|
23
|
+
column.withGetter(value => value?.[titleProperty]);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
column.withSortUnsafe().withFilterUnsafe();
|
|
28
|
+
}
|
|
29
|
+
return column;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* defines modified type of column
|
|
33
|
+
* DO NOT USE with enum (use withCustomEnumType)
|
|
34
|
+
* @param descriptor table descriptor
|
|
35
|
+
* @param property column name
|
|
36
|
+
* @param columnType modified type
|
|
37
|
+
* @param args additional attributes
|
|
38
|
+
* @param columnDisplayType
|
|
39
|
+
*/
|
|
40
|
+
export function modifyTableClassAttributeColumnType(descriptor, property, columnType, columnDisplayType, ...args) {
|
|
41
|
+
return modifyTableClassAttributeColumnTypeUnsafe(descriptor, property, columnType, columnDisplayType, ...args);
|
|
42
|
+
}
|
|
43
|
+
export function modifyTableClassAttributeColumnTypeUnsafe(descriptor, property, columnType, columnDisplayType, ...args) {
|
|
44
|
+
if (!descriptor.model.type) {
|
|
45
|
+
throw new CommonsInternalError(`withColumnModifiedType cannot be executed for property ${property}: Model type is not defined.`);
|
|
46
|
+
}
|
|
47
|
+
const attributeDef = getTableClassAttributeDef(descriptor.model.type).find(attr => attr.name === property);
|
|
48
|
+
if (attributeDef != null) {
|
|
49
|
+
attributeDef.columnType = columnType ?? attributeDef.columnType;
|
|
50
|
+
attributeDef.columnDisplayType = columnDisplayType ?? attributeDef.columnDisplayType;
|
|
51
|
+
return upsertTableColumnFromAttributeDef(descriptor, attributeDef, descriptor.columns.find(col => col.property === attributeDef.name), ...args);
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* defines custom enum type for column
|
|
57
|
+
* @param descriptor table descriptor
|
|
58
|
+
* @param property column name
|
|
59
|
+
* @param enumDesc Enum descriptor.
|
|
60
|
+
*/
|
|
61
|
+
export function modifyTableClassAttributeColumnEnum(descriptor, property, enumDesc) {
|
|
62
|
+
return tableDescriptorModifyEnumColumnUnsafe(descriptor, property, enumDesc);
|
|
63
|
+
}
|
|
64
|
+
export function tableDescriptorModifyEnumColumnUnsafe(descriptor, property, enumDesc) {
|
|
65
|
+
if (!descriptor.model.type) {
|
|
66
|
+
throw new CommonsInternalError(`withColumnModifiedEnum cannot be executed for property ${property}: Model type is not defined.`);
|
|
67
|
+
}
|
|
68
|
+
const attributeDef = getTableClassAttributeDef(descriptor.model.type).find(attr => attr.name === property);
|
|
69
|
+
if (attributeDef != null) {
|
|
70
|
+
attributeDef.columnType = ColumnTypeEnum.Enum;
|
|
71
|
+
upsertTableColumnFromAttributeDef(descriptor, attributeDef, descriptor.columns.find(col => col.property === property), enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attributeDef.type)));
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* modifies column with class and lookup provider
|
|
77
|
+
* @param descriptor table descriptor
|
|
78
|
+
* @param property column name
|
|
79
|
+
* @param lookupProvider lookupProvider for class
|
|
80
|
+
* @param optionsLabelProperty
|
|
81
|
+
* @param filterProperty
|
|
82
|
+
*/
|
|
83
|
+
export function modifyTableColumnFilterLookup(descriptor, property, lookupProvider, optionsLabelProperty, filterProperty) {
|
|
84
|
+
return modifyTableColumnFilterLookupUnsafe(descriptor, property, lookupProvider, optionsLabelProperty, filterProperty);
|
|
85
|
+
}
|
|
86
|
+
export function modifyTableColumnFilterLookupUnsafe(descriptor, property, lookupProvider, optionsLabelProperty, filterProperty) {
|
|
87
|
+
const column = descriptor.columns.find(col => col.property === property);
|
|
88
|
+
if (column) {
|
|
89
|
+
const filter = descriptor.addFilterLookupUnsafe(column.property, lookupProvider, filterProperty);
|
|
90
|
+
if (optionsLabelProperty) {
|
|
91
|
+
filter.withOptionsLabelPropertyUnsafe(optionsLabelProperty);
|
|
92
|
+
}
|
|
93
|
+
return filter;
|
|
94
|
+
}
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGVzY3JpcHRvci1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGUvYXBpL3NyYy9oZWxwZXJzL3RhYmxlLWRlc2NyaXB0b3ItaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQWlDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTlHLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUt2RyxPQUFPLEVBQXdCLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRXRFOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FDN0MsSUFBK0MsRUFDL0MsU0FBaUMsRUFDakMsTUFBa0QsRUFDbEQsR0FBRyxJQUFXO0lBRWQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakIsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxVQUFVLEtBQUssY0FBYyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUYsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbkYsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEIsTUFBTSxhQUFhLEdBQUcs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QUFRLEtBQUssUUFBUSxDQUFDLEVBQ3pELFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQWEsQ0FBQyxDQUMzRixDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QixDQUN6QyxVQUFxRCxFQUNyRCxRQUFrQixFQUNsQixjQUFzRCxFQUN0RCxvQkFBd0MsRUFDeEMsY0FBa0M7SUFFbEMsT0FBTyxtQ0FBbUMsQ0FDdEMsVUFBVSxFQUNWLFFBQWtCLEVBQ2xCLGNBQWMsRUFDZCxvQkFBOEIsRUFDOUIsY0FBd0IsQ0FDM0IsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsbUNBQW1DLENBQy9DLFVBQXFELEVBQ3JELFFBQWdCLEVBQ2hCLGNBQTBELEVBQzFELG9CQUE2QixFQUM3QixjQUF1QjtJQUV2QixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDekUsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNULE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLDhCQUE4QixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvciwgRW51bVR5cGUsIElMb29rdXBEYXRhUHJvdmlkZXIsIFR5cGVSZWdpc3RyeX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7RmlsdGVyTG9va3VwRGVzY3JpcHRvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9maWx0ZXInO1xuaW1wb3J0IHtFbnVtRGVzY3JpcHRvciwgZW51bU1vZGVsR2VuZXJpYywgZmluZENsYXNzVGl0bGVBdHRyaWJ1dGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG5pbXBvcnQge0NvbHVtbkRlc2NyaXB0b3J9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL2NvbHVtbi5kZXNjcmlwdG9yJztcbmltcG9ydCB7VGFibGVEZXNjcmlwdG9ySW5zdH0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvdGFibGUuZGVzY3JpcHRvcic7XG5pbXBvcnQge1RhYmxlQ2xhc3NBdHRyaWJ1dGVEZWZ9IGZyb20gJy4uL21vZGVscy9jbGFzcy10YWJsZS1hdHRyaWJ1dGUubW9kZWwnO1xuaW1wb3J0IHtDb2x1bW5EaXNwbGF5VHlwZUVudW0sIENvbHVtblR5cGVFbnVtfSBmcm9tICcuLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcbmltcG9ydCB7Z2V0VGFibGVDbGFzc0F0dHJpYnV0ZURlZn0gZnJvbSAnLi9jbGFzcy1hdHRyaWJ1dGUtY29udmVydGVyJztcblxuLyoqXG4gKiBnZW5lcmF0ZXMgY29sdW1uIGJhc2VkIG9uIGF0dHJpYnV0ZXNcbiAqIEBwYXJhbSBkZXNjIFRhYmxlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBhdHRyaWJ1dGUgYXR0cmlidXRlIG1hcFxuICogQHBhcmFtIGNvbHVtbiBpZiBwcm92aWRlZCwgcmVwbGFjZWQgYnkgbmV3LCBvdGhlcndpc2UgbmV3IGlzIGNyZWF0ZWRcbiAqIEBwYXJhbSBhcmdzIGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXBzZXJ0VGFibGVDb2x1bW5Gcm9tQXR0cmlidXRlRGVmPENvbHVtbk1vZGVsLCBUYWJsZU1vZGVsPihcbiAgICBkZXNjOiBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIGFueSwgYW55PixcbiAgICBhdHRyaWJ1dGU6IFRhYmxlQ2xhc3NBdHRyaWJ1dGVEZWYsXG4gICAgY29sdW1uPzogQ29sdW1uRGVzY3JpcHRvcjxDb2x1bW5Nb2RlbCwgVGFibGVNb2RlbD4sXG4gICAgLi4uYXJnczogYW55W11cbik6IENvbHVtbkRlc2NyaXB0b3I8Q29sdW1uTW9kZWwsIFRhYmxlTW9kZWw+IHtcbiAgICBpZiAoY29sdW1uID09IG51bGwpIHtcbiAgICAgICAgY29sdW1uID0gZGVzYy5hZGRDb2x1bW5VbnNhZmUoYXR0cmlidXRlLm5hbWUpO1xuICAgIH1cblxuICAgIGlmIChhdHRyaWJ1dGUuY29sdW1uVHlwZSA9PT0gQ29sdW1uVHlwZUVudW0uRW51bSAmJiBhcmdzLmxlbmd0aCA9PT0gMCAmJiBhdHRyaWJ1dGUuZW51bVR5cGUpIHtcbiAgICAgICAgYXJncyA9IFtlbnVtTW9kZWxHZW5lcmljKGF0dHJpYnV0ZS5lbnVtVHlwZSldO1xuICAgIH1cblxuICAgIGNvbHVtbiA9IGNvbHVtbi5hc1R5cGUoYXR0cmlidXRlLmNvbHVtblR5cGUsIGF0dHJpYnV0ZS5jb2x1bW5EaXNwbGF5VHlwZSwgLi4uYXJncyk7XG4gICAgaWYgKGF0dHJpYnV0ZS5jbGFzc1R5cGUpIHtcbiAgICAgICAgY29uc3QgdGl0bGVQcm9wZXJ0eSA9IGZpbmRDbGFzc1RpdGxlQXR0cmlidXRlKGF0dHJpYnV0ZS5jbGFzc1R5cGUpID8/IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHRpdGxlUHJvcGVydHkpIHtcbiAgICAgICAgICAgIGNvbHVtbi53aXRoR2V0dGVyKHZhbHVlID0+IHZhbHVlPy5bdGl0bGVQcm9wZXJ0eSBhcyBrZXlvZiBvYmplY3RdKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbHVtbi53aXRoU29ydFVuc2FmZSgpLndpdGhGaWx0ZXJVbnNhZmUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29sdW1uO1xufVxuXG4vKipcbiAqIGRlZmluZXMgbW9kaWZpZWQgdHlwZSBvZiBjb2x1bW5cbiAqIERPIE5PVCBVU0Ugd2l0aCBlbnVtICh1c2Ugd2l0aEN1c3RvbUVudW1UeXBlKVxuICogQHBhcmFtIGRlc2NyaXB0b3IgdGFibGUgZGVzY3JpcHRvclxuICogQHBhcmFtIHByb3BlcnR5IGNvbHVtbiBuYW1lXG4gKiBAcGFyYW0gY29sdW1uVHlwZSBtb2RpZmllZCB0eXBlXG4gKiBAcGFyYW0gYXJncyBhZGRpdGlvbmFsIGF0dHJpYnV0ZXNcbiAqIEBwYXJhbSBjb2x1bW5EaXNwbGF5VHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZ5VGFibGVDbGFzc0F0dHJpYnV0ZUNvbHVtblR5cGU8XG4gICAgVGFibGVNb2RlbCxcbiAgICBQcm9wZXJ0eSBleHRlbmRzIGtleW9mIFRhYmxlTW9kZWwsXG4gICAgQ29sdW1uTW9kZWwgPSBOb25OdWxsYWJsZTxUYWJsZU1vZGVsW1Byb3BlcnR5XT4sXG4gICAgQ29sdW1uVmFsdWUgPSBUYWJsZU1vZGVsW1Byb3BlcnR5XVxuPihcbiAgICBkZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIGFueSwgYW55PixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgY29sdW1uVHlwZT86IENvbHVtblR5cGVFbnVtLFxuICAgIGNvbHVtbkRpc3BsYXlUeXBlPzogQ29sdW1uRGlzcGxheVR5cGVFbnVtLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4pOiBDb2x1bW5EZXNjcmlwdG9yPENvbHVtbk1vZGVsLCBUYWJsZU1vZGVsLCBDb2x1bW5WYWx1ZT4gfCBudWxsIHtcbiAgICByZXR1cm4gbW9kaWZ5VGFibGVDbGFzc0F0dHJpYnV0ZUNvbHVtblR5cGVVbnNhZmU8VGFibGVNb2RlbCwgQ29sdW1uTW9kZWwsIENvbHVtblZhbHVlPihkZXNjcmlwdG9yLCBwcm9wZXJ0eSBhcyBzdHJpbmcsIGNvbHVtblR5cGUsIGNvbHVtbkRpc3BsYXlUeXBlLCAuLi5hcmdzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmeVRhYmxlQ2xhc3NBdHRyaWJ1dGVDb2x1bW5UeXBlVW5zYWZlPFRhYmxlTW9kZWwsIENvbHVtbk1vZGVsID0gYW55LCBDb2x1bW5WYWx1ZSA9IENvbHVtbk1vZGVsPihcbiAgICBkZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIGFueSwgYW55PixcbiAgICBwcm9wZXJ0eTogc3RyaW5nLFxuICAgIGNvbHVtblR5cGU/OiBDb2x1bW5UeXBlRW51bSxcbiAgICBjb2x1bW5EaXNwbGF5VHlwZT86IENvbHVtbkRpc3BsYXlUeXBlRW51bSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuKTogQ29sdW1uRGVzY3JpcHRvcjxDb2x1bW5Nb2RlbCwgVGFibGVNb2RlbCwgQ29sdW1uVmFsdWU+IHwgbnVsbCB7XG4gICAgaWYgKCFkZXNjcmlwdG9yLm1vZGVsLnR5cGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGB3aXRoQ29sdW1uTW9kaWZpZWRUeXBlIGNhbm5vdCBiZSBleGVjdXRlZCBmb3IgcHJvcGVydHkgJHtwcm9wZXJ0eX06IE1vZGVsIHR5cGUgaXMgbm90IGRlZmluZWQuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgYXR0cmlidXRlRGVmID0gZ2V0VGFibGVDbGFzc0F0dHJpYnV0ZURlZihkZXNjcmlwdG9yLm1vZGVsLnR5cGUpLmZpbmQoYXR0ciA9PiBhdHRyLm5hbWUgPT09IHByb3BlcnR5KTtcblxuICAgIGlmIChhdHRyaWJ1dGVEZWYgIT0gbnVsbCkge1xuICAgICAgICBhdHRyaWJ1dGVEZWYuY29sdW1uVHlwZSA9IGNvbHVtblR5cGUgPz8gYXR0cmlidXRlRGVmLmNvbHVtblR5cGU7XG4gICAgICAgIGF0dHJpYnV0ZURlZi5jb2x1bW5EaXNwbGF5VHlwZSA9IGNvbHVtbkRpc3BsYXlUeXBlID8/IGF0dHJpYnV0ZURlZi5jb2x1bW5EaXNwbGF5VHlwZTtcbiAgICAgICAgcmV0dXJuIHVwc2VydFRhYmxlQ29sdW1uRnJvbUF0dHJpYnV0ZURlZihcbiAgICAgICAgICAgIGRlc2NyaXB0b3IsXG4gICAgICAgICAgICBhdHRyaWJ1dGVEZWYsXG4gICAgICAgICAgICBkZXNjcmlwdG9yLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLnByb3BlcnR5ID09PSBhdHRyaWJ1dGVEZWYubmFtZSksXG4gICAgICAgICAgICAuLi5hcmdzXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogZGVmaW5lcyBjdXN0b20gZW51bSB0eXBlIGZvciBjb2x1bW5cbiAqIEBwYXJhbSBkZXNjcmlwdG9yIHRhYmxlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eSBjb2x1bW4gbmFtZVxuICogQHBhcmFtIGVudW1EZXNjIEVudW0gZGVzY3JpcHRvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmeVRhYmxlQ2xhc3NBdHRyaWJ1dGVDb2x1bW5FbnVtPFxuICAgIFRhYmxlTW9kZWwsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBUYWJsZU1vZGVsLFxuICAgIEVudW0gZXh0ZW5kcyBOb25OdWxsYWJsZTxUYWJsZU1vZGVsW1Byb3BlcnR5XT4sXG4gICAgQ29sdW1uTW9kZWwgPSBOb25OdWxsYWJsZTxUYWJsZU1vZGVsW1Byb3BlcnR5XT4sXG4gICAgQ29sdW1uVmFsdWUgPSBUYWJsZU1vZGVsW1Byb3BlcnR5XVxuPihkZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIGFueSwgYW55PiwgcHJvcGVydHk6IFByb3BlcnR5LCBlbnVtRGVzYz86IEVudW1EZXNjcmlwdG9yPEVudW0+KTogQ29sdW1uRGVzY3JpcHRvcjxDb2x1bW5Nb2RlbCwgVGFibGVNb2RlbCwgQ29sdW1uVmFsdWU+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRhYmxlRGVzY3JpcHRvck1vZGlmeUVudW1Db2x1bW5VbnNhZmU8VGFibGVNb2RlbCwgRW51bSwgQ29sdW1uTW9kZWwsIENvbHVtblZhbHVlPihkZXNjcmlwdG9yLCBwcm9wZXJ0eSBhcyBzdHJpbmcsIGVudW1EZXNjKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlRGVzY3JpcHRvck1vZGlmeUVudW1Db2x1bW5VbnNhZmU8VGFibGVNb2RlbCwgRW51bSA9IGFueSwgQ29sdW1uTW9kZWwgPSBhbnksIENvbHVtblZhbHVlID0gQ29sdW1uTW9kZWw+KFxuICAgIGRlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8VGFibGVNb2RlbCwgYW55LCBhbnk+LFxuICAgIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgZW51bURlc2M/OiBFbnVtRGVzY3JpcHRvcjxFbnVtPlxuKTogQ29sdW1uRGVzY3JpcHRvcjxDb2x1bW5Nb2RlbCwgVGFibGVNb2RlbCwgQ29sdW1uVmFsdWU+IHwgbnVsbCB7XG4gICAgaWYgKCFkZXNjcmlwdG9yLm1vZGVsLnR5cGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGB3aXRoQ29sdW1uTW9kaWZpZWRFbnVtIGNhbm5vdCBiZSBleGVjdXRlZCBmb3IgcHJvcGVydHkgJHtwcm9wZXJ0eX06IE1vZGVsIHR5cGUgaXMgbm90IGRlZmluZWQuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgYXR0cmlidXRlRGVmID0gZ2V0VGFibGVDbGFzc0F0dHJpYnV0ZURlZihkZXNjcmlwdG9yLm1vZGVsLnR5cGUpLmZpbmQoYXR0ciA9PiBhdHRyLm5hbWUgPT09IHByb3BlcnR5KTtcblxuICAgIGlmIChhdHRyaWJ1dGVEZWYgIT0gbnVsbCkge1xuICAgICAgICBhdHRyaWJ1dGVEZWYuY29sdW1uVHlwZSA9IENvbHVtblR5cGVFbnVtLkVudW07XG4gICAgICAgIHVwc2VydFRhYmxlQ29sdW1uRnJvbUF0dHJpYnV0ZURlZihcbiAgICAgICAgICAgIGRlc2NyaXB0b3IsXG4gICAgICAgICAgICBhdHRyaWJ1dGVEZWYsXG4gICAgICAgICAgICBkZXNjcmlwdG9yLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLnByb3BlcnR5ID09PSBwcm9wZXJ0eSksXG4gICAgICAgICAgICBlbnVtRGVzYyA/PyBlbnVtTW9kZWxHZW5lcmljKFR5cGVSZWdpc3RyeS5nZXQoKS5maW5kRW51bShhdHRyaWJ1dGVEZWYudHlwZSkgYXMgRW51bVR5cGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogbW9kaWZpZXMgY29sdW1uIHdpdGggY2xhc3MgYW5kIGxvb2t1cCBwcm92aWRlclxuICogQHBhcmFtIGRlc2NyaXB0b3IgdGFibGUgZGVzY3JpcHRvclxuICogQHBhcmFtIHByb3BlcnR5IGNvbHVtbiBuYW1lXG4gKiBAcGFyYW0gbG9va3VwUHJvdmlkZXIgbG9va3VwUHJvdmlkZXIgZm9yIGNsYXNzXG4gKiBAcGFyYW0gb3B0aW9uc0xhYmVsUHJvcGVydHlcbiAqIEBwYXJhbSBmaWx0ZXJQcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZ5VGFibGVDb2x1bW5GaWx0ZXJMb29rdXA8VGFibGVNb2RlbCwgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBUYWJsZU1vZGVsLCBTZXJ2aWNlLCBDb2x1bW5Nb2RlbCA9IE5vbk51bGxhYmxlPFRhYmxlTW9kZWxbUHJvcGVydHldPj4oXG4gICAgZGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBhbnksIGFueT4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGxvb2t1cFByb3ZpZGVyPzogSUxvb2t1cERhdGFQcm92aWRlcjxDb2x1bW5Nb2RlbCwgYW55PixcbiAgICBvcHRpb25zTGFiZWxQcm9wZXJ0eT86IGtleW9mIENvbHVtbk1vZGVsLFxuICAgIGZpbHRlclByb3BlcnR5Pzoga2V5b2YgQ29sdW1uTW9kZWxcbik6IEZpbHRlckxvb2t1cERlc2NyaXB0b3I8Q29sdW1uTW9kZWwsIFRhYmxlTW9kZWwsIFNlcnZpY2U+IHwgbnVsbCB7XG4gICAgcmV0dXJuIG1vZGlmeVRhYmxlQ29sdW1uRmlsdGVyTG9va3VwVW5zYWZlPFRhYmxlTW9kZWwsIFNlcnZpY2UsIENvbHVtbk1vZGVsPihcbiAgICAgICAgZGVzY3JpcHRvcixcbiAgICAgICAgcHJvcGVydHkgYXMgc3RyaW5nLFxuICAgICAgICBsb29rdXBQcm92aWRlcixcbiAgICAgICAgb3B0aW9uc0xhYmVsUHJvcGVydHkgYXMgc3RyaW5nLFxuICAgICAgICBmaWx0ZXJQcm9wZXJ0eSBhcyBzdHJpbmdcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZ5VGFibGVDb2x1bW5GaWx0ZXJMb29rdXBVbnNhZmU8VGFibGVNb2RlbCwgU2VydmljZSwgQ29sdW1uTW9kZWw+KFxuICAgIGRlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8VGFibGVNb2RlbCwgYW55LCBhbnk+LFxuICAgIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgbG9va3VwUHJvdmlkZXI/OiBJTG9va3VwRGF0YVByb3ZpZGVyPENvbHVtbk1vZGVsLCBTZXJ2aWNlPixcbiAgICBvcHRpb25zTGFiZWxQcm9wZXJ0eT86IHN0cmluZyxcbiAgICBmaWx0ZXJQcm9wZXJ0eT86IHN0cmluZ1xuKTogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxDb2x1bW5Nb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZT4gfCBudWxsIHtcbiAgICBjb25zdCBjb2x1bW4gPSBkZXNjcmlwdG9yLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XG4gICAgaWYgKGNvbHVtbikge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBkZXNjcmlwdG9yLmFkZEZpbHRlckxvb2t1cFVuc2FmZShjb2x1bW4ucHJvcGVydHksIGxvb2t1cFByb3ZpZGVyLCBmaWx0ZXJQcm9wZXJ0eSk7XG4gICAgICAgIGlmIChvcHRpb25zTGFiZWxQcm9wZXJ0eSkge1xuICAgICAgICAgICAgZmlsdGVyLndpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eVVuc2FmZShvcHRpb25zTGFiZWxQcm9wZXJ0eSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4iXX0=
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
// data providers
|
|
2
2
|
export * from './data-providers/table.data-provider';
|
|
3
|
+
export * from './data-providers/table-data-provider.factory';
|
|
3
4
|
// descriptors
|
|
4
5
|
export * from './descriptors/column.descriptor';
|
|
5
6
|
export * from './descriptors/sort.descriptor';
|
|
6
7
|
export * from './descriptors/table.descriptor';
|
|
8
|
+
export * from './descriptors/table-descriptor.factory';
|
|
7
9
|
// helpers
|
|
8
10
|
export * from './helpers/class-attribute-converter';
|
|
11
|
+
export * from './helpers/table-descriptor-helpers';
|
|
9
12
|
// models
|
|
10
13
|
export * from './models/class-table-attribute.model';
|
|
11
14
|
export * from './models/column.model';
|
|
@@ -13,4 +16,4 @@ export * from './models/column-value.model';
|
|
|
13
16
|
export * from './models/table.model';
|
|
14
17
|
export * from './models/table-columns.model';
|
|
15
18
|
export * from './models/table-event.model';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90YWJsZS9hcGkvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOENBQThDLENBQUM7QUFFN0QsY0FBYztBQUNkLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsVUFBVTtBQUNWLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxTQUFTO0FBQ1QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBkYXRhIHByb3ZpZGVyc1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXByb3ZpZGVycy90YWJsZS5kYXRhLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1wcm92aWRlcnMvdGFibGUtZGF0YS1wcm92aWRlci5mYWN0b3J5JztcblxuLy8gZGVzY3JpcHRvcnNcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvY29sdW1uLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy9zb3J0LmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy90YWJsZS5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvdGFibGUtZGVzY3JpcHRvci5mYWN0b3J5JztcblxuLy8gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2NsYXNzLWF0dHJpYnV0ZS1jb252ZXJ0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL3RhYmxlLWRlc2NyaXB0b3ItaGVscGVycyc7XG5cbi8vIG1vZGVsc1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY2xhc3MtdGFibGUtYXR0cmlidXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvbHVtbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW4tdmFsdWUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdGFibGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdGFibGUtY29sdW1ucy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy90YWJsZS1ldmVudC5tb2RlbCc7XG4iXX0=
|