@techextensor/tab-core-utility 2.2.132 → 2.2.134

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.
Files changed (42) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +3 -1
  3. package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +12 -7
  4. package/esm2022/lib/tab-core-utility/app/crud/tab-release.service.mjs +38 -0
  5. package/esm2022/lib/tab-core-utility/app/enums/common.enum.mjs +23 -0
  6. package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +17 -1
  7. package/esm2022/lib/tab-core-utility/app/enums/permission.enum.mjs +8 -1
  8. package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +161 -608
  9. package/esm2022/lib/tab-core-utility/app/interfaces/schema.interface.mjs +1 -2
  10. package/esm2022/lib/tab-core-utility/app/models/app-field.model.mjs +72 -0
  11. package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +1 -1
  12. package/esm2022/lib/tab-core-utility/app/models/app-object.model.mjs +186 -0
  13. package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +37 -0
  14. package/esm2022/lib/tab-core-utility/app/models/common.class.mjs +1 -1
  15. package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +1 -1
  16. package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +123 -0
  17. package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +24 -0
  18. package/esm2022/lib/tab-core-utility/app/models/orgInfo.model.mjs +38 -0
  19. package/esm2022/lib/tab-core-utility/app/models/parameter.model.mjs +18 -0
  20. package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +18 -0
  21. package/index.d.ts +1 -0
  22. package/lib/tab-core-utility/app/constants/api-constants.d.ts +2 -0
  23. package/lib/tab-core-utility/app/crud/tab-formio.service.d.ts +10 -5
  24. package/lib/tab-core-utility/app/crud/tab-release.service.d.ts +20 -0
  25. package/lib/tab-core-utility/app/enums/common.enum.d.ts +18 -0
  26. package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +14 -0
  27. package/lib/tab-core-utility/app/enums/permission.enum.d.ts +6 -0
  28. package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +84 -320
  29. package/lib/tab-core-utility/app/interfaces/schema.interface.d.ts +1 -2
  30. package/lib/tab-core-utility/app/models/app-field.model.d.ts +56 -0
  31. package/lib/tab-core-utility/app/models/app-object.class.d.ts +11 -8
  32. package/lib/tab-core-utility/app/models/app-object.model.d.ts +124 -0
  33. package/lib/tab-core-utility/app/models/app-screen.model.d.ts +27 -0
  34. package/lib/tab-core-utility/app/models/common.class.d.ts +3 -0
  35. package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +8 -4
  36. package/lib/tab-core-utility/app/models/data-source-query.model.d.ts +69 -0
  37. package/lib/tab-core-utility/app/models/filter.model.d.ts +21 -0
  38. package/lib/tab-core-utility/app/models/orgInfo.model.d.ts +23 -0
  39. package/lib/tab-core-utility/app/models/parameter.model.d.ts +14 -0
  40. package/lib/tab-core-utility/app/models/sort.model.d.ts +15 -0
  41. package/lib/tab-core-utility/store/auth.store.d.ts +2 -2
  42. package/package.json +1 -1
@@ -4,6 +4,5 @@ export var MetadataEntityType;
4
4
  MetadataEntityType["APP_FIELDS"] = "AppFields";
5
5
  MetadataEntityType["DATA_SOURCE_QUERIES"] = "DataSourceQueries";
6
6
  MetadataEntityType["APP_SCREENS"] = "AppScreens";
