@decaf-ts/ui-decorators 0.5.27 → 0.5.28

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/README.md CHANGED
@@ -46,7 +46,7 @@ The UI Decorators library is an extension of `@decaf-ts/decorator-validation` an
46
46
 
47
47
  - **`@uimodel(tag?, props?)`**: Marks a class as a UI model and specifies how it should be rendered, including the HTML tag to use and additional properties
48
48
  - **`@renderedBy(engine)`**: Specifies which rendering engine implementation should be used for a particular model
49
- - **`@uilistitem(tag?, props?)`**: Defines how a model should be rendered when it appears as an item in a list
49
+ - **`@uilistmodel(tag?, props?)`**: Defines how a model should be rendered when it appears as an item in a list
50
50
 
51
51
  #### Property Decorators
52
52
 
@@ -242,15 +242,15 @@ class User extends Model {
242
242
 
243
243
  ### Rendering Lists of Models
244
244
 
245
- You can render lists of models using the `@uilistitem` and `@uilistprop` decorators:
245
+ You can render lists of models using the `@uilistmodel` and `@uilistprop` decorators:
246
246
 
247
247
  ```typescript
248
248
  import { Model, list } from '@decaf-ts/decorator-validation';
249
- import { uimodel, uilistitem, uilistprop, uielement } from '@decaf-ts/ui-decorators';
249
+ import { uimodel, uilistmodel, uilistprop, uielement } from '@decaf-ts/ui-decorators';
250
250
 
251
251
  // Define a list item model
252
252
  @uimodel()
253
- @uilistitem('li', { class: 'todo-item' })
253
+ @uilistmodel('li', { class: 'todo-item' })
254
254
  class TodoItem extends Model {
255
255
  @uielement('span', { class: 'todo-text' })
256
256
  text: string;
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,a){"use strict";var o;e.UIMediaBreakPoints=void 0,(o=e.UIMediaBreakPoints||(e.UIMediaBreakPoints={})).SMALL="s",o.MEDIUM="m",o.LARGE="l",o.XLARGE="xl";const s={REFLECT:t.ModelKeys.REFLECT+".ui.",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"element",PROP:"prop",CHILD:"child",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTITEM:"uilistitem",UILISTPROP:"listprop",UILAYOUT:"uilayout",UILAYOUTITEM:"uilayoutitem",HANDLERS:"handlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",READ_ONLY:"readonly",REQUIRED:t.ValidationKeys.REQUIRED,MIN:t.ValidationKeys.MIN,MIN_LENGTH:t.ValidationKeys.MIN_LENGTH,MAX:t.ValidationKeys.MAX,MAX_LENGTH:t.ValidationKeys.MAX_LENGTH,PATTERN:t.ValidationKeys.PATTERN,URL:t.ValidationKeys.URL,STEP:t.ValidationKeys.STEP,DATE:t.ValidationKeys.DATE,EMAIL:t.ValidationKeys.EMAIL,PASSWORD:t.ValidationKeys.PASSWORD,EQUALS:t.ValidationKeys.EQUALS,DIFF:t.ValidationKeys.DIFF,LESS_THAN:t.ValidationKeys.LESS_THAN,LESS_THAN_OR_EQUAL:t.ValidationKeys.LESS_THAN_OR_EQUAL,GREATER_THAN:t.ValidationKeys.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.ValidationKeys.GREATER_THAN_OR_EQUAL},i={[s.EMAIL]:t.EmailValidator,[s.URL]:t.URLValidator,[s.DATE]:t.DateValidator,[s.PASSWORD]:t.PasswordValidator},n={[s.REQUIRED]:t.RequiredValidator,[s.MIN]:t.MinValidator,[s.MAX]:t.MaxValidator,[s.STEP]:t.StepValidator,[s.MIN_LENGTH]:t.MinLengthValidator,[s.MAX_LENGTH]:t.MaxLengthValidator,[s.PATTERN]:t.PatternValidator,[s.EQUALS]:t.EqualsValidator,[s.DIFF]:t.DiffValidator,[s.LESS_THAN]:t.LessThanValidator,[s.LESS_THAN_OR_EQUAL]:t.LessThanOrEqualValidator,[s.GREATER_THAN]:t.GreaterThanValidator,[s.GREATER_THAN_OR_EQUAL]:t.GreaterThanOrEqualValidator},d="yyyy-MM-dd",l={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:s.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:s.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:s.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:s.URL,WEEK:"week"},c=[l.CHECKBOX,l.RADIO];class E extends a.InternalError{constructor(e){super(e,E.name)}}function p(e,r,...a){if(e===s.DATE){if(!r)return"";const e=a.shift()||d;return t.formatDate(new Date(r),e)}return r}function u(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function T(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function R(e){let t;try{t=a.findModelId(e)}catch(e){t=Date.now()}return`${e.constructor.name}-${t}`}class y{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,y.register(this)}translate(e,r=!0){if(r)switch(e){case t.ReservedModels.STRING:return l.TEXT;case t.ReservedModels.NUMBER:case t.ReservedModels.BIGINT:return l.NUMBER;case t.ReservedModels.BOOLEAN:return l.CHECKBOX;case t.ReservedModels.DATE:return l.DATE}else switch(e){case l.SELECT:case l.TEXT:case l.EMAIL:case l.COLOR:case l.PASSWORD:case l.TEL:case l.URL:case l.SEARCH:case l.HIDDEN:case l.TEXTAREA:case l.RADIO:return t.ReservedModels.STRING;case l.NUMBER:return t.ReservedModels.NUMBER;case l.CHECKBOX:return t.ReservedModels.BOOLEAN;case l.DATE:case l.DATETIME_LOCAL:case l.TIME:return t.ReservedModels.DATE}return e}getClassDecoratorsMetadata(e){return[Reflect.getMetadata(y.key(s.UIMODEL),e.constructor)||Reflect.getMetadata(y.key(s.UIMODEL),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.UILISTITEM),e.constructor)||Reflect.getMetadata(y.key(s.UILISTITEM),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.HANDLERS),e.constructor)||Reflect.getMetadata(y.key(s.HANDLERS),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.UILAYOUT),e.constructor)||Reflect.getMetadata(y.key(s.UILAYOUT),t.Model.get(e.constructor.name))].filter(Boolean)}isValidatableByType(e){return Object.keys(i).includes(e)}isValidatableByAttribute(e){return Object.keys(n).includes(e)}toAttributeValue(e,t){if(!Object.keys(n).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(n).join(", ")}.`);return e===s.REQUIRED||t[e]}toFieldDefinition(e,a={},o=!0){const{inheritProps:i,...n}=a;a=n;const c=this.getClassDecoratorsMetadata(e);if(!c.length)throw new E(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const u=Object.assign({},...c,i||{}),{tag:T,props:y,item:f,handlers:M}=u,A=r.Reflection.getAllPropertyDecorators(e,s.REFLECT);let I,L=f?.props||{},O={};const h=(e,t)=>e?[e,t].join("."):t;if(A){const o=r.Reflection.getAllPropertyDecorators(e,t.ValidationKeys.REFLECT);for(const r in A){const i=A[r],n=Object.values(i).filter(({key:e})=>[s.PROP,s.ELEMENT,s.CHILD].includes(e));if(n?.length>1)throw new E("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");const c=i.find(({key:e})=>e===s.HIDDEN);if(c){const e=i.find(({key:e})=>e===s.ELEMENT);if(!e)throw new E(`@uielement no found in "${r}". It is required to use hiddenOn decorator.`)}i.shift(),i.sort(e=>e.key===s.ELEMENT?-1:1).forEach(i=>{if(!i)throw new E("No decorator found");switch(i.key){case s.PROP:L[r]=i.props;break;case s.CHILD:{if(!t.Model.isPropertyModel(e,r))throw new E(`Child "${r}" must be a model.`);let o;const s=e[r];if("object"!=typeof s||null===s||Array.isArray(s)){const e=i.props.props?.name;o=new(t.Model.get(e))}I=I||[];const n=Object.assign({},a||{},{model:o},{inheritProps:i.props,childOf:h(a?.childOf,r)}),d=this.toFieldDefinition(s||o,n,!1);I.push(d);break}case s.UILISTPROP:{O=O||{},i.props?.name&&(O[i.props?.name]=r);const e=Object.assign({},u.props?.item||{},f?.props||{},i.props?.props||{},a);L={tag:f?.tag||e.render||"",props:Object.assign({},L?.props,{mapper:O},e)};break}case s.HIDDEN:case s.ORDER:case s.UILAYOUTITEM:case s.ELEMENT:{I=I||[];const t=i.props,n=Object.assign({},L?.props,t.props||{},t?.props?.name?{path:h(a?.childOf,t.props.name),childOf:void 0}:{},a),c={tag:t.tag||L?.tag||T||"",props:n};if(i.key===s.ELEMENT){const t=o[r],a=t.shift();for(const e of t)this.isValidatableByAttribute(e.key)?c.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===l.DATE&&(c.props[s.FORMAT]=e.props.format||d),c.props[s.TYPE]=e.key);if(!c.props[s.TYPE]){const e=a.props.name;c.props[s.TYPE]=this.translate(e.toLowerCase(),!0)}c.props.value=p(c.props[s.TYPE],e[r],c.props[s.FORMAT]),I.push(c)}else{const e=I.find(e=>e.props?.name===r||i.key===s.UILAYOUTITEM&&e?.props?.childOf===r);if(e)if(i.key!==s.UILAYOUTITEM)e.props=Object.assign({},e.props,{[i.key]:t});else{const{row:t,col:r,props:a}=i.props;e.props=Object.assign({},a||{},e.props,t,r)}else I.push(c)}break}default:throw new E("Invalid key: "+i.key)}})}}a=Object.assign({},y,a,{handlers:M||{}});const D=a?.operation;I=I?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(D)?void 0:e});const m={tag:T,item:L,props:a,children:I};return o&&(m.rendererId=R(e)),m}static register(e){if(e.flavour in this.cache)throw new a.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof y)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new a.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...r){const o=t.Model.get(e.constructor.name)||t.Model.fromObject(e);if(!o)throw new a.InternalError("No model registered found");const i=Reflect.getMetadata(y.key(s.RENDERED_BY),o);return y.get(i).render(e,...r)}static key(e){return`${s.REFLECT}${e}`}}function f(e,t){return(a,o)=>{const i={tag:e||a.name,props:t};return r.metadata(y.key(s.UIMODEL),i)(a)}}function M(...e){return t.propMetadata(y.key(s.HIDDEN),e)}t.Model.prototype.render=function(...e){return y.render(this,...e)},e.EventHandler=class{constructor(){}},e.HTML5CheckTypes=c,e.HTML5DateFormat=d,e.HTML5InputTypes=l,e.RenderingEngine=y,e.RenderingError=E,e.UIKeys=s,e.VERSION="##VERSION##",e.ValidatableByAttribute=n,e.ValidatableByType=i,e.escapeHtml=T,e.formatByType=p,e.generateUIModelID=R,e.hidden=()=>M(a.OperationKeys.CREATE,a.OperationKeys.READ,a.OperationKeys.UPDATE,a.OperationKeys.DELETE),e.hideOn=M,e.parseToNumber=u,e.parseValueByType=function e(r,o,s){let i;switch(r){case Array.name:i=(Array.isArray(o)?o.map(r=>e(t.ReservedModels.STRING,r,s)):[o]).join(",");break;case l.NUMBER:i=u(o);break;case l.DATE:{const e=s.format;o&&(""+o).trim().length&&(i=typeof o===t.ReservedModels.NUMBER?new Date(o):o?e?t.parseDate(e,o):new Date(o):void 0);break}default:i=typeof o===t.ReservedModels.OBJECT?Array.isArray(o)?o.join(","):JSON.stringify(o):typeof o===t.ReservedModels.BOOLEAN?o:typeof o===t.ReservedModels.STRING?T(o):i}if(void 0===i)throw new a.InternalError(`Failed to parse value of type ${r} from ${typeof o} - ${o}`);return i},e.renderedBy=e=>r.apply(r.metadata(y.key(s.RENDERED_BY),e)),e.revertHtml=e=>{const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)},e.uichild=(e,r,a={},o=!1,i=!1)=>(n,d)=>{const l={tag:r,serialize:i,props:Object.assign({},a||{},{name:e||d},o?{customTypes:[Array.name],multiple:!0}:{multiple:a?.multiple||!1})};t.propMetadata(y.key(s.CHILD),l)(n,d)},e.uielement=(e,r,a=!1)=>(o,i)=>{const n={tag:e,serialize:a,props:Object.assign({},r||{},{name:i})};return t.propMetadata(y.key(s.ELEMENT),n)(o,i)},e.uihandlers=e=>t=>{const a={handlers:e};return r.metadata(y.key(s.HANDLERS),a)(t)},e.uilayout=(t,r=1,a=1,o=e.UIMediaBreakPoints.MEDIUM)=>(e,s)=>f(t,{cols:r,rows:a,breakpoint:o})(e,s),e.uilayoutitem=(e,r=1,a={})=>(o,i)=>{const n={name:i,col:e,row:r,props:Object.assign({},a,{row:r??1,col:e??1})};t.propMetadata(y.key(s.UILAYOUTITEM),n)(o,i)},e.uilistitem=(e,t)=>(a,o)=>{const i={item:{tag:e||a.name,props:t}};return r.metadata(y.key(s.UILISTITEM),i)(a)},e.uilistprop=(e=void 0,r)=>(a,o)=>{const i={name:e||o,props:r||{}};t.propMetadata(y.key(s.UILISTPROP),i)(a,o)},e.uimodel=f,e.uiorder=(e=1)=>t.propMetadata(y.key(s.ORDER),e),e.uiprop=(e=void 0,r=!1)=>(a,o)=>{const i={name:e||o,stringify:r};t.propMetadata(y.key(s.PROP),i)(a,o)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/reflection"),require("@decaf-ts/db-decorators"),require("reflect-metadata")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/reflection","@decaf-ts/db-decorators","reflect-metadata"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsReflection,e.decafTsDbDecorators);
1
+ var e,t;e=this,t=function(e,t,r,a){"use strict";var o;e.UIMediaBreakPoints=void 0,(o=e.UIMediaBreakPoints||(e.UIMediaBreakPoints={})).SMALL="s",o.MEDIUM="m",o.LARGE="l",o.XLARGE="xl";const s={REFLECT:t.ModelKeys.REFLECT+".ui.",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"element",PROP:"prop",CHILD:"child",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"listprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"handlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",READ_ONLY:"readonly",REQUIRED:t.ValidationKeys.REQUIRED,MIN:t.ValidationKeys.MIN,MIN_LENGTH:t.ValidationKeys.MIN_LENGTH,MAX:t.ValidationKeys.MAX,MAX_LENGTH:t.ValidationKeys.MAX_LENGTH,PATTERN:t.ValidationKeys.PATTERN,URL:t.ValidationKeys.URL,STEP:t.ValidationKeys.STEP,DATE:t.ValidationKeys.DATE,EMAIL:t.ValidationKeys.EMAIL,PASSWORD:t.ValidationKeys.PASSWORD,EQUALS:t.ValidationKeys.EQUALS,DIFF:t.ValidationKeys.DIFF,LESS_THAN:t.ValidationKeys.LESS_THAN,LESS_THAN_OR_EQUAL:t.ValidationKeys.LESS_THAN_OR_EQUAL,GREATER_THAN:t.ValidationKeys.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.ValidationKeys.GREATER_THAN_OR_EQUAL},i={[s.EMAIL]:t.EmailValidator,[s.URL]:t.URLValidator,[s.DATE]:t.DateValidator,[s.PASSWORD]:t.PasswordValidator},n={[s.REQUIRED]:t.RequiredValidator,[s.MIN]:t.MinValidator,[s.MAX]:t.MaxValidator,[s.STEP]:t.StepValidator,[s.MIN_LENGTH]:t.MinLengthValidator,[s.MAX_LENGTH]:t.MaxLengthValidator,[s.PATTERN]:t.PatternValidator,[s.EQUALS]:t.EqualsValidator,[s.DIFF]:t.DiffValidator,[s.LESS_THAN]:t.LessThanValidator,[s.LESS_THAN_OR_EQUAL]:t.LessThanOrEqualValidator,[s.GREATER_THAN]:t.GreaterThanValidator,[s.GREATER_THAN_OR_EQUAL]:t.GreaterThanOrEqualValidator},d="yyyy-MM-dd",l={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:s.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:s.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:s.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:s.URL,WEEK:"week"},c=[l.CHECKBOX,l.RADIO];class E extends a.InternalError{constructor(e){super(e,E.name)}}function p(e,r,...a){if(e===s.DATE){if(!r)return"";const e=a.shift()||d;return t.formatDate(new Date(r),e)}return r}function u(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function R(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function T(e){let t;try{t=a.findModelId(e)}catch(e){t=Date.now()}return`${e.constructor.name}-${t}`}class y{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,y.register(this)}translate(e,r=!0){if(r)switch(e){case t.ReservedModels.STRING:return l.TEXT;case t.ReservedModels.NUMBER:case t.ReservedModels.BIGINT:return l.NUMBER;case t.ReservedModels.BOOLEAN:return l.CHECKBOX;case t.ReservedModels.DATE:return l.DATE}else switch(e){case l.SELECT:case l.TEXT:case l.EMAIL:case l.COLOR:case l.PASSWORD:case l.TEL:case l.URL:case l.SEARCH:case l.HIDDEN:case l.TEXTAREA:case l.RADIO:return t.ReservedModels.STRING;case l.NUMBER:return t.ReservedModels.NUMBER;case l.CHECKBOX:return t.ReservedModels.BOOLEAN;case l.DATE:case l.DATETIME_LOCAL:case l.TIME:return t.ReservedModels.DATE}return e}getClassDecoratorsMetadata(e){return[Reflect.getMetadata(y.key(s.UIMODEL),e.constructor)||Reflect.getMetadata(y.key(s.UIMODEL),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.UILISTMODEL),e.constructor)||Reflect.getMetadata(y.key(s.UILISTMODEL),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.HANDLERS),e.constructor)||Reflect.getMetadata(y.key(s.HANDLERS),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.UILAYOUT),e.constructor)||Reflect.getMetadata(y.key(s.UILAYOUT),t.Model.get(e.constructor.name))].filter(Boolean)}isValidatableByType(e){return Object.keys(i).includes(e)}isValidatableByAttribute(e){return Object.keys(n).includes(e)}toAttributeValue(e,t){if(!Object.keys(n).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(n).join(", ")}.`);return e===s.REQUIRED||t[e]}toFieldDefinition(e,a={},o=!0){const{inheritProps:i,...n}=a;a=n;const c=this.getClassDecoratorsMetadata(e);if(!c.length)throw new E(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const u=Object.assign({},...c,i||{}),{tag:R,props:y,item:f,handlers:A}=u,M=r.Reflection.getAllPropertyDecorators(e,s.REFLECT);let O,L=f?.props||{},I={};const D=(e,t)=>e?[e,t].join("."):t;if(M){const o=r.Reflection.getAllPropertyDecorators(e,t.ValidationKeys.REFLECT);for(const r in M){const i=M[r],n=Object.values(i).filter(({key:e})=>[s.PROP,s.ELEMENT,s.CHILD].includes(e));if(n?.length>1)throw new E("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");const c=i.find(({key:e})=>e===s.HIDDEN);if(c){const e=i.find(({key:e})=>e===s.ELEMENT);if(!e)throw new E(`@uielement no found in "${r}". It is required to use hiddenOn decorator.`)}i.shift(),i.sort(e=>e.key===s.ELEMENT?-1:1).forEach(i=>{if(!i)throw new E("No decorator found");switch(i.key){case s.PROP:L[r]=i.props;break;case s.CHILD:{if(!t.Model.isPropertyModel(e,r))throw new E(`Child "${r}" must be a model.`);let o;const s=e[r];if("object"!=typeof s||null===s||Array.isArray(s)){const e=i.props.props?.name;o=new(t.Model.get(e))}O=O||[];const n=Object.assign({},a||{},{model:o},{inheritProps:i.props,childOf:D(a?.childOf,r)}),d=this.toFieldDefinition(s||o,n,!1);O.push(d);break}case s.UILISTPROP:{I=I||{},i.props?.name&&(I[i.props?.name]=r);const e=Object.assign({},u.props?.item||{},f?.props||{},i.props?.props||{},a);L={tag:f?.tag||e.render||"",props:Object.assign({},L?.props,{mapper:I},e)};break}case s.HIDDEN:case s.PAGE:case s.ORDER:case s.UILAYOUTPROP:case s.ELEMENT:{O=O||[];const t=i.props,n=Object.assign({},L?.props,t.props||{},t?.props?.name?{path:D(a?.childOf,t.props.name),childOf:void 0}:{},a),c={tag:t.tag||L?.tag||R||"",props:n};if(i.key===s.ELEMENT){const t=o[r],a=t.shift();for(const e of t)this.isValidatableByAttribute(e.key)?c.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===l.DATE&&(c.props[s.FORMAT]=e.props.format||d),c.props[s.TYPE]=e.key);if(!c.props[s.TYPE]){const e=a.props.name;c.props[s.TYPE]=this.translate(e.toLowerCase(),!0)}c.props.value=p(c.props[s.TYPE],e[r],c.props[s.FORMAT]),O.push(c)}else{const e=O.find(e=>e.props?.name===r||[s.UILAYOUTPROP,s.PAGE].includes(i.key)&&e?.props?.childOf===r);if(e)if(i.key!==s.UILAYOUTPROP)e.props=Object.assign({},e.props,{[i.key]:t});else{const{row:t,col:r,props:a}=i.props;e.props=Object.assign({},a||{},e.props,t,r)}else O.push(c)}break}default:throw new E("Invalid key: "+i.key)}})}}a=Object.assign({},y,a,{handlers:A||{}});const h=a?.operation;O=O?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(h)?void 0:e});const m={tag:R,item:L,props:a,children:O};return o&&(m.rendererId=T(e)),m}static register(e){if(e.flavour in this.cache)throw new a.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof y)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new a.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...r){const o=t.Model.get(e.constructor.name)||t.Model.fromObject(e);if(!o)throw new a.InternalError("No model registered found");const i=Reflect.getMetadata(y.key(s.RENDERED_BY),o);return y.get(i).render(e,...r)}static key(e){return`${s.REFLECT}${e}`}}function f(e,t){return(a,o)=>{const i={tag:e||a.name,props:t};return r.metadata(y.key(s.UIMODEL),i)(a)}}function A(...e){return t.propMetadata(y.key(s.HIDDEN),e)}t.Model.prototype.render=function(...e){return y.render(this,...e)},e.EventHandler=class{constructor(){}},e.HTML5CheckTypes=c,e.HTML5DateFormat=d,e.HTML5InputTypes=l,e.RenderingEngine=y,e.RenderingError=E,e.UIKeys=s,e.VERSION="##VERSION##",e.ValidatableByAttribute=n,e.ValidatableByType=i,e.escapeHtml=R,e.formatByType=p,e.generateUIModelID=T,e.hidden=()=>A(a.OperationKeys.CREATE,a.OperationKeys.READ,a.OperationKeys.UPDATE,a.OperationKeys.DELETE),e.hideOn=A,e.parseToNumber=u,e.parseValueByType=function e(r,o,s){let i;switch(r){case Array.name:i=(Array.isArray(o)?o.map(r=>e(t.ReservedModels.STRING,r,s)):[o]).join(",");break;case l.NUMBER:i=u(o);break;case l.DATE:{const e=s.format;o&&(""+o).trim().length&&(i=typeof o===t.ReservedModels.NUMBER?new Date(o):o?e?t.parseDate(e,o):new Date(o):void 0);break}default:i=typeof o===t.ReservedModels.OBJECT?Array.isArray(o)?o.join(","):JSON.stringify(o):typeof o===t.ReservedModels.BOOLEAN?o:typeof o===t.ReservedModels.STRING?R(o):i}if(void 0===i)throw new a.InternalError(`Failed to parse value of type ${r} from ${typeof o} - ${o}`);return i},e.renderedBy=e=>r.apply(r.metadata(y.key(s.RENDERED_BY),e)),e.revertHtml=e=>{const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)},e.uichild=(e,r,a={},o=!1,i=!1)=>(n,d)=>{const l={tag:r,serialize:i,props:Object.assign({},a||{},{name:e||d},o?{customTypes:[Array.name],multiple:!0}:{multiple:a?.multiple||!1})};t.propMetadata(y.key(s.CHILD),l)(n,d)},e.uielement=(e,r,a=!1)=>(o,i)=>{const n={tag:e,serialize:a,props:Object.assign({},r||{},{name:i})};return t.propMetadata(y.key(s.ELEMENT),n)(o,i)},e.uihandlers=e=>t=>{const a={handlers:e};return r.metadata(y.key(s.HANDLERS),a)(t)},e.uilayout=(t,r=1,a=1,o=e.UIMediaBreakPoints.MEDIUM)=>(e,s)=>f(t,{cols:r,rows:a,breakpoint:o})(e,s),e.uilayoutprop=(e=1,r=1)=>(a,o)=>{const i={name:o,col:e,row:r,props:Object.assign({},{row:r??1,col:e??1})};t.propMetadata(y.key(s.UILAYOUTPROP),i)(a,o)},e.uilistmodel=(e,t)=>(a,o)=>{const i={item:{tag:e||a.name,props:t}};return r.metadata(y.key(s.UILISTMODEL),i)(a)},e.uilistprop=(e=void 0,r)=>(a,o)=>{const i={name:e||o,props:r||{}};t.propMetadata(y.key(s.UILISTPROP),i)(a,o)},e.uimodel=f,e.uiorder=(e=1)=>t.propMetadata(y.key(s.ORDER),e),e.uipageprop=(e=1)=>t.propMetadata(y.key(s.PAGE),e),e.uiprop=(e=void 0,r=!1)=>(a,o)=>{const i={name:e||o,stringify:r};t.propMetadata(y.key(s.PROP),i)(a,o)},e.uisteppedmodel=(e,r=1,a=!1,o={})=>(s,i)=>{let n=[];return typeof r===t.ReservedModels.OBJECT&&(n=r,r=n.length),f(e,{pages:r,paginated:a,pageTitles:n,props:o})(s,i)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/reflection"),require("@decaf-ts/db-decorators"),require("reflect-metadata")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/reflection","@decaf-ts/db-decorators","reflect-metadata"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsReflection,e.decafTsDbDecorators);
2
2
  //# sourceMappingURL=ui-decorators.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-decorators.cjs","sources":["../src/ui/constants.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/model/decorators.ts","../src/ui/decorators.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","exports","UIKeys","REFLECT","ModelKeys","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTITEM","UILISTPROP","UILAYOUT","UILAYOUTITEM","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","RenderingError","InternalError","constructor","msg","super","name","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","tag","generateUIModelID","model","id","findModelId","e","now","RenderingEngine","this","cache","flavour","initialized","register","translate","key","toView","ReservedModels","STRING","BIGINT","BOOLEAN","getClassDecoratorsMetadata","Reflect","getMetadata","Model","get","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","props","item","handlers","uiDecorators","Reflection","getAllPropertyDecorators","children","childProps","mapper","getPath","parent","prop","validationDecorators","decs","types","values","hasHideOnDecorator","find","hasUiElementDecorator","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","typeDec","basicType","toLowerCase","child","c","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","uimodel","original","propertyKey","meta","metadata","hideOn","operations","propMetadata","decoratorValidation","prototype","OperationKeys","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","map","v","trim","parseDate","OBJECT","JSON","stringify","apply","clazz","serialize","target","customTypes","multiple","cols","rows","breakpoint","MEDIUM","propName"],"mappings":"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"}
1
+ {"version":3,"file":"ui-decorators.cjs","sources":["../src/ui/constants.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/model/decorators.ts","../src/ui/decorators.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","exports","UIKeys","REFLECT","ModelKeys","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","RenderingError","InternalError","constructor","msg","super","name","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","tag","generateUIModelID","model","id","findModelId","e","now","RenderingEngine","this","cache","flavour","initialized","register","translate","key","toView","ReservedModels","STRING","BIGINT","BOOLEAN","getClassDecoratorsMetadata","Reflect","getMetadata","Model","get","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","props","item","handlers","uiDecorators","Reflection","getAllPropertyDecorators","children","childProps","mapper","getPath","parent","prop","validationDecorators","decs","types","values","hasHideOnDecorator","find","hasUiElementDecorator","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","typeDec","basicType","toLowerCase","child","c","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","uimodel","original","propertyKey","meta","metadata","hideOn","operations","propMetadata","decoratorValidation","prototype","OperationKeys","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","map","v","trim","parseDate","OBJECT","JSON","stringify","apply","clazz","serialize","target","customTypes","multiple","cols","rows","breakpoint","MEDIUM","propName","page","pages","paginated","pageTitles"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{ModelKeys as e,ValidationKeys as t,EmailValidator as r,URLValidator as o,DateValidator as n,PasswordValidator as s,RequiredValidator as a,MinValidator as i,MaxValidator as c,StepValidator as E,MinLengthValidator as p,MaxLengthValidator as u,PatternValidator as l,EqualsValidator as T,DiffValidator as A,LessThanValidator as R,LessThanOrEqualValidator as d,GreaterThanValidator as f,GreaterThanOrEqualValidator as L,formatDate as O,ReservedModels as I,parseDate as y,Model as D,propMetadata as N}from"@decaf-ts/decorator-validation";import{Reflection as M,metadata as h,apply as m}from"@decaf-ts/reflection";import{InternalError as g,findModelId as U,OperationKeys as S}from"@decaf-ts/db-decorators";import"reflect-metadata";var k;(e=>{e.SMALL="s",e.MEDIUM="m",e.LARGE="l",e.XLARGE="xl"})(k||(k={}));const b={REFLECT:e.REFLECT+".ui.",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"element",PROP:"prop",CHILD:"child",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTITEM:"uilistitem",UILISTPROP:"listprop",UILAYOUT:"uilayout",UILAYOUTITEM:"uilayoutitem",HANDLERS:"handlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",READ_ONLY:"readonly",REQUIRED:t.REQUIRED,MIN:t.MIN,MIN_LENGTH:t.MIN_LENGTH,MAX:t.MAX,MAX_LENGTH:t.MAX_LENGTH,PATTERN:t.PATTERN,URL:t.URL,STEP:t.STEP,DATE:t.DATE,EMAIL:t.EMAIL,PASSWORD:t.PASSWORD,EQUALS:t.EQUALS,DIFF:t.DIFF,LESS_THAN:t.LESS_THAN,LESS_THAN_OR_EQUAL:t.LESS_THAN_OR_EQUAL,GREATER_THAN:t.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.GREATER_THAN_OR_EQUAL},P={[b.EMAIL]:r,[b.URL]:o,[b.DATE]:n,[b.PASSWORD]:s},w={[b.REQUIRED]:a,[b.MIN]:i,[b.MAX]:c,[b.STEP]:E,[b.MIN_LENGTH]:p,[b.MAX_LENGTH]:u,[b.PATTERN]:l,[b.EQUALS]:T,[b.DIFF]:A,[b.LESS_THAN]:R,[b.LESS_THAN_OR_EQUAL]:d,[b.GREATER_THAN]:f,[b.GREATER_THAN_OR_EQUAL]:L},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:b.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:b.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:b.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:b.URL,WEEK:"week"},C=[_.CHECKBOX,_.RADIO];class B extends g{constructor(e){super(e,B.name)}}function j(e,t,...r){if(e===b.DATE){if(!t)return"";const e=r.shift()||H;return O(new Date(t),e)}return t}function G(e,t,r){let o;switch(e){case Array.name:o=(Array.isArray(t)?t.map(e=>G(I.STRING,e,r)):[t]).join(",");break;case _.NUMBER:o=F(t);break;case _.DATE:{const e=r.format;t&&(""+t).trim().length&&(o=typeof t===I.NUMBER?new Date(t):t?e?y(e,t):new Date(t):void 0);break}default:o=typeof t===I.OBJECT?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===I.BOOLEAN?t:typeof t===I.STRING?v(t):o}if(void 0===o)throw new g(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return o}function F(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function v(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function Y(e){const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)}function X(e){let t;try{t=U(e)}catch(e){t=Date.now()}return`${e.constructor.name}-${t}`}class ${static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,$.register(this)}translate(e,t=!0){if(t)switch(e){case I.STRING:return _.TEXT;case I.NUMBER:case I.BIGINT:return _.NUMBER;case I.BOOLEAN:return _.CHECKBOX;case I.DATE:return _.DATE}else switch(e){case _.SELECT:case _.TEXT:case _.EMAIL:case _.COLOR:case _.PASSWORD:case _.TEL:case _.URL:case _.SEARCH:case _.HIDDEN:case _.TEXTAREA:case _.RADIO:return I.STRING;case _.NUMBER:return I.NUMBER;case _.CHECKBOX:return I.BOOLEAN;case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return I.DATE}return e}getClassDecoratorsMetadata(e){return[Reflect.getMetadata($.key(b.UIMODEL),e.constructor)||Reflect.getMetadata($.key(b.UIMODEL),D.get(e.constructor.name)),Reflect.getMetadata($.key(b.UILISTITEM),e.constructor)||Reflect.getMetadata($.key(b.UILISTITEM),D.get(e.constructor.name)),Reflect.getMetadata($.key(b.HANDLERS),e.constructor)||Reflect.getMetadata($.key(b.HANDLERS),D.get(e.constructor.name)),Reflect.getMetadata($.key(b.UILAYOUT),e.constructor)||Reflect.getMetadata($.key(b.UILAYOUT),D.get(e.constructor.name))].filter(Boolean)}isValidatableByType(e){return Object.keys(P).includes(e)}isValidatableByAttribute(e){return Object.keys(w).includes(e)}toAttributeValue(e,t){if(!Object.keys(w).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(w).join(", ")}.`);return e===b.REQUIRED||t[e]}toFieldDefinition(e,r={},o=!0){const{inheritProps:n,...s}=r;r=s;const a=this.getClassDecoratorsMetadata(e);if(!a.length)throw new B(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const i=Object.assign({},...a,n||{}),{tag:c,props:E,item:p,handlers:u}=i,l=M.getAllPropertyDecorators(e,b.REFLECT);let T,A=p?.props||{},R={};const d=(e,t)=>e?[e,t].join("."):t;if(l){const o=M.getAllPropertyDecorators(e,t.REFLECT);for(const t in l){const n=l[t],s=Object.values(n).filter(({key:e})=>[b.PROP,b.ELEMENT,b.CHILD].includes(e));if(s?.length>1)throw new B("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");const a=n.find(({key:e})=>e===b.HIDDEN);if(a){const e=n.find(({key:e})=>e===b.ELEMENT);if(!e)throw new B(`@uielement no found in "${t}". It is required to use hiddenOn decorator.`)}n.shift(),n.sort(e=>e.key===b.ELEMENT?-1:1).forEach(n=>{if(!n)throw new B("No decorator found");switch(n.key){case b.PROP:A[t]=n.props;break;case b.CHILD:{if(!D.isPropertyModel(e,t))throw new B(`Child "${t}" must be a model.`);let o;const s=e[t];if("object"!=typeof s||null===s||Array.isArray(s)){const e=n.props.props?.name;o=new(D.get(e))}T=T||[];const a=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:d(r?.childOf,t)}),i=this.toFieldDefinition(s||o,a,!1);T.push(i);break}case b.UILISTPROP:{R=R||{},n.props?.name&&(R[n.props?.name]=t);const e=Object.assign({},i.props?.item||{},p?.props||{},n.props?.props||{},r);A={tag:p?.tag||e.render||"",props:Object.assign({},A?.props,{mapper:R},e)};break}case b.HIDDEN:case b.ORDER:case b.UILAYOUTITEM:case b.ELEMENT:{T=T||[];const s=n.props,a=Object.assign({},A?.props,s.props||{},s?.props?.name?{path:d(r?.childOf,s.props.name),childOf:void 0}:{},r),i={tag:s.tag||A?.tag||c||"",props:a};if(n.key===b.ELEMENT){const r=o[t],n=r.shift();for(const e of r)this.isValidatableByAttribute(e.key)?i.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===_.DATE&&(i.props[b.FORMAT]=e.props.format||H),i.props[b.TYPE]=e.key);if(!i.props[b.TYPE]){const e=n.props.name;i.props[b.TYPE]=this.translate(e.toLowerCase(),!0)}i.props.value=j(i.props[b.TYPE],e[t],i.props[b.FORMAT]),T.push(i)}else{const e=T.find(e=>e.props?.name===t||n.key===b.UILAYOUTITEM&&e?.props?.childOf===t);if(e)if(n.key!==b.UILAYOUTITEM)e.props=Object.assign({},e.props,{[n.key]:s});else{const{row:t,col:r,props:o}=n.props;e.props=Object.assign({},o||{},e.props,t,r)}else T.push(i)}break}default:throw new B("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:u||{}});const f=r?.operation;T=T?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(f)?void 0:e});const L={tag:c,item:A,props:r,children:T};return o&&(L.rendererId=X(e)),L}static register(e){if(e.flavour in this.cache)throw new g(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof $)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new g(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){const r=D.get(e.constructor.name)||D.fromObject(e);if(!r)throw new g("No model registered found");const o=Reflect.getMetadata($.key(b.RENDERED_BY),r);return $.get(o).render(e,...t)}static key(e){return`${b.REFLECT}${e}`}}function Q(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return h($.key(b.UIMODEL),n)(r)}}function x(e){return m(h($.key(b.RENDERED_BY),e))}function V(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return h($.key(b.UILISTITEM),n)(r)}}function W(e){return t=>{const r={handlers:e};return h($.key(b.HANDLERS),r)(t)}}function K(e,t=1,r=1,o=k.MEDIUM){return(n,s)=>Q(e,{cols:t,rows:r,breakpoint:o})(n,s)}function z(...e){return N($.key(b.HIDDEN),e)}function J(e=1){return N($.key(b.ORDER),e)}function q(){return z(S.CREATE,S.READ,S.UPDATE,S.DELETE)}function Z(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return N($.key(b.ELEMENT),s)(o,n)}}function ee(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};N($.key(b.PROP),n)(r,o)}}function te(e,t,r={},o=!1,n=!1){return(s,a)=>{const i={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||a},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};N($.key(b.CHILD),i)(s,a)}}function re(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};N($.key(b.UILISTPROP),n)(r,o)}}function oe(e,t=1,r={}){return(o,n)=>{const s={name:n,col:e,row:t,props:Object.assign({},r,{row:t??1,col:e??1})};N($.key(b.UILAYOUTITEM),s)(o,n)}}D.prototype.render=function(...e){return $.render(this,...e)};class ne{constructor(){}}const se="##VERSION##";export{ne as EventHandler,C as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,$ as RenderingEngine,B as RenderingError,b as UIKeys,k as UIMediaBreakPoints,se as VERSION,w as ValidatableByAttribute,P as ValidatableByType,v as escapeHtml,j as formatByType,X as generateUIModelID,q as hidden,z as hideOn,F as parseToNumber,G as parseValueByType,x as renderedBy,Y as revertHtml,te as uichild,Z as uielement,W as uihandlers,K as uilayout,oe as uilayoutitem,V as uilistitem,re as uilistprop,Q as uimodel,J as uiorder,ee as uiprop};
1
+ import{ModelKeys as e,ValidationKeys as t,EmailValidator as r,URLValidator as o,DateValidator as n,PasswordValidator as s,RequiredValidator as a,MinValidator as i,MaxValidator as c,StepValidator as E,MinLengthValidator as p,MaxLengthValidator as u,PatternValidator as l,EqualsValidator as T,DiffValidator as A,LessThanValidator as R,LessThanOrEqualValidator as d,GreaterThanValidator as f,GreaterThanOrEqualValidator as O,formatDate as L,ReservedModels as y,parseDate as D,Model as I,propMetadata as N}from"@decaf-ts/decorator-validation";import{Reflection as h,metadata as m,apply as M}from"@decaf-ts/reflection";import{InternalError as g,findModelId as U,OperationKeys as P}from"@decaf-ts/db-decorators";import"reflect-metadata";var S;(e=>{e.SMALL="s",e.MEDIUM="m",e.LARGE="l",e.XLARGE="xl"})(S||(S={}));const k={REFLECT:e.REFLECT+".ui.",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"element",PROP:"prop",CHILD:"child",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"listprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"handlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",READ_ONLY:"readonly",REQUIRED:t.REQUIRED,MIN:t.MIN,MIN_LENGTH:t.MIN_LENGTH,MAX:t.MAX,MAX_LENGTH:t.MAX_LENGTH,PATTERN:t.PATTERN,URL:t.URL,STEP:t.STEP,DATE:t.DATE,EMAIL:t.EMAIL,PASSWORD:t.PASSWORD,EQUALS:t.EQUALS,DIFF:t.DIFF,LESS_THAN:t.LESS_THAN,LESS_THAN_OR_EQUAL:t.LESS_THAN_OR_EQUAL,GREATER_THAN:t.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.GREATER_THAN_OR_EQUAL},b={[k.EMAIL]:r,[k.URL]:o,[k.DATE]:n,[k.PASSWORD]:s},w={[k.REQUIRED]:a,[k.MIN]:i,[k.MAX]:c,[k.STEP]:E,[k.MIN_LENGTH]:p,[k.MAX_LENGTH]:u,[k.PATTERN]:l,[k.EQUALS]:T,[k.DIFF]:A,[k.LESS_THAN]:R,[k.LESS_THAN_OR_EQUAL]:d,[k.GREATER_THAN]:f,[k.GREATER_THAN_OR_EQUAL]:O},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:k.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:k.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:k.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:k.URL,WEEK:"week"},C=[_.CHECKBOX,_.RADIO];class B extends g{constructor(e){super(e,B.name)}}function G(e,t,...r){if(e===k.DATE){if(!t)return"";const e=r.shift()||H;return L(new Date(t),e)}return t}function j(e,t,r){let o;switch(e){case Array.name:o=(Array.isArray(t)?t.map(e=>j(y.STRING,e,r)):[t]).join(",");break;case _.NUMBER:o=F(t);break;case _.DATE:{const e=r.format;t&&(""+t).trim().length&&(o=typeof t===y.NUMBER?new Date(t):t?e?D(e,t):new Date(t):void 0);break}default:o=typeof t===y.OBJECT?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===y.BOOLEAN?t:typeof t===y.STRING?v(t):o}if(void 0===o)throw new g(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return o}function F(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function v(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function Y(e){const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)}function X(e){let t;try{t=U(e)}catch(e){t=Date.now()}return`${e.constructor.name}-${t}`}class ${static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,$.register(this)}translate(e,t=!0){if(t)switch(e){case y.STRING:return _.TEXT;case y.NUMBER:case y.BIGINT:return _.NUMBER;case y.BOOLEAN:return _.CHECKBOX;case y.DATE:return _.DATE}else switch(e){case _.SELECT:case _.TEXT:case _.EMAIL:case _.COLOR:case _.PASSWORD:case _.TEL:case _.URL:case _.SEARCH:case _.HIDDEN:case _.TEXTAREA:case _.RADIO:return y.STRING;case _.NUMBER:return y.NUMBER;case _.CHECKBOX:return y.BOOLEAN;case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return y.DATE}return e}getClassDecoratorsMetadata(e){return[Reflect.getMetadata($.key(k.UIMODEL),e.constructor)||Reflect.getMetadata($.key(k.UIMODEL),I.get(e.constructor.name)),Reflect.getMetadata($.key(k.UILISTMODEL),e.constructor)||Reflect.getMetadata($.key(k.UILISTMODEL),I.get(e.constructor.name)),Reflect.getMetadata($.key(k.HANDLERS),e.constructor)||Reflect.getMetadata($.key(k.HANDLERS),I.get(e.constructor.name)),Reflect.getMetadata($.key(k.UILAYOUT),e.constructor)||Reflect.getMetadata($.key(k.UILAYOUT),I.get(e.constructor.name))].filter(Boolean)}isValidatableByType(e){return Object.keys(b).includes(e)}isValidatableByAttribute(e){return Object.keys(w).includes(e)}toAttributeValue(e,t){if(!Object.keys(w).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(w).join(", ")}.`);return e===k.REQUIRED||t[e]}toFieldDefinition(e,r={},o=!0){const{inheritProps:n,...s}=r;r=s;const a=this.getClassDecoratorsMetadata(e);if(!a.length)throw new B(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const i=Object.assign({},...a,n||{}),{tag:c,props:E,item:p,handlers:u}=i,l=h.getAllPropertyDecorators(e,k.REFLECT);let T,A=p?.props||{},R={};const d=(e,t)=>e?[e,t].join("."):t;if(l){const o=h.getAllPropertyDecorators(e,t.REFLECT);for(const t in l){const n=l[t],s=Object.values(n).filter(({key:e})=>[k.PROP,k.ELEMENT,k.CHILD].includes(e));if(s?.length>1)throw new B("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");const a=n.find(({key:e})=>e===k.HIDDEN);if(a){const e=n.find(({key:e})=>e===k.ELEMENT);if(!e)throw new B(`@uielement no found in "${t}". It is required to use hiddenOn decorator.`)}n.shift(),n.sort(e=>e.key===k.ELEMENT?-1:1).forEach(n=>{if(!n)throw new B("No decorator found");switch(n.key){case k.PROP:A[t]=n.props;break;case k.CHILD:{if(!I.isPropertyModel(e,t))throw new B(`Child "${t}" must be a model.`);let o;const s=e[t];if("object"!=typeof s||null===s||Array.isArray(s)){const e=n.props.props?.name;o=new(I.get(e))}T=T||[];const a=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:d(r?.childOf,t)}),i=this.toFieldDefinition(s||o,a,!1);T.push(i);break}case k.UILISTPROP:{R=R||{},n.props?.name&&(R[n.props?.name]=t);const e=Object.assign({},i.props?.item||{},p?.props||{},n.props?.props||{},r);A={tag:p?.tag||e.render||"",props:Object.assign({},A?.props,{mapper:R},e)};break}case k.HIDDEN:case k.PAGE:case k.ORDER:case k.UILAYOUTPROP:case k.ELEMENT:{T=T||[];const s=n.props,a=Object.assign({},A?.props,s.props||{},s?.props?.name?{path:d(r?.childOf,s.props.name),childOf:void 0}:{},r),i={tag:s.tag||A?.tag||c||"",props:a};if(n.key===k.ELEMENT){const r=o[t],n=r.shift();for(const e of r)this.isValidatableByAttribute(e.key)?i.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===_.DATE&&(i.props[k.FORMAT]=e.props.format||H),i.props[k.TYPE]=e.key);if(!i.props[k.TYPE]){const e=n.props.name;i.props[k.TYPE]=this.translate(e.toLowerCase(),!0)}i.props.value=G(i.props[k.TYPE],e[t],i.props[k.FORMAT]),T.push(i)}else{const e=T.find(e=>e.props?.name===t||[k.UILAYOUTPROP,k.PAGE].includes(n.key)&&e?.props?.childOf===t);if(e)if(n.key!==k.UILAYOUTPROP)e.props=Object.assign({},e.props,{[n.key]:s});else{const{row:t,col:r,props:o}=n.props;e.props=Object.assign({},o||{},e.props,t,r)}else T.push(i)}break}default:throw new B("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:u||{}});const f=r?.operation;T=T?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(f)?void 0:e});const O={tag:c,item:A,props:r,children:T};return o&&(O.rendererId=X(e)),O}static register(e){if(e.flavour in this.cache)throw new g(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof $)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new g(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){const r=I.get(e.constructor.name)||I.fromObject(e);if(!r)throw new g("No model registered found");const o=Reflect.getMetadata($.key(k.RENDERED_BY),r);return $.get(o).render(e,...t)}static key(e){return`${k.REFLECT}${e}`}}function Q(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return m($.key(k.UIMODEL),n)(r)}}function x(e){return M(m($.key(k.RENDERED_BY),e))}function V(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return m($.key(k.UILISTMODEL),n)(r)}}function W(e){return t=>{const r={handlers:e};return m($.key(k.HANDLERS),r)(t)}}function K(e,t=1,r=1,o=S.MEDIUM){return(n,s)=>Q(e,{cols:t,rows:r,breakpoint:o})(n,s)}function z(e,t=1,r=!1,o={}){return(n,s)=>{let a=[];return typeof t===y.OBJECT&&(a=t,t=a.length),Q(e,{pages:t,paginated:r,pageTitles:a,props:o})(n,s)}}function J(...e){return N($.key(k.HIDDEN),e)}function q(e=1){return N($.key(k.ORDER),e)}function Z(){return J(P.CREATE,P.READ,P.UPDATE,P.DELETE)}function ee(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return N($.key(k.ELEMENT),s)(o,n)}}function te(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};N($.key(k.PROP),n)(r,o)}}function re(e,t,r={},o=!1,n=!1){return(s,a)=>{const i={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||a},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};N($.key(k.CHILD),i)(s,a)}}function oe(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};N($.key(k.UILISTPROP),n)(r,o)}}function ne(e=1,t=1){return(r,o)=>{const n={name:o,col:e,row:t,props:Object.assign({},{row:t??1,col:e??1})};N($.key(k.UILAYOUTPROP),n)(r,o)}}function se(e=1){return N($.key(k.PAGE),e)}I.prototype.render=function(...e){return $.render(this,...e)};class ae{constructor(){}}const ie="##VERSION##";export{ae as EventHandler,C as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,$ as RenderingEngine,B as RenderingError,k as UIKeys,S as UIMediaBreakPoints,ie as VERSION,w as ValidatableByAttribute,b as ValidatableByType,v as escapeHtml,G as formatByType,X as generateUIModelID,Z as hidden,J as hideOn,F as parseToNumber,j as parseValueByType,x as renderedBy,Y as revertHtml,re as uichild,ee as uielement,W as uihandlers,K as uilayout,ne as uilayoutprop,V as uilistmodel,oe as uilistprop,Q as uimodel,q as uiorder,se as uipageprop,te as uiprop,z as uisteppedmodel};
2
2
  //# sourceMappingURL=ui-decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/model/decorators.ts","../src/ui/decorators.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","UIKeys","REFLECT","ModelKeys","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTITEM","UILISTPROP","UILAYOUT","UILAYOUTITEM","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","RenderingError","InternalError","constructor","msg","super","name","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","join","parseToNumber","trim","length","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","tag","revertHtml","generateUIModelID","model","id","findModelId","e","now","RenderingEngine","this","cache","flavour","initialized","register","translate","key","toView","BIGINT","getClassDecoratorsMetadata","Reflect","getMetadata","Model","get","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","assign","props","item","handlers","uiDecorators","Reflection","getAllPropertyDecorators","children","childProps","mapper","getPath","parent","prop","validationDecorators","decs","types","values","hasHideOnDecorator","find","hasUiElementDecorator","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","typeDec","basicType","toLowerCase","child","c","row","col","operation","b","order","hiddenOn","hidden","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","uimodel","original","propertyKey","meta","metadata","renderedBy","apply","uilistitem","uihandlers","uilayout","cols","rows","breakpoint","MEDIUM","hideOn","operations","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutitem","prototype","EventHandler","VERSION"],"mappings":"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"}
1
+ {"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/model/decorators.ts","../src/ui/decorators.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","UIKeys","REFLECT","ModelKeys","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","RenderingError","InternalError","constructor","msg","super","name","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","join","parseToNumber","trim","length","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","tag","revertHtml","generateUIModelID","model","id","findModelId","e","now","RenderingEngine","this","cache","flavour","initialized","register","translate","key","toView","BIGINT","getClassDecoratorsMetadata","Reflect","getMetadata","Model","get","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","assign","props","item","handlers","uiDecorators","Reflection","getAllPropertyDecorators","children","childProps","mapper","getPath","parent","prop","validationDecorators","decs","types","values","hasHideOnDecorator","find","hasUiElementDecorator","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","typeDec","basicType","toLowerCase","child","c","row","col","operation","b","order","hiddenOn","hidden","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","uimodel","original","propertyKey","meta","metadata","renderedBy","apply","uilistmodel","uihandlers","uilayout","cols","rows","breakpoint","MEDIUM","uisteppedmodel","pages","paginated","pageTitles","hideOn","operations","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","prototype","EventHandler","VERSION"],"mappings":"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"}
@@ -13,4 +13,4 @@ export * from "./ui";
13
13
  * @const VERSION
14
14
  * @memberOf module:ui-decorators
15
15
  */
16
- export declare const VERSION = "0.5.26";
16
+ export declare const VERSION = "0.5.28";
package/lib/esm/index.js CHANGED
@@ -13,5 +13,5 @@ export * from "./ui/index.js";
13
13
  * @const VERSION
14
14
  * @memberOf module:ui-decorators
15
15
  */
16
- export const VERSION = "0.5.26";
16
+ export const VERSION = "0.5.28";
17
17
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  import { UIMediaBreakPointsType } from "../ui/types";
2
+ import { ISteppedModelPage } from "../ui/interfaces";
2
3
  /**
3
4
  * @description Decorator that tags a class as a UI model
4
5
  * @summary Adds rendering capabilities to a model class by providing a render method
@@ -87,13 +88,13 @@ export declare function renderedBy(engine: string): (target: object, propertyKey
87
88
  * @param {Record<string, any>} [props] Additional properties to pass to the rendered list item element
88
89
  * @return {Function} A class decorator function
89
90
  *
90
- * @function uilistitem
91
+ * @function uilistmodel
91
92
  * @category Class Decorators
92
93
  *
93
94
  * @example
94
95
  * // Basic usage with default tag (class name)
95
96
  * @uimodel()
96
- * @uilistitem()
97
+ * @uilistmodel()
97
98
  * class TodoItem extends Model {
98
99
  * @attribute()
99
100
  * title: string;
@@ -104,7 +105,7 @@ export declare function renderedBy(engine: string): (target: object, propertyKey
104
105
  *
105
106
  * // Usage with custom tag and properties
106
107
  * @uimodel()
107
- * @uilistitem('li', { class: 'list-group-item' })
108
+ * @uilistmodel('li', { class: 'list-group-item' })
108
109
  * class ListItem extends Model {
109
110
  * @attribute()
110
111
  * text: string;
@@ -113,15 +114,15 @@ export declare function renderedBy(engine: string): (target: object, propertyKey
113
114
  * @mermaid
114
115
  * sequenceDiagram
115
116
  * participant System
116
- * participant uilistitem
117
+ * participant uilistmodel
117
118
  * participant Model
118
119
  * participant RenderingEngine
119
- * System->>uilistitem: apply to Model
120
- * uilistitem->>Model: adds list item metadata
120
+ * System->>uilistmodel: apply to Model
121
+ * uilistmodel->>Model: adds list item metadata
121
122
  * Model->>RenderingEngine: uses list item metadata when in list context
122
123
  * RenderingEngine->>System: renders with list item styling
123
124
  */
124
- export declare function uilistitem(tag?: string, props?: Record<string, any>): (original: any, propertyKey?: any) => void;
125
+ export declare function uilistmodel(name?: string, props?: Record<string, any>): (original: any, propertyKey?: any) => void;
125
126
  /**
126
127
  * @description Decorator that adds event handlers to a UI model
127
128
  * @summary Specifies event handlers that should be attached to the rendered model
@@ -197,15 +198,15 @@ export declare function uihandlers(props?: Record<string, any>): (original: any)
197
198
  * @uilayout('div', 2, 3)
198
199
  * class TwoColumnLayout extends Model {
199
200
  * @attribute()
200
- * @uilayoutitem(1, 1)
201
+ * @uilayoutprop(1, 1)
201
202
  * header: string;
202
203
  *
203
204
  * @attribute()
204
- * @uilayoutitem(1, 2)
205
+ * @uilayoutprop(1, 2)
205
206
  * leftContent: string;
206
207
  *
207
208
  * @attribute()
208
- * @uilayoutitem(2, 2)
209
+ * @uilayoutprop(2, 2)
209
210
  * rightContent: string;
210
211
  * }
211
212
  *
@@ -213,11 +214,11 @@ export declare function uihandlers(props?: Record<string, any>): (original: any)
213
214
  * @uilayout('section', 3, 2, 'l')
214
215
  * class ResponsiveLayout extends Model {
215
216
  * @attribute()
216
- * @uilayoutitem(1, 1)
217
+ * @uilayoutprop(1, 1)
217
218
  * title: string;
218
219
  *
219
220
  * @attribute()
220
- * @uilayoutitem(2, 1)
221
+ * @uilayoutprop(2, 1)
221
222
  * subtitle: string;
222
223
  * }
223
224
  *
@@ -235,3 +236,84 @@ export declare function uihandlers(props?: Record<string, any>): (original: any)
235
236
  * RenderingEngine->>System: renders grid layout with specified dimensions
236
237
  */
237
238
  export declare function uilayout(tag: string, cols?: number, rows?: number | string[], breakpoint?: UIMediaBreakPointsType): (original: any, propertyKey?: any) => void;
239
+ /**
240
+ * @description Decorator that creates a multi-step form model with page navigation
241
+ * @summary Combines UI model functionality with stepped/wizard form configuration
242
+ * This decorator creates a UI model that acts as a multi-step container with page navigation
243
+ * capabilities. It's designed for wizard-style forms or multi-page workflows where users
244
+ * progress through sequential steps. The decorator combines @uimodel with page-specific
245
+ * properties and optional pagination controls.
246
+ *
247
+ * @param {string} tag The HTML tag to use for the stepped form container
248
+ * @param {number|ISteppedModelPage[]} [pages=1] Number of pages or array of page definitions with metadata
249
+ * @param {boolean} [paginated=false] Whether to show pagination controls (prev/next buttons)
250
+ * @param {any} [props={}] Additional properties to pass to the container element
251
+ * @return {Function} A class decorator function
252
+ *
253
+ * @function uisteppedmodel
254
+ * @category Class Decorators
255
+ *
256
+ * @example
257
+ * // Create a simple 3-step wizard form
258
+ * @uisteppedmodel('div', 3, true)
259
+ * class RegistrationWizard extends Model {
260
+ * // Page 1: Personal Info
261
+ * @attribute()
262
+ * @uipageprop(1)
263
+ * firstName: string;
264
+ *
265
+ * @attribute()
266
+ * @uipageprop(1)
267
+ * lastName: string;
268
+ *
269
+ * // Page 2: Contact Info
270
+ * @attribute()
271
+ * @uipageprop(2)
272
+ * email: string;
273
+ *
274
+ * @attribute()
275
+ * @uipageprop(2)
276
+ * phone: string;
277
+ *
278
+ * // Page 3: Confirmation
279
+ * @attribute()
280
+ * @uipageprop(3)
281
+ * acceptTerms: boolean;
282
+ * }
283
+ *
284
+ * // Create a wizard with custom page definitions
285
+ * @uisteppedmodel('section', [
286
+ * { title: 'Personal', icon: 'user' },
287
+ * { title: 'Contact', icon: 'email' },
288
+ * { title: 'Review', icon: 'check' }
289
+ * ], true, { class: 'wizard-container' })
290
+ * class OnboardingWizard extends Model {
291
+ * @attribute()
292
+ * @uipageprop(1)
293
+ * username: string;
294
+ *
295
+ * @attribute()
296
+ * @uipageprop(2)
297
+ * email: string;
298
+ *
299
+ * @attribute()
300
+ * @uipageprop(3)
301
+ * preferences: string;
302
+ * }
303
+ *
304
+ * @mermaid
305
+ * sequenceDiagram
306
+ * participant System
307
+ * participant uisteppedmodel
308
+ * participant uimodel
309
+ * participant Model
310
+ * participant RenderingEngine
311
+ * participant PaginationController
312
+ * System->>uisteppedmodel: apply to Model
313
+ * uisteppedmodel->>uimodel: call with page config
314
+ * uimodel->>Model: adds model metadata with pages and pagination
315
+ * Model->>RenderingEngine: requests rendering as stepped form
316
+ * RenderingEngine->>PaginationController: initialize page navigation
317
+ * PaginationController->>System: renders current page with navigation controls
318
+ */
319
+ export declare function uisteppedmodel(tag: string, pages?: number | ISteppedModelPage[], paginated?: boolean, props?: any): (original: any, propertyKey?: any) => void;