@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.
Files changed (49) hide show
  1. package/dist/ui-decorators.cjs +1 -1
  2. package/dist/ui-decorators.cjs.map +1 -1
  3. package/dist/ui-decorators.js +1 -1
  4. package/dist/ui-decorators.js.map +1 -1
  5. package/lib/esm/index.d.ts +1 -1
  6. package/lib/esm/index.js +1 -1
  7. package/lib/esm/model/decorators.d.ts +2 -3
  8. package/lib/esm/model/decorators.js +18 -20
  9. package/lib/esm/model/decorators.js.map +1 -1
  10. package/lib/esm/model/model.d.ts +17 -0
  11. package/lib/esm/model/overrides.d.ts +1 -1
  12. package/lib/esm/model/overrides.js +74 -0
  13. package/lib/esm/model/overrides.js.map +1 -1
  14. package/lib/esm/ui/Rendering.d.ts +1 -11
  15. package/lib/esm/ui/Rendering.js +138 -70
  16. package/lib/esm/ui/Rendering.js.map +1 -1
  17. package/lib/esm/ui/constants.d.ts +6 -5
  18. package/lib/esm/ui/constants.js +13 -14
  19. package/lib/esm/ui/constants.js.map +1 -1
  20. package/lib/esm/ui/decorators.d.ts +8 -9
  21. package/lib/esm/ui/decorators.js +19 -12
  22. package/lib/esm/ui/decorators.js.map +1 -1
  23. package/lib/esm/ui/types.d.ts +13 -5
  24. package/lib/esm/ui/utils.d.ts +1 -0
  25. package/lib/esm/ui/utils.js +24 -12
  26. package/lib/esm/ui/utils.js.map +1 -1
  27. package/lib/index.cjs +1 -1
  28. package/lib/index.d.ts +1 -1
  29. package/lib/model/decorators.cjs +18 -20
  30. package/lib/model/decorators.d.ts +2 -3
  31. package/lib/model/decorators.js.map +1 -1
  32. package/lib/model/model.d.ts +17 -0
  33. package/lib/model/overrides.cjs +74 -0
  34. package/lib/model/overrides.d.ts +1 -1
  35. package/lib/model/overrides.js.map +1 -1
  36. package/lib/ui/Rendering.cjs +137 -69
  37. package/lib/ui/Rendering.d.ts +1 -11
  38. package/lib/ui/Rendering.js.map +1 -1
  39. package/lib/ui/constants.cjs +12 -13
  40. package/lib/ui/constants.d.ts +6 -5
  41. package/lib/ui/constants.js.map +1 -1
  42. package/lib/ui/decorators.cjs +19 -12
  43. package/lib/ui/decorators.d.ts +8 -9
  44. package/lib/ui/decorators.js.map +1 -1
  45. package/lib/ui/types.d.ts +13 -5
  46. package/lib/ui/utils.cjs +23 -10
  47. package/lib/ui/utils.d.ts +1 -0
  48. package/lib/ui/utils.js.map +1 -1
  49. package/package.json +2 -3
