@acorex-platform/module-measurement-core-client 0.0.30 → 0.0.33

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 (54) hide show
  1. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-measurement-dimension.mjs +280 -0
  2. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-measurement-dimension.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-measurement-range.mjs +405 -0
  4. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-measurement-range.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-quantity-type.mjs +242 -0
  6. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-quantity-type.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-size-item.mjs +250 -0
  8. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-size-item.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-size-rule.mjs +327 -0
  10. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-size-rule.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-sizing-dimension-usage.mjs +276 -0
  12. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-sizing-dimension-usage.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-sizing-profile.mjs +326 -0
  14. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-sizing-profile.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-unit-conversion.mjs +291 -0
  16. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-unit-conversion.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-unit-of-measure.mjs +315 -0
  18. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entities-unit-of-measure.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-acorex-platform-module-measurement-core-client-contracts-entity-catalog-D_3qAB6g.mjs +99 -0
  20. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-acorex-platform-module-measurement-core-client-contracts-entity-catalog-D_3qAB6g.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-measurement-dimension.entity-hKoZ7MYW.mjs +208 -0
  22. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-measurement-dimension.entity-hKoZ7MYW.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-measurement-range.entity-5TG_paCh.mjs +333 -0
  24. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-measurement-range.entity-5TG_paCh.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-quantity-type.entity-qM6kczXO.mjs +170 -0
  26. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-quantity-type.entity-qM6kczXO.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-size-item.entity-DBZTjTbr.mjs +178 -0
  28. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-size-item.entity-DBZTjTbr.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-size-rule.entity-DdsOkrLS.mjs +255 -0
  30. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-size-rule.entity-DdsOkrLS.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-sizing-dimension-usage.entity-D0L5v_Lw.mjs +204 -0
  32. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-sizing-dimension-usage.entity-D0L5v_Lw.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-sizing-profile.entity-BWZ882vO.mjs +254 -0
  34. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-sizing-profile.entity-BWZ882vO.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-unit-conversion.entity-DDLTaqsv.mjs +219 -0
  36. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-unit-conversion.entity-DDLTaqsv.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-unit-of-measure.entity-CYJDuSvX.mjs +243 -0
  38. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog-unit-of-measure.entity-CYJDuSvX.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog.mjs +2 -0
  40. package/fesm2022/acorex-platform-module-measurement-core-client-contracts-entity-catalog.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-module-measurement-core-client-local-entities.mjs +37 -0
  42. package/fesm2022/acorex-platform-module-measurement-core-client-local-entities.mjs.map +1 -0
  43. package/package.json +45 -1
  44. package/types/acorex-platform-module-measurement-core-client-contracts-entities-measurement-dimension.d.ts +5 -0
  45. package/types/acorex-platform-module-measurement-core-client-contracts-entities-measurement-range.d.ts +5 -0
  46. package/types/acorex-platform-module-measurement-core-client-contracts-entities-quantity-type.d.ts +5 -0
  47. package/types/acorex-platform-module-measurement-core-client-contracts-entities-size-item.d.ts +5 -0
  48. package/types/acorex-platform-module-measurement-core-client-contracts-entities-size-rule.d.ts +5 -0
  49. package/types/acorex-platform-module-measurement-core-client-contracts-entities-sizing-dimension-usage.d.ts +5 -0
  50. package/types/acorex-platform-module-measurement-core-client-contracts-entities-sizing-profile.d.ts +5 -0
  51. package/types/acorex-platform-module-measurement-core-client-contracts-entities-unit-conversion.d.ts +5 -0
  52. package/types/acorex-platform-module-measurement-core-client-contracts-entities-unit-of-measure.d.ts +5 -0
  53. package/types/acorex-platform-module-measurement-core-client-contracts-entity-catalog.d.ts +10 -0
  54. package/types/acorex-platform-module-measurement-core-client-local-entities.d.ts +12 -0
