@ironcode/vas-lib 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +24 -0
  2. package/cjs/lib/control-value/index.d.ts +2 -0
  3. package/cjs/lib/control-value/index.d.ts.map +1 -0
  4. package/cjs/lib/control-value/index.js +5 -0
  5. package/cjs/lib/control-value/index.js.map +1 -0
  6. package/cjs/lib/control-value/vas-camera-control-value.model.d.ts +7 -0
  7. package/cjs/lib/control-value/vas-camera-control-value.model.d.ts.map +1 -0
  8. package/cjs/lib/control-value/vas-camera-control-value.model.js +3 -0
  9. package/cjs/lib/control-value/vas-camera-control-value.model.js.map +1 -0
  10. package/cjs/lib/controls-config/index.d.ts +4 -0
  11. package/cjs/lib/controls-config/index.d.ts.map +1 -0
  12. package/cjs/lib/controls-config/index.js +7 -0
  13. package/cjs/lib/controls-config/index.js.map +1 -0
  14. package/cjs/lib/controls-config/vas-control-config-direction.enum.d.ts +5 -0
  15. package/cjs/lib/controls-config/vas-control-config-direction.enum.d.ts.map +1 -0
  16. package/cjs/lib/controls-config/vas-control-config-direction.enum.js +11 -0
  17. package/cjs/lib/controls-config/vas-control-config-direction.enum.js.map +1 -0
  18. package/cjs/lib/controls-config/vas-control-config.model.d.ts +8 -0
  19. package/cjs/lib/controls-config/vas-control-config.model.d.ts.map +1 -0
  20. package/cjs/lib/controls-config/vas-control-config.model.js +3 -0
  21. package/cjs/lib/controls-config/vas-control-config.model.js.map +1 -0
  22. package/cjs/lib/controls-config/vas-select-control-config.model.d.ts +10 -0
  23. package/cjs/lib/controls-config/vas-select-control-config.model.d.ts.map +1 -0
  24. package/cjs/lib/controls-config/vas-select-control-config.model.js +3 -0
  25. package/cjs/lib/controls-config/vas-select-control-config.model.js.map +1 -0
  26. package/cjs/lib/entity/index.d.ts +23 -0
  27. package/cjs/lib/entity/index.d.ts.map +1 -0
  28. package/cjs/lib/entity/index.js +26 -0
  29. package/cjs/lib/entity/index.js.map +1 -0
  30. package/cjs/lib/entity/vas-account-object.dto.d.ts +5 -0
  31. package/cjs/lib/entity/vas-account-object.dto.d.ts.map +1 -0
  32. package/cjs/lib/entity/vas-account-object.dto.js +3 -0
  33. package/cjs/lib/entity/vas-account-object.dto.js.map +1 -0
  34. package/cjs/lib/entity/vas-base.dto.d.ts +13 -0
  35. package/cjs/lib/entity/vas-base.dto.d.ts.map +1 -0
  36. package/cjs/lib/entity/vas-base.dto.js +3 -0
  37. package/cjs/lib/entity/vas-base.dto.js.map +1 -0
  38. package/cjs/lib/entity/vas-base.model.d.ts +24 -0
  39. package/cjs/lib/entity/vas-base.model.d.ts.map +1 -0
  40. package/cjs/lib/entity/vas-base.model.js +28 -0
  41. package/cjs/lib/entity/vas-base.model.js.map +1 -0
  42. package/cjs/lib/entity/vas-control-type.dto.d.ts +5 -0
  43. package/cjs/lib/entity/vas-control-type.dto.d.ts.map +1 -0
  44. package/cjs/lib/entity/vas-control-type.dto.js +3 -0
  45. package/cjs/lib/entity/vas-control-type.dto.js.map +1 -0
  46. package/cjs/lib/entity/vas-control-type.model.d.ts +36 -0
  47. package/cjs/lib/entity/vas-control-type.model.d.ts.map +1 -0
  48. package/cjs/lib/entity/vas-control-type.model.js +57 -0
  49. package/cjs/lib/entity/vas-control-type.model.js.map +1 -0
  50. package/cjs/lib/entity/vas-control.dto.d.ts +14 -0
  51. package/cjs/lib/entity/vas-control.dto.d.ts.map +1 -0
  52. package/cjs/lib/entity/vas-control.dto.js +3 -0
  53. package/cjs/lib/entity/vas-control.dto.js.map +1 -0
  54. package/cjs/lib/entity/vas-control.model.d.ts +92 -0
  55. package/cjs/lib/entity/vas-control.model.d.ts.map +1 -0
  56. package/cjs/lib/entity/vas-control.model.js +145 -0
  57. package/cjs/lib/entity/vas-control.model.js.map +1 -0
  58. package/cjs/lib/entity/vas-field.dto.d.ts +10 -0
  59. package/cjs/lib/entity/vas-field.dto.d.ts.map +1 -0
  60. package/cjs/lib/entity/vas-field.dto.js +3 -0
  61. package/cjs/lib/entity/vas-field.dto.js.map +1 -0
  62. package/cjs/lib/entity/vas-file.dto.d.ts +14 -0
  63. package/cjs/lib/entity/vas-file.dto.d.ts.map +1 -0
  64. package/cjs/lib/entity/vas-file.dto.js +3 -0
  65. package/cjs/lib/entity/vas-file.dto.js.map +1 -0
  66. package/cjs/lib/entity/vas-form.dto.d.ts +9 -0
  67. package/cjs/lib/entity/vas-form.dto.d.ts.map +1 -0
  68. package/cjs/lib/entity/vas-form.dto.js +3 -0
  69. package/cjs/lib/entity/vas-form.dto.js.map +1 -0
  70. package/cjs/lib/entity/vas-form.model.d.ts +79 -0
  71. package/cjs/lib/entity/vas-form.model.d.ts.map +1 -0
  72. package/cjs/lib/entity/vas-form.model.js +148 -0
  73. package/cjs/lib/entity/vas-form.model.js.map +1 -0
  74. package/cjs/lib/entity/vas-group.dto.d.ts +15 -0
  75. package/cjs/lib/entity/vas-group.dto.d.ts.map +1 -0
  76. package/cjs/lib/entity/vas-group.dto.js +3 -0
  77. package/cjs/lib/entity/vas-group.dto.js.map +1 -0
  78. package/cjs/lib/entity/vas-group.model.d.ts +68 -0
  79. package/cjs/lib/entity/vas-group.model.d.ts.map +1 -0
  80. package/cjs/lib/entity/vas-group.model.js +109 -0
  81. package/cjs/lib/entity/vas-group.model.js.map +1 -0
  82. package/cjs/lib/entity/vas-job-data.dto.d.ts +5 -0
  83. package/cjs/lib/entity/vas-job-data.dto.d.ts.map +1 -0
  84. package/cjs/lib/entity/vas-job-data.dto.js +3 -0
  85. package/cjs/lib/entity/vas-job-data.dto.js.map +1 -0
  86. package/cjs/lib/entity/vas-job.dto.d.ts +12 -0
  87. package/cjs/lib/entity/vas-job.dto.d.ts.map +1 -0
  88. package/cjs/lib/entity/vas-job.dto.js +3 -0
  89. package/cjs/lib/entity/vas-job.dto.js.map +1 -0
  90. package/cjs/lib/entity/vas-job.model.d.ts +124 -0
  91. package/cjs/lib/entity/vas-job.model.d.ts.map +1 -0
  92. package/cjs/lib/entity/vas-job.model.js +209 -0
  93. package/cjs/lib/entity/vas-job.model.js.map +1 -0
  94. package/cjs/lib/entity/vas-job.model.spec-data.d.ts +3 -0
  95. package/cjs/lib/entity/vas-job.model.spec-data.d.ts.map +1 -0
  96. package/cjs/lib/entity/vas-job.model.spec-data.js +63 -0
  97. package/cjs/lib/entity/vas-job.model.spec-data.js.map +1 -0
  98. package/cjs/lib/entity/vas-report-layout.dto.d.ts +8 -0
  99. package/cjs/lib/entity/vas-report-layout.dto.d.ts.map +1 -0
  100. package/cjs/lib/entity/vas-report-layout.dto.js +3 -0
  101. package/cjs/lib/entity/vas-report-layout.dto.js.map +1 -0
  102. package/cjs/lib/entity/vas-report-request.dto.d.ts +8 -0
  103. package/cjs/lib/entity/vas-report-request.dto.d.ts.map +1 -0
  104. package/cjs/lib/entity/vas-report-request.dto.js +3 -0
  105. package/cjs/lib/entity/vas-report-request.dto.js.map +1 -0
  106. package/cjs/lib/entity/vas-report-request.model.d.ts +19 -0
  107. package/cjs/lib/entity/vas-report-request.model.d.ts.map +1 -0
  108. package/cjs/lib/entity/vas-report-request.model.js +42 -0
  109. package/cjs/lib/entity/vas-report-request.model.js.map +1 -0
  110. package/cjs/lib/entity/vas-restricted-account-object.dto.d.ts +5 -0
  111. package/cjs/lib/entity/vas-restricted-account-object.dto.d.ts.map +1 -0
  112. package/cjs/lib/entity/vas-restricted-account-object.dto.js +3 -0
  113. package/cjs/lib/entity/vas-restricted-account-object.dto.js.map +1 -0
  114. package/cjs/lib/entity/vas-user.dto.d.ts +6 -0
  115. package/cjs/lib/entity/vas-user.dto.d.ts.map +1 -0
  116. package/cjs/lib/entity/vas-user.dto.js +3 -0
  117. package/cjs/lib/entity/vas-user.dto.js.map +1 -0
  118. package/cjs/lib/entity/vas-user.model.d.ts +18 -0
  119. package/cjs/lib/entity/vas-user.model.d.ts.map +1 -0
  120. package/cjs/lib/entity/vas-user.model.js +50 -0
  121. package/cjs/lib/entity/vas-user.model.js.map +1 -0
  122. package/cjs/lib/utils/find-form-control.d.ts +3 -0
  123. package/cjs/lib/utils/find-form-control.d.ts.map +1 -0
  124. package/cjs/lib/utils/find-form-control.js +25 -0
  125. package/cjs/lib/utils/find-form-control.js.map +1 -0
  126. package/cjs/package.json +47 -0
  127. package/cjs/public-api.d.ts +4 -0
  128. package/cjs/public-api.d.ts.map +1 -0
  129. package/cjs/public-api.js +7 -0
  130. package/cjs/public-api.js.map +1 -0
  131. package/esm2020/ironcode-vas-lib.mjs +5 -0
  132. package/esm2020/lib/control-value/index.mjs +2 -0
  133. package/esm2020/lib/control-value/vas-camera-control-value.model.mjs +2 -0
  134. package/esm2020/lib/controls-config/index.mjs +4 -0
  135. package/esm2020/lib/controls-config/vas-control-config-direction.enum.mjs +8 -0
  136. package/esm2020/lib/controls-config/vas-control-config.model.mjs +2 -0
  137. package/esm2020/lib/controls-config/vas-select-control-config.model.mjs +2 -0
  138. package/esm2020/lib/entity/index.mjs +23 -0
  139. package/esm2020/lib/entity/vas-account-object.dto.mjs +2 -0
  140. package/esm2020/lib/entity/vas-base.dto.mjs +2 -0
  141. package/esm2020/lib/entity/vas-base.model.mjs +24 -0
  142. package/esm2020/lib/entity/vas-control-type.dto.mjs +2 -0
  143. package/esm2020/lib/entity/vas-control-type.model.mjs +53 -0
  144. package/esm2020/lib/entity/vas-control.dto.mjs +2 -0
  145. package/esm2020/lib/entity/vas-control.model.mjs +141 -0
  146. package/esm2020/lib/entity/vas-field.dto.mjs +2 -0
  147. package/esm2020/lib/entity/vas-file.dto.mjs +2 -0
  148. package/esm2020/lib/entity/vas-form.dto.mjs +2 -0
  149. package/esm2020/lib/entity/vas-form.model.mjs +143 -0
  150. package/esm2020/lib/entity/vas-group.dto.mjs +2 -0
  151. package/esm2020/lib/entity/vas-group.model.mjs +105 -0
  152. package/esm2020/lib/entity/vas-job-data.dto.mjs +2 -0
  153. package/esm2020/lib/entity/vas-job.dto.mjs +2 -0
  154. package/esm2020/lib/entity/vas-job.model.mjs +205 -0
  155. package/esm2020/lib/entity/vas-report-layout.dto.mjs +2 -0
  156. package/esm2020/lib/entity/vas-report-request.dto.mjs +2 -0
  157. package/esm2020/lib/entity/vas-report-request.model.mjs +38 -0
  158. package/esm2020/lib/entity/vas-restricted-account-object.dto.mjs +2 -0
  159. package/esm2020/lib/entity/vas-user.dto.mjs +2 -0
  160. package/esm2020/lib/entity/vas-user.model.mjs +46 -0
  161. package/esm2020/public-api.mjs +4 -0
  162. package/fesm2015/ironcode-vas-lib.mjs +756 -0
  163. package/fesm2015/ironcode-vas-lib.mjs.map +1 -0
  164. package/fesm2020/ironcode-vas-lib.mjs +755 -0
  165. package/fesm2020/ironcode-vas-lib.mjs.map +1 -0
  166. package/ironcode-vas-lib.d.ts +5 -0
  167. package/lib/control-value/index.d.ts +1 -0
  168. package/lib/control-value/vas-camera-control-value.model.d.ts +6 -0
  169. package/lib/controls-config/index.d.ts +3 -0
  170. package/lib/controls-config/vas-control-config-direction.enum.d.ts +4 -0
  171. package/lib/controls-config/vas-control-config.model.d.ts +7 -0
  172. package/lib/controls-config/vas-select-control-config.model.d.ts +9 -0
  173. package/lib/entity/index.d.ts +22 -0
  174. package/lib/entity/vas-account-object.dto.d.ts +4 -0
  175. package/lib/entity/vas-base.dto.d.ts +12 -0
  176. package/lib/entity/vas-base.model.d.ts +23 -0
  177. package/lib/entity/vas-control-type.dto.d.ts +4 -0
  178. package/lib/entity/vas-control-type.model.d.ts +35 -0
  179. package/lib/entity/vas-control.dto.d.ts +13 -0
  180. package/lib/entity/vas-control.model.d.ts +91 -0
  181. package/lib/entity/vas-field.dto.d.ts +9 -0
  182. package/lib/entity/vas-file.dto.d.ts +13 -0
  183. package/lib/entity/vas-form.dto.d.ts +8 -0
  184. package/lib/entity/vas-form.model.d.ts +78 -0
  185. package/lib/entity/vas-group.dto.d.ts +14 -0
  186. package/lib/entity/vas-group.model.d.ts +67 -0
  187. package/lib/entity/vas-job-data.dto.d.ts +4 -0
  188. package/lib/entity/vas-job.dto.d.ts +11 -0
  189. package/lib/entity/vas-job.model.d.ts +123 -0
  190. package/lib/entity/vas-report-layout.dto.d.ts +7 -0
  191. package/lib/entity/vas-report-request.dto.d.ts +7 -0
  192. package/lib/entity/vas-report-request.model.d.ts +18 -0
  193. package/lib/entity/vas-restricted-account-object.dto.d.ts +4 -0
  194. package/lib/entity/vas-user.dto.d.ts +5 -0
  195. package/lib/entity/vas-user.model.d.ts +17 -0
  196. package/package.json +35 -0
  197. package/public-api.d.ts +3 -0
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VasControlModel = void 0;
4
+ const vas_base_model_1 = require("./vas-base.model");
5
+ const angular2_uuid_1 = require("angular2-uuid");
6
+ /**
7
+ * ControlModel
8
+ */
9
+ class VasControlModel extends vas_base_model_1.VasBaseModel {
10
+ /**
11
+ * @param {string} id
12
+ * @param {string} created
13
+ * @param {string} serverCreated
14
+ * @param {string} createdBy
15
+ * @param {string} modified
16
+ * @param {string} serverModified
17
+ * @param {string} modifiedBy
18
+ * @param {string} account
19
+ * @param {string} accessGroup
20
+ * @param {string} controlType
21
+ * @param {string} group
22
+ * @param {string[]} validators
23
+ * @param {string} name
24
+ * @param {string} title
25
+ * @param {boolean} linkable
26
+ * @param {number} sequence
27
+ * @param {string} description
28
+ * @param {string} defaultValue
29
+ * @param {object} config
30
+ */
31
+ constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, accessGroup, controlType, group, validators, name, title, linkable, sequence, description, defaultValue, config) {
32
+ super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy);
33
+ this.id = id;
34
+ this.created = created;
35
+ this.serverCreated = serverCreated;
36
+ this.createdBy = createdBy;
37
+ this.modified = modified;
38
+ this.serverModified = serverModified;
39
+ this.modifiedBy = modifiedBy;
40
+ this.account = account;
41
+ this.accessGroup = accessGroup;
42
+ this.controlType = controlType;
43
+ this.group = group;
44
+ this.validators = validators;
45
+ this.name = name;
46
+ this.title = title;
47
+ this.linkable = linkable;
48
+ this.sequence = sequence;
49
+ this.description = description;
50
+ this.defaultValue = defaultValue;
51
+ this.config = config;
52
+ this.controlTypeModel = undefined;
53
+ }
54
+ /**
55
+ * The config property is returned from the api as a json string, this getter
56
+ * will deserialize it
57
+ * @return {T}
58
+ */
59
+ getConfigModel() {
60
+ return JSON.parse(this.config);
61
+ }
62
+ /**
63
+ * The defaultValue property is returned from the api as a string or number,
64
+ * in the case of string, it maybe a json. This getter will return an
65
+ * object if the value is a json string
66
+ */
67
+ get defaultValueDecoded() {
68
+ return this.parseMaybeJson(this.defaultValue);
69
+ }
70
+ /**
71
+ * Returns the name of this control to be used in the report templates
72
+ * i.e. field.foo -> foo
73
+ * @return {string}
74
+ */
75
+ get reportTemplateName() {
76
+ return this.name.replace(/^fields\./, '');
77
+ }
78
+ /**
79
+ * @return {string}
80
+ */
81
+ get safeName() {
82
+ return this.name;
83
+ }
84
+ /**
85
+ * @return {VasControlModel}
86
+ */
87
+ static empty() {
88
+ return VasControlModel.fromDto({
89
+ // eslint-disable-next-line new-cap
90
+ id: angular2_uuid_1.UUID.UUID()
91
+ });
92
+ }
93
+ /**
94
+ * @param {VasControlDto} dto
95
+ * @return {VasControlModel}
96
+ */
97
+ static fromDto(dto) {
98
+ return new VasControlModel(
99
+ // eslint-disable-next-line new-cap
100
+ dto.id || angular2_uuid_1.UUID.UUID(), dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.account || '', dto.accessGroup || '', dto.controlType || '', dto.group || '', dto.validators || [], dto.name || '', dto.title || '', dto.linkable || false, dto.sequence || 0, dto.description || '', dto.defaultValue || '', dto.config || '{}');
101
+ }
102
+ /**
103
+ * @param {string} value
104
+ * @return {VasControlModelDefaultValueType}
105
+ */
106
+ parseMaybeJson(value) {
107
+ if (typeof value !== 'string') {
108
+ return value;
109
+ }
110
+ try {
111
+ return JSON.parse(value);
112
+ }
113
+ catch (e) {
114
+ return value;
115
+ }
116
+ }
117
+ /**
118
+ * @return {VasControlDto}
119
+ */
120
+ toDto() {
121
+ return {
122
+ id: this.id,
123
+ created: this.created,
124
+ serverCreated: this.serverCreated,
125
+ createdBy: this.createdBy,
126
+ modified: this.modified,
127
+ serverModified: this.serverModified,
128
+ modifiedBy: this.modifiedBy,
129
+ account: this.account,
130
+ accessGroup: this.accessGroup,
131
+ controlType: this.controlType,
132
+ group: this.group,
133
+ validators: this.validators,
134
+ name: this.name,
135
+ title: this.title,
136
+ linkable: this.linkable,
137
+ sequence: this.sequence,
138
+ description: this.description,
139
+ defaultValue: this.defaultValue,
140
+ config: this.config
141
+ };
142
+ }
143
+ }
144
+ exports.VasControlModel = VasControlModel;
145
+ //# sourceMappingURL=vas-control.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-control.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-control.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { VasBaseModel } from './vas-base.model';\nimport { VasControlTypeModel } from './vas-control-type.model';\nimport { VasControlDto } from './vas-control.dto';\nimport { UUID } from 'angular2-uuid';\n\nexport declare type VasControlModelDefaultValueType = string | number | object;\n\n/**\n * ControlModel\n */\nexport class VasControlModel extends VasBaseModel implements VasControlDto {\n public controlTypeModel: VasControlTypeModel | undefined = undefined;\n\n /**\n * @param {string} id\n * @param {string} created\n * @param {string} serverCreated\n * @param {string} createdBy\n * @param {string} modified\n * @param {string} serverModified\n * @param {string} modifiedBy\n * @param {string} account\n * @param {string} accessGroup\n * @param {string} controlType\n * @param {string} group\n * @param {string[]} validators\n * @param {string} name\n * @param {string} title\n * @param {boolean} linkable\n * @param {number} sequence\n * @param {string} description\n * @param {string} defaultValue\n * @param {object} config\n */\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public account: string,\n public accessGroup: string,\n public controlType: string,\n public group: string,\n public validators: string[],\n public name: string,\n public title: string,\n public linkable: boolean,\n public sequence: number,\n public description: string,\n public defaultValue: string,\n public config: string\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy\n );\n }\n\n /**\n * The config property is returned from the api as a json string, this getter\n * will deserialize it\n * @return {T}\n */\n getConfigModel<T>(): T {\n return JSON.parse(this.config) as T;\n }\n\n /**\n * The defaultValue property is returned from the api as a string or number,\n * in the case of string, it maybe a json. This getter will return an\n * object if the value is a json string\n */\n get defaultValueDecoded(): VasControlModelDefaultValueType {\n return this.parseMaybeJson(this.defaultValue);\n }\n\n /**\n * Returns the name of this control to be used in the report templates\n * i.e. field.foo -> foo\n * @return {string}\n */\n get reportTemplateName(): string {\n return this.name.replace(/^fields\\./, '');\n }\n\n /**\n * @return {string}\n */\n get safeName(): string {\n return this.name;\n }\n\n /**\n * @return {VasControlModel}\n */\n public static empty(): VasControlModel {\n return VasControlModel.fromDto({\n // eslint-disable-next-line new-cap\n id: UUID.UUID()\n });\n }\n\n /**\n * @param {VasControlDto} dto\n * @return {VasControlModel}\n */\n public static fromDto(\n dto: Partial<VasControlDto>\n ): VasControlModel {\n return new VasControlModel(\n // eslint-disable-next-line new-cap\n dto.id || UUID.UUID(),\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.account || '',\n dto.accessGroup || '',\n dto.controlType || '',\n dto.group || '',\n dto.validators || [],\n dto.name || '',\n dto.title || '',\n dto.linkable || false,\n dto.sequence || 0,\n dto.description || '',\n dto.defaultValue || '',\n dto.config || '{}',\n );\n }\n\n /**\n * @param {string} value\n * @return {VasControlModelDefaultValueType}\n */\n protected parseMaybeJson(\n value: string | number | object\n ): VasControlModelDefaultValueType {\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n\n /**\n * @return {VasControlDto}\n */\n toDto(): VasControlDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n account: this.account,\n accessGroup: this.accessGroup,\n controlType: this.controlType,\n group: this.group,\n validators: this.validators,\n name: this.name,\n title: this.title,\n linkable: this.linkable,\n sequence: this.sequence,\n description: this.description,\n defaultValue: this.defaultValue,\n config: this.config\n };\n }\n}\n\n"]}
@@ -0,0 +1,10 @@
1
+ import { VasJobDataDto } from './vas-job-data.dto';
2
+ import { VasFileDto } from './vas-file.dto';
3
+ export declare type VasFieldDtoValue = string | number | boolean | undefined | Array<object | string | number | boolean | VasFileDto> | Record<string, object | string | number | boolean | Array<object | string | number | boolean | VasFileDto>>;
4
+ export interface VasFieldDto extends VasJobDataDto {
5
+ control: string;
6
+ fieldJobPointers: Array<string>;
7
+ value: VasFieldDtoValue;
8
+ version: string;
9
+ }
10
+ //# sourceMappingURL=vas-field.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-field.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-field.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,OAAO,MAAM,gBAAgB,GAClC,MAAM,GACJ,MAAM,GACN,OAAO,GACP,SAAS,GACT,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,GACtD,MAAM,CAAC,MAAM,EAEf,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;AAE/F,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vas-field.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-field.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-field.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasJobDataDto } from './vas-job-data.dto';\nimport { VasFileDto } from './vas-file.dto';\n\nexport declare type VasFieldDtoValue =\n string\n | number\n | boolean\n | undefined\n | Array<object | string | number | boolean | VasFileDto>\n | Record<string,\n // eslint-disable-next-line max-len\n object | string | number | boolean | Array<object | string | number | boolean | VasFileDto>>;\n\nexport interface VasFieldDto extends VasJobDataDto {\n control: string;\n fieldJobPointers: Array<string>;\n value: VasFieldDtoValue;\n version: string;\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { VasJobDataDto } from './vas-job-data.dto';
2
+ export interface VasFileDto extends VasJobDataDto {
3
+ name: string;
4
+ group: string;
5
+ description: string;
6
+ embedLink: boolean;
7
+ displayAs: string;
8
+ rotation: number;
9
+ mimeType: string;
10
+ url: string;
11
+ index: number;
12
+ sequence: number;
13
+ }
14
+ //# sourceMappingURL=vas-file.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-file.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-file.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vas-file.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-file.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-file.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasJobDataDto } from './vas-job-data.dto';\n\nexport interface VasFileDto extends VasJobDataDto {\n name: string;\n group: string;\n description: string;\n embedLink: boolean;\n displayAs: string;\n rotation: number;\n mimeType: string;\n url: string;\n index: number;\n sequence: number;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { VasGroupDto } from './vas-group.dto';
2
+ import { VasRestrictedAccountObjectDto } from './vas-restricted-account-object.dto';
3
+ export interface VasFormDto extends VasRestrictedAccountObjectDto {
4
+ jobType: string;
5
+ title: string;
6
+ description: string;
7
+ groups: VasGroupDto[];
8
+ }
9
+ //# sourceMappingURL=vas-form.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-form.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-form.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,WAAW,UAAW,SAAQ,6BAA6B;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vas-form.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-form.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-form.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasGroupDto } from './vas-group.dto';\nimport { VasRestrictedAccountObjectDto } from './vas-restricted-account-object.dto';\n\nexport interface VasFormDto extends VasRestrictedAccountObjectDto {\n jobType: string;\n title: string;\n description: string;\n groups: VasGroupDto[];\n}\n"]}
@@ -0,0 +1,79 @@
1
+ import { VasBaseModel } from './vas-base.model';
2
+ import { VasGroupModel } from './vas-group.model';
3
+ import { VasControlModel } from './vas-control.model';
4
+ import { VasFormDto } from './vas-form.dto';
5
+ import { VasControlTypeDto } from './vas-control-type.dto';
6
+ import { VasFieldDtoValue } from './vas-field.dto';
7
+ import { VasJobModel } from './vas-job.model';
8
+ /**
9
+ * VasFormModel
10
+ */
11
+ export declare class VasFormModel extends VasBaseModel {
12
+ id: string;
13
+ created: string;
14
+ serverCreated: string;
15
+ createdBy: string;
16
+ modified: string;
17
+ serverModified: string;
18
+ modifiedBy: string;
19
+ account: string;
20
+ accessGroup: string;
21
+ jobType: string;
22
+ title: string;
23
+ description: string;
24
+ groups: VasGroupModel[];
25
+ /**
26
+ * @param {string} id
27
+ * @param {string} created
28
+ * @param {string} serverCreated
29
+ * @param {string} createdBy
30
+ * @param {string} modified
31
+ * @param {string} serverModified
32
+ * @param {string} modifiedBy
33
+ * @param {string} account
34
+ * @param {string} accessGroup
35
+ * @param {string} jobType
36
+ * @param {string} title
37
+ * @param {string} description
38
+ * @param {VasGroupModel[]} groups
39
+ */
40
+ constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, account: string, accessGroup: string, jobType: string, title: string, description: string, groups: VasGroupModel[]);
41
+ /**
42
+ * The VAS API response for Form will inline Group and Control but not
43
+ * ControlType. This method is a help which will allows us to construct an
44
+ * instance of VasFormModel with the ControlType model set appropriately into
45
+ * each VasControlModel
46
+ * @param {VasFormDto} formDto
47
+ * @param {Array<VasControlTypeDto>} controlTypeDtos
48
+ * @return {VasFormModel}
49
+ */
50
+ static fromApiResponse(formDto: VasFormDto, controlTypeDtos: Array<VasControlTypeDto>): VasFormModel;
51
+ /**
52
+ * @param {VasFormDto} dto
53
+ * @return {VasFormModel}
54
+ */
55
+ static fromDto(dto: Partial<VasFormDto>): VasFormModel;
56
+ /**
57
+ * @param {string} id
58
+ * @return {VasControlModel | undefined}
59
+ */
60
+ findControlModelById(id: string): VasControlModel | undefined;
61
+ /**
62
+ *
63
+ * @return {Array<Array<string>>}
64
+ */
65
+ getCameraControlPaths(): Array<Array<string>>;
66
+ /**
67
+ * @param {VasJobModel} jobModel
68
+ * @return {Array<{id: string, value: VasFieldDtoValue}>}
69
+ */
70
+ getValuesByControlId(jobModel: VasJobModel): Array<{
71
+ id: string;
72
+ value: VasFieldDtoValue | undefined;
73
+ }>;
74
+ /**
75
+ * @return {VasFormDto}
76
+ */
77
+ toDto(): VasFormDto;
78
+ }
79
+ //# sourceMappingURL=vas-form.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-form.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-form.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAiB1B,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAC3B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,aAAa,EAAE;IA5BhC;;;;;;;;;;;;;;OAcG;gBAEe,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,EAAE;IAahC;;;;;;;;OAQG;WACW,eAAe,CAC3B,OAAO,EAAE,UAAU,EACnB,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,GACxC,YAAY;IAef;;;OAGG;WACW,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY;IAoB7D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAc7D;;;OAGG;IACH,qBAAqB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAa7C;;;OAGG;IACH,oBAAoB,CAClB,QAAQ,EAAE,WAAW,GACpB,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAA;KAAC,CAAC;IAe3D;;OAEG;IACH,KAAK,IAAI,UAAU;CAiBpB"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VasFormModel = void 0;
4
+ const vas_base_model_1 = require("./vas-base.model");
5
+ const vas_group_model_1 = require("./vas-group.model");
6
+ const vas_control_type_model_1 = require("./vas-control-type.model");
7
+ /**
8
+ * VasFormModel
9
+ */
10
+ class VasFormModel extends vas_base_model_1.VasBaseModel {
11
+ /**
12
+ * @param {string} id
13
+ * @param {string} created
14
+ * @param {string} serverCreated
15
+ * @param {string} createdBy
16
+ * @param {string} modified
17
+ * @param {string} serverModified
18
+ * @param {string} modifiedBy
19
+ * @param {string} account
20
+ * @param {string} accessGroup
21
+ * @param {string} jobType
22
+ * @param {string} title
23
+ * @param {string} description
24
+ * @param {VasGroupModel[]} groups
25
+ */
26
+ constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, accessGroup, jobType, title, description, groups) {
27
+ super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy);
28
+ this.id = id;
29
+ this.created = created;
30
+ this.serverCreated = serverCreated;
31
+ this.createdBy = createdBy;
32
+ this.modified = modified;
33
+ this.serverModified = serverModified;
34
+ this.modifiedBy = modifiedBy;
35
+ this.account = account;
36
+ this.accessGroup = accessGroup;
37
+ this.jobType = jobType;
38
+ this.title = title;
39
+ this.description = description;
40
+ this.groups = groups;
41
+ }
42
+ /**
43
+ * The VAS API response for Form will inline Group and Control but not
44
+ * ControlType. This method is a help which will allows us to construct an
45
+ * instance of VasFormModel with the ControlType model set appropriately into
46
+ * each VasControlModel
47
+ * @param {VasFormDto} formDto
48
+ * @param {Array<VasControlTypeDto>} controlTypeDtos
49
+ * @return {VasFormModel}
50
+ */
51
+ static fromApiResponse(formDto, controlTypeDtos) {
52
+ const controlTypeModels = controlTypeDtos
53
+ .map(ctDto => vas_control_type_model_1.VasControlTypeModel.fromDto(ctDto));
54
+ const formModel = VasFormModel.fromDto(formDto);
55
+ formModel.groups
56
+ .forEach(group => {
57
+ group.controls
58
+ .forEach(control => {
59
+ control.controlTypeModel = controlTypeModels
60
+ .find(ct => ct.id === control.controlType);
61
+ });
62
+ });
63
+ return formModel;
64
+ }
65
+ /**
66
+ * @param {VasFormDto} dto
67
+ * @return {VasFormModel}
68
+ */
69
+ static fromDto(dto) {
70
+ return new VasFormModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.account || '', dto.accessGroup || '', dto.jobType || '', dto.title || '', dto.description || '', (dto.groups || [])
71
+ .sort((a, b) => a.sequence - b.sequence)
72
+ .map(g => vas_group_model_1.VasGroupModel.fromDto(g)));
73
+ }
74
+ /**
75
+ * @param {string} id
76
+ * @return {VasControlModel | undefined}
77
+ */
78
+ findControlModelById(id) {
79
+ let result;
80
+ this.groups
81
+ .find(group => group.controls
82
+ .find(control => {
83
+ if (control.id !== id) {
84
+ return;
85
+ }
86
+ result = control;
87
+ return true;
88
+ }));
89
+ return result;
90
+ }
91
+ /**
92
+ *
93
+ * @return {Array<Array<string>>}
94
+ */
95
+ getCameraControlPaths() {
96
+ const paths = [];
97
+ this.groups.forEach(group => {
98
+ group.controls.forEach(control => {
99
+ var _a;
100
+ if (((_a = control.controlTypeModel) === null || _a === void 0 ? void 0 : _a.name) !== 'camera') {
101
+ return;
102
+ }
103
+ paths.push([group.name, control.safeName]);
104
+ });
105
+ });
106
+ return paths;
107
+ }
108
+ /**
109
+ * @param {VasJobModel} jobModel
110
+ * @return {Array<{id: string, value: VasFieldDtoValue}>}
111
+ */
112
+ getValuesByControlId(jobModel) {
113
+ const items = [];
114
+ this.groups
115
+ .forEach(group => {
116
+ group.controls
117
+ .forEach(control => {
118
+ items.push({
119
+ id: control.id,
120
+ value: jobModel.getValueByPath([group.name, control.safeName])
121
+ });
122
+ });
123
+ });
124
+ return items;
125
+ }
126
+ /**
127
+ * @return {VasFormDto}
128
+ */
129
+ toDto() {
130
+ return {
131
+ id: this.id,
132
+ created: this.created,
133
+ serverCreated: this.serverCreated,
134
+ createdBy: this.createdBy,
135
+ modified: this.modified,
136
+ serverModified: this.serverModified,
137
+ modifiedBy: this.modifiedBy,
138
+ account: this.account,
139
+ accessGroup: this.accessGroup,
140
+ jobType: this.jobType,
141
+ title: this.title,
142
+ description: this.description,
143
+ groups: this.groups.map(group => group.toDto()),
144
+ };
145
+ }
146
+ }
147
+ exports.VasFormModel = VasFormModel;
148
+ //# sourceMappingURL=vas-form.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-form.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-form.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { VasBaseModel } from './vas-base.model';\nimport { VasGroupModel } from './vas-group.model';\nimport { VasControlModel } from './vas-control.model';\nimport { VasFormDto } from './vas-form.dto';\nimport { VasControlTypeModel } from './vas-control-type.model';\nimport { VasControlTypeDto } from './vas-control-type.dto';\nimport { VasFieldDtoValue } from './vas-field.dto';\nimport { VasJobModel } from './vas-job.model';\n\n/**\n * VasFormModel\n */\nexport class VasFormModel extends VasBaseModel {\n /**\n * @param {string} id\n * @param {string} created\n * @param {string} serverCreated\n * @param {string} createdBy\n * @param {string} modified\n * @param {string} serverModified\n * @param {string} modifiedBy\n * @param {string} account\n * @param {string} accessGroup\n * @param {string} jobType\n * @param {string} title\n * @param {string} description\n * @param {VasGroupModel[]} groups\n */\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public account: string,\n public accessGroup: string,\n public jobType: string,\n public title: string,\n public description: string,\n public groups: VasGroupModel[]\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy\n );\n }\n\n /**\n * The VAS API response for Form will inline Group and Control but not\n * ControlType. This method is a help which will allows us to construct an\n * instance of VasFormModel with the ControlType model set appropriately into\n * each VasControlModel\n * @param {VasFormDto} formDto\n * @param {Array<VasControlTypeDto>} controlTypeDtos\n * @return {VasFormModel}\n */\n public static fromApiResponse(\n formDto: VasFormDto,\n controlTypeDtos: Array<VasControlTypeDto>\n ): VasFormModel {\n const controlTypeModels = controlTypeDtos\n .map(ctDto => VasControlTypeModel.fromDto(ctDto));\n const formModel = VasFormModel.fromDto(formDto);\n formModel.groups\n .forEach(group => {\n group.controls\n .forEach(control => {\n control.controlTypeModel = controlTypeModels\n .find(ct => ct.id === control.controlType);\n });\n });\n return formModel;\n }\n\n /**\n * @param {VasFormDto} dto\n * @return {VasFormModel}\n */\n public static fromDto(dto: Partial<VasFormDto>): VasFormModel {\n return new VasFormModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.account || '',\n dto.accessGroup || '',\n dto.jobType || '',\n dto.title || '',\n dto.description || '',\n (dto.groups || [])\n .sort((a, b) => a.sequence - b.sequence)\n .map(g => VasGroupModel.fromDto(g))\n );\n }\n\n /**\n * @param {string} id\n * @return {VasControlModel | undefined}\n */\n findControlModelById(id: string): VasControlModel | undefined {\n let result;\n this.groups\n .find(group => group.controls\n .find(control => {\n if (control.id !== id) {\n return;\n }\n result = control;\n return true;\n }));\n return result;\n }\n\n /**\n *\n * @return {Array<Array<string>>}\n */\n getCameraControlPaths(): Array<Array<string>> {\n const paths: string[][] = [];\n this.groups.forEach(group => {\n group.controls.forEach(control => {\n if (control.controlTypeModel?.name !== 'camera') {\n return;\n }\n paths.push([group.name, control.safeName]);\n });\n });\n return paths;\n }\n\n /**\n * @param {VasJobModel} jobModel\n * @return {Array<{id: string, value: VasFieldDtoValue}>}\n */\n getValuesByControlId(\n jobModel: VasJobModel\n ): Array<{id: string, value: VasFieldDtoValue | undefined}> {\n const items: Array<{id: string, value: VasFieldDtoValue | undefined}> = [];\n this.groups\n .forEach(group => {\n group.controls\n .forEach(control => {\n items.push({\n id: control.id,\n value: jobModel.getValueByPath([group.name, control.safeName])\n });\n });\n });\n return items;\n }\n\n /**\n * @return {VasFormDto}\n */\n toDto(): VasFormDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n account: this.account,\n accessGroup: this.accessGroup,\n jobType: this.jobType,\n title: this.title,\n description: this.description,\n groups: this.groups.map(group => group.toDto()),\n };\n }\n}\n\n"]}
@@ -0,0 +1,15 @@
1
+ import { VasRestrictedAccountObjectDto } from './vas-restricted-account-object.dto';
2
+ import { VasControlDto } from './vas-control.dto';
3
+ export interface VasGroupDto extends VasRestrictedAccountObjectDto {
4
+ name: string;
5
+ title: string;
6
+ description: string;
7
+ sequence: number;
8
+ includeInSummary: boolean;
9
+ forms: string[];
10
+ visibilityControl: string;
11
+ visibleIfEquals: string;
12
+ controls: VasControlDto[];
13
+ scoreWeight: number;
14
+ }
15
+ //# sourceMappingURL=vas-group.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-group.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-group.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,WAAY,SAAQ,6BAA6B;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vas-group.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-group.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-group.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasRestrictedAccountObjectDto } from './vas-restricted-account-object.dto';\nimport { VasControlDto } from './vas-control.dto';\n\nexport interface VasGroupDto extends VasRestrictedAccountObjectDto {\n name: string;\n title: string;\n description: string;\n sequence: number;\n includeInSummary: boolean;\n forms: string[];\n visibilityControl: string;\n visibleIfEquals: string;\n controls: VasControlDto[];\n scoreWeight: number;\n}\n"]}
@@ -0,0 +1,68 @@
1
+ import { VasBaseModel } from './vas-base.model';
2
+ import { VasControlModel } from './vas-control.model';
3
+ import { VasGroupDto } from './vas-group.dto';
4
+ import { VasFieldDtoValue } from './vas-field.dto';
5
+ /**
6
+ * GroupModel
7
+ */
8
+ export declare class VasGroupModel extends VasBaseModel {
9
+ id: string;
10
+ created: string;
11
+ serverCreated: string;
12
+ createdBy: string;
13
+ modified: string;
14
+ serverModified: string;
15
+ modifiedBy: string;
16
+ account: string;
17
+ accessGroup: string;
18
+ name: string;
19
+ title: string;
20
+ description: string;
21
+ sequence: number;
22
+ includeInSummary: boolean;
23
+ forms: string[];
24
+ visibilityControl: string;
25
+ visibleIfEquals: string;
26
+ controls: VasControlModel[];
27
+ scoreWeight: number;
28
+ /**
29
+ * @param {string} id
30
+ * @param {string} created
31
+ * @param {string} serverCreated
32
+ * @param {string} createdBy
33
+ * @param {string} modified
34
+ * @param {string} serverModified
35
+ * @param {string} modifiedBy
36
+ * @param {string} account
37
+ * @param {string} accessGroup
38
+ * @param {string} name
39
+ * @param {string} title
40
+ * @param {string} description
41
+ * @param {number} sequence
42
+ * @param {boolean} includeInSummary
43
+ * @param {string[]} forms
44
+ * @param {string} visibilityControl
45
+ * @param {string} visibleIfEquals
46
+ * @param {VasControlModel[]} controls
47
+ * @param {number} scoreWeight
48
+ */
49
+ constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, account: string, accessGroup: string, name: string, title: string, description: string, sequence: number, includeInSummary: boolean, forms: string[], visibilityControl: string, visibleIfEquals: string, controls: VasControlModel[], scoreWeight: number);
50
+ /**
51
+ * @param {VasGroupDto} dto
52
+ * @return {VasGroupModel}
53
+ */
54
+ static fromDto(dto: Partial<VasGroupDto>): VasGroupModel;
55
+ /**
56
+ * @param {Array<VasControlModel>} valuesByControlId
57
+ * @return {boolean}
58
+ */
59
+ isVisible(valuesByControlId: Array<{
60
+ id: string;
61
+ value: VasFieldDtoValue | undefined;
62
+ }>): boolean;
63
+ /**
64
+ * @return {VasGroupDto}
65
+ */
66
+ toDto(): VasGroupDto;
67
+ }
68
+ //# sourceMappingURL=vas-group.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-group.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-group.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAuB3B,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAC3B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE,MAAM;IAChB,gBAAgB,EAAE,OAAO;IACzB,KAAK,EAAE,MAAM,EAAE;IACf,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,QAAQ,EAAE,eAAe,EAAE;IAC3B,WAAW,EAAE,MAAM;IAxC5B;;;;;;;;;;;;;;;;;;;;OAoBG;gBAEe,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,OAAO,EACzB,KAAK,EAAE,MAAM,EAAE,EACf,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,eAAe,EAAE,EAC3B,WAAW,EAAE,MAAM;IAa5B;;;OAGG;WACW,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,aAAa;IA2B/D;;;OAGG;IACH,SAAS,CACP,iBAAiB,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAA;KAAC,CAAC,GAC1E,OAAO;IAgBV;;OAEG;IACH,KAAK,IAAI,WAAW;CAuBrB"}