@@ -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
- Reflect.getMetadata(RenderingEngine.key(UIKeys.UIMODEL), model.constructor) ||
99
- Reflect.getMetadata(RenderingEngine.key(UIKeys.UIMODEL), Model.get(model.constructor.name)),
100
- Reflect.getMetadata(RenderingEngine.key(UIKeys.UILISTMODEL), model.constructor) ||
101
- Reflect.getMetadata(RenderingEngine.key(UIKeys.UILISTMODEL), Model.get(model.constructor.name)),
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 = Reflection.getAllPropertyDecorators(model, UIKeys.REFLECT);
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 = Reflection.getAllPropertyDecorators(model, ValidationKeys.REFLECT);
191
- for (const key in uiDecorators) {
192
- const decs = uiDecorators[key];
193
- const types = Object.values(decs).filter(({ key }) => [UIKeys.PROP, UIKeys.ELEMENT, UIKeys.CHILD].includes(key));
194
- if (types?.length > 1)
195
- throw new RenderingError(`Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement`);
196
- const hasHideOnDecorator = decs.find(({ key }) => key === UIKeys.HIDDEN);
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 = decs.find(({ key }) => key === UIKeys.ELEMENT);
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
- decs.shift();
203
- const sorted = decs.sort((a) => {
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 || {}, { "model": Clazz }, {
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?.name)
241
- mapper[dec.props?.name] = key;
242
- const props = Object.assign({}, classDecorator.props?.item || {}, item?.props || {}, dec.props?.props || {}, globalProps);
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 || {}, (uiProps?.props?.name ? {
257
- path: getPath(globalProps?.childOf, uiProps.props.name),
258
- childOf: undefined, // The childOf prop is passed by globalProps when it is a nested prop
259
- } : {}), globalProps);
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
- const typeDec = validationDecs.shift();
267
- for (const dec of validationDecs) {
268
- if (this.isValidatableByAttribute(dec.key)) {
269
- childDefinition.props[this.translate(dec.key)] = this.toAttributeValue(dec.key, dec.props);
270
- continue;
271
- }
272
- if (this.isValidatableByType(dec.key)) {
273
- if (dec.key === HTML5InputTypes.DATE) {
274
- childDefinition.props[UIKeys.FORMAT] = dec.props.format || HTML5DateFormat;
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 = typeDec.props.name;
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 || [UIKeys.UILAYOUTPROP, UIKeys.PAGE].includes(dec.key) && c?.props?.childOf === 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, { [dec.key]: uiProps });
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?.sort((a, b) => ((a?.props?.order ?? 0) - (b?.props?.order ?? 0)))
344
+ children = children
345
+ ?.sort((a, b) => (a?.props?.order ?? 0) - (b?.props?.order ?? 0))
312
346
  .filter((item) => {
313
- const hiddenOn = (item?.props?.hidden || []);
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 = Reflect.getMetadata(RenderingEngine.key(UIKeys.RENDERED_BY), constructor);
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 { Constructor, Validator } from "@decaf-ts/decorator-validation";
9
+ import { Validator } from "@decaf-ts/decorator-validation";
10
+ import { Constructor } from "@decaf-ts/decoration";
10
11
  export declare enum UIMediaBreakPoints {
11
- SMALL = "s",
12
- MEDIUM = "m",
13
- LARGE = "l",
14
- XLARGE = "xl"
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
@@ -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, ModelKeys, PasswordValidator, PatternValidator, RequiredValidator, StepValidator, URLValidator, ValidationKeys, } from "@decaf-ts/decorator-validation";
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"] = "s";
13
- UIMediaBreakPoints["MEDIUM"] = "m";
14
- UIMediaBreakPoints["LARGE"] = "l";
15
- UIMediaBreakPoints["XLARGE"] = "xl";
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: `${ModelKeys.REFLECT}.ui.`,
63
+ REFLECT: `ui`,
65
64
  UIMODEL: "uimodel",
66
65
  RENDERED_BY: "rendered-by",
67
- ELEMENT: "element",
68
- PROP: "prop",
69
- CHILD: "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: "listprop",
73
+ UILISTPROP: "uilistprop",
75
74
  UILAYOUT: "uilayout",
76
75
  UILAYOUTPROP: "uilayoutprop",
77
- HANDLERS: "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: 'textarea',
234
- SELECT: '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":"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"}
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[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
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): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
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(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
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: string) => void;
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: string) => void;
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: string) => void;
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: string) => void;
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): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
407
+ export declare function uipageprop(page?: number): (original: any, propertyKey?: any) => void;
@@ -1,8 +1,7 @@
1
- import "reflect-metadata";
2
1
  import { UIKeys } from "./constants.js";
3
- import { propMetadata } from "@decaf-ts/decorator-validation";
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 propMetadata(RenderingEngine.key(UIKeys.HIDDEN), operations);
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 propMetadata(RenderingEngine.key(UIKeys.ORDER), order);
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(RenderingEngine.key(UIKeys.ELEMENT), metadata)(original, propertyKey);
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(RenderingEngine.key(UIKeys.PROP), metadata)(target, propertyKey);
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 ? { customTypes: [Array.name], multiple: true } : { multiple: props?.multiple || false }),
283
+ }, isArray
284
+ ? { customTypes: [Array.name], multiple: true }
285
+ : { multiple: props?.multiple || false }),
281
286
  };
282
- propMetadata(RenderingEngine.key(UIKeys.CHILD), metadata)(target, propertyKey);
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(RenderingEngine.key(UIKeys.UILISTPROP), metadata)(target, propertyKey);
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(RenderingEngine.key(UIKeys.UILAYOUTPROP), metadata)(target, propertyKey);
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 propMetadata(RenderingEngine.key(UIKeys.PAGE), page);
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