7
- MetadataEntityType["APP_MENUS"] = "AppMenus";
8
7
  })(MetadataEntityType || (MetadataEntityType = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL3NjaGVtYS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JBLE1BQU0sQ0FBTixJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIsZ0RBQTBCLENBQUE7SUFDMUIsOENBQXdCLENBQUE7SUFDeEIsK0RBQXlDLENBQUE7SUFDekMsZ0RBQTBCLENBQUE7SUFDMUIsNENBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQU5XLGtCQUFrQixLQUFsQixrQkFBa0IsUUFNN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNjaGVtYVJlc3BvbnNlIHtcbiAgUmVxdWVzdElkOiBzdHJpbmdcbiAgSXNTdWNjZXNzOiBib29sZWFuXG4gIFJlc3VsdDogc3RyaW5nXG4gIFN0YXR1c0NvZGU6IHN0cmluZ1xuICBSZWNvcmRBZmZlY3R0ZWQ6IG51bWJlclxuICBUb3RhbFJlY29yZHM6IG51bWJlclxuICBUb3RhbEV4ZWN1dGlvblRpbWU6IG51bWJlclxuICBMb2c6IGFueVtdXG4gIEVycm9yczogYW55W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdJbmZvIHtcbiAgSUQ6IHN0cmluZztcbiAgT3JnYW5pemF0aW9uTmFtZTogc3RyaW5nO1xuICBQcmltYXJ5Q29udGFjdDogYW55O1xuICBBZGRyZXNzOiBhbnk7XG4gIExvY2FsZVNldHRpbmdzOiBzdHJpbmcgfCBudWxsO1xuICBTdWJkb21haW46IHN0cmluZztcbiAgVGVuYW50Q29kZTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gTWV0YWRhdGFFbnRpdHlUeXBlIHtcbiAgQVBQX09CSkVDVFMgPSAnQXBwT2JqZWN0cycsXG4gIEFQUF9GSUVMRFMgPSAnQXBwRmllbGRzJyxcbiAgREFUQV9TT1VSQ0VfUVVFUklFUyA9ICdEYXRhU291cmNlUXVlcmllcycsXG4gIEFQUF9TQ1JFRU5TID0gJ0FwcFNjcmVlbnMnLFxuICBBUFBfTUVOVVMgPSAnQXBwTWVudXMnXG59Il19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL3NjaGVtYS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JBLE1BQU0sQ0FBTixJQUFZLGtCQUtYO0FBTEQsV0FBWSxrQkFBa0I7SUFDNUIsZ0RBQTBCLENBQUE7SUFDMUIsOENBQXdCLENBQUE7SUFDeEIsK0RBQXlDLENBQUE7SUFDekMsZ0RBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQUxXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFLN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNjaGVtYVJlc3BvbnNlIHtcbiAgUmVxdWVzdElkOiBzdHJpbmdcbiAgSXNTdWNjZXNzOiBib29sZWFuXG4gIFJlc3VsdDogc3RyaW5nXG4gIFN0YXR1c0NvZGU6IHN0cmluZ1xuICBSZWNvcmRBZmZlY3R0ZWQ6IG51bWJlclxuICBUb3RhbFJlY29yZHM6IG51bWJlclxuICBUb3RhbEV4ZWN1dGlvblRpbWU6IG51bWJlclxuICBMb2c6IGFueVtdXG4gIEVycm9yczogYW55W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdJbmZvIHtcbiAgSUQ6IHN0cmluZztcbiAgT3JnYW5pemF0aW9uTmFtZTogc3RyaW5nO1xuICBQcmltYXJ5Q29udGFjdDogYW55O1xuICBBZGRyZXNzOiBhbnk7XG4gIExvY2FsZVNldHRpbmdzOiBzdHJpbmcgfCBudWxsO1xuICBTdWJkb21haW46IHN0cmluZztcbiAgVGVuYW50Q29kZTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gTWV0YWRhdGFFbnRpdHlUeXBlIHtcbiAgQVBQX09CSkVDVFMgPSAnQXBwT2JqZWN0cycsXG4gIEFQUF9GSUVMRFMgPSAnQXBwRmllbGRzJyxcbiAgREFUQV9TT1VSQ0VfUVVFUklFUyA9ICdEYXRhU291cmNlUXVlcmllcycsXG4gIEFQUF9TQ1JFRU5TID0gJ0FwcFNjcmVlbnMnXG59Il19
@@ -0,0 +1,72 @@
1
+ import { DataTypes } from "../enums/controllers.enum";
2
+ export class AppFieldModel {
3
+ constructor(raw) {
4
+ this.raw = raw;
5
+ this.ID = raw.ID;
6
+ this.ObjectID = raw.ObjectID ?? null;
7
+ this.ObjectID_Tosave = raw.ObjectID_Tosave;
8
+ this.FieldName = raw.FieldName;
9
+ this.DisplayName = raw.DisplayName;
10
+ this.Description = raw.Description ?? '';
11
+ this.FieldType = raw.FieldType;
12
+ this.CreationType = raw.CreationType;
13
+ this.FieldBase = raw.FieldBase;
14
+ this.BaseField = raw.BaseField ?? null;
15
+ this.IsRequired = !!raw.IsRequired;
16
+ this.IsUnique = !!raw.IsUnique;
17
+ this.IsSearchable = !!raw.IsSearchable;
18
+ this.IsUpdatable = !!raw.IsUpdatable;
19
+ this.IsConfidential = !!raw.IsConfidential;
20
+ this.SystemDBFieldName = raw.SystemDBFieldName;
21
+ this.IsSystem = !!raw.IsSystem;
22
+ this.IsVisible = !!raw.IsVisible;
23
+ this.IsPrimaryKey = !!raw.IsPrimaryKey;
24
+ this.IsDeprecated = !!raw.IsDeprecated;
25
+ this.IsDisplayField = !!raw.IsDisplayField;
26
+ this.LookUpDetails = raw.LookUpDetails ?? null;
27
+ this.IsLookup = !!raw.LookUpDetails;
28
+ this.AccessList = raw.AccessList ?? [];
29
+ this.Data = raw.Data ?? null;
30
+ this.FieldValidatorConfiguration = raw.FieldValidatorConfiguration ?? {};
31
+ this.FieldConfiguration = this.parseFieldConfiguration(raw.FieldConfiguration);
32
+ }
33
+ parseFieldConfiguration(config) {
34
+ try {
35
+ return typeof config === 'string' ? JSON.parse(config) : (config ?? {});
36
+ }
37
+ catch {
38
+ return {};
39
+ }
40
+ }
41
+ /**
42
+ * Gets the data type name of the field as a string.
43
+ * The data type name is obtained from the DataTypes enum.
44
+ * @returns {string} The data type name.
45
+ */
46
+ get dataTypeName() {
47
+ return DataTypes[this.FieldType?.DataType] ?? '';
48
+ }
49
+ /**
50
+ * Searches for the given search term in the properties of the current AppFieldModel instance.
51
+ * The search is case-insensitive and is performed on the following properties:
52
+ * - ID
53
+ * - FieldName
54
+ * - DisplayName
55
+ * - SystemDBFieldName
56
+ * @param {string} term The search term.
57
+ * @returns {boolean} Whether the search term is present in any of the properties.
58
+ */
59
+ search(term) {
60
+ const searchTerm = term.toLowerCase();
61
+ return [this.ID, this.FieldName, this.DisplayName, this.SystemDBFieldName]
62
+ .some(val => val === searchTerm || val?.toLowerCase().includes(searchTerm));
63
+ }
64
+ /**
65
+ * Converts the AppFieldModel instance to a JSON representation.
66
+ * @returns {any} The raw data of the instance.
67
+ */
68
+ toJSON() {
69
+ return this.raw;
70
+ }
71
+ }
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXRELE1BQU0sT0FBTyxhQUFhO0lBNkJ4QixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBVztRQUN6QyxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlcyB9IGZyb20gXCIuLi9lbnVtcy9jb250cm9sbGVycy5lbnVtXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGUsIE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9kc3EuZW51bVwiO1xuaW1wb3J0IHsgRmllbGRBY2Nlc3MsIEZpZWxkVHlwZSwgTG9va1VwRGV0YWlscyB9IGZyb20gXCIuL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3NcIjtcblxuZXhwb3J0IGNsYXNzIEFwcEZpZWxkTW9kZWwge1xuICByZWFkb25seSBJRDogc3RyaW5nO1xuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEZpZWxkTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBGaWVsZFR5cGU6IEZpZWxkVHlwZTtcbiAgcmVhZG9ubHkgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGU7XG4gIHJlYWRvbmx5IEZpZWxkQmFzZTogRGF0YVNvdXJjZVF1ZXJ5RmllbGRUeXBlO1xuICByZWFkb25seSBJc1JlcXVpcmVkOiBib29sZWFuO1xuICByZWFkb25seSBJc1VuaXF1ZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQmFzZUZpZWxkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBJc1NlYXJjaGFibGU6IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVXBkYXRhYmxlOiBib29sZWFuO1xuICByZWFkb25seSBJc0NvbmZpZGVudGlhbDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgU3lzdGVtREJGaWVsZE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgSXNQcmltYXJ5S2V5OiBib29sZWFuO1xuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzRGlzcGxheUZpZWxkOiBib29sZWFuO1xuICByZWFkb25seSBMb29rVXBEZXRhaWxzOiBMb29rVXBEZXRhaWxzO1xuICByZWFkb25seSBJc0xvb2t1cDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWNjZXNzTGlzdDogRmllbGRBY2Nlc3NbXTtcbiAgcmVhZG9ubHkgRGF0YTogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgRmllbGRDb25maWd1cmF0aW9uOiBhbnk7XG4gIHJlYWRvbmx5IEZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcbiAgICB0aGlzLklEID0gcmF3LklEO1xuICAgIHRoaXMuT2JqZWN0SUQgPSByYXcuT2JqZWN0SUQgPz8gbnVsbDtcbiAgICB0aGlzLk9iamVjdElEX1Rvc2F2ZSA9IHJhdy5PYmplY3RJRF9Ub3NhdmU7XG4gICAgdGhpcy5GaWVsZE5hbWUgPSByYXcuRmllbGROYW1lO1xuICAgIHRoaXMuRGlzcGxheU5hbWUgPSByYXcuRGlzcGxheU5hbWU7XG4gICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdy5EZXNjcmlwdGlvbiA/PyAnJztcbiAgICB0aGlzLkZpZWxkVHlwZSA9IHJhdy5GaWVsZFR5cGU7XG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSByYXcuQ3JlYXRpb25UeXBlO1xuICAgIHRoaXMuRmllbGRCYXNlID0gcmF3LkZpZWxkQmFzZTtcbiAgICB0aGlzLkJhc2VGaWVsZCA9IHJhdy5CYXNlRmllbGQgPz8gbnVsbDtcbiAgICB0aGlzLklzUmVxdWlyZWQgPSAhIXJhdy5Jc1JlcXVpcmVkO1xuICAgIHRoaXMuSXNVbmlxdWUgPSAhIXJhdy5Jc1VuaXF1ZTtcbiAgICB0aGlzLklzU2VhcmNoYWJsZSA9ICEhcmF3LklzU2VhcmNoYWJsZTtcbiAgICB0aGlzLklzVXBkYXRhYmxlID0gISFyYXcuSXNVcGRhdGFibGU7XG4gICAgdGhpcy5Jc0NvbmZpZGVudGlhbCA9ICEhcmF3LklzQ29uZmlkZW50aWFsO1xuICAgIHRoaXMuU3lzdGVtREJGaWVsZE5hbWUgPSByYXcuU3lzdGVtREJGaWVsZE5hbWU7XG4gICAgdGhpcy5Jc1N5c3RlbSA9ICEhcmF3LklzU3lzdGVtO1xuICAgIHRoaXMuSXNWaXNpYmxlID0gISFyYXcuSXNWaXNpYmxlO1xuICAgIHRoaXMuSXNQcmltYXJ5S2V5ID0gISFyYXcuSXNQcmltYXJ5S2V5O1xuICAgIHRoaXMuSXNEZXByZWNhdGVkID0gISFyYXcuSXNEZXByZWNhdGVkO1xuICAgIHRoaXMuSXNEaXNwbGF5RmllbGQgPSAhIXJhdy5Jc0Rpc3BsYXlGaWVsZDtcbiAgICB0aGlzLkxvb2tVcERldGFpbHMgPSByYXcuTG9va1VwRGV0YWlscyA/PyBudWxsO1xuICAgIHRoaXMuSXNMb29rdXAgPSAhIXJhdy5Mb29rVXBEZXRhaWxzO1xuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdy5BY2Nlc3NMaXN0ID8/IFtdO1xuICAgIHRoaXMuRGF0YSA9IHJhdy5EYXRhID8/IG51bGw7XG4gICAgdGhpcy5GaWVsZFZhbGlkYXRvckNvbmZpZ3VyYXRpb24gPSByYXcuRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uID8/IHt9O1xuICAgIHRoaXMuRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5wYXJzZUZpZWxkQ29uZmlndXJhdGlvbihyYXcuRmllbGRDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VGaWVsZENvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGNvbmZpZykgOiAoY29uZmlnID8/IHt9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGF0YSB0eXBlIG5hbWUgb2YgdGhlIGZpZWxkIGFzIGEgc3RyaW5nLlxuICAgKiBUaGUgZGF0YSB0eXBlIG5hbWUgaXMgb2J0YWluZWQgZnJvbSB0aGUgRGF0YVR5cGVzIGVudW0uXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBkYXRhIHR5cGUgbmFtZS5cbiAgICovXG4gIGdldCBkYXRhVHlwZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRGF0YVR5cGVzW3RoaXMuRmllbGRUeXBlPy5EYXRhVHlwZV0gPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBBcHBGaWVsZE1vZGVsIGluc3RhbmNlLlxuICAgKiBUaGUgc2VhcmNoIGlzIGNhc2UtaW5zZW5zaXRpdmUgYW5kIGlzIHBlcmZvcm1lZCBvbiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqIC0gSURcbiAgICogLSBGaWVsZE5hbWVcbiAgICogLSBEaXNwbGF5TmFtZVxuICAgKiAtIFN5c3RlbURCRmllbGROYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IG9mIHRoZSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIFt0aGlzLklELCB0aGlzLkZpZWxkTmFtZSwgdGhpcy5EaXNwbGF5TmFtZSwgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZV1cbiAgICAgIC5zb21lKHZhbCA9PiB2YWwgPT09IHNlYXJjaFRlcm0gfHwgdmFsPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgQXBwRmllbGRNb2RlbCBpbnN0YW5jZSB0byBhIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSByYXcgZGF0YSBvZiB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICB0b0pTT04oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yYXc7XG4gIH1cbn0iXX0=
@@ -27,4 +27,4 @@ export class AppMenu {
27
27
  }
28
28
  export class AppScreen {
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFjdkQsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFPRSxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFxQixFQUFFLENBQUM7UUFDekMsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBVSxFQUFFLENBQUM7UUFDdEIsWUFBTyxHQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQVlFLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBQ3pCLHVCQUFrQixHQUF3QixFQUFFLENBQUM7UUFDN0Msc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztRQUU1QyxlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFDckMsY0FBUyxHQUFnQixFQUFFLENBQUM7SUFLOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFlBQVk7Q0FReEI7QUFFRCxNQUFNLE9BQU8sT0FBTztDQVVuQjtBQUVELE1BQU0sT0FBTyxTQUFTO0NBUXJCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0Q3JlYXRpb25UeXBlIH0gZnJvbSAnLi4vZW51bXMvZHNxLmVudW0nO1xyXG5pbXBvcnQgeyBEZXBsb3ltZW50U3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvcGVybWlzc2lvbi5lbnVtJztcclxuaW1wb3J0IHsgQ2hpbGRSZWxhdGlvblNoaXAgfSBmcm9tICcuL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29uZmlndXJhdGlvbnMsXHJcbiAgRW1haWxUZW1wbGF0ZSxcclxuICBQcm9maWxlLFxyXG4gIFJlc291cmNlcyxcclxuICBSb2xlLFxyXG59IGZyb20gJy4vY29tbW9uLmNsYXNzJztcclxuaW1wb3J0IHsgQXBwRmllbGRzLCBEYXRhU291cmNlUXVlcmllcyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb24ge1xyXG4gIElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgQXBwTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIERpc3BsYXlOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgUGxhdGZvcm1WZXJzaW9uOiBzdHJpbmcgfCBhbnk7XHJcbiAgQXBwVmVyc2lvbjogc3RyaW5nIHwgYW55O1xyXG4gIERlc2NyaXB0aW9uOiBzdHJpbmcgfCBhbnk7XHJcbiAgQXBwT2JqZWN0czogQXBwT2JqZWN0W10gPSBbXTtcclxuICBBcHBTY3JlZW5zOiBBcHBTY3JlZW5bXSA9IFtdO1xyXG4gIEFwcE1lbnVzOiBBcHBNZW51W10gPSBbXTtcclxuICBBcHBDb25maWd1cmF0aW9uczogQ29uZmlndXJhdGlvbnNbXSA9IFtdO1xyXG4gIFJvbGVzPzogUm9sZVtdID0gW107XHJcbiAgUHJvZmlsZXM/OiBQcm9maWxlW10gPSBbXTtcclxuICBXb3JrRmxvd3M6IGFueVtdID0gW107XHJcbiAgUGx1Z2luczogYW55W10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcE9iamVjdCB7XHJcbiAgSUQ6IHN0cmluZyB8IGFueTtcclxuICBPYmplY3ROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGlzcGxheU5hbWU6IHN0cmluZyB8IGFueTtcclxuICBEZXNjcmlwdGlvbjogc3RyaW5nIHwgYW55O1xyXG4gIEVuYWJsZVRyYWNraW5nITogYm9vbGVhbiB8IGZhbHNlO1xyXG4gIEFsbG93U2VhcmNoYWJsZSE6IGJvb2xlYW4gfCBmYWxzZTtcclxuICBDcmVhdGlvblR5cGU6IE9iamVjdENyZWF0aW9uVHlwZSB8IGFueTtcclxuICBBbGxvd1JlcG9ydHMhOiBib29sZWFuIHwgZmFsc2U7XHJcbiAgQWxsb3dBY3Rpdml0aWVzITogYm9vbGVhbiB8IGZhbHNlO1xyXG4gIEFsbG93U2hhcmluZyE6IGJvb2xlYW4gfCBmYWxzZTtcclxuICBEZXBsb3ltZW50U3RhdHVzOiBEZXBsb3ltZW50U3RhdHVzIHwgYW55O1xyXG4gIEZpZWxkczogQXBwRmllbGRzW10gPSBbXTtcclxuICBDaGlsZFJlbGF0aW9uU2hpcHM6IENoaWxkUmVsYXRpb25TaGlwW10gPSBbXTtcclxuICBEYXRhU291cmNlUXVlcmllczogRGF0YVNvdXJjZVF1ZXJpZXNbXSA9IFtdO1xyXG4gIFN5c3RlbURCVGFibGVOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgQWNjZXNzTGlzdDogT2JqZWN0QWNjZXNzW10gPSBbXTtcclxuICBFbWFpbFRlbXBsYXRlczogRW1haWxUZW1wbGF0ZVtdID0gW107XHJcbiAgUmVzb3VyY2VzOiBSZXNvdXJjZXNbXSA9IFtdO1xyXG4gIElzU3lzdGVtITogYm9vbGVhbiB8IGZhbHNlO1xyXG4gIElzVmlzaWJsZSE6IGJvb2xlYW4gfCBmYWxzZTtcclxuICBJc0RlcHJlY2F0ZWQhOiBib29sZWFuIHwgZmFsc2U7XHJcbiAgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RBY2Nlc3Mge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIFByb2ZpbGVJRCE6IFByb2ZpbGU7XHJcbiAgSXNWaXNpYmxlITogYm9vbGVhbjtcclxuICBJc1JlYWRPbmx5ITogYm9vbGVhbjtcclxuICBDYW5DcmVhdGUhOiBib29sZWFuO1xyXG4gIENhbkVkaXQhOiBib29sZWFuO1xyXG4gIENhbkRlbGV0ZSE6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBNZW51IHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIE1lbnVOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGlzcGxheU5hbWU6IHN0cmluZyB8IGFueTtcclxuICBTY3JlZW5JRDogc3RyaW5nIHwgYW55O1xyXG4gIFNob3J0Q3V0OiBzdHJpbmcgfCBhbnk7XHJcbiAgSWNvbjogc3RyaW5nIHwgYW55O1xyXG4gIFBhcmVudElEPzogbnVtYmVyO1xyXG4gIFNlcXVlbmNlPzogbnVtYmVyO1xyXG4gIFVybDogc3RyaW5nIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQXBwU2NyZWVuIHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIE5hbWU6IHN0cmluZyB8IGFueTtcclxuICBEZXNjcmlwdGlvbjogc3RyaW5nIHwgYW55O1xyXG4gIERhdGFTb3VyY2VRdWVyeTogRGF0YVNvdXJjZVF1ZXJpZXMgfCBhbnk7XHJcbiAgQ29udGFpbmVyOiBzdHJpbmcgfCBhbnk7XHJcbiAgU2NyZWVuVHlwZTogbnVtYmVyIHwgYW55O1xyXG4gIERhdGFTb3VyY2VRdWVyeUlEOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFjdkQsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFPRSxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFxQixFQUFFLENBQUM7UUFDekMsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBVSxFQUFFLENBQUM7UUFDdEIsWUFBTyxHQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQVlFLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBQ3pCLHVCQUFrQixHQUF3QixFQUFFLENBQUM7UUFDN0Msc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztRQUU1QyxlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFDckMsY0FBUyxHQUFnQixFQUFFLENBQUM7SUFLOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFlBQVk7Q0FXeEI7QUFFRCxNQUFNLE9BQU8sT0FBTztDQVVuQjtBQUVELE1BQU0sT0FBTyxTQUFTO0NBUXJCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0Q3JlYXRpb25UeXBlIH0gZnJvbSAnLi4vZW51bXMvZHNxLmVudW0nO1xyXG5pbXBvcnQgeyBEYXRhQWNjZXNzU2V0LCBEZXBsb3ltZW50U3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvcGVybWlzc2lvbi5lbnVtJztcclxuaW1wb3J0IHsgQ2hpbGRSZWxhdGlvblNoaXAgfSBmcm9tICcuL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29uZmlndXJhdGlvbnMsXHJcbiAgRW1haWxUZW1wbGF0ZSxcclxuICBQcm9maWxlLFxyXG4gIFJlc291cmNlcyxcclxuICBSb2xlLFxyXG59IGZyb20gJy4vY29tbW9uLmNsYXNzJztcclxuaW1wb3J0IHsgQXBwRmllbGRzLCBEYXRhU291cmNlUXVlcmllcywgRmllbGRBY2Nlc3MgfSBmcm9tICcuL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uIHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIEFwcE5hbWU6IHN0cmluZyB8IGFueTtcclxuICBEaXNwbGF5TmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIFBsYXRmb3JtVmVyc2lvbjogc3RyaW5nIHwgYW55O1xyXG4gIEFwcFZlcnNpb246IHN0cmluZyB8IGFueTtcclxuICBEZXNjcmlwdGlvbjogc3RyaW5nIHwgYW55O1xyXG4gIEFwcE9iamVjdHM6IEFwcE9iamVjdFtdID0gW107XHJcbiAgQXBwU2NyZWVuczogQXBwU2NyZWVuW10gPSBbXTtcclxuICBBcHBNZW51czogQXBwTWVudVtdID0gW107XHJcbiAgQXBwQ29uZmlndXJhdGlvbnM6IENvbmZpZ3VyYXRpb25zW10gPSBbXTtcclxuICBSb2xlcz86IFJvbGVbXSA9IFtdO1xyXG4gIFByb2ZpbGVzPzogUHJvZmlsZVtdID0gW107XHJcbiAgV29ya0Zsb3dzOiBhbnlbXSA9IFtdO1xyXG4gIFBsdWdpbnM6IGFueVtdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBPYmplY3Qge1xyXG4gIElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgT2JqZWN0TmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIERpc3BsYXlOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGVzY3JpcHRpb246IHN0cmluZyB8IGFueTtcclxuICBFbmFibGVUcmFja2luZyE6IGJvb2xlYW4gfCBmYWxzZTtcclxuICBBbGxvd1NlYXJjaGFibGUhOiBib29sZWFuIHwgZmFsc2U7XHJcbiAgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGUgfCBhbnk7XHJcbiAgQWxsb3dSZXBvcnRzITogYm9vbGVhbiB8IGZhbHNlO1xyXG4gIEFsbG93QWN0aXZpdGllcyE6IGJvb2xlYW4gfCBmYWxzZTtcclxuICBBbGxvd1NoYXJpbmchOiBib29sZWFuIHwgZmFsc2U7XHJcbiAgRGVwbG95bWVudFN0YXR1czogRGVwbG95bWVudFN0YXR1cyB8IGFueTtcclxuICBGaWVsZHM6IEFwcEZpZWxkc1tdID0gW107XHJcbiAgQ2hpbGRSZWxhdGlvblNoaXBzOiBDaGlsZFJlbGF0aW9uU2hpcFtdID0gW107XHJcbiAgRGF0YVNvdXJjZVF1ZXJpZXM6IERhdGFTb3VyY2VRdWVyaWVzW10gPSBbXTtcclxuICBTeXN0ZW1EQlRhYmxlTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIEFjY2Vzc0xpc3Q6IE9iamVjdEFjY2Vzc1tdID0gW107XHJcbiAgRW1haWxUZW1wbGF0ZXM6IEVtYWlsVGVtcGxhdGVbXSA9IFtdO1xyXG4gIFJlc291cmNlczogUmVzb3VyY2VzW10gPSBbXTtcclxuICBJc1N5c3RlbSE6IGJvb2xlYW4gfCBmYWxzZTtcclxuICBJc1Zpc2libGUhOiBib29sZWFuIHwgZmFsc2U7XHJcbiAgSXNEZXByZWNhdGVkITogYm9vbGVhbiB8IGZhbHNlO1xyXG4gIE9iamVjdElEX1Rvc2F2ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgT2JqZWN0QWNjZXNzIHtcclxuICBJRCE6IHN0cmluZztcclxuICBSb2xlSUQhOiBzdHJpbmc7XHJcbiAgSXNFbmFibGVkITogc3RyaW5nO1xyXG4gIFJFQUQhOiBEYXRhQWNjZXNzU2V0O1xyXG4gIENSRUFURSE6IERhdGFBY2Nlc3NTZXQ7XHJcbiAgVVBEQVRFITogRGF0YUFjY2Vzc1NldDtcclxuICBERUxFVEUhOiBEYXRhQWNjZXNzU2V0O1xyXG4gIEF1dGhGaWx0ZXJzITogYW55O1xyXG4gIGZpZWxkQWNjZXNzZXMhOiBBcnJheTxGaWVsZEFjY2Vzcz47XHJcbiAgT2JqZWN0SUQhOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcE1lbnUge1xyXG4gIElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgTWVudU5hbWU6IHN0cmluZyB8IGFueTtcclxuICBEaXNwbGF5TmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIFNjcmVlbklEOiBzdHJpbmcgfCBhbnk7XHJcbiAgU2hvcnRDdXQ6IHN0cmluZyB8IGFueTtcclxuICBJY29uOiBzdHJpbmcgfCBhbnk7XHJcbiAgUGFyZW50SUQ/OiBudW1iZXI7XHJcbiAgU2VxdWVuY2U/OiBudW1iZXI7XHJcbiAgVXJsOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBTY3JlZW4ge1xyXG4gIElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIERlc2NyaXB0aW9uOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGF0YVNvdXJjZVF1ZXJ5OiBEYXRhU291cmNlUXVlcmllcyB8IGFueTtcclxuICBDb250YWluZXI6IHN0cmluZyB8IGFueTtcclxuICBTY3JlZW5UeXBlOiBudW1iZXIgfCBhbnk7XHJcbiAgRGF0YVNvdXJjZVF1ZXJ5SUQ6IHN0cmluZyB8IGFueTtcclxufSJdfQ==
@@ -0,0 +1,186 @@
1
+ import { AppFieldModel } from './app-field.model';
2
+ import { DataSourceQueryModel } from './data-source-query.model';
3
+ export class AppObjectModel {
4
+ constructor(raw) {
5
+ this.raw = raw;
6
+ // Cache maps
7
+ this.fieldMap = new Map();
8
+ this.dsqMap = new Map();
9
+ this.allFields = [];
10
+ this.allDSQs = [];
11
+ this.ID = raw?.ID;
12
+ this.ObjectName = raw?.ObjectName;
13
+ this.DisplayName = raw?.DisplayName;
14
+ this.Description = raw?.Description;
15
+ this.SystemDBTableName = raw?.SystemDBTableName;
16
+ this.IsSystem = raw?.IsSystem;
17
+ this.IsVisible = raw?.IsVisible;
18
+ this.IsDeprecated = raw?.IsDeprecated;
19
+ this.IsSupportBluePrint = raw?.IsSupportBluePrint;
20
+ this.IsLocationTracking = raw?.IsLocationTracking;
21
+ this.ObjectType = raw?.ObjectType;
22
+ this.DeploymentStatus = raw?.DeploymentStatus;
23
+ this.CreationType = raw?.CreationType;
24
+ this.AllowVersioning = raw?.AllowVersioning;
25
+ this.EnableTracking = raw?.EnableTracking;
26
+ this.AllowSearchable = raw?.AllowSearchable;
27
+ this.AllowReports = raw?.AllowReports;
28
+ this.AllowActivities = raw?.AllowActivities;
29
+ this.AllowSharing = raw?.AllowSharing;
30
+ this.AllowSoftDelete = raw?.AllowSoftDelete;
31
+ this.IsReplicationNeeded = raw?.IsReplicationNeeded;
32
+ this.IsCacheEnable = raw?.IsCacheEnable;
33
+ this.CacheTtl = raw?.CacheTtl;
34
+ this.AppObjectConfiguration = raw?.AppObjectConfiguration;
35
+ this.CRUDAppObjectId = raw?.CRUDAppObjectId;
36
+ this.ConnectionId = raw?.ConnectionId;
37
+ this.IsSupportLayout = raw?.IsSupportLayout;
38
+ this.AccessList = raw?.AccessList;
39
+ this.Resources = raw?.Resources;
40
+ try {
41
+ this.parsedAppObjectConfiguration = JSON.parse(this.AppObjectConfiguration || '{}');
42
+ }
43
+ catch (e) {
44
+ console.warn('Invalid AppObjectConfiguration JSON', e);
45
+ this.parsedAppObjectConfiguration = {};
46
+ }
47
+ }
48
+ /**
49
+ * Returns all fields associated with this AppObject. The fields are cached so that subsequent calls
50
+ * are faster. The cache is stored in a map by ID.
51
+ *
52
+ * @returns {AppFieldModel[]} An array of AppFieldModel objects.
53
+ */
54
+ fields() {
55
+ if (!this.allFields?.length) {
56
+ this.allFields = (this.raw?.Fields ?? []).map((field) => {
57
+ const model = new AppFieldModel(field);
58
+ // Cache the field in a map by ID
59
+ this.fieldMap.set(field?.ID, model);
60
+ return model;
61
+ });
62
+ }
63
+ return this.allFields;
64
+ }
65
+ /**
66
+ * Retrieves a field by its ID or name.
67
+ * If the field is cached, it returns it from the cache.
68
+ * Otherwise, it searches through all fields.
69
+ *
70
+ * @param {string} idOrName - The ID or name of the field to retrieve.
71
+ * @returns {AppFieldModel | undefined} - The field model if found, otherwise undefined.
72
+ */
73
+ field(idOrName) {
74
+ // Ensure all fields are loaded and cached
75
+ this.fields();
76
+ // Check if the field is available in the cache map
77
+ if (this.fieldMap.has(idOrName)) {
78
+ return this.fieldMap.get(idOrName);
79
+ }
80
+ // Convert the idOrName to lowercase for case-insensitive search
81
+ const idLower = idOrName.toLowerCase();
82
+ // Find the field by matching ID or name, case-insensitively
83
+ return this.allFields?.find(f => f.FieldName?.toLowerCase() === idLower || f.DisplayName?.toLowerCase() === idLower);
84
+ }
85
+ /**
86
+ * Retrieves all fields of the app object that are lookup fields.
87
+ * A lookup field is a field that has a relationship with another field.
88
+ * It is used to perform lookups, such as retrieving a list of values
89
+ * from a related field.
90
+ *
91
+ * @returns {AppFieldModel[]} - An array of AppFieldModel objects that are lookup fields.
92
+ */
93
+ lookupFields() {
94
+ return this.fields().filter(field => field.IsLookup);
95
+ }
96
+ /**
97
+ * Finds and returns the fields for the app object that satisfy the given filter function.
98
+ * The filter function is called with each field as an argument, and should return true if the field
99
+ * should be included in the result.
100
+ * @param {function} filterFn The filter function to apply to the fields.
101
+ * @returns {AppFieldModel[]} The array of fields that satisfy the filter function.
102
+ */
103
+ findFields(filterFn) {
104
+ return this.fields().filter(filterFn);
105
+ }
106
+ /**
107
+ * Retrieves all data source queries associated with this AppObject.
108
+ * The queries are cached for faster subsequent access. The cache is stored in a map by ID, QueryName, and DisplayName.
109
+ *
110
+ * @returns {DataSourceQueryModel[]} An array of DataSourceQueryModel objects.
111
+ */
112
+ dataSourceQueries() {
113
+ // Check if allDSQs is empty or undefined
114
+ if (!this.allDSQs?.length) {
115
+ // Map the raw DataSourceQueries to DataSourceQueryModel instances
116
+ this.allDSQs = (this.raw?.DataSourceQueries ?? []).map((dsq) => {
117
+ const model = new DataSourceQueryModel(dsq, this);
118
+ // Cache the DataSourceQuery in a map by ID, QueryName, and DisplayName
119
+ this.dsqMap.set(dsq?.ID, model);
120
+ this.dsqMap.set(dsq?.QueryName, model);
121
+ this.dsqMap.set(dsq?.DisplayName, model);
122
+ return model;
123
+ });
124
+ }
125
+ return this.allDSQs;
126
+ }
127
+ /**
128
+ * Retrieves a data source query by its ID or name.
129
+ * If the query is cached, it returns it from the cache.
130
+ * Otherwise, it searches through all data source queries.
131
+ *
132
+ * @param {string} idOrName - The ID or name of the data source query to retrieve.
133
+ * @returns {DataSourceQueryModel | undefined} - The data source query model if found, otherwise undefined.
134
+ */
135
+ dataSourceQuery(idOrName) {
136
+ // Ensure all data source queries are loaded and cached
137
+ this.dataSourceQueries();
138
+ // Check if the data source query is available in the cache map
139
+ if (this.dsqMap.has(idOrName)) {
140
+ return this.dsqMap.get(idOrName);
141
+ }
142
+ // Convert the idOrName to lowercase for case-insensitive search
143
+ const idLower = idOrName.toLowerCase();
144
+ // Find the data source query by matching QueryName or DisplayName, case-insensitively
145
+ return this.allDSQs?.find(dsq => dsq.QueryName?.toLowerCase() === idLower || dsq.DisplayName?.toLowerCase() === idLower);
146
+ }
147
+ /**
148
+ * Finds and returns the data source queries that satisfy the given filter function.
149
+ * The filter function is called with each data source query as an argument.
150
+ * If the filter function returns true, the data source query is included in the result.
151
+ *
152
+ * @param {function} filterFn - The filter function to apply to the data source queries.
153
+ * @returns {DataSourceQueryModel[]} - The array of data source queries that satisfy the filter function.
154
+ */
155
+ findDataSourceQueries(filterFn) {
156
+ return this.dataSourceQueries().filter(filterFn);
157
+ }
158
+ /**
159
+ * Searches for the given term in the fields and data source queries of this AppObject.
160
+ * The search is case-insensitive and performed on the following fields:
161
+ * - Field name and description
162
+ * - Data source query name, display name, and description
163
+ *
164
+ * @param {string} term - The search term to search for.
165
+ * @returns {{ fields: AppFieldModel[]; dsqs: DataSourceQueryModel[] }} - An object with the search results.
166
+ * The `fields` property contains an array of AppFieldModel objects that match the search term.
167
+ * The `dsqs` property contains an array of DataSourceQueryModel objects that match the search term.
168
+ */
169
+ search(term) {
170
+ // Search for the term in the fields
171
+ const fields = this.fields().filter(field => field.search(term));
172
+ // Search for the term in the data source queries
173
+ const dsqs = this.dataSourceQueries().filter(dsq => dsq.search(term));
174
+ // Return the search results
175
+ return { fields, dsqs };
176
+ }
177
+ /**
178
+ * Converts the current object to a JSON object.
179
+ *
180
+ * @returns {any} The raw data as a JSON object.
181
+ */
182
+ toJSON() {
183
+ return this.raw;
184
+ }
185
+ }
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUF1Q3pCLFlBQTZCLEdBQVE7UUFBUixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBTnJDLGFBQWE7UUFDSSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBRzNDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsa0JBQWtCLENB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QUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFakUsaURBQWlEO1FBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSw0QkFBNEI7UUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwLW9iamVjdC5tb2RlbC50c1xuaW1wb3J0IHsgT2JqZWN0VHlwZSB9IGZyb20gJy4uL2VudW1zL2NvbW1vbi5lbnVtJztcbmltcG9ydCB7IE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcbmltcG9ydCB7IERlcGxveW1lbnRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xuaW1wb3J0IHsgQXBwRmllbGRNb2RlbCB9IGZyb20gJy4vYXBwLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IE9iamVjdEFjY2VzcyB9IGZyb20gJy4vYXBwLW9iamVjdC5jbGFzcyc7XG5pbXBvcnQgeyBSZXNvdXJjZXMgfSBmcm9tICcuL2NvbW1vbi5jbGFzcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQXBwT2JqZWN0TW9kZWwge1xuICAvLyBQcm9wZXJ0aWVzXG4gIHJlYWRvbmx5IElEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IE9iamVjdE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgRGlzcGxheU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgRGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgU3lzdGVtREJUYWJsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgSXNEZXByZWNhdGVkOiBib29sZWFuO1xuICByZWFkb25seSBJc1N1cHBvcnRCbHVlUHJpbnQ6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBJc0xvY2F0aW9uVHJhY2tpbmc6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBPYmplY3RUeXBlOiBPYmplY3RUeXBlO1xuICByZWFkb25seSBEZXBsb3ltZW50U3RhdHVzOiBEZXBsb3ltZW50U3RhdHVzO1xuICByZWFkb25seSBDcmVhdGlvblR5cGU6IE9iamVjdENyZWF0aW9uVHlwZTtcbiAgcmVhZG9ubHkgQWxsb3dWZXJzaW9uaW5nOiBib29sZWFuO1xuICByZWFkb25seSBFbmFibGVUcmFja2luZzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWxsb3dTZWFyY2hhYmxlOiBib29sZWFuO1xuICByZWFkb25seSBBbGxvd1JlcG9ydHM6IGJvb2xlYW47XG4gIHJlYWRvbmx5IEFsbG93QWN0aXZpdGllczogYm9vbGVhbjtcbiAgcmVhZG9ubHkgQWxsb3dTaGFyaW5nOiBib29sZWFuO1xuICByZWFkb25seSBBbGxvd1NvZnREZWxldGU6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBJc1JlcGxpY2F0aW9uTmVlZGVkOiBib29sZWFuIHwgbnVsbDtcbiAgcmVhZG9ubHkgSXNDYWNoZUVuYWJsZTogYm9vbGVhbiB8IG51bGw7XG4gIHJlYWRvbmx5IENhY2hlVHRsOiBudW1iZXIgfCBudWxsO1xuICByZWFkb25seSBBcHBPYmplY3RDb25maWd1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IENSVURBcHBPYmplY3RJZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgQ29ubmVjdGlvbklkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBJc1N1cHBvcnRMYXlvdXQ6IGJvb2xlYW4gfCBudWxsO1xuICByZWFkb25seSBBY2Nlc3NMaXN0OiBBcnJheTxPYmplY3RBY2Nlc3M+O1xuICByZWFkb25seSBSZXNvdXJjZXM6IEFycmF5PFJlc291cmNlcz47XG4gIHJlYWRvbmx5IHBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb246IGFueTtcblxuICAvLyBDYWNoZSBtYXBzXG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGRNYXAgPSBuZXcgTWFwPHN0cmluZywgQXBwRmllbGRNb2RlbD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FNYXAgPSBuZXcgTWFwPHN0cmluZywgRGF0YVNvdXJjZVF1ZXJ5TW9kZWw+KCk7XG4gIHByaXZhdGUgYWxsRmllbGRzOiBBcHBGaWVsZE1vZGVsW10gPSBbXTtcbiAgcHJpdmF0ZSBhbGxEU1FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByYXc6IGFueSkge1xuICAgIHRoaXMuSUQgPSByYXc/LklEO1xuICAgIHRoaXMuT2JqZWN0TmFtZSA9IHJhdz8uT2JqZWN0TmFtZTtcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3Py5EaXNwbGF5TmFtZTtcbiAgICB0aGlzLkRlc2NyaXB0aW9uID0gcmF3Py5EZXNjcmlwdGlvbjtcbiAgICB0aGlzLlN5c3RlbURCVGFibGVOYW1lID0gcmF3Py5TeXN0ZW1EQlRhYmxlTmFtZTtcbiAgICB0aGlzLklzU3lzdGVtID0gcmF3Py5Jc1N5c3RlbTtcbiAgICB0aGlzLklzVmlzaWJsZSA9IHJhdz8uSXNWaXNpYmxlO1xuICAgIHRoaXMuSXNEZXByZWNhdGVkID0gcmF3Py5Jc0RlcHJlY2F0ZWQ7XG4gICAgdGhpcy5Jc1N1cHBvcnRCbHVlUHJpbnQgPSByYXc/LklzU3VwcG9ydEJsdWVQcmludDtcbiAgICB0aGlzLklzTG9jYXRpb25UcmFja2luZyA9IHJhdz8uSXNMb2NhdGlvblRyYWNraW5nO1xuICAgIHRoaXMuT2JqZWN0VHlwZSA9IHJhdz8uT2JqZWN0VHlwZTtcbiAgICB0aGlzLkRlcGxveW1lbnRTdGF0dXMgPSByYXc/LkRlcGxveW1lbnRTdGF0dXM7XG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSByYXc/LkNyZWF0aW9uVHlwZTtcbiAgICB0aGlzLkFsbG93VmVyc2lvbmluZyA9IHJhdz8uQWxsb3dWZXJzaW9uaW5nO1xuICAgIHRoaXMuRW5hYmxlVHJhY2tpbmcgPSByYXc/LkVuYWJsZVRyYWNraW5nO1xuICAgIHRoaXMuQWxsb3dTZWFyY2hhYmxlID0gcmF3Py5BbGxvd1NlYXJjaGFibGU7XG4gICAgdGhpcy5BbGxvd1JlcG9ydHMgPSByYXc/LkFsbG93UmVwb3J0cztcbiAgICB0aGlzLkFsbG93QWN0aXZpdGllcyA9IHJhdz8uQWxsb3dBY3Rpdml0aWVzO1xuICAgIHRoaXMuQWxsb3dTaGFyaW5nID0gcmF3Py5BbGxvd1NoYXJpbmc7XG4gICAgdGhpcy5BbGxvd1NvZnREZWxldGUgPSByYXc/LkFsbG93U29mdERlbGV0ZTtcbiAgICB0aGlzLklzUmVwbGljYXRpb25OZWVkZWQgPSByYXc/LklzUmVwbGljYXRpb25OZWVkZWQ7XG4gICAgdGhpcy5Jc0NhY2hlRW5hYmxlID0gcmF3Py5Jc0NhY2hlRW5hYmxlO1xuICAgIHRoaXMuQ2FjaGVUdGwgPSByYXc/LkNhY2hlVHRsO1xuICAgIHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiA9IHJhdz8uQXBwT2JqZWN0Q29uZmlndXJhdGlvbjtcbiAgICB0aGlzLkNSVURBcHBPYmplY3RJZCA9IHJhdz8uQ1JVREFwcE9iamVjdElkO1xuICAgIHRoaXMuQ29ubmVjdGlvbklkID0gcmF3Py5Db25uZWN0aW9uSWQ7XG4gICAgdGhpcy5Jc1N1cHBvcnRMYXlvdXQgPSByYXc/LklzU3VwcG9ydExheW91dDtcbiAgICB0aGlzLkFjY2Vzc0xpc3QgPSByYXc/LkFjY2Vzc0xpc3Q7XG4gICAgdGhpcy5SZXNvdXJjZXMgPSByYXc/LlJlc291cmNlcztcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSBKU09OLnBhcnNlKHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiB8fCAne30nKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgQXBwT2JqZWN0Q29uZmlndXJhdGlvbiBKU09OJywgZSk7XG4gICAgICB0aGlzLnBhcnNlZEFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgZmllbGRzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEFwcE9iamVjdC4gVGhlIGZpZWxkcyBhcmUgY2FjaGVkIHNvIHRoYXQgc3Vic2VxdWVudCBjYWxsc1xuICAgKiBhcmUgZmFzdGVyLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELlxuICAgKlxuICAgKiBAcmV0dXJucyB7QXBwRmllbGRNb2RlbFtdfSBBbiBhcnJheSBvZiBBcHBGaWVsZE1vZGVsIG9iamVjdHMuXG4gICAqL1xuICBmaWVsZHMoKTogQXBwRmllbGRNb2RlbFtdIHtcbiAgICBpZiAoIXRoaXMuYWxsRmllbGRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxsRmllbGRzID0gKHRoaXMucmF3Py5GaWVsZHMgPz8gW10pLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBBcHBGaWVsZE1vZGVsKGZpZWxkKTtcbiAgICAgICAgLy8gQ2FjaGUgdGhlIGZpZWxkIGluIGEgbWFwIGJ5IElEXG4gICAgICAgIHRoaXMuZmllbGRNYXAuc2V0KGZpZWxkPy5JRCwgbW9kZWwpO1xuICAgICAgICByZXR1cm4gbW9kZWw7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGZpZWxkIGJ5IGl0cyBJRCBvciBuYW1lLlxuICAgKiBJZiB0aGUgZmllbGQgaXMgY2FjaGVkLCBpdCByZXR1cm5zIGl0IGZyb20gdGhlIGNhY2hlLlxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGZpZWxkcy5cbiAgICogXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZE9yTmFtZSAtIFRoZSBJRCBvciBuYW1lIG9mIHRoZSBmaWVsZCB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWR9IC0gVGhlIGZpZWxkIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgZmllbGQoaWRPck5hbWU6IHN0cmluZyk6IEFwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIC8vIEVuc3VyZSBhbGwgZmllbGRzIGFyZSBsb2FkZWQgYW5kIGNhY2hlZFxuICAgIHRoaXMuZmllbGRzKCk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcbiAgICBpZiAodGhpcy5maWVsZE1hcC5oYXMoaWRPck5hbWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWVsZE1hcC5nZXQoaWRPck5hbWUpO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdGhlIGlkT3JOYW1lIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2hcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIEZpbmQgdGhlIGZpZWxkIGJ5IG1hdGNoaW5nIElEIG9yIG5hbWUsIGNhc2UtaW5zZW5zaXRpdmVseVxuICAgIHJldHVybiB0aGlzLmFsbEZpZWxkcz8uZmluZChcbiAgICAgIGYgPT4gZi5GaWVsZE5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IGlkTG93ZXIgfHwgZi5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFsbCBmaWVsZHMgb2YgdGhlIGFwcCBvYmplY3QgdGhhdCBhcmUgbG9va3VwIGZpZWxkcy5cbiAgICogQSBsb29rdXAgZmllbGQgaXMgYSBmaWVsZCB0aGF0IGhhcyBhIHJlbGF0aW9uc2hpcCB3aXRoIGFub3RoZXIgZmllbGQuXG4gICAqIEl0IGlzIHVzZWQgdG8gcGVyZm9ybSBsb29rdXBzLCBzdWNoIGFzIHJldHJpZXZpbmcgYSBsaXN0IG9mIHZhbHVlc1xuICAgKiBmcm9tIGEgcmVsYXRlZCBmaWVsZC5cbiAgICogXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IC0gQW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgYXJlIGxvb2t1cCBmaWVsZHMuXG4gICAqL1xuICBsb29rdXBGaWVsZHMoKTogQXBwRmllbGRNb2RlbFtdIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmllbGQgPT4gZmllbGQuSXNMb29rdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBmaWVsZHMgZm9yIHRoZSBhcHAgb2JqZWN0IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxuICAgKiBUaGUgZmlsdGVyIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIGVhY2ggZmllbGQgYXMgYW4gYXJndW1lbnQsIGFuZCBzaG91bGQgcmV0dXJuIHRydWUgaWYgdGhlIGZpZWxkXG4gICAqIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IFRoZSBhcnJheSBvZiBmaWVsZHMgdGhhdCBzYXRpc2Z5IHRoZSBmaWx0ZXIgZnVuY3Rpb24uXG4gICAqL1xuICBmaW5kRmllbGRzKGZpbHRlckZuOiAoZmllbGQ6IEFwcEZpZWxkTW9kZWwpID0+IGJvb2xlYW4pOiBBcHBGaWVsZE1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFsbCBkYXRhIHNvdXJjZSBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEFwcE9iamVjdC4gXG4gICAqIFRoZSBxdWVyaWVzIGFyZSBjYWNoZWQgZm9yIGZhc3RlciBzdWJzZXF1ZW50IGFjY2Vzcy4gVGhlIGNhY2hlIGlzIHN0b3JlZCBpbiBhIG1hcCBieSBJRCwgUXVlcnlOYW1lLCBhbmQgRGlzcGxheU5hbWUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSBBbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzLlxuICAgKi9cbiAgZGF0YVNvdXJjZVF1ZXJpZXMoKTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXSB7XG4gICAgLy8gQ2hlY2sgaWYgYWxsRFNRcyBpcyBlbXB0eSBvciB1bmRlZmluZWRcbiAgICBpZiAoIXRoaXMuYWxsRFNRcz8ubGVuZ3RoKSB7XG4gICAgICAvLyBNYXAgdGhlIHJhdyBEYXRhU291cmNlUXVlcmllcyB0byBEYXRhU291cmNlUXVlcnlNb2RlbCBpbnN0YW5jZXNcbiAgICAgIHRoaXMuYWxsRFNRcyA9ICh0aGlzLnJhdz8uRGF0YVNvdXJjZVF1ZXJpZXMgPz8gW10pLm1hcCgoZHNxOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwoZHNxLCB0aGlzKTtcbiAgICAgICAgLy8gQ2FjaGUgdGhlIERhdGFTb3VyY2VRdWVyeSBpbiBhIG1hcCBieSBJRCwgUXVlcnlOYW1lLCBhbmQgRGlzcGxheU5hbWVcbiAgICAgICAgdGhpcy5kc3FNYXAuc2V0KGRzcT8uSUQsIG1vZGVsKTtcbiAgICAgICAgdGhpcy5kc3FNYXAuc2V0KGRzcT8uUXVlcnlOYW1lLCBtb2RlbCk7XG4gICAgICAgIHRoaXMuZHNxTWFwLnNldChkc3E/LkRpc3BsYXlOYW1lLCBtb2RlbCk7XG4gICAgICAgIHJldHVybiBtb2RlbDtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbGxEU1FzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IGl0cyBJRCBvciBuYW1lLlxuICAgKiBJZiB0aGUgcXVlcnkgaXMgY2FjaGVkLCBpdCByZXR1cm5zIGl0IGZyb20gdGhlIGNhY2hlLlxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMuXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRPck5hbWUgLSBUaGUgSUQgb3IgbmFtZSBvZiB0aGUgZGF0YSBzb3VyY2UgcXVlcnkgdG8gcmV0cmlldmUuXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZH0gLSBUaGUgZGF0YSBzb3VyY2UgcXVlcnkgbW9kZWwgaWYgZm91bmQsIG90aGVyd2lzZSB1bmRlZmluZWQuXG4gICAqL1xuICBkYXRhU291cmNlUXVlcnkoaWRPck5hbWU6IHN0cmluZyk6IERhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBFbnN1cmUgYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMgYXJlIGxvYWRlZCBhbmQgY2FjaGVkXG4gICAgdGhpcy5kYXRhU291cmNlUXVlcmllcygpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUgbWFwXG4gICAgaWYgKHRoaXMuZHNxTWFwLmhhcyhpZE9yTmFtZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRzcU1hcC5nZXQoaWRPck5hbWUpO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdGhlIGlkT3JOYW1lIHRvIGxvd2VyY2FzZSBmb3IgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2hcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIEZpbmQgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGJ5IG1hdGNoaW5nIFF1ZXJ5TmFtZSBvciBEaXNwbGF5TmFtZSwgY2FzZS1pbnNlbnNpdGl2ZWx5XG4gICAgcmV0dXJuIHRoaXMuYWxsRFNRcz8uZmluZChcbiAgICAgIGRzcSA9PiBkc3EuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGRzcS5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGRhdGEgc291cmNlIHF1ZXJpZXMgdGhhdCBzYXRpc2Z5IHRoZSBnaXZlbiBmaWx0ZXIgZnVuY3Rpb24uXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBkYXRhIHNvdXJjZSBxdWVyeSBhcyBhbiBhcmd1bWVudC5cbiAgICogSWYgdGhlIGZpbHRlciBmdW5jdGlvbiByZXR1cm5zIHRydWUsIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSBpcyBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LlxuICAgKiBcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXX0gLSBUaGUgYXJyYXkgb2YgZGF0YSBzb3VyY2UgcXVlcmllcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cbiAgICovXG4gIGZpbmREYXRhU291cmNlUXVlcmllcyhmaWx0ZXJGbjogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlUXVlcmllcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiB0ZXJtIGluIHRoZSBmaWVsZHMgYW5kIGRhdGEgc291cmNlIHF1ZXJpZXMgb2YgdGhpcyBBcHBPYmplY3QuXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxuICAgKiAgIC0gRmllbGQgbmFtZSBhbmQgZGVzY3JpcHRpb25cbiAgICogICAtIERhdGEgc291cmNlIHF1ZXJ5IG5hbWUsIGRpc3BsYXkgbmFtZSwgYW5kIGRlc2NyaXB0aW9uXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGVybSAtIFRoZSBzZWFyY2ggdGVybSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcmV0dXJucyB7eyBmaWVsZHM6IEFwcEZpZWxkTW9kZWxbXTsgZHNxczogRGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXSB9fSAtIEFuIG9iamVjdCB3aXRoIHRoZSBzZWFyY2ggcmVzdWx0cy5cbiAgICogICBUaGUgYGZpZWxkc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxuICAgKiAgIFRoZSBgZHNxc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgb2JqZWN0cyB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggdGVybS5cbiAgICovXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB7IGZpZWxkczogQXBwRmllbGRNb2RlbFtdOyBkc3FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIH0ge1xuICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRlcm0gaW4gdGhlIGZpZWxkc1xuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpZWxkID0+IGZpZWxkLnNlYXJjaCh0ZXJtKSk7XG5cbiAgICAvLyBTZWFyY2ggZm9yIHRoZSB0ZXJtIGluIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzXG4gICAgY29uc3QgZHNxcyA9IHRoaXMuZGF0YVNvdXJjZVF1ZXJpZXMoKS5maWx0ZXIoZHNxID0+IGRzcS5zZWFyY2godGVybSkpO1xuXG4gICAgLy8gUmV0dXJuIHRoZSBzZWFyY2ggcmVzdWx0c1xuICAgIHJldHVybiB7IGZpZWxkcywgZHNxcyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBhIEpTT04gb2JqZWN0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgcmF3IGRhdGEgYXMgYSBKU09OIG9iamVjdC5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJhdztcbiAgfVxufSJdfQ==
@@ -0,0 +1,37 @@
1
+ export class AppScreenModel {
2
+ constructor(raw) {
3
+ this.raw = raw;
4
+ this.ID = raw?.ID;
5
+ this.Name = raw?.Name;
6
+ this.Description = raw?.Description;
7
+ this.ScreenType = raw?.ScreenType;
8
+ this.DataSourceQuery = raw?.DataSourceQuery;
9
+ this.Container = raw?.Container;
10
+ this.ScreenConfiguration = raw?.ScreenConfiguration;
11
+ this.AppId = raw?.AppId;
12
+ this.RecordId = raw?.RecordId;
13
+ this.IsSystemRecord = raw?.IsSystemRecord;
14
+ }
15
+ /**
16
+ * Searches for the given term in the properties of the current app screen
17
+ * @param {string} term The search term
18
+ * @returns {boolean} Whether the search term is present in any field
19
+ */
20
+ search(term) {
21
+ const lower = term.toLowerCase();
22
+ return Boolean(
23
+ // Search in ID
24
+ (this.ID && this.ID?.toLowerCase()?.includes(lower)) ||
25
+ // Search in Name
26
+ (this.Name && this.Name?.toLowerCase()?.includes(lower)));
27
+ }
28
+ /**
29
+ * Converts the current object to a JSON object.
30
+ *
31
+ * @returns A JSON representation of the current object.
32
+ */
33
+ toJSON() {
34
+ return this.raw;
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNjcmVlbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLXNjcmVlbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQVl2QixZQUFvQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUN4QixJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsZUFBZSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLG1CQUFtQixDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRSxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLEVBQUUsY0FBYyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQVk7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsT0FBTyxPQUFPO1FBQ1YsZUFBZTtRQUNmLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxpQkFBaUI7WUFDakIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyZWVuVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9jb21tb24uZW51bVwiO1xuXG5leHBvcnQgY2xhc3MgQXBwU2NyZWVuTW9kZWwge1xuICAgIHJlYWRvbmx5IElEOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgTmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgU2NyZWVuVHlwZTogU2NyZWVuVHlwZTtcbiAgICByZWFkb25seSBEYXRhU291cmNlUXVlcnk6IHN0cmluZztcbiAgICByZWFkb25seSBDb250YWluZXI6IHN0cmluZyB8IG51bGw7XG4gICAgcmVhZG9ubHkgU2NyZWVuQ29uZmlndXJhdGlvbjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IEFwcElkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgUmVjb3JkSWQ6IHN0cmluZztcbiAgICByZWFkb25seSBJc1N5c3RlbVJlY29yZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmF3OiBhbnkpIHtcbiAgICAgICAgdGhpcy5JRCA9IHJhdz8uSUQ7XG4gICAgICAgIHRoaXMuTmFtZSA9IHJhdz8uTmFtZTtcbiAgICAgICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdz8uRGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuU2NyZWVuVHlwZSA9IHJhdz8uU2NyZWVuVHlwZTtcbiAgICAgICAgdGhpcy5EYXRhU291cmNlUXVlcnkgPSByYXc/LkRhdGFTb3VyY2VRdWVyeTtcbiAgICAgICAgdGhpcy5Db250YWluZXIgPSByYXc/LkNvbnRhaW5lcjtcbiAgICAgICAgdGhpcy5TY3JlZW5Db25maWd1cmF0aW9uID0gcmF3Py5TY3JlZW5Db25maWd1cmF0aW9uO1xuICAgICAgICB0aGlzLkFwcElkID0gcmF3Py5BcHBJZDtcbiAgICAgICAgdGhpcy5SZWNvcmRJZCA9IHJhdz8uUmVjb3JkSWQ7XG4gICAgICAgIHRoaXMuSXNTeXN0ZW1SZWNvcmQgPSByYXc/LklzU3lzdGVtUmVjb3JkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlYXJjaGVzIGZvciB0aGUgZ2l2ZW4gdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBhcHAgc2NyZWVuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRlcm0gVGhlIHNlYXJjaCB0ZXJtXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IGZpZWxkXG4gICAgICovXG4gICAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBsb3dlciA9IHRlcm0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgICAgICAvLyBTZWFyY2ggaW4gSURcbiAgICAgICAgICAgICh0aGlzLklEICYmIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKGxvd2VyKSkgfHxcbiAgICAgICAgICAgIC8vIFNlYXJjaCBpbiBOYW1lXG4gICAgICAgICAgICAodGhpcy5OYW1lICYmIHRoaXMuTmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMobG93ZXIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBhIEpTT04gb2JqZWN0LlxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjdXJyZW50IG9iamVjdC5cbiAgICAgKi9cbiAgICB0b0pTT04oKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmF3O1xuICAgIH1cbn1cbiJdfQ==
@@ -9,4 +9,4 @@ export class Resources {
9
9
  }
10
10
  export class EmailTemplate {
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9jb21tb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE1BQU0sT0FBTyxJQUFJO0NBS2hCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FJMUI7QUFFRCxNQUFNLE9BQU8sT0FBTztDQUluQjtBQUVELE1BQU0sT0FBTyxTQUFTO0NBR3JCO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FHekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5leHBvcnQgY2xhc3MgUm9sZSB7XHJcbiAgSUQ6IHN0cmluZyB8IGFueTtcclxuICBSb2xlTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIERlc2NyaXB0aW9uOiBzdHJpbmcgfCBhbnk7XHJcbiAgUGFyZW50Um9sZTogUm9sZSB8IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25zIHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIFNldHRpbmdfS2V5OiBzdHJpbmcgfCBhbnk7XHJcbiAgVmFsdWU6IHN0cmluZyB8IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb2ZpbGUge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIFByb2ZpbGVOYW1lITogc3RyaW5nO1xyXG4gIERlc2NyaXB0aW9uITogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VzIHtcclxuICBJRCE6IHN0cmluZztcclxuICBWYWx1ZSE6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEVtYWlsVGVtcGxhdGUge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIFRlbXBsYXRlITogc3RyaW5nO1xyXG59XHJcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9jb21tb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBSXZELE1BQU0sT0FBTyxJQUFJO0NBS2hCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FJMUI7QUFFRCxNQUFNLE9BQU8sT0FBTztDQUluQjtBQUVELE1BQU0sT0FBTyxTQUFTO0NBS3JCO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FHekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBSZXNvdXJjZVR5cGUgfSBmcm9tIFwiLi4vZW51bXMvY29tbW9uLmVudW1cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSb2xlIHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIFJvbGVOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGVzY3JpcHRpb246IHN0cmluZyB8IGFueTtcclxuICBQYXJlbnRSb2xlOiBSb2xlIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbnMge1xyXG4gIElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgU2V0dGluZ19LZXk6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZSB7XHJcbiAgSUQhOiBzdHJpbmc7XHJcbiAgUHJvZmlsZU5hbWUhOiBzdHJpbmc7XHJcbiAgRGVzY3JpcHRpb24hOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZXMge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIFZhbHVlITogc3RyaW5nO1xyXG4gIFNldHRpbmdfS2V5ITogc3RyaW5nO1xyXG4gIHJlc291cmNlVHlwZSE6IFJlc291cmNlVHlwZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEVtYWlsVGVtcGxhdGUge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIFRlbXBsYXRlITogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -28,4 +28,4 @@ export class UpdateQueryParameter {
28
28
  }
29
29
  export class ScreenParameter {
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFZdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQU1FLFdBQU0sR0FBK0IsRUFBRSxDQUFDO1FBRXhDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsZUFBVSxHQUFpQixFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtDQUtwQztBQUVELE1BQU0sT0FBTyxVQUFVO0NBS3RCO0FBRUQsTUFBTSxPQUFPLElBQUk7Q0FLaEI7QUFFRCxNQUFNLE9BQU8sY0FBYztDQUcxQjtBQUVELE1BQU0sT0FBTyxNQUFNO0NBU2xCO0FBRUQsTUFBTSxPQUFPLFNBQVM7Q0FxQnJCO0FBRUQsTUFBTSxPQUFPLFNBQVM7Q0FHckI7QUFFRCxNQUFNLE9BQU8sYUFBYTtDQUl6QjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBS3ZCO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtDQUdoQztBQUVELE1BQU0sT0FBTyxlQUFlO0NBTTNCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgRGF0YVR5cGVzIH0gZnJvbSAnLi4vZW51bXMvY29udHJvbGxlcnMuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgU29ydFNlcXVlbmNlLFxyXG4gIENvbmp1Y3Rpb25DbGF1c2UsXHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yLFxyXG4gIE9iamVjdENyZWF0aW9uVHlwZSxcclxufSBmcm9tICcuLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IEFwcE9iamVjdCB9IGZyb20gJy4vYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7IFByb2ZpbGUgfSBmcm9tICcuL2NvbW1vbi5jbGFzcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZVF1ZXJpZXMge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIE9iamVjdElEITogQXBwT2JqZWN0O1xyXG4gIE9iamVjdElEX1Rvc2F2ZSE6IHN0cmluZztcclxuICBRdWVyeU5hbWUhOiBzdHJpbmc7XHJcbiAgRGlzcGxheU5hbWUhOiBzdHJpbmc7XHJcbiAgRmllbGRzOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSA9IFtdO1xyXG4gIEZpbHRlcnMhOiBGaWx0ZXJDcml0ZXJpYTtcclxuICBTb3J0OiBTb3J0W10gPSBbXTtcclxuICBQYXJhbWV0ZXJzOiBQYXJhbWV0ZXJzW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkcyB7XHJcbiAgLy8gRmllbGQhOiBBcHBGaWVsZHM7XHJcbiAgU2VxTm8hOiBudW1iZXI7XHJcbiAgRmllbGRfR3JpZEF0dHJpYnV0ZXMhOiBzdHJpbmc7XHJcbiAgTG9va3VwRGV0YWlscyE6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlcnMge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIFBhcmFtZXRlck5hbWUhOiBzdHJpbmc7XHJcbiAgRGF0YVNvdXJjZVF1ZXJ5SUQhOiBzdHJpbmc7XHJcbiAgTWFwcGluZ0ZpZWxkTmFtZSE6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNvcnQge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIC8vIEZpZWxkITogQXBwRmllbGRzO1xyXG4gIFNvcnRTZXF1ZW5jZSE6IFNvcnRTZXF1ZW5jZTtcclxuICBTZXF1ZW5jZSE6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlckNyaXRlcmlhIHtcclxuICBGaWx0ZXJzITogRmlsdGVyO1xyXG4gIEZpbHRlckxvZ2ljITogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsdGVyIHtcclxuICBJRCE6IHN0cmluZztcclxuICBDb25qdWN0aW9uQ2xhdXNlITogQ29uanVjdGlvbkNsYXVzZTtcclxuICAvLyBGaWVsZCE6IHN0cmluZztcclxuICBSZWxhdGlvbmFsT3BlcmF0b3IhOiBSZWxhdGlvbmFsT3BlcmF0b3I7XHJcbiAgVmFsdWVUeXBlOiBhbnk7XHJcbiAgdmFsdWUhOiBzdHJpbmc7XHJcbiAgU2VxdWVuY2UhOiBudW1iZXI7XHJcbiAgR3JvdXBJRCE6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcEZpZWxkcyB7XHJcbiAgSUQhOiBzdHJpbmc7XHJcbiAgT2JqZWN0SUQhOiBBcHBPYmplY3Q7XHJcbiAgRmllbGROYW1lITogc3RyaW5nO1xyXG4gIERpc3BsYXlOYW1lITogc3RyaW5nO1xyXG4gIEZpZWxkVHlwZSE6IEZpZWxkVHlwZTtcclxuICBEZXNjcmlwdGlvbiE6IHN0cmluZztcclxuICBDcmVhdGlvblR5cGUhOiBPYmplY3RDcmVhdGlvblR5cGU7XHJcbiAgSXNSZXF1aXJlZCE6IGJvb2xlYW47XHJcbiAgSXNVbmlxdWUhOiBib29sZWFuO1xyXG4gIElzU2VhcmNoYWJsZSE6IGJvb2xlYW47XHJcbiAgSXNDb25maWRlbnRpYWwhOiBib29sZWFuO1xyXG4gIFN5c3RlbURCRmllbGROYW1lITogc3RyaW5nO1xyXG4gIElzU3lzdGVtITogYm9vbGVhbjtcclxuICBJc1Zpc2libGUhOiBib29sZWFuO1xyXG4gIElzRGVwcmVjYXRlZCE6IGJvb2xlYW47XHJcbiAgTG9va1VwRGV0YWlscyE6IExvb2tVcERldGFpbHM7XHJcbiAgQWNjZXNzTGlzdCE6IEZpZWxkQWNjZXNzW107XHJcbiAgRGF0YSE6IHN0cmluZztcclxuICBJc1ByaW1hcnlLZXkhOiBib29sZWFuO1xyXG4gIEZpZWxkITogQXBwRmllbGRzO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRmllbGRUeXBlIHtcclxuICBEYXRhVHlwZSE6IERhdGFUeXBlcztcclxuICBSZWxhdGlvbmFsT3BlcmF0b3IhOiBSZWxhdGlvbmFsT3BlcmF0b3JbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvb2tVcERldGFpbHMge1xyXG4gIExvb2t1cE9iamVjdCE6IHN0cmluZztcclxuICBMb29rdXBGaWVsZCE6IHN0cmluZztcclxuICBEaXNwbGF5RmllbGQhOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWVsZEFjY2VzcyB7XHJcbiAgSUQhOiBzdHJpbmc7XHJcbiAgUHJvZmlsZUlEITogUHJvZmlsZTtcclxuICBJc1Zpc2libGUhOiBib29sZWFuO1xyXG4gIElzUmVhZE9ubHkhOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXBkYXRlUXVlcnlQYXJhbWV0ZXIge1xyXG4gIEZpZWxkTmFtZSE6IHN0cmluZztcclxuICBGaWVsZFZhbHVlITogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2NyZWVuUGFyYW1ldGVyIHtcclxuICBldmVudDogYW55O1xyXG4gIGZvcm1Kc29uOiBhbnk7XHJcbiAgZm9ybUlPT2JqZWN0OiBhbnk7XHJcbiAgc2VydmljZUxpc3Q6IGFueTtcclxuICBkYWlsb2dSZWY6IGFueTtcclxufVxyXG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFZdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQU1FLFdBQU0sR0FBK0IsRUFBRSxDQUFDO1FBRXhDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsZUFBVSxHQUFpQixFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtDQVNwQztBQUVELE1BQU0sT0FBTyxVQUFVO0NBS3RCO0FBRUQsTUFBTSxPQUFPLElBQUk7Q0FLaEI7QUFFRCxNQUFNLE9BQU8sY0FBYztDQUcxQjtBQUVELE1BQU0sT0FBTyxNQUFNO0NBU2xCO0FBRUQsTUFBTSxPQUFPLFNBQVM7Q0FxQnJCO0FBRUQsTUFBTSxPQUFPLFNBQVM7Q0FHckI7QUFFRCxNQUFNLE9BQU8sYUFBYTtDQUt6QjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBSXZCO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtDQUdoQztBQUVELE1BQU0sT0FBTyxlQUFlO0NBTTNCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgRGF0YVR5cGVzIH0gZnJvbSAnLi4vZW51bXMvY29udHJvbGxlcnMuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgU29ydFNlcXVlbmNlLFxyXG4gIENvbmp1Y3Rpb25DbGF1c2UsXHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yLFxyXG4gIE9iamVjdENyZWF0aW9uVHlwZSxcclxuICBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGUsXHJcbn0gZnJvbSAnLi4vZW51bXMvZHNxLmVudW0nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuL2FwcC1vYmplY3QuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VRdWVyaWVzIHtcclxuICBJRCE6IHN0cmluZztcclxuICBPYmplY3RJRCE6IEFwcE9iamVjdDtcclxuICBPYmplY3RJRF9Ub3NhdmUhOiBzdHJpbmc7XHJcbiAgUXVlcnlOYW1lITogc3RyaW5nO1xyXG4gIERpc3BsYXlOYW1lITogc3RyaW5nO1xyXG4gIEZpZWxkczogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10gPSBbXTtcclxuICBGaWx0ZXJzITogRmlsdGVyQ3JpdGVyaWE7XHJcbiAgU29ydDogU29ydFtdID0gW107XHJcbiAgUGFyYW1ldGVyczogUGFyYW1ldGVyc1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlUXVlcmllc19GaWVsZHMge1xyXG4gIElEITogc3RyaW5nXHJcbiAgRmllbGQhOiBBcHBGaWVsZHM7XHJcbiAgU2VxTm8hOiBudW1iZXI7XHJcbiAgRmllbGRfR3JpZEF0dHJpYnV0ZXMhOiBzdHJpbmc7XHJcbiAgTG9va3VwRGV0YWlscyE6IHN0cmluZztcclxuICBGaWVsZFR5cGUhOiBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGU7XHJcbiAgRmllbGREZXRhaWxzITogc3RyaW5nO1xyXG4gIEFwcEZpZWxkSUQhOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJzIHtcclxuICBJRCE6IHN0cmluZztcclxuICBQYXJhbWV0ZXJOYW1lITogc3RyaW5nO1xyXG4gIERhdGFTb3VyY2VRdWVyeUlEITogc3RyaW5nO1xyXG4gIE1hcHBpbmdGaWVsZE5hbWUhOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTb3J0IHtcclxuICBJRCE6IHN0cmluZztcclxuICAvLyBGaWVsZCE6IEFwcEZpZWxkcztcclxuICBTb3J0U2VxdWVuY2UhOiBTb3J0U2VxdWVuY2U7XHJcbiAgU2VxdWVuY2UhOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDcml0ZXJpYSB7XHJcbiAgRmlsdGVycyE6IEZpbHRlcjtcclxuICBGaWx0ZXJMb2dpYyE6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlciB7XHJcbiAgSUQhOiBzdHJpbmc7XHJcbiAgQ29uanVjdGlvbkNsYXVzZSE6IENvbmp1Y3Rpb25DbGF1c2U7XHJcbiAgLy8gRmllbGQhOiBzdHJpbmc7XHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yITogUmVsYXRpb25hbE9wZXJhdG9yO1xyXG4gIFZhbHVlVHlwZTogYW55O1xyXG4gIHZhbHVlITogc3RyaW5nO1xyXG4gIFNlcXVlbmNlITogbnVtYmVyO1xyXG4gIEdyb3VwSUQhOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBGaWVsZHMge1xyXG4gIElEITogc3RyaW5nO1xyXG4gIE9iamVjdElEITogQXBwT2JqZWN0O1xyXG4gIEZpZWxkTmFtZSE6IHN0cmluZztcclxuICBEaXNwbGF5TmFtZSE6IHN0cmluZztcclxuICBGaWVsZFR5cGUhOiBGaWVsZFR5cGU7XHJcbiAgRGVzY3JpcHRpb24hOiBzdHJpbmc7XHJcbiAgQ3JlYXRpb25UeXBlITogT2JqZWN0Q3JlYXRpb25UeXBlO1xyXG4gIElzUmVxdWlyZWQhOiBib29sZWFuO1xyXG4gIElzVW5pcXVlITogYm9vbGVhbjtcclxuICBJc1NlYXJjaGFibGUhOiBib29sZWFuO1xyXG4gIElzQ29uZmlkZW50aWFsITogYm9vbGVhbjtcclxuICBTeXN0ZW1EQkZpZWxkTmFtZSE6IHN0cmluZztcclxuICBJc1N5c3RlbSE6IGJvb2xlYW47XHJcbiAgSXNWaXNpYmxlITogYm9vbGVhbjtcclxuICBJc0RlcHJlY2F0ZWQhOiBib29sZWFuO1xyXG4gIExvb2tVcERldGFpbHMhOiBMb29rVXBEZXRhaWxzO1xyXG4gIEFjY2Vzc0xpc3QhOiBGaWVsZEFjY2Vzc1tdO1xyXG4gIERhdGEhOiBzdHJpbmc7XHJcbiAgSXNQcmltYXJ5S2V5ITogYm9vbGVhbjtcclxuICBGaWVsZCE6IEFwcEZpZWxkcztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpZWxkVHlwZSB7XHJcbiAgRGF0YVR5cGUhOiBEYXRhVHlwZXM7XHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yITogUmVsYXRpb25hbE9wZXJhdG9yW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb29rVXBEZXRhaWxzIHtcclxuICBMb29rdXBPYmplY3QhOiBzdHJpbmc7XHJcbiAgTG9va3VwRmllbGQhOiBzdHJpbmc7XHJcbiAgRGlzcGxheUZpZWxkITogc3RyaW5nO1xyXG4gIHNlbGVjdFF1ZXJ5ITogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRmllbGRBY2Nlc3Mge1xyXG4gIEZpZWxkSUQhOiBzdHJpbmc7XHJcbiAgSXNWaXNpYmxlITogYm9vbGVhbjtcclxuICBJc1JlYWRPbmx5ITogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVwZGF0ZVF1ZXJ5UGFyYW1ldGVyIHtcclxuICBGaWVsZE5hbWUhOiBzdHJpbmc7XHJcbiAgRmllbGRWYWx1ZSE6IHN0cmluZyB8IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNjcmVlblBhcmFtZXRlciB7XHJcbiAgZXZlbnQ6IGFueTtcclxuICBmb3JtSnNvbjogYW55O1xyXG4gIGZvcm1JT09iamVjdDogYW55O1xyXG4gIHNlcnZpY2VMaXN0OiBhbnk7XHJcbiAgZGFpbG9nUmVmOiBhbnk7XHJcbn1cclxuIl19
@@ -0,0 +1,123 @@
1
+ import { FilterModel } from './filter.model';
2
+ import { ParameterModel } from './parameter.model';
3
+ import { SortModel } from './sort.model';
4
+ export class DataSourceQueryModel {
5
+ constructor(raw, parentAppObject) {
6
+ this.raw = raw;
7
+ this.parentAppObject = parentAppObject;
8
+ this.enrichedFields = [];
9
+ this.cachedParameters = [];
10
+ this.cachedFilters = [];
11
+ this.cachedSorts = [];
12
+ this.ID = raw.ID;
13
+ this.ObjectID = raw.ObjectID;
14
+ this.ObjectID_Tosave = raw.ObjectID_Tosave;
15
+ this.QueryName = raw.QueryName;
16
+ this.DisplayName = raw.DisplayName;
17
+ this.FilterLogic = raw.FilterLogic;
18
+ }
19
+ /**
20
+ * Gets the fields for the data source query. The fields are enriched with the corresponding `AppFieldModel` objects.
21
+ * @returns {DataSourceQueries_Fields[]} The array of enriched fields.
22
+ */
23
+ fields() {
24
+ if (!this.enrichedFields?.length) {
25
+ const rawFields = this.raw?.Fields;
26
+ if (rawFields?.length) {
27
+ // Enrich the fields by mapping each field to the corresponding `AppFieldModel` object.
28
+ this.enrichedFields = rawFields.map((field) => ({
29
+ ...field,
30
+ // The `Field` property contains the corresponding `AppFieldModel` object.
31
+ Field: this.parentAppObject.field(field.AppFieldID)
32
+ }));
33
+ }
34
+ else {
35
+ // If there are no fields, return an empty array.
36
+ this.enrichedFields = [];
37
+ }
38
+ }
39
+ // Return the enriched fields.
40
+ return this.enrichedFields;
41
+ }
42
+ /**
43
+ * Finds and returns the fields for the data source query that satisfy the given filter function.
44
+ * @param {function} filterFn The filter function to apply to the fields.
45
+ * @returns {DataSourceQueries_Fields[]} The array of fields that satisfy the filter function.
46
+ */
47
+ findFields(filterFn) {
48
+ return this.fields().filter(filterFn);
49
+ }
50
+ /**
51
+ * Retrieves and caches the parameters for the data source query.
52
+ * @returns {ParameterModel[]} The array of ParameterModel instances.
53
+ */
54
+ parameters() {
55
+ // Check if parameters have already been cached
56
+ if (!this.cachedParameters) {
57
+ // Map raw parameters to ParameterModel instances and cache them
58
+ this.cachedParameters = (this.raw?.Parameters || []).map((p) => new ParameterModel(p));
59
+ }
60
+ return this.cachedParameters;
61
+ }
62
+ /**
63
+ * Retrieves the mandatory parameters for the data source query.
64
+ * @returns {ParameterModel[]} The array of mandatory ParameterModel instances.
65
+ */
66
+ mandatoryParameters() {
67
+ return this.parameters().filter(p => p.IsMandatory);
68
+ }
69
+ /**
70
+ * Finds a parameter by its name (case-insensitive).
71
+ * @param {string} name The name of the parameter to find.
72
+ * @returns {ParameterModel | undefined} The parameter model instance if found, otherwise undefined.
73
+ */
74
+ parameter(name) {
75
+ const nameLower = name.toLowerCase();
76
+ return this.parameters().find(p => p.ParameterName?.toLowerCase() === nameLower);
77
+ }
78
+ /**
79
+ * Retrieves and caches the filters for the data source query.
80
+ * @returns {FilterModel[]} The array of FilterModel instances.
81
+ */
82
+ filters() {
83
+ // Check if filters have already been cached
84
+ if (!this.cachedFilters) {
85
+ // Map raw filters to FilterModel instances and cache them
86
+ this.cachedFilters = (this.raw.Filters?.Filters || []).map((f) => new FilterModel(f));
87
+ }
88
+ return this.cachedFilters;
89
+ }
90
+ /**
91
+ * Retrieves and caches the sorts for the data source query.
92
+ * @returns {SortModel[]} The array of SortModel instances.
93
+ */
94
+ sorts() {
95
+ // Check if sorts have already been cached
96
+ if (!this.cachedSorts) {
97
+ // Map raw sorts to SortModel instances and cache them
98
+ this.cachedSorts = (this.raw.Sort || []).map((s) => new SortModel(s));
99
+ }
100
+ // Return the cached sorts
101
+ return this.cachedSorts;
102
+ }
103
+ /**
104
+ * Check if the given search term is present in any of the fields of the
105
+ * current data source query
106
+ * @param {string} term The search term
107
+ * @returns {boolean} Whether the search term is present in any field
108
+ */
109
+ search(term) {
110
+ const searchTerm = term.toLowerCase();
111
+ return (this.ID?.toLowerCase().includes(searchTerm) ||
112
+ this.QueryName?.toLowerCase().includes(searchTerm) ||
113
+ this.DisplayName?.toLowerCase().includes(searchTerm));
114
+ }
115
+ /**
116
+ * Converts the DataSourceQueryModel instance to a JSON representation.
117
+ * @returns {any} The raw data in JSON format.
118
+ */
119
+ toJSON() {
120
+ return this.raw;
121
+ }
122
+ }
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQ21CLEdBQVEsRUFDUixlQUErQjtRQUQvQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQ1Isb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBUDFDLG1CQUFjLEdBQStCLEVBQUUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFNcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVB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Q0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQ0wsSUFBSSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FDckQsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcE9iamVjdE1vZGVsIH0gZnJvbSAnLi9hcHAtb2JqZWN0Lm1vZGVsJztcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkcyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XG5pbXBvcnQgeyBGaWx0ZXJNb2RlbCB9IGZyb20gJy4vZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IFBhcmFtZXRlck1vZGVsIH0gZnJvbSAnLi9wYXJhbWV0ZXIubW9kZWwnO1xuaW1wb3J0IHsgU29ydE1vZGVsIH0gZnJvbSAnLi9zb3J0Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VRdWVyeU1vZGVsIHtcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgT2JqZWN0SUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IFF1ZXJ5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBGaWx0ZXJMb2dpYzogc3RyaW5nIHwgbnVsbDtcblxuICBwcml2YXRlIGVucmljaGVkRmllbGRzOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSA9IFtdO1xuICBwcml2YXRlIGNhY2hlZFBhcmFtZXRlcnM6IFBhcmFtZXRlck1vZGVsW10gPSBbXTtcbiAgcHJpdmF0ZSBjYWNoZWRGaWx0ZXJzOiBGaWx0ZXJNb2RlbFtdID0gW107XG4gIHByaXZhdGUgY2FjaGVkU29ydHM6IFNvcnRNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByYXc6IGFueSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudEFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWxcbiAgKSB7XG4gICAgdGhpcy5JRCA9IHJhdy5JRDtcbiAgICB0aGlzLk9iamVjdElEID0gcmF3Lk9iamVjdElEO1xuICAgIHRoaXMuT2JqZWN0SURfVG9zYXZlID0gcmF3Lk9iamVjdElEX1Rvc2F2ZTtcbiAgICB0aGlzLlF1ZXJ5TmFtZSA9IHJhdy5RdWVyeU5hbWU7XG4gICAgdGhpcy5EaXNwbGF5TmFtZSA9IHJhdy5EaXNwbGF5TmFtZTtcbiAgICB0aGlzLkZpbHRlckxvZ2ljID0gcmF3LkZpbHRlckxvZ2ljO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LiBUaGUgZmllbGRzIGFyZSBlbnJpY2hlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGBBcHBGaWVsZE1vZGVsYCBvYmplY3RzLlxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW119IFRoZSBhcnJheSBvZiBlbnJpY2hlZCBmaWVsZHMuXG4gICAqL1xuICBmaWVsZHMoKTogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10ge1xuICAgIGlmICghdGhpcy5lbnJpY2hlZEZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCByYXdGaWVsZHMgPSB0aGlzLnJhdz8uRmllbGRzO1xuICAgICAgaWYgKHJhd0ZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIEVucmljaCB0aGUgZmllbGRzIGJ5IG1hcHBpbmcgZWFjaCBmaWVsZCB0byB0aGUgY29ycmVzcG9uZGluZyBgQXBwRmllbGRNb2RlbGAgb2JqZWN0LlxuICAgICAgICB0aGlzLmVucmljaGVkRmllbGRzID0gcmF3RmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAvLyBUaGUgYEZpZWxkYCBwcm9wZXJ0eSBjb250YWlucyB0aGUgY29ycmVzcG9uZGluZyBgQXBwRmllbGRNb2RlbGAgb2JqZWN0LlxuICAgICAgICAgIEZpZWxkOiB0aGlzLnBhcmVudEFwcE9iamVjdC5maWVsZChmaWVsZC5BcHBGaWVsZElEKVxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZmllbGRzLCByZXR1cm4gYW4gZW1wdHkgYXJyYXkuXG4gICAgICAgIHRoaXMuZW5yaWNoZWRGaWVsZHMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUmV0dXJuIHRoZSBlbnJpY2hlZCBmaWVsZHMuXG4gICAgcmV0dXJuIHRoaXMuZW5yaWNoZWRGaWVsZHM7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXX0gVGhlIGFycmF5IG9mIGZpZWxkcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cbiAgICovXG4gIGZpbmRGaWVsZHMoZmlsdGVyRm46IChmaWVsZDogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzKSA9PiBib29sZWFuKTogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsW119IFRoZSBhcnJheSBvZiBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBwYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xuICAgIC8vIENoZWNrIGlmIHBhcmFtZXRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXG4gICAgaWYgKCF0aGlzLmNhY2hlZFBhcmFtZXRlcnMpIHtcbiAgICAgIC8vIE1hcCByYXcgcGFyYW1ldGVycyB0byBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cbiAgICAgIHRoaXMuY2FjaGVkUGFyYW1ldGVycyA9ICh0aGlzLnJhdz8uUGFyYW1ldGVycyB8fCBbXSkubWFwKChwOiBhbnkpID0+IG5ldyBQYXJhbWV0ZXJNb2RlbChwKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlZFBhcmFtZXRlcnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBtYW5kYXRvcnkgcGFyYW1ldGVycyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxuICAgKiBAcmV0dXJucyB7UGFyYW1ldGVyTW9kZWxbXX0gVGhlIGFycmF5IG9mIG1hbmRhdG9yeSBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBtYW5kYXRvcnlQYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMoKS5maWx0ZXIocCA9PiBwLklzTWFuZGF0b3J5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyBhIHBhcmFtZXRlciBieSBpdHMgbmFtZSAoY2FzZS1pbnNlbnNpdGl2ZSkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gZmluZC5cbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsIHwgdW5kZWZpbmVkfSBUaGUgcGFyYW1ldGVyIG1vZGVsIGluc3RhbmNlIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcGFyYW1ldGVyKG5hbWU6IHN0cmluZyk6IFBhcmFtZXRlck1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBuYW1lTG93ZXIgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycygpLmZpbmQocCA9PiBwLlBhcmFtZXRlck5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVMb3dlcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIGZpbHRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge0ZpbHRlck1vZGVsW119IFRoZSBhcnJheSBvZiBGaWx0ZXJNb2RlbCBpbnN0YW5jZXMuXG4gICAqL1xuICBmaWx0ZXJzKCk6IEZpbHRlck1vZGVsW10ge1xuICAgIC8vIENoZWNrIGlmIGZpbHRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXG4gICAgaWYgKCF0aGlzLmNhY2hlZEZpbHRlcnMpIHtcbiAgICAgIC8vIE1hcCByYXcgZmlsdGVycyB0byBGaWx0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cbiAgICAgIHRoaXMuY2FjaGVkRmlsdGVycyA9ICh0aGlzLnJhdy5GaWx0ZXJzPy5GaWx0ZXJzIHx8IFtdKS5tYXAoKGY6IGFueSkgPT4gbmV3IEZpbHRlck1vZGVsKGYpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRmlsdGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW5kIGNhY2hlcyB0aGUgc29ydHMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICogQHJldHVybnMge1NvcnRNb2RlbFtdfSBUaGUgYXJyYXkgb2YgU29ydE1vZGVsIGluc3RhbmNlcy5cbiAgICovXG4gIHNvcnRzKCk6IFNvcnRNb2RlbFtdIHtcbiAgICAvLyBDaGVjayBpZiBzb3J0cyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcbiAgICBpZiAoIXRoaXMuY2FjaGVkU29ydHMpIHtcbiAgICAgIC8vIE1hcCByYXcgc29ydHMgdG8gU29ydE1vZGVsIGluc3RhbmNlcyBhbmQgY2FjaGUgdGhlbVxuICAgICAgdGhpcy5jYWNoZWRTb3J0cyA9ICh0aGlzLnJhdy5Tb3J0IHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gbmV3IFNvcnRNb2RlbChzKSk7XG4gICAgfVxuICAgIC8vIFJldHVybiB0aGUgY2FjaGVkIHNvcnRzXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkU29ydHM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIGdpdmVuIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IG9mIHRoZSBmaWVsZHMgb2YgdGhlXG4gICAqIGN1cnJlbnQgZGF0YSBzb3VyY2UgcXVlcnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRlcm0gVGhlIHNlYXJjaCB0ZXJtXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSBzZWFyY2ggdGVybSBpcyBwcmVzZW50IGluIGFueSBmaWVsZFxuICAgKi9cbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0ZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcbiAgICAgIHRoaXMuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pIHx8XG4gICAgICB0aGlzLkRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgcmF3IGRhdGEgaW4gSlNPTiBmb3JtYXQuXG4gICAqL1xuICB0b0pTT04oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yYXc7XG4gIH1cbn0iXX0=
@@ -0,0 +1,24 @@
1
+ export class FilterModel {
2
+ constructor(raw) {
3
+ this.raw = raw;
4
+ this.ID = raw?.ID;
5
+ this.ConjuctionClause = raw?.ConjuctionClause;
6
+ this.RelationalOperator = raw?.RelationalOperator;
7
+ this.ValueType = raw?.ValueType;
8
+ this.value = raw?.value;
9
+ this.Sequence = raw?.Sequence;
10
+ this.GroupID = raw?.GroupID;
11
+ this.LookupDetail = raw?.LookupDetail;
12
+ this.FieldType = raw?.FieldType;
13
+ this.FieldID = raw?.FieldID;
14
+ }
15
+ /**
16
+ * Converts the current object to a JSON object.
17
+ *
18
+ * @returns A JSON representation of the current object.
19
+ */
20
+ toJSON() {
21
+ return this.raw;
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFdBQVc7SUFZdEIsWUFBNkIsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDbkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmp1Y3Rpb25DbGF1c2UsIERhdGFTb3VyY2VRdWVyeUZpbHRlckZpZWxkVHlwZSwgRmlsdGVyVmFsdWVUeXBlLCBSZWxhdGlvbmFsT3BlcmF0b3IgfSBmcm9tIFwiLi4vZW51bXMvZHNxLmVudW1cIjtcblxuZXhwb3J0IGNsYXNzIEZpbHRlck1vZGVsIHtcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgQ29uanVjdGlvbkNsYXVzZTogQ29uanVjdGlvbkNsYXVzZTtcbiAgcmVhZG9ubHkgUmVsYXRpb25hbE9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3I7XG4gIHJlYWRvbmx5IFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlO1xuICByZWFkb25seSB2YWx1ZTogc3RyaW5nO1xuICByZWFkb25seSBTZXF1ZW5jZTogbnVtYmVyO1xuICByZWFkb25seSBHcm91cElEOiBudW1iZXI7XG4gIHJlYWRvbmx5IExvb2t1cERldGFpbDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgRmllbGRUeXBlOiBEYXRhU291cmNlUXVlcnlGaWx0ZXJGaWVsZFR5cGU7XG4gIHJlYWRvbmx5IEZpZWxkSUQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55KSB7XG4gICAgdGhpcy5JRCA9IHJhdz8uSUQ7XG4gICAgdGhpcy5Db25qdWN0aW9uQ2xhdXNlID0gcmF3Py5Db25qdWN0aW9uQ2xhdXNlO1xuICAgIHRoaXMuUmVsYXRpb25hbE9wZXJhdG9yID0gcmF3Py5SZWxhdGlvbmFsT3BlcmF0b3I7XG4gICAgdGhpcy5WYWx1ZVR5cGUgPSByYXc/LlZhbHVlVHlwZTtcbiAgICB0aGlzLnZhbHVlID0gcmF3Py52YWx1ZTtcbiAgICB0aGlzLlNlcXVlbmNlID0gcmF3Py5TZXF1ZW5jZTtcbiAgICB0aGlzLkdyb3VwSUQgPSByYXc/Lkdyb3VwSUQ7XG4gICAgdGhpcy5Mb29rdXBEZXRhaWwgPSByYXc/Lkxvb2t1cERldGFpbDtcbiAgICB0aGlzLkZpZWxkVHlwZSA9IHJhdz8uRmllbGRUeXBlO1xuICAgIHRoaXMuRmllbGRJRCA9IHJhdz8uRmllbGRJRDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgY3VycmVudCBvYmplY3QgdG8gYSBKU09OIG9iamVjdC5cbiAgICpcbiAgICogQHJldHVybnMgQSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjdXJyZW50IG9iamVjdC5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJhdztcbiAgfVxufSJdfQ==