@decaf-ts/ui-decorators 0.5.31 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui-decorators.cjs +1 -1
- package/dist/ui-decorators.cjs.map +1 -1
- package/dist/ui-decorators.js +1 -1
- package/dist/ui-decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/model/decorators.d.ts +2 -3
- package/lib/esm/model/decorators.js +18 -20
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/model.d.ts +17 -0
- package/lib/esm/model/overrides.d.ts +1 -1
- package/lib/esm/model/overrides.js +74 -0
- package/lib/esm/model/overrides.js.map +1 -1
- package/lib/esm/ui/Rendering.d.ts +1 -11
- package/lib/esm/ui/Rendering.js +138 -70
- package/lib/esm/ui/Rendering.js.map +1 -1
- package/lib/esm/ui/constants.d.ts +6 -5
- package/lib/esm/ui/constants.js +13 -14
- package/lib/esm/ui/constants.js.map +1 -1
- package/lib/esm/ui/decorators.d.ts +8 -9
- package/lib/esm/ui/decorators.js +19 -12
- package/lib/esm/ui/decorators.js.map +1 -1
- package/lib/esm/ui/types.d.ts +13 -5
- package/lib/esm/ui/utils.d.ts +1 -0
- package/lib/esm/ui/utils.js +24 -12
- package/lib/esm/ui/utils.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/model/decorators.cjs +18 -20
- package/lib/model/decorators.d.ts +2 -3
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/model.d.ts +17 -0
- package/lib/model/overrides.cjs +74 -0
- package/lib/model/overrides.d.ts +1 -1
- package/lib/model/overrides.js.map +1 -1
- package/lib/ui/Rendering.cjs +137 -69
- package/lib/ui/Rendering.d.ts +1 -11
- package/lib/ui/Rendering.js.map +1 -1
- package/lib/ui/constants.cjs +12 -13
- package/lib/ui/constants.d.ts +6 -5
- package/lib/ui/constants.js.map +1 -1
- package/lib/ui/decorators.cjs +19 -12
- package/lib/ui/decorators.d.ts +8 -9
- package/lib/ui/decorators.js.map +1 -1
- package/lib/ui/types.d.ts +13 -5
- package/lib/ui/utils.cjs +23 -10
- package/lib/ui/utils.d.ts +1 -0
- package/lib/ui/utils.js.map +1 -1
- package/package.json +2 -3
package/lib/esm/ui/Rendering.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
-
import { Model, ReservedModels, ValidationKeys, } from "@decaf-ts/decorator-validation";
|
|
1
|
+
import { InternalError, NotFoundError } from "@decaf-ts/db-decorators";
|
|
3
2
|
import { HTML5DateFormat, HTML5InputTypes, UIKeys, ValidatableByAttribute, ValidatableByType, } from "./constants.js";
|
|
4
3
|
import { RenderingError } from "./errors.js";
|
|
5
|
-
import { Reflection } from "@decaf-ts/reflection";
|
|
6
4
|
import { formatByType, generateUIModelID } from "./utils.js";
|
|
5
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
6
|
+
import { Model, ReservedModels, ValidationKeys, } from "@decaf-ts/decorator-validation";
|
|
7
7
|
/**
|
|
8
8
|
* @description Abstract class for rendering UI components based on model metadata.
|
|
9
9
|
* @summary The RenderingEngine class provides a framework for converting model metadata into UI field definitions.
|
|
@@ -44,14 +44,14 @@ export class RenderingEngine {
|
|
|
44
44
|
translate(key, toView = true) {
|
|
45
45
|
if (toView) {
|
|
46
46
|
switch (key) {
|
|
47
|
-
case ReservedModels.STRING:
|
|
47
|
+
case ReservedModels.STRING.name.toLowerCase():
|
|
48
48
|
return HTML5InputTypes.TEXT;
|
|
49
|
-
case ReservedModels.NUMBER:
|
|
50
|
-
case ReservedModels.BIGINT:
|
|
49
|
+
case ReservedModels.NUMBER.name.toLowerCase():
|
|
50
|
+
case ReservedModels.BIGINT.name.toLowerCase():
|
|
51
51
|
return HTML5InputTypes.NUMBER;
|
|
52
|
-
case ReservedModels.BOOLEAN:
|
|
52
|
+
case ReservedModels.BOOLEAN.name.toLowerCase():
|
|
53
53
|
return HTML5InputTypes.CHECKBOX;
|
|
54
|
-
case ReservedModels.DATE:
|
|
54
|
+
case ReservedModels.DATE.name.toLowerCase():
|
|
55
55
|
return HTML5InputTypes.DATE;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -68,15 +68,15 @@ export class RenderingEngine {
|
|
|
68
68
|
case HTML5InputTypes.HIDDEN:
|
|
69
69
|
case HTML5InputTypes.TEXTAREA:
|
|
70
70
|
case HTML5InputTypes.RADIO:
|
|
71
|
-
return ReservedModels.STRING;
|
|
71
|
+
return ReservedModels.STRING.name.toLowerCase();
|
|
72
72
|
case HTML5InputTypes.NUMBER:
|
|
73
|
-
return ReservedModels.NUMBER;
|
|
73
|
+
return ReservedModels.NUMBER.name.toLowerCase();
|
|
74
74
|
case HTML5InputTypes.CHECKBOX:
|
|
75
|
-
return ReservedModels.BOOLEAN;
|
|
75
|
+
return ReservedModels.BOOLEAN.name.toLowerCase();
|
|
76
76
|
case HTML5InputTypes.DATE:
|
|
77
77
|
case HTML5InputTypes.DATETIME_LOCAL:
|
|
78
78
|
case HTML5InputTypes.TIME:
|
|
79
|
-
return ReservedModels.DATE;
|
|
79
|
+
return ReservedModels.DATE.name.toLowerCase();
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
return key;
|
|
@@ -95,14 +95,10 @@ export class RenderingEngine {
|
|
|
95
95
|
*/
|
|
96
96
|
getClassDecoratorsMetadata(model) {
|
|
97
97
|
return [
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
Reflect.getMetadata(RenderingEngine.key(UIKeys.HANDLERS), model.constructor) ||
|
|
103
|
-
Reflect.getMetadata(RenderingEngine.key(UIKeys.HANDLERS), Model.get(model.constructor.name)),
|
|
104
|
-
Reflect.getMetadata(RenderingEngine.key(UIKeys.UILAYOUT), model.constructor) ||
|
|
105
|
-
Reflect.getMetadata(RenderingEngine.key(UIKeys.UILAYOUT), Model.get(model.constructor.name)),
|
|
98
|
+
Model.uiModelOf(model.constructor),
|
|
99
|
+
Model.uiListModelOf(model.constructor),
|
|
100
|
+
Model.uiHandlersFor(model.constructor),
|
|
101
|
+
Model.uiLayoutOf(model.constructor),
|
|
106
102
|
].filter(Boolean);
|
|
107
103
|
}
|
|
108
104
|
/**
|
|
@@ -179,7 +175,12 @@ export class RenderingEngine {
|
|
|
179
175
|
const classDecorator = Object.assign({}, ...classDecorators, inheritProps ? inheritProps : {} // override tag and properties when it is a component that should inherit properties from its parent.
|
|
180
176
|
);
|
|
181
177
|
const { tag, props, item, handlers } = classDecorator;
|
|
182
|
-
const uiDecorators =
|
|
178
|
+
const uiDecorators = Model.uiPropertiesOf(model.constructor);
|
|
179
|
+
// const uiDecorators: Record<string, DecoratorMetadata[]> =
|
|
180
|
+
// Reflection.getAllPropertyDecorators(model, UIKeys.REFLECT) as Record<
|
|
181
|
+
// string,
|
|
182
|
+
// DecoratorMetadata[]
|
|
183
|
+
// >;
|
|
183
184
|
let children;
|
|
184
185
|
let childProps = item?.props || {};
|
|
185
186
|
let mapper = {};
|
|
@@ -187,20 +188,44 @@ export class RenderingEngine {
|
|
|
187
188
|
return parent ? [parent, prop].join(".") : prop;
|
|
188
189
|
};
|
|
189
190
|
if (uiDecorators) {
|
|
190
|
-
const validationDecorators =
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
const validationDecorators = Metadata.get(model.constructor, ValidationKeys.REFLECT) || {};
|
|
192
|
+
// const validationDecorators: Record<
|
|
193
|
+
// string,
|
|
194
|
+
// DecoratorMetadata<ValidationMetadata>[]
|
|
195
|
+
// > = Reflection.getAllPropertyDecorators(
|
|
196
|
+
// model,
|
|
197
|
+
// ValidationKeys.REFLECT
|
|
198
|
+
// ) as Record<string, DecoratorMetadata<ValidationMetadata>[]>;
|
|
199
|
+
for (const key of uiDecorators) {
|
|
200
|
+
const decs = Model.uiDecorationOf(model.constructor, key);
|
|
201
|
+
let type;
|
|
202
|
+
try {
|
|
203
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
204
|
+
type = Model.uiTypeOf(model.constructor, key);
|
|
205
|
+
}
|
|
206
|
+
catch (e) {
|
|
207
|
+
if (!(e instanceof NotFoundError))
|
|
208
|
+
throw e;
|
|
209
|
+
}
|
|
210
|
+
// const types = Object.values(decs).filter(({ key }) =>
|
|
211
|
+
// [UIKeys.PROP, UIKeys.ELEMENT, UIKeys.CHILD].includes(key)
|
|
212
|
+
// );
|
|
213
|
+
// if (!type)
|
|
214
|
+
// throw new RenderingError(
|
|
215
|
+
// `Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement`
|
|
216
|
+
// );
|
|
217
|
+
const hasHideOnDecorator = Model.uiIsHidden(model.constructor, key);
|
|
197
218
|
if (hasHideOnDecorator) {
|
|
198
|
-
const hasUiElementDecorator =
|
|
219
|
+
const hasUiElementDecorator = Model.uiElementOf(model.constructor, key);
|
|
199
220
|
if (!hasUiElementDecorator)
|
|
200
221
|
throw new RenderingError(`@uielement no found in "${key}". It is required to use hiddenOn decorator.`);
|
|
201
222
|
}
|
|
202
|
-
|
|
203
|
-
|
|
223
|
+
const sorted = Object.entries(decs)
|
|
224
|
+
.map(([k, v]) => ({
|
|
225
|
+
key: k,
|
|
226
|
+
props: v,
|
|
227
|
+
}))
|
|
228
|
+
.sort((a) => {
|
|
204
229
|
return [UIKeys.ELEMENT, UIKeys.CHILD].includes(a.key) ? -1 : 1;
|
|
205
230
|
});
|
|
206
231
|
sorted.forEach((dec) => {
|
|
@@ -221,12 +246,11 @@ export class RenderingEngine {
|
|
|
221
246
|
!Array.isArray(submodel);
|
|
222
247
|
// create instance if undefined
|
|
223
248
|
if (!constructable) {
|
|
224
|
-
const clazzName = dec.props.props
|
|
225
|
-
?.name;
|
|
249
|
+
const clazzName = dec.props.props?.name;
|
|
226
250
|
Clazz = new (Model.get(clazzName))();
|
|
227
251
|
}
|
|
228
252
|
children = children || [];
|
|
229
|
-
const childrenGlobalProps = Object.assign({}, globalProps || {}, {
|
|
253
|
+
const childrenGlobalProps = Object.assign({}, globalProps || {}, { model: Clazz }, {
|
|
230
254
|
inheritProps: dec.props,
|
|
231
255
|
childOf: getPath(globalProps?.childOf, key),
|
|
232
256
|
});
|
|
@@ -237,9 +261,9 @@ export class RenderingEngine {
|
|
|
237
261
|
}
|
|
238
262
|
case UIKeys.UILISTPROP: {
|
|
239
263
|
mapper = mapper || {};
|
|
240
|
-
if (dec.props
|
|
241
|
-
mapper[dec.props
|
|
242
|
-
const props = Object.assign({}, classDecorator.props?.item || {}, item?.props || {}, dec.props
|
|
264
|
+
if (dec.props.name)
|
|
265
|
+
mapper[dec.props.name] = key;
|
|
266
|
+
const props = Object.assign({}, classDecorator.props?.item || {}, item?.props || {}, dec.props.props || {}, globalProps);
|
|
243
267
|
childProps = {
|
|
244
268
|
tag: item?.tag || props.render || "",
|
|
245
269
|
props: Object.assign({}, childProps?.props, { mapper }, props),
|
|
@@ -253,42 +277,51 @@ export class RenderingEngine {
|
|
|
253
277
|
case UIKeys.ELEMENT: {
|
|
254
278
|
children = children || [];
|
|
255
279
|
const uiProps = dec.props;
|
|
256
|
-
const props = Object.assign({}, childProps?.props, uiProps.props || {},
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
280
|
+
const props = Object.assign({}, childProps?.props, uiProps.props || {}, uiProps?.props?.name
|
|
281
|
+
? {
|
|
282
|
+
path: getPath(globalProps?.childOf, uiProps.props.name),
|
|
283
|
+
childOf: undefined, // The childOf prop is passed by globalProps when it is a nested prop
|
|
284
|
+
}
|
|
285
|
+
: {}, globalProps);
|
|
260
286
|
if (dec.key === UIKeys.ELEMENT) {
|
|
261
287
|
const childDefinition = {
|
|
262
288
|
tag: uiProps.tag || childProps?.tag || tag || "",
|
|
263
289
|
props,
|
|
264
290
|
};
|
|
265
291
|
const validationDecs = validationDecorators[key];
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
if (dec.key
|
|
274
|
-
|
|
292
|
+
if (validationDecs) {
|
|
293
|
+
for (const dec of Object.entries(validationDecs).map(([k, v]) => ({ key: k, props: v }))) {
|
|
294
|
+
if (this.isValidatableByAttribute(dec.key)) {
|
|
295
|
+
childDefinition.props[this.translate(dec.key)] =
|
|
296
|
+
this.toAttributeValue(dec.key, dec.props);
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
if (this.isValidatableByType(dec.key)) {
|
|
300
|
+
if (dec.key === HTML5InputTypes.DATE) {
|
|
301
|
+
childDefinition.props[UIKeys.FORMAT] =
|
|
302
|
+
dec.props.format || HTML5DateFormat;
|
|
303
|
+
}
|
|
304
|
+
childDefinition.props[UIKeys.TYPE] = dec.key;
|
|
305
|
+
continue;
|
|
275
306
|
}
|
|
276
|
-
childDefinition.props[UIKeys.TYPE] = dec.key;
|
|
277
|
-
continue;
|
|
278
307
|
}
|
|
279
308
|
}
|
|
280
309
|
if (!childDefinition.props[UIKeys.TYPE]) {
|
|
281
|
-
const basicType =
|
|
310
|
+
const basicType = Metadata.type(model.constructor, key).name;
|
|
282
311
|
childDefinition.props[UIKeys.TYPE] = this.translate(basicType.toLowerCase(), true);
|
|
283
312
|
}
|
|
284
313
|
childDefinition.props.value = formatByType(childDefinition.props[UIKeys.TYPE], model[key], childDefinition.props[UIKeys.FORMAT]);
|
|
285
314
|
children.push(childDefinition);
|
|
286
315
|
}
|
|
287
316
|
else {
|
|
288
|
-
const child = children.find(c => c.props?.name === key ||
|
|
317
|
+
const child = children.find((c) => c.props?.name === key ||
|
|
318
|
+
([UIKeys.UILAYOUTPROP, UIKeys.PAGE].includes(dec.key) &&
|
|
319
|
+
c?.props?.childOf === key));
|
|
289
320
|
if (child) {
|
|
290
321
|
if (dec.key !== UIKeys.UILAYOUTPROP) {
|
|
291
|
-
child.props = Object.assign({}, child.props, {
|
|
322
|
+
child.props = Object.assign({}, child.props, {
|
|
323
|
+
[dec.key]: uiProps,
|
|
324
|
+
});
|
|
292
325
|
}
|
|
293
326
|
else {
|
|
294
327
|
const { row, col, props } = dec.props;
|
|
@@ -308,9 +341,10 @@ export class RenderingEngine {
|
|
|
308
341
|
handlers: handlers || {},
|
|
309
342
|
});
|
|
310
343
|
const operation = globalProps?.operation;
|
|
311
|
-
children = children
|
|
344
|
+
children = children
|
|
345
|
+
?.sort((a, b) => (a?.props?.order ?? 0) - (b?.props?.order ?? 0))
|
|
312
346
|
.filter((item) => {
|
|
313
|
-
const hiddenOn =
|
|
347
|
+
const hiddenOn = item?.props?.hidden || [];
|
|
314
348
|
if (!hiddenOn?.length)
|
|
315
349
|
return item;
|
|
316
350
|
if (!hiddenOn.includes(operation))
|
|
@@ -393,21 +427,55 @@ export class RenderingEngine {
|
|
|
393
427
|
const constructor = Model.get(model.constructor.name) || Model.fromObject(model);
|
|
394
428
|
if (!constructor)
|
|
395
429
|
throw new InternalError("No model registered found");
|
|
396
|
-
const flavour =
|
|
430
|
+
const flavour = Model.renderedBy(model.constructor);
|
|
397
431
|
// @ts-expect-error for the var args type check
|
|
398
432
|
return RenderingEngine.get(flavour).render(model, ...args);
|
|
399
433
|
}
|
|
400
|
-
/**
|
|
401
|
-
* @description Generates a metadata key for UI-related properties.
|
|
402
|
-
* @summary Prefixes a given key with the UI reflection prefix.
|
|
403
|
-
*
|
|
404
|
-
* @param {string} key - The key to prefix.
|
|
405
|
-
* @returns {string} The prefixed key.
|
|
406
|
-
*
|
|
407
|
-
* @static
|
|
408
|
-
*/
|
|
409
|
-
static key(key) {
|
|
410
|
-
return `${UIKeys.REFLECT}${key}`;
|
|
411
|
-
}
|
|
412
434
|
}
|
|
435
|
+
//
|
|
436
|
+
// Decoration.for(DBKeys.ID)
|
|
437
|
+
// .extend({
|
|
438
|
+
// decorator: function pk(options: { generated: boolean }) {
|
|
439
|
+
// return function innerPk(target: object, propertyKey?: any) {
|
|
440
|
+
// if (options.generated)
|
|
441
|
+
// hideOn(OperationKeys.CREATE, OperationKeys.UPDATE)(
|
|
442
|
+
// target,
|
|
443
|
+
// propertyKey
|
|
444
|
+
// );
|
|
445
|
+
// };
|
|
446
|
+
// },
|
|
447
|
+
// })
|
|
448
|
+
// .apply();
|
|
449
|
+
//
|
|
450
|
+
// Decoration.for(DBKeys.TIMESTAMP)
|
|
451
|
+
// .extend({
|
|
452
|
+
// decorator: function timestamp(ops: OperationKeys[]) {
|
|
453
|
+
// return hideOn(...(ops as any[]));
|
|
454
|
+
// },
|
|
455
|
+
// })
|
|
456
|
+
// .apply();
|
|
457
|
+
//
|
|
458
|
+
// Decoration.for(DBKeys.COMPOSED)
|
|
459
|
+
// .extend({
|
|
460
|
+
// decorator: function composed() {
|
|
461
|
+
// return hideOn(OperationKeys.CREATE, OperationKeys.UPDATE);
|
|
462
|
+
// },
|
|
463
|
+
// })
|
|
464
|
+
// .apply();
|
|
465
|
+
//
|
|
466
|
+
// Decoration.for("createdBy")
|
|
467
|
+
// .extend({
|
|
468
|
+
// decorator: function createdBy() {
|
|
469
|
+
// return hideOn(OperationKeys.CREATE, OperationKeys.UPDATE);
|
|
470
|
+
// },
|
|
471
|
+
// })
|
|
472
|
+
// .apply();
|
|
473
|
+
//
|
|
474
|
+
// Decoration.for("updatedBy")
|
|
475
|
+
// .extend({
|
|
476
|
+
// decorator: function createdBy() {
|
|
477
|
+
// return hideOn(OperationKeys.CREATE, OperationKeys.UPDATE);
|
|
478
|
+
// },
|
|
479
|
+
// })
|
|
480
|
+
// .apply();
|
|
413
481
|
//# sourceMappingURL=Rendering.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rendering.js","sourceRoot":"","sources":["../../../src/ui/Rendering.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rendering.js","sourceRoot":"","sources":["../../../src/ui/Rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
* @module ui/constants
|
|
7
7
|
* @memberOf module:ui-decorators
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { Validator } from "@decaf-ts/decorator-validation";
|
|
10
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
10
11
|
export declare enum UIMediaBreakPoints {
|
|
11
|
-
SMALL = "
|
|
12
|
-
MEDIUM = "
|
|
13
|
-
LARGE = "
|
|
14
|
-
XLARGE = "
|
|
12
|
+
SMALL = "small",
|
|
13
|
+
MEDIUM = "medium",
|
|
14
|
+
LARGE = "large",
|
|
15
|
+
XLARGE = "xlarge"
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
18
|
* @description Key constants used for UI metadata and rendering
|
package/lib/esm/ui/constants.js
CHANGED
|
@@ -6,15 +6,14 @@
|
|
|
6
6
|
* @module ui/constants
|
|
7
7
|
* @memberOf module:ui-decorators
|
|
8
8
|
*/
|
|
9
|
-
import { DateValidator, DiffValidator, EmailValidator, EqualsValidator, GreaterThanOrEqualValidator, GreaterThanValidator, LessThanOrEqualValidator, LessThanValidator, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator,
|
|
9
|
+
import { DateValidator, DiffValidator, EmailValidator, EqualsValidator, GreaterThanOrEqualValidator, GreaterThanValidator, LessThanOrEqualValidator, LessThanValidator, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, PasswordValidator, PatternValidator, RequiredValidator, StepValidator, URLValidator, ValidationKeys, } from "@decaf-ts/decorator-validation";
|
|
10
10
|
export var UIMediaBreakPoints;
|
|
11
11
|
(function (UIMediaBreakPoints) {
|
|
12
|
-
UIMediaBreakPoints["SMALL"] = "
|
|
13
|
-
UIMediaBreakPoints["MEDIUM"] = "
|
|
14
|
-
UIMediaBreakPoints["LARGE"] = "
|
|
15
|
-
UIMediaBreakPoints["XLARGE"] = "
|
|
12
|
+
UIMediaBreakPoints["SMALL"] = "small";
|
|
13
|
+
UIMediaBreakPoints["MEDIUM"] = "medium";
|
|
14
|
+
UIMediaBreakPoints["LARGE"] = "large";
|
|
15
|
+
UIMediaBreakPoints["XLARGE"] = "xlarge";
|
|
16
16
|
})(UIMediaBreakPoints || (UIMediaBreakPoints = {}));
|
|
17
|
-
;
|
|
18
17
|
/**
|
|
19
18
|
* @description Key constants used for UI metadata and rendering
|
|
20
19
|
* @summary Collection of string constants used as keys for UI-related metadata
|
|
@@ -61,20 +60,20 @@ export var UIMediaBreakPoints;
|
|
|
61
60
|
* @memberOf module:ui-decorators
|
|
62
61
|
*/
|
|
63
62
|
export const UIKeys = {
|
|
64
|
-
REFLECT:
|
|
63
|
+
REFLECT: `ui`,
|
|
65
64
|
UIMODEL: "uimodel",
|
|
66
65
|
RENDERED_BY: "rendered-by",
|
|
67
|
-
ELEMENT: "
|
|
68
|
-
PROP: "
|
|
69
|
-
CHILD: "
|
|
66
|
+
ELEMENT: "uielement",
|
|
67
|
+
PROP: "uiprop",
|
|
68
|
+
CHILD: "uichild",
|
|
70
69
|
NAME: "name",
|
|
71
70
|
NAME_PREFIX: "input-",
|
|
72
71
|
CUSTOM_PROPS: "customValidationProps",
|
|
73
72
|
UILISTMODEL: "uilistmodel",
|
|
74
|
-
UILISTPROP: "
|
|
73
|
+
UILISTPROP: "uilistprop",
|
|
75
74
|
UILAYOUT: "uilayout",
|
|
76
75
|
UILAYOUTPROP: "uilayoutprop",
|
|
77
|
-
HANDLERS: "
|
|
76
|
+
HANDLERS: "uihandlers",
|
|
78
77
|
TYPE: "type",
|
|
79
78
|
SUB_TYPE: "subtype",
|
|
80
79
|
HIDDEN: "hidden",
|
|
@@ -230,8 +229,8 @@ export const HTML5InputTypes = {
|
|
|
230
229
|
SUBMIT: "submit",
|
|
231
230
|
TEL: "tel",
|
|
232
231
|
TEXT: "text",
|
|
233
|
-
TEXTAREA:
|
|
234
|
-
SELECT:
|
|
232
|
+
TEXTAREA: "textarea",
|
|
233
|
+
SELECT: "select",
|
|
235
234
|
TIME: "time",
|
|
236
235
|
URL: UIKeys.URL,
|
|
237
236
|
WEEK: "week",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/ui/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/ui/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "reflect-metadata";
|
|
2
1
|
import { CrudOperationKeys, UILayoutCol } from "./types";
|
|
3
2
|
/**
|
|
4
3
|
* @description Decorator that hides a property during specific CRUD operations
|
|
@@ -35,7 +34,7 @@ import { CrudOperationKeys, UILayoutCol } from "./types";
|
|
|
35
34
|
* Model->>RenderingEngine: Return hidden operations
|
|
36
35
|
* RenderingEngine->>UI: Render or hide based on current operation
|
|
37
36
|
*/
|
|
38
|
-
export declare function hideOn(...operations: CrudOperationKeys[]): (
|
|
37
|
+
export declare function hideOn(...operations: CrudOperationKeys[]): (object: any, propertyKey?: any) => void;
|
|
39
38
|
/**
|
|
40
39
|
* @description Decorator that sets the order of a UI element
|
|
41
40
|
* @summary Specifies the rendering order for UI components
|
|
@@ -65,7 +64,7 @@ export declare function hideOn(...operations: CrudOperationKeys[]): (target: obj
|
|
|
65
64
|
* uiorder->>property: sets order metadata
|
|
66
65
|
* uiorder->>System: returns decorated property
|
|
67
66
|
*/
|
|
68
|
-
export declare function uiorder(order?: number): (
|
|
67
|
+
export declare function uiorder(order?: number): (object: any, propertyKey?: any) => void;
|
|
69
68
|
/**
|
|
70
69
|
* @description Decorator that completely hides a property in all UI operations
|
|
71
70
|
* @summary Makes a property invisible in all CRUD operations
|
|
@@ -101,7 +100,7 @@ export declare function uiorder(order?: number): (target: object, propertyKey?:
|
|
|
101
100
|
* Model->>RenderingEngine: Return all operations
|
|
102
101
|
* RenderingEngine->>UI: Always hide property
|
|
103
102
|
*/
|
|
104
|
-
export declare function hidden(): (
|
|
103
|
+
export declare function hidden(): (object: any, propertyKey?: any) => void;
|
|
105
104
|
/**
|
|
106
105
|
* @description Decorator that specifies how a property should be rendered as a UI element
|
|
107
106
|
* @summary Maps a model property to a specific UI element with custom properties
|
|
@@ -188,7 +187,7 @@ export declare function uielement(tag: string, props?: Record<string, any>, seri
|
|
|
188
187
|
* Model->>RenderingEngine: Return prop name and stringify flag
|
|
189
188
|
* RenderingEngine->>Component: Pass property with specified name
|
|
190
189
|
*/
|
|
191
|
-
export declare function uiprop(propName?: string | undefined, stringify?: boolean): (target: any, propertyKey
|
|
190
|
+
export declare function uiprop(propName?: string | undefined, stringify?: boolean): (target: any, propertyKey?: any) => void;
|
|
192
191
|
/**
|
|
193
192
|
* @description Decorator that maps a nested model property to a UI component property.
|
|
194
193
|
* @summary Defines how a parent component should render the child model when nested.
|
|
@@ -242,7 +241,7 @@ export declare function uiprop(propName?: string | undefined, stringify?: boolea
|
|
|
242
241
|
* Model->>RenderingEngine: Return prop name, stringify flag, and child tag override
|
|
243
242
|
* RenderingEngine->>Component: Pass property with specified name and render with overridden tag if nested
|
|
244
243
|
*/
|
|
245
|
-
export declare function uichild(clazz: string, tag: string, props?: Record<string, any>, isArray?: boolean, serialize?: boolean): (target: any, propertyKey
|
|
244
|
+
export declare function uichild(clazz: string, tag: string, props?: Record<string, any>, isArray?: boolean, serialize?: boolean): (target: any, propertyKey?: any) => void;
|
|
246
245
|
/**
|
|
247
246
|
* @description Decorator that maps a model property to a list item component
|
|
248
247
|
* @summary Specifies how a property should be rendered in a list context
|
|
@@ -292,7 +291,7 @@ export declare function uichild(clazz: string, tag: string, props?: Record<strin
|
|
|
292
291
|
* RenderingEngine->>ListItems: Render each item using @uilistmodel
|
|
293
292
|
* ListContainer->>RenderingEngine: Return rendered list
|
|
294
293
|
*/
|
|
295
|
-
export declare function uilistprop(propName?: string | undefined, props?: Record<string, any>): (target: any, propertyKey
|
|
294
|
+
export declare function uilistprop(propName?: string | undefined, props?: Record<string, any>): (target: any, propertyKey?: any) => void;
|
|
296
295
|
/**
|
|
297
296
|
* @description Decorator that positions a property in a specific grid layout position
|
|
298
297
|
* @summary Specifies the column and row position for a property in a UI layout grid
|
|
@@ -343,7 +342,7 @@ export declare function uilistprop(propName?: string | undefined, props?: Record
|
|
|
343
342
|
* RenderingEngine->>LayoutContainer: Position element at grid coordinates
|
|
344
343
|
* LayoutContainer->>RenderingEngine: Return positioned element
|
|
345
344
|
*/
|
|
346
|
-
export declare function uilayoutprop(col?: UILayoutCol, row?: number): (target: any, propertyKey
|
|
345
|
+
export declare function uilayoutprop(col?: UILayoutCol, row?: number): (target: any, propertyKey?: any) => void;
|
|
347
346
|
/**
|
|
348
347
|
* @description Decorator that assigns a property to a specific page in multi-page forms
|
|
349
348
|
* @summary Specifies which page a property should appear on in paginated UI layouts
|
|
@@ -405,4 +404,4 @@ export declare function uilayoutprop(col?: UILayoutCol, row?: number): (target:
|
|
|
405
404
|
* RenderingEngine->>PaginationController: Group properties by page
|
|
406
405
|
* PaginationController->>UI: Render current page properties
|
|
407
406
|
*/
|
|
408
|
-
export declare function uipageprop(page?: number): (
|
|
407
|
+
export declare function uipageprop(page?: number): (original: any, propertyKey?: any) => void;
|
package/lib/esm/ui/decorators.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import "reflect-metadata";
|
|
2
1
|
import { UIKeys } from "./constants.js";
|
|
3
|
-
import { propMetadata } from "@decaf-ts/
|
|
4
|
-
import { RenderingEngine } from "./Rendering.js";
|
|
2
|
+
import { propMetadata } from "@decaf-ts/decoration";
|
|
5
3
|
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
4
|
+
import { getUIAttributeKey } from "./utils.js";
|
|
6
5
|
/**
|
|
7
6
|
* @description Decorator that hides a property during specific CRUD operations
|
|
8
7
|
* @summary Controls property visibility based on operation type
|
|
@@ -39,7 +38,9 @@ import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
|
39
38
|
* RenderingEngine->>UI: Render or hide based on current operation
|
|
40
39
|
*/
|
|
41
40
|
export function hideOn(...operations) {
|
|
42
|
-
return
|
|
41
|
+
return function hideOn(object, propertyKey) {
|
|
42
|
+
return propMetadata(getUIAttributeKey(propertyKey, UIKeys.HIDDEN), operations)(object, propertyKey);
|
|
43
|
+
};
|
|
43
44
|
}
|
|
44
45
|
/**
|
|
45
46
|
* @description Decorator that sets the order of a UI element
|
|
@@ -71,7 +72,9 @@ export function hideOn(...operations) {
|
|
|
71
72
|
* uiorder->>System: returns decorated property
|
|
72
73
|
*/
|
|
73
74
|
export function uiorder(order = 1) {
|
|
74
|
-
return
|
|
75
|
+
return function uiorder(object, propertyKey) {
|
|
76
|
+
return propMetadata(getUIAttributeKey(propertyKey, UIKeys.ORDER), order)(object, propertyKey);
|
|
77
|
+
};
|
|
75
78
|
}
|
|
76
79
|
/**
|
|
77
80
|
* @description Decorator that completely hides a property in all UI operations
|
|
@@ -162,7 +165,7 @@ export function uielement(tag, props, serialize = false) {
|
|
|
162
165
|
name: propertyKey,
|
|
163
166
|
}),
|
|
164
167
|
};
|
|
165
|
-
return propMetadata(
|
|
168
|
+
return propMetadata(getUIAttributeKey(propertyKey, UIKeys.ELEMENT), metadata)(original, propertyKey);
|
|
166
169
|
};
|
|
167
170
|
}
|
|
168
171
|
/**
|
|
@@ -214,7 +217,7 @@ export function uiprop(propName = undefined, stringify = false) {
|
|
|
214
217
|
name: propName || propertyKey,
|
|
215
218
|
stringify: stringify,
|
|
216
219
|
};
|
|
217
|
-
propMetadata(
|
|
220
|
+
propMetadata(getUIAttributeKey(propertyKey, UIKeys.PROP), metadata)(target, propertyKey);
|
|
218
221
|
};
|
|
219
222
|
}
|
|
220
223
|
/**
|
|
@@ -277,9 +280,11 @@ export function uichild(clazz, tag, props = {}, isArray = false, serialize = fal
|
|
|
277
280
|
serialize: serialize,
|
|
278
281
|
props: Object.assign({}, props || {}, {
|
|
279
282
|
name: clazz || propertyKey,
|
|
280
|
-
}, isArray
|
|
283
|
+
}, isArray
|
|
284
|
+
? { customTypes: [Array.name], multiple: true }
|
|
285
|
+
: { multiple: props?.multiple || false }),
|
|
281
286
|
};
|
|
282
|
-
propMetadata(
|
|
287
|
+
propMetadata(getUIAttributeKey(propertyKey, UIKeys.CHILD), metadata)(target, propertyKey);
|
|
283
288
|
};
|
|
284
289
|
}
|
|
285
290
|
/**
|
|
@@ -337,7 +342,7 @@ export function uilistprop(propName = undefined, props) {
|
|
|
337
342
|
name: propName || propertyKey,
|
|
338
343
|
props: props || {},
|
|
339
344
|
};
|
|
340
|
-
propMetadata(
|
|
345
|
+
propMetadata(getUIAttributeKey(propertyKey, UIKeys.UILISTPROP), metadata)(target, propertyKey);
|
|
341
346
|
};
|
|
342
347
|
}
|
|
343
348
|
/**
|
|
@@ -398,7 +403,7 @@ export function uilayoutprop(col = 1, row = 1) {
|
|
|
398
403
|
// row,
|
|
399
404
|
props: Object.assign({}, { row, col }),
|
|
400
405
|
};
|
|
401
|
-
propMetadata(
|
|
406
|
+
propMetadata(getUIAttributeKey(propertyKey, UIKeys.UILAYOUTPROP), metadata)(target, propertyKey);
|
|
402
407
|
};
|
|
403
408
|
}
|
|
404
409
|
/**
|
|
@@ -463,6 +468,8 @@ export function uilayoutprop(col = 1, row = 1) {
|
|
|
463
468
|
* PaginationController->>UI: Render current page properties
|
|
464
469
|
*/
|
|
465
470
|
export function uipageprop(page = 1) {
|
|
466
|
-
return
|
|
471
|
+
return function uipageprop(original, propertyKey) {
|
|
472
|
+
return propMetadata(getUIAttributeKey(propertyKey, UIKeys.PAGE), page)(original, propertyKey);
|
|
473
|
+
};
|
|
467
474
|
}
|
|
468
475
|
//# sourceMappingURL=decorators.js.map
|