@@ -0,0 +1,291 @@
1
+ import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'measurement-core',
6
+ module: 'MeasurementCore',
7
+ };
8
+ const RootConfig = {
9
+ config,
10
+ module: {
11
+ name: config.module,
12
+ title: `@${config.i18n}:module.title`,
13
+ icon: 'fa-light fa-ruler-combined',
14
+ },
15
+ entities: {
16
+ quantityType: {
17
+ name: 'QuantityType',
18
+ title: `@${config.i18n}:quantity-types.entities.quantity-type.title`,
19
+ titlePlural: `@${config.i18n}:quantity-types.entities.quantity-type.plural`,
20
+ icon: 'fa-light fa-calculator',
21
+ },
22
+ unitOfMeasure: {
23
+ name: 'UnitOfMeasure',
24
+ title: `@${config.i18n}:units.entities.unit-of-measure.title`,
25
+ titlePlural: `@${config.i18n}:units.entities.unit-of-measure.plural`,
26
+ icon: 'fa-light fa-ruler',
27
+ },
28
+ unitConversion: {
29
+ name: 'UnitConversion',
30
+ title: `@${config.i18n}:conversions.entities.unit-conversion.title`,
31
+ titlePlural: `@${config.i18n}:conversions.entities.unit-conversion.plural`,
32
+ icon: 'fa-light fa-arrows-rotate',
33
+ },
34
+ measurementDimension: {
35
+ name: 'MeasurementDimension',
36
+ title: `@${config.i18n}:dimensions.entities.measurement-dimension.title`,
37
+ titlePlural: `@${config.i18n}:dimensions.entities.measurement-dimension.plural`,
38
+ icon: 'fa-light fa-cube',
39
+ },
40
+ measurementRange: {
41
+ name: 'MeasurementRange',
42
+ title: `@${config.i18n}:ranges.entities.measurement-range.title`,
43
+ titlePlural: `@${config.i18n}:ranges.entities.measurement-range.plural`,
44
+ icon: 'fa-light fa-chart-line-up',
45
+ },
46
+ sizingProfile: {
47
+ name: 'SizingProfile',
48
+ title: `@${config.i18n}:sizes.entities.sizing-profile.title`,
49
+ titlePlural: `@${config.i18n}:sizes.entities.sizing-profile.plural`,
50
+ icon: 'fa-light fa-chart-column',
51
+ },
52
+ sizingDimensionUsage: {
53
+ name: 'SizingDimensionUsage',
54
+ title: `@${config.i18n}:sizes.entities.sizing-dimension-usage.title`,
55
+ titlePlural: `@${config.i18n}:sizes.entities.sizing-dimension-usage.plural`,
56
+ icon: 'fa-light fa-columns',
57
+ },
58
+ sizeItem: {
59
+ name: 'SizeItem',
60
+ title: `@${config.i18n}:sizes.entities.size-item.title`,
61
+ titlePlural: `@${config.i18n}:sizes.entities.size-item.plural`,
62
+ icon: 'fa-light fa-list',
63
+ },
64
+ sizeRule: {
65
+ name: 'SizeRule',
66
+ title: `@${config.i18n}:sizes.entities.size-rule.title`,
67
+ titlePlural: `@${config.i18n}:sizes.entities.size-rule.plural`,
68
+ icon: 'fa-light fa-grip',
69
+ },
70
+ },
71
+ };
72
+
73
+ //#endregion
74
+ //#region ---- Entity Factory ----
75
+ async function unitConversionFactory() {
76
+ const sections = [
77
+ { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },
78
+ { id: 'conversion', layout: { positions: { lg: { colSpan: 12 } } } },
79
+ ];
80
+ const propertyLayouts = [
81
+ { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
82
+ { name: 'title', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
83
+ { name: 'description', layout: { positions: { lg: { colSpan: 8, order: 3 } } } },
84
+ { name: 'fromUomId', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
85
+ { name: 'toUomId', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
86
+ { name: 'factor', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
87
+ { name: 'operator', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },
88
+ ];
89
+ const entityDef = {
90
+ module: RootConfig.module.name,
91
+ name: RootConfig.entities.unitConversion.name,
92
+ title: RootConfig.entities.unitConversion.title,
93
+ icon: RootConfig.entities.unitConversion.icon,
94
+ formats: {
95
+ individual: '{{ title || (fromUnit?.symbol + " → " + toUnit?.symbol) }}',
96
+ plural: RootConfig.entities.unitConversion.titlePlural,
97
+ searchResult: {
98
+ title: '{{ title || (fromUnit?.symbol + " → " + toUnit?.symbol) }}',
99
+ description: '{{ code }}',
100
+ },
101
+ },
102
+ plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'disable' }],
103
+ groups: [
104
+ { id: 'basic-info', title: '@measurement-core:conversions.entities.unit-conversion.groups.basic-info' },
105
+ { id: 'conversion', title: '@measurement-core:conversions.entities.unit-conversion.groups.conversion' },
106
+ ],
107
+ properties: [
108
+ {
109
+ name: 'id',
110
+ title: '@general:terms.common.id',
111
+ groupId: 'basic-info',
112
+ schema: {
113
+ dataType: 'uuid',
114
+ visible: false,
115
+ readonly: true,
116
+ unique: { enabled: true },
117
+ },
118
+ },
119
+ {
120
+ name: 'code',
121
+ title: '@general:terms.common.code',
122
+ groupId: 'basic-info',
123
+ options: {
124
+ sort: { enabled: true },
125
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
126
+ },
127
+ schema: {
128
+ dataType: 'string',
129
+ interface: {
130
+ type: AXPWidgetsList.Editors.TextBox,
131
+ options: {
132
+ placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.code.placeholder',
133
+ },
134
+ },
135
+ },
136
+ },
137
+ {
138
+ name: 'title',
139
+ title: '@general:terms.common.title',
140
+ groupId: 'basic-info',
141
+ options: {
142
+ sort: { enabled: true },
143
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
144
+ },
145
+ schema: {
146
+ dataType: 'string',
147
+ interface: {
148
+ type: AXPWidgetsList.Editors.TextBox,
149
+ options: {
150
+ placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.title.placeholder',
151
+ },
152
+ },
153
+ },
154
+ },
155
+ {
156
+ name: 'description',
157
+ title: '@general:terms.common.description',
158
+ groupId: 'basic-info',
159
+ schema: {
160
+ dataType: 'string',
161
+ interface: {
162
+ type: AXPWidgetsList.Editors.LargeTextBox,
163
+ options: {
164
+ rows: 2,
165
+ placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.description.placeholder',
166
+ },
167
+ },
168
+ },
169
+ },
170
+ {
171
+ name: 'fromUomId',
172
+ title: '@measurement-core:conversions.entities.unit-conversion.fields.from-unit.title',
173
+ groupId: 'conversion',
174
+ options: {
175
+ sort: { enabled: true },
176
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
177
+ },
178
+ schema: {
179
+ dataType: 'string',
180
+ interface: {
181
+ type: AXPWidgetsList.Editors.LookupBox,
182
+ options: {
183
+ entity: `${RootConfig.module.name}.${RootConfig.entities.unitOfMeasure.name}`,
184
+ expose: [
185
+ { source: 'id', target: 'fromUomId' },
186
+ { source: 'title', target: 'fromUnit.title' },
187
+ { source: 'symbol', target: 'fromUnit.symbol' },
188
+ ],
189
+ },
190
+ },
191
+ },
192
+ validations: [{ rule: 'required' }],
193
+ },
194
+ {
195
+ name: 'toUomId',
196
+ title: '@measurement-core:conversions.entities.unit-conversion.fields.to-unit.title',
197
+ groupId: 'conversion',
198
+ options: {
199
+ sort: { enabled: true },
200
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
201
+ },
202
+ schema: {
203
+ dataType: 'string',
204
+ interface: {
205
+ type: AXPWidgetsList.Editors.LookupBox,
206
+ options: {
207
+ entity: `${RootConfig.module.name}.${RootConfig.entities.unitOfMeasure.name}`,
208
+ expose: [
209
+ { source: 'id', target: 'toUomId' },
210
+ { source: 'title', target: 'toUnit.title' },
211
+ { source: 'symbol', target: 'toUnit.symbol' },
212
+ ],
213
+ },
214
+ },
215
+ },
216
+ validations: [{ rule: 'required' }],
217
+ },
218
+ {
219
+ name: 'factor',
220
+ title: '@measurement-core:conversions.entities.unit-conversion.fields.factor.title',
221
+ groupId: 'conversion',
222
+ schema: {
223
+ dataType: 'number',
224
+ interface: {
225
+ type: AXPWidgetsList.Editors.NumberBox,
226
+ options: {
227
+ placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.factor.placeholder',
228
+ },
229
+ },
230
+ },
231
+ validations: [{ rule: 'required' }],
232
+ },
233
+ {
234
+ name: 'operator',
235
+ title: '@measurement-core:conversions.entities.unit-conversion.fields.operator.title',
236
+ groupId: 'conversion',
237
+ schema: {
238
+ dataType: 'string',
239
+ interface: {
240
+ type: AXPWidgetsList.Editors.SelectBox,
241
+ options: {
242
+ valueField: 'value',
243
+ textField: 'text',
244
+ dataSource: [
245
+ { value: 'multiply', text: '@measurement-core:conversions.entities.unit-conversion.fields.operator.options.multiply' },
246
+ { value: 'divide', text: '@measurement-core:conversions.entities.unit-conversion.fields.operator.options.divide' },
247
+ ],
248
+ },
249
+ },
250
+ },
251
+ },
252
+ ],
253
+ columns: [
254
+ { name: 'code', options: { width: '120px', order: 1 } },
255
+ { name: 'title', options: { width: '140px', order: 2 } },
256
+ { name: 'fromUomId', options: { width: '120px', dataPath: 'fromUnit.symbol', order: 3 } },
257
+ { name: 'toUomId', options: { width: '120px', dataPath: 'toUnit.symbol', order: 4 } },
258
+ { name: 'factor', options: { width: '100px', order: 5 } },
259
+ { name: 'operator', options: { width: '100px', order: 6 } },
260
+ ],
261
+ interfaces: {
262
+ master: {
263
+ create: { sections, properties: propertyLayouts },
264
+ update: { sections, properties: propertyLayouts },
265
+ single: {
266
+ title: '{{ context.eval("fromUnit.symbol") + " → " + context.eval("toUnit.symbol") }}',
267
+ sections,
268
+ properties: propertyLayouts,
269
+ actions: [...entityMasterRecordActions()],
270
+ },
271
+ list: {
272
+ actions: [...entityMasterCrudActions()],
273
+ views: [
274
+ createAllQueryView({
275
+ sorts: [{ name: 'code', dir: 'asc' }],
276
+ }),
277
+ ],
278
+ },
279
+ },
280
+ },
281
+ };
282
+ return entityDef;
283
+ }
284
+ //#endregion
285
+
286
+ /**
287
+ * Generated bundle index. Do not edit.
288
+ */
289
+
290
+ export { unitConversionFactory };
291
+ //# sourceMappingURL=acorex-platform-module-measurement-core-client-contracts-entities-unit-conversion.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-measurement-core-client-contracts-entities-unit-conversion.mjs","sources":["../../../../libs/modules/measurement-core/contracts/src/root-config.ts","../../../../libs/modules/measurement-core/contracts/src/entities/unit-conversion/unit-conversion.entity.ts","../../../../libs/modules/measurement-core/contracts/src/acorex-platform-module-measurement-core-client-contracts-entities-unit-conversion.ts"],"sourcesContent":["const config = {\n i18n: 'measurement-core',\n module: 'MeasurementCore',\n};\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-ruler-combined',\n },\n entities: {\n quantityType: {\n name: 'QuantityType',\n title: `@${config.i18n}:quantity-types.entities.quantity-type.title`,\n titlePlural: `@${config.i18n}:quantity-types.entities.quantity-type.plural`,\n icon: 'fa-light fa-calculator',\n },\n unitOfMeasure: {\n name: 'UnitOfMeasure',\n title: `@${config.i18n}:units.entities.unit-of-measure.title`,\n titlePlural: `@${config.i18n}:units.entities.unit-of-measure.plural`,\n icon: 'fa-light fa-ruler',\n },\n unitConversion: {\n name: 'UnitConversion',\n title: `@${config.i18n}:conversions.entities.unit-conversion.title`,\n titlePlural: `@${config.i18n}:conversions.entities.unit-conversion.plural`,\n icon: 'fa-light fa-arrows-rotate',\n },\n measurementDimension: {\n name: 'MeasurementDimension',\n title: `@${config.i18n}:dimensions.entities.measurement-dimension.title`,\n titlePlural: `@${config.i18n}:dimensions.entities.measurement-dimension.plural`,\n icon: 'fa-light fa-cube',\n },\n measurementRange: {\n name: 'MeasurementRange',\n title: `@${config.i18n}:ranges.entities.measurement-range.title`,\n titlePlural: `@${config.i18n}:ranges.entities.measurement-range.plural`,\n icon: 'fa-light fa-chart-line-up',\n },\n sizingProfile: {\n name: 'SizingProfile',\n title: `@${config.i18n}:sizes.entities.sizing-profile.title`,\n titlePlural: `@${config.i18n}:sizes.entities.sizing-profile.plural`,\n icon: 'fa-light fa-chart-column',\n },\n sizingDimensionUsage: {\n name: 'SizingDimensionUsage',\n title: `@${config.i18n}:sizes.entities.sizing-dimension-usage.title`,\n titlePlural: `@${config.i18n}:sizes.entities.sizing-dimension-usage.plural`,\n icon: 'fa-light fa-columns',\n },\n sizeItem: {\n name: 'SizeItem',\n title: `@${config.i18n}:sizes.entities.size-item.title`,\n titlePlural: `@${config.i18n}:sizes.entities.size-item.plural`,\n icon: 'fa-light fa-list',\n },\n sizeRule: {\n name: 'SizeRule',\n title: `@${config.i18n}:sizes.entities.size-rule.title`,\n titlePlural: `@${config.i18n}:sizes.entities.size-rule.plural`,\n icon: 'fa-light fa-grip',\n },\n },\n} as const;\n","import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\nexport async function unitConversionFactory(): Promise<AXPEntity> {\n const sections = [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'conversion', layout: { positions: { lg: { colSpan: 12 } } } },\n ];\n\n const propertyLayouts = [\n { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 8, order: 3 } } } },\n { name: 'fromUomId', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'toUomId', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'factor', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },\n { name: 'operator', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },\n ];\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.unitConversion.name,\n title: RootConfig.entities.unitConversion.title,\n icon: RootConfig.entities.unitConversion.icon,\n formats: {\n individual: '{{ title || (fromUnit?.symbol + \" → \" + toUnit?.symbol) }}',\n plural: RootConfig.entities.unitConversion.titlePlural,\n searchResult: {\n title: '{{ title || (fromUnit?.symbol + \" → \" + toUnit?.symbol) }}',\n description: '{{ code }}',\n },\n },\n plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'disable' }],\n groups: [\n { id: 'basic-info', title: '@measurement-core:conversions.entities.unit-conversion.groups.basic-info' },\n { id: 'conversion', title: '@measurement-core:conversions.entities.unit-conversion.groups.conversion' },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'basic-info',\n schema: {\n dataType: 'uuid',\n visible: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'code',\n title: '@general:terms.common.code',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.code.placeholder',\n },\n },\n },\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.title.placeholder',\n },\n },\n },\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 2,\n placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'fromUomId',\n title: '@measurement-core:conversions.entities.unit-conversion.fields.from-unit.title',\n groupId: 'conversion',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.unitOfMeasure.name}`,\n expose: [\n { source: 'id', target: 'fromUomId' },\n { source: 'title', target: 'fromUnit.title' },\n { source: 'symbol', target: 'fromUnit.symbol' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'toUomId',\n title: '@measurement-core:conversions.entities.unit-conversion.fields.to-unit.title',\n groupId: 'conversion',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.unitOfMeasure.name}`,\n expose: [\n { source: 'id', target: 'toUomId' },\n { source: 'title', target: 'toUnit.title' },\n { source: 'symbol', target: 'toUnit.symbol' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'factor',\n title: '@measurement-core:conversions.entities.unit-conversion.fields.factor.title',\n groupId: 'conversion',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n placeholder: '@measurement-core:conversions.entities.unit-conversion.fields.factor.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'operator',\n title: '@measurement-core:conversions.entities.unit-conversion.fields.operator.title',\n groupId: 'conversion',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'multiply', text: '@measurement-core:conversions.entities.unit-conversion.fields.operator.options.multiply' },\n { value: 'divide', text: '@measurement-core:conversions.entities.unit-conversion.fields.operator.options.divide' },\n ],\n },\n },\n },\n },\n ],\n columns: [\n { name: 'code', options: { width: '120px', order: 1 } },\n { name: 'title', options: { width: '140px', order: 2 } },\n { name: 'fromUomId', options: { width: '120px', dataPath: 'fromUnit.symbol', order: 3 } },\n { name: 'toUomId', options: { width: '120px', dataPath: 'toUnit.symbol', order: 4 } },\n { name: 'factor', options: { width: '100px', order: 5 } },\n { name: 'operator', options: { width: '100px', order: 6 } },\n ],\n interfaces: {\n master: {\n create: { sections, properties: propertyLayouts },\n update: { sections, properties: propertyLayouts },\n single: {\n title: '{{ context.eval(\"fromUnit.symbol\") + \" → \" + context.eval(\"toUnit.symbol\") }}',\n sections,\n properties: propertyLayouts,\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'code', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.unit-conversion';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,315 @@
1
+ import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'measurement-core',
6
+ module: 'MeasurementCore',
7
+ };
8
+ const RootConfig = {
9
+ config,
10
+ module: {
11
+ name: config.module,
12
+ title: `@${config.i18n}:module.title`,
13
+ icon: 'fa-light fa-ruler-combined',
14
+ },
15
+ entities: {
16
+ quantityType: {
17
+ name: 'QuantityType',
18
+ title: `@${config.i18n}:quantity-types.entities.quantity-type.title`,
19
+ titlePlural: `@${config.i18n}:quantity-types.entities.quantity-type.plural`,
20
+ icon: 'fa-light fa-calculator',
21
+ },
22
+ unitOfMeasure: {
23
+ name: 'UnitOfMeasure',
24
+ title: `@${config.i18n}:units.entities.unit-of-measure.title`,
25
+ titlePlural: `@${config.i18n}:units.entities.unit-of-measure.plural`,
26
+ icon: 'fa-light fa-ruler',
27
+ },
28
+ unitConversion: {
29
+ name: 'UnitConversion',
30
+ title: `@${config.i18n}:conversions.entities.unit-conversion.title`,
31
+ titlePlural: `@${config.i18n}:conversions.entities.unit-conversion.plural`,
32
+ icon: 'fa-light fa-arrows-rotate',
33
+ },
34
+ measurementDimension: {
35
+ name: 'MeasurementDimension',
36
+ title: `@${config.i18n}:dimensions.entities.measurement-dimension.title`,
37
+ titlePlural: `@${config.i18n}:dimensions.entities.measurement-dimension.plural`,
38
+ icon: 'fa-light fa-cube',
39
+ },
40
+ measurementRange: {
41
+ name: 'MeasurementRange',
42
+ title: `@${config.i18n}:ranges.entities.measurement-range.title`,
43
+ titlePlural: `@${config.i18n}:ranges.entities.measurement-range.plural`,
44
+ icon: 'fa-light fa-chart-line-up',
45
+ },
46
+ sizingProfile: {
47
+ name: 'SizingProfile',
48
+ title: `@${config.i18n}:sizes.entities.sizing-profile.title`,
49
+ titlePlural: `@${config.i18n}:sizes.entities.sizing-profile.plural`,
50
+ icon: 'fa-light fa-chart-column',
51
+ },
52
+ sizingDimensionUsage: {
53
+ name: 'SizingDimensionUsage',
54
+ title: `@${config.i18n}:sizes.entities.sizing-dimension-usage.title`,
55
+ titlePlural: `@${config.i18n}:sizes.entities.sizing-dimension-usage.plural`,
56
+ icon: 'fa-light fa-columns',
57
+ },
58
+ sizeItem: {
59
+ name: 'SizeItem',
60
+ title: `@${config.i18n}:sizes.entities.size-item.title`,
61
+ titlePlural: `@${config.i18n}:sizes.entities.size-item.plural`,
62
+ icon: 'fa-light fa-list',
63
+ },
64
+ sizeRule: {
65
+ name: 'SizeRule',
66
+ title: `@${config.i18n}:sizes.entities.size-rule.title`,
67
+ titlePlural: `@${config.i18n}:sizes.entities.size-rule.plural`,
68
+ icon: 'fa-light fa-grip',
69
+ },
70
+ },
71
+ };
72
+
73
+ //#endregion
74
+ //#region ---- Entity Factory ----
75
+ async function unitOfMeasureFactory() {
76
+ const sections = [
77
+ { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },
78
+ { id: 'configuration', layout: { positions: { lg: { colSpan: 12 } } } },
79
+ ];
80
+ const propertyLayouts = [
81
+ { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
82
+ { name: 'title', layout: { positions: { lg: { colSpan: 5, order: 2 } } } },
83
+ { name: 'symbol', layout: { positions: { lg: { colSpan: 3, order: 3 } } } },
84
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
85
+ { name: 'quantityTypeId', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
86
+ { name: 'factorToBase', layout: { positions: { lg: { colSpan: 3, order: 6 } } } },
87
+ { name: 'precision', layout: { positions: { lg: { colSpan: 3, order: 7 } } } },
88
+ { name: 'isBase', layout: { positions: { lg: { colSpan: 3, order: 8 } } } },
89
+ ];
90
+ const entityDef = {
91
+ module: RootConfig.module.name,
92
+ name: RootConfig.entities.unitOfMeasure.name,
93
+ title: RootConfig.entities.unitOfMeasure.title,
94
+ icon: RootConfig.entities.unitOfMeasure.icon,
95
+ formats: {
96
+ individual: RootConfig.entities.unitOfMeasure.title,
97
+ plural: RootConfig.entities.unitOfMeasure.titlePlural,
98
+ searchResult: {
99
+ title: '{{ title }}',
100
+ description: '{{ context.eval("code") + " (" + context.eval("symbol") + ")" }}',
101
+ },
102
+ },
103
+ plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'disable' }],
104
+ groups: [
105
+ { id: 'basic-info', title: '@measurement-core:units.entities.unit-of-measure.groups.basic-info' },
106
+ { id: 'configuration', title: '@measurement-core:units.entities.unit-of-measure.groups.configuration' },
107
+ ],
108
+ properties: [
109
+ {
110
+ name: 'id',
111
+ title: '@general:terms.common.id',
112
+ groupId: 'basic-info',
113
+ schema: {
114
+ dataType: 'uuid',
115
+ visible: false,
116
+ readonly: true,
117
+ unique: { enabled: true },
118
+ },
119
+ },
120
+ {
121
+ name: 'code',
122
+ title: '@general:terms.common.code',
123
+ groupId: 'basic-info',
124
+ options: {
125
+ sort: { enabled: true },
126
+ filter: {
127
+ advance: { enabled: true },
128
+ inline: { enabled: true },
129
+ },
130
+ },
131
+ schema: {
132
+ dataType: 'string',
133
+ interface: {
134
+ type: AXPWidgetsList.Editors.TextBox,
135
+ options: {
136
+ placeholder: '@measurement-core:units.entities.unit-of-measure.fields.code.placeholder',
137
+ },
138
+ },
139
+ },
140
+ validations: [{ rule: 'required' }],
141
+ },
142
+ {
143
+ name: 'title',
144
+ title: '@general:terms.common.title',
145
+ groupId: 'basic-info',
146
+ options: {
147
+ sort: { enabled: true },
148
+ filter: {
149
+ advance: { enabled: true },
150
+ inline: { enabled: true },
151
+ },
152
+ },
153
+ schema: {
154
+ dataType: 'string',
155
+ interface: {
156
+ type: AXPWidgetsList.Editors.TextBox,
157
+ options: {
158
+ placeholder: '@measurement-core:units.entities.unit-of-measure.fields.title.placeholder',
159
+ },
160
+ },
161
+ },
162
+ validations: [{ rule: 'required' }],
163
+ },
164
+ {
165
+ name: 'symbol',
166
+ title: '@measurement-core:units.entities.unit-of-measure.fields.symbol.title',
167
+ groupId: 'basic-info',
168
+ options: {
169
+ sort: { enabled: true },
170
+ filter: { advance: { enabled: true } },
171
+ },
172
+ schema: {
173
+ dataType: 'string',
174
+ interface: {
175
+ type: AXPWidgetsList.Editors.TextBox,
176
+ options: {
177
+ maxLength: 10,
178
+ placeholder: '@measurement-core:units.entities.unit-of-measure.fields.symbol.placeholder',
179
+ },
180
+ },
181
+ },
182
+ },
183
+ {
184
+ name: 'description',
185
+ title: '@general:terms.common.description',
186
+ groupId: 'basic-info',
187
+ schema: {
188
+ dataType: 'string',
189
+ interface: {
190
+ type: AXPWidgetsList.Editors.LargeTextBox,
191
+ options: {
192
+ rows: 3,
193
+ placeholder: '@measurement-core:units.entities.unit-of-measure.fields.description.placeholder',
194
+ },
195
+ },
196
+ },
197
+ },
198
+ {
199
+ name: 'quantityTypeId',
200
+ title: '@measurement-core:units.entities.unit-of-measure.fields.quantity-type.title',
201
+ groupId: 'configuration',
202
+ options: {
203
+ sort: { enabled: true },
204
+ filter: {
205
+ advance: { enabled: true },
206
+ inline: { enabled: true },
207
+ },
208
+ },
209
+ schema: {
210
+ dataType: 'string',
211
+ interface: {
212
+ type: AXPWidgetsList.Editors.LookupBox,
213
+ options: {
214
+ look: 'select',
215
+ entity: `${RootConfig.module.name}.${RootConfig.entities.quantityType.name}`,
216
+ expose: [
217
+ { source: 'id', target: 'quantityTypeId' },
218
+ { source: 'code', target: 'quantityType.code' },
219
+ { source: 'title', target: 'quantityType.title' },
220
+ ],
221
+ },
222
+ },
223
+ },
224
+ validations: [{ rule: 'required' }],
225
+ },
226
+ {
227
+ name: 'factorToBase',
228
+ title: '@measurement-core:units.entities.unit-of-measure.fields.factor-to-base.title',
229
+ groupId: 'configuration',
230
+ schema: {
231
+ dataType: 'number',
232
+ interface: {
233
+ type: AXPWidgetsList.Editors.NumberBox,
234
+ options: {
235
+ placeholder: '@measurement-core:units.entities.unit-of-measure.fields.factor-to-base.placeholder',
236
+ },
237
+ },
238
+ },
239
+ },
240
+ {
241
+ name: 'precision',
242
+ title: '@measurement-core:units.entities.unit-of-measure.fields.precision.title',
243
+ groupId: 'configuration',
244
+ schema: {
245
+ dataType: 'number',
246
+ interface: {
247
+ type: AXPWidgetsList.Editors.NumberBox,
248
+ options: {
249
+ minValue: 0,
250
+ maxValue: 10,
251
+ placeholder: '@measurement-core:units.entities.unit-of-measure.fields.precision.placeholder',
252
+ },
253
+ },
254
+ },
255
+ },
256
+ {
257
+ name: 'isBase',
258
+ title: '@measurement-core:units.entities.unit-of-measure.fields.is-base.title',
259
+ groupId: 'configuration',
260
+ schema: {
261
+ dataType: 'boolean',
262
+ interface: {
263
+ type: AXPWidgetsList.Editors.ToggleSwitch,
264
+ options: {
265
+ trulyText: '@general:terms.common.yes-no.yes',
266
+ falsyText: '@general:terms.common.yes-no.no',
267
+ },
268
+ },
269
+ },
270
+ },
271
+ ],
272
+ columns: [
273
+ { name: 'code', options: { width: '120px', order: 1 } },
274
+ { name: 'title', options: { width: '220px', order: 2 } },
275
+ { name: 'symbol', options: { width: '100px', order: 3 } },
276
+ { name: 'quantityTypeId', options: { width: '180px', order: 4 } },
277
+ { name: 'isBase', options: { width: '100px', order: 5 } },
278
+ ],
279
+ interfaces: {
280
+ master: {
281
+ create: {
282
+ sections,
283
+ properties: propertyLayouts,
284
+ },
285
+ update: {
286
+ sections,
287
+ properties: propertyLayouts,
288
+ },
289
+ single: {
290
+ title: '{{ title }}',
291
+ sections,
292
+ properties: propertyLayouts,
293
+ actions: [...entityMasterRecordActions()],
294
+ },
295
+ list: {
296
+ actions: [...entityMasterCrudActions()],
297
+ views: [
298
+ createAllQueryView({
299
+ sorts: [{ name: 'code', dir: 'asc' }],
300
+ }),
301
+ ],
302
+ },
303
+ },
304
+ },
305
+ };
306
+ return entityDef;
307
+ }
308
+ //#endregion
309
+
310
+ /**
311
+ * Generated bundle index. Do not edit.
312
+ */
313
+
314
+ export { unitOfMeasureFactory };
315
+ //# sourceMappingURL=acorex-platform-module-measurement-core-client-contracts-entities-unit-of-measure.mjs.map