@decaf-ts/ui-decorators 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui-decorators.cjs +1 -1
- package/dist/ui-decorators.cjs.map +1 -1
- package/dist/ui-decorators.js +1 -1
- package/dist/ui-decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/ui/DecafComponent.d.ts +195 -0
- package/lib/esm/ui/DecafComponent.js +96 -0
- package/lib/esm/ui/DecafComponent.js.map +1 -0
- package/lib/esm/ui/Rendering.js +3 -2
- package/lib/esm/ui/Rendering.js.map +1 -1
- package/lib/esm/ui/constants.d.ts +1 -0
- package/lib/esm/ui/constants.js +1 -0
- package/lib/esm/ui/constants.js.map +1 -1
- package/lib/esm/ui/decorators.d.ts +30 -1
- package/lib/esm/ui/decorators.js +34 -0
- package/lib/esm/ui/decorators.js.map +1 -1
- package/lib/esm/ui/index.d.ts +1 -0
- package/lib/esm/ui/index.js +1 -0
- package/lib/esm/ui/index.js.map +1 -1
- package/lib/esm/ui/types.d.ts +2 -1
- package/lib/esm/ui/utils.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/ui/DecafComponent.cjs +100 -0
- package/lib/ui/DecafComponent.d.ts +195 -0
- package/lib/ui/DecafComponent.js.map +1 -0
- package/lib/ui/Rendering.cjs +3 -2
- package/lib/ui/Rendering.js.map +1 -1
- package/lib/ui/constants.cjs +1 -0
- package/lib/ui/constants.d.ts +1 -0
- package/lib/ui/constants.js.map +1 -1
- package/lib/ui/decorators.cjs +36 -0
- package/lib/ui/decorators.d.ts +30 -1
- package/lib/ui/decorators.js.map +1 -1
- package/lib/ui/index.cjs +1 -0
- package/lib/ui/index.d.ts +1 -0
- package/lib/ui/index.js.map +1 -1
- package/lib/ui/types.d.ts +2 -1
- package/lib/ui/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/ui-decorators.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,a,r){"use strict";var o;e.UIMediaBreakPoints=void 0,(o=e.UIMediaBreakPoints||(e.UIMediaBreakPoints={})).SMALL="small",o.MEDIUM="medium",o.LARGE="large",o.XLARGE="xlarge";const s={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",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},n={[s.EMAIL]:t.EmailValidator,[s.URL]:t.URLValidator,[s.DATE]:t.DateValidator,[s.PASSWORD]:t.PasswordValidator},i={[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];function E(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return a.metadata(a.Metadata.key(s.REFLECT,s.UIMODEL),n)(r)}}class p extends r.InternalError{constructor(e){super(e,p.name)}}function u(e,t){return a.Metadata.key(s.REFLECT,a.DecorationKeys.PROPERTIES,e,t)}function M(e,a,...r){if(e===s.DATE){if(!a)return"";const e=r.shift()||d;return t.formatDate(new Date(a),e)}return a}function T(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={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function y(e){let a=Date.now();try{t.Model.pk(e.constructor)&&(a=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${a}`}class f{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,f.register(this)}translate(e,a=!0){if(a)switch(e){case t.ReservedModels.STRING.name.toLowerCase():return l.TEXT;case t.ReservedModels.NUMBER.name.toLowerCase():case t.ReservedModels.BIGINT.name.toLowerCase():return l.NUMBER;case t.ReservedModels.BOOLEAN.name.toLowerCase():return l.CHECKBOX;case t.ReservedModels.DATE.name.toLowerCase():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.name.toLowerCase();case l.NUMBER:return t.ReservedModels.NUMBER.name.toLowerCase();case l.CHECKBOX:return t.ReservedModels.BOOLEAN.name.toLowerCase();case l.DATE:case l.DATETIME_LOCAL:case l.TIME:return t.ReservedModels.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[t.Model.uiModelOf(e.constructor),t.Model.uiListModelOf(e.constructor),t.Model.uiHandlersFor(e.constructor),t.Model.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(n).includes(e)}isValidatableByAttribute(e){return Object.keys(i).includes(e)}toAttributeValue(e,t){if(!Object.keys(i).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(i).join(", ")}.`);return e===s.REQUIRED||t[e]}toFieldDefinition(e,o={},n=!0){const{inheritProps:i,...c}=o;o=c;const E=this.getClassDecoratorsMetadata(e);if(!E.length)throw new p(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const u=Object.assign({},...E,i||{}),{tag:T,props:R,item:f,handlers:L}=u,O=t.Model.uiPropertiesOf(e.constructor);let A,m=f?.props||{},I={};const D=(e,t)=>e?[e,t].join("."):t;if(O){const n=a.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const i of O){const c=t.Model.uiDecorationOf(e.constructor,i);let E;try{E=t.Model.uiTypeOf(e.constructor,i)}catch(e){if(!(e instanceof r.NotFoundError))throw e}if(t.Model.uiIsHidden(e.constructor,i)&&!t.Model.uiElementOf(e.constructor,i))throw new p(`@uielement no found in "${i}". It is required to use hiddenOn decorator.`);Object.entries(c).map(([e,t])=>({key:e,props:t})).sort(e=>[s.ELEMENT,s.CHILD].includes(e.key)?-1:1).forEach(r=>{if(!r)throw new p("No decorator found");switch(r.key){case s.PROP:m[i]=r.props;break;case s.CHILD:{if(!t.Model.isPropertyModel(e,i))throw new p(`Child "${i}" must be a model.`);let a;const s=e[i];if("object"!=typeof s||null===s||Array.isArray(s)){const e=r.props.props?.name;a=new(t.Model.get(e))}A=A||[];const n=Object.assign({},o||{},{model:a},{inheritProps:r.props,childOf:D(o?.childOf,i)}),d=this.toFieldDefinition(s||a,n,!1);A.push(d);break}case s.UILISTPROP:{I=I||{},r.props.name&&(I[r.props.name]=i);const e=Object.assign({},u.props?.item||{},f?.props||{},r.props.props||{},o);m={tag:f?.tag||e.render||"",props:Object.assign({},m?.props,{mapper:I},e)};break}case s.HIDDEN:case s.PAGE:case s.ORDER:case s.UILAYOUTPROP:case s.ELEMENT:{A=A||[];const t=r.props,c=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:D(o?.childOf,t.props.name),childOf:void 0}:{},o);if(r.key===s.ELEMENT){const r={tag:t.tag||m?.tag||T||"",props:c},o=n[i];if(o)for(const e of Object.entries(o).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===l.DATE&&(r.props[s.FORMAT]=e.props.format||d),r.props[s.TYPE]=e.key);if(!r.props[s.TYPE]){const t=a.Metadata.type(e.constructor,i).name;r.props[s.TYPE]=this.translate(t.toLowerCase(),!0)}r.props.value=M(r.props[s.TYPE],e[i],r.props[s.FORMAT]),A.push(r)}else{const e=A.find(e=>e.props?.name===i||[s.UILAYOUTPROP,s.PAGE].includes(r.key)&&e?.props?.childOf===i);if(e)if(r.key!==s.UILAYOUTPROP)e.props=Object.assign({},e.props,{[r.key]:t});else{const{row:t,col:a,props:o}=r.props;e.props=Object.assign({},o||{},e.props,t,a)}}break}default:throw new p("Invalid key: "+r.key)}})}}o=Object.assign({},R,o,{handlers:L||{}});const h=o?.operation;A=A?.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 N={tag:T,item:m,props:o,children:A};return n&&(N.rendererId=y(e)),N}static register(e){if(e.flavour in this.cache)throw new r.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof f)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 r.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...a){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new r.InternalError("No model registered found");const o=t.Model.renderedBy(e.constructor);return f.get(o).render(e,...a)}}function L(...e){return(t,r)=>a.propMetadata(u(r,s.HIDDEN),e)(t,r)}t.Model.prototype.render=function(...e){return f.render(this,...e)},t.Model.renderedBy=(e=>a.Metadata.get(e,a.Metadata.key(s.REFLECT,s.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=a.Metadata.get(e,a.Metadata.key(s.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,r)=>{const o=a.Metadata.get(e,a.Metadata.key(s.REFLECT,a.DecorationKeys.PROPERTIES,t));if(o)return r?o[r]:o},t.Model.uiModelOf=e=>a.Metadata.get(e,a.Metadata.key(s.REFLECT,s.UIMODEL)),t.Model.uiElementOf=(e,t)=>a.Metadata.get(e,u(t,s.ELEMENT)),t.Model.uiListModelOf=e=>a.Metadata.get(e,a.Metadata.key(s.REFLECT,s.UILISTMODEL)),t.Model.uiHandlersFor=e=>a.Metadata.get(e,a.Metadata.key(s.REFLECT,s.HANDLERS)),t.Model.uiLayoutOf=e=>a.Metadata.get(e,a.Metadata.key(s.REFLECT,s.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!a.Metadata.get(e,u(t,s.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,r)=>{const o=a.Metadata.get(e,u(t,s.HIDDEN));return!!o&&(r?o.includes(r):o)},t.Model.uiTypeOf=(e,t)=>{const o=a.Metadata.get(e,a.Metadata.key(s.REFLECT,a.DecorationKeys.PROPERTIES,t));if(!o)throw new r.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const n=Object.keys(o).filter(e=>[s.PROP,s.ELEMENT,s.CHILD].includes(e));if(0===n.length)throw new r.NotFoundError(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(n.length>1)throw new p("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return o[n[0]]},t.Model.uiListItems=(e=>{const t=a.Metadata.get(e,a.Metadata.key(s.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.EventHandler=class{constructor(){}},e.HTML5CheckTypes=c,e.HTML5DateFormat=d,e.HTML5InputTypes=l,e.RenderingEngine=f,e.RenderingError=p,e.UIKeys=s,e.VERSION="##VERSION##",e.ValidatableByAttribute=i,e.ValidatableByType=n,e.escapeHtml=R,e.formatByType=M,e.generateUIModelID=y,e.getUIAttributeKey=u,e.hidden=()=>L(r.OperationKeys.CREATE,r.OperationKeys.READ,r.OperationKeys.UPDATE,r.OperationKeys.DELETE),e.hideOn=L,e.parseToNumber=T,e.parseValueByType=function e(a,o,s){let n;switch(a){case Array.name:n=(Array.isArray(o)?o.map(a=>e(t.ReservedModels.STRING.name.toLowerCase(),a,s)):[o]).join(",");break;case l.NUMBER:n=T(o);break;case l.DATE:{const e=s.format;o&&(""+o).trim().length&&(n=typeof o===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(o):o?e?t.parseDate(e,o):new Date(o):void 0);break}default:n=typeof o===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(o)?o.join(","):JSON.stringify(o):typeof o===t.ReservedModels.BOOLEAN.name.toLowerCase()?o:typeof o===t.ReservedModels.STRING.name.toLowerCase()?R(o):n}if(void 0===n)throw new r.InternalError(`Failed to parse value of type ${a} from ${typeof o} - ${o}`);return n},e.renderedBy=e=>a.apply(a.metadata(a.Metadata.key(s.REFLECT,s.RENDERED_BY),e)),e.revertHtml=e=>{const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)},e.uichild=(e,t,r={},o=!1,n=!1)=>(i,d)=>{const l={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||d},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};a.propMetadata(u(d,s.CHILD),l)(i,d)},e.uielement=(e,t,r=!1)=>(o,n)=>{const i={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return a.propMetadata(u(n,s.ELEMENT),i)(o,n)},e.uihandlers=e=>t=>{const r={handlers:e};return a.metadata(a.Metadata.key(s.REFLECT,s.HANDLERS),r)(t)},e.uilayout=(t,a=1,r=1,o={})=>(s,n)=>E(t,Object.assign({..."boolean"==typeof a?{flexMode:a,cols:1}:{flexMode:!1,cols:a},rows:r,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},o)}))(s,n),e.uilayoutprop=(e=1,t=1)=>(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};a.propMetadata(u(o,s.UILAYOUTPROP),n)(r,o)},e.uilistmodel=(e,t)=>(r,o)=>{const n={item:{tag:e||r.name,props:t}};return a.metadata(a.Metadata.key(s.REFLECT,s.UILISTMODEL),n)(r)},e.uilistprop=(e=void 0,t)=>(r,o)=>{const n={name:e||o,props:t||{}};a.propMetadata(u(o,s.UILISTPROP),n)(r,o)},e.uimodel=E,e.uiorder=(e=1)=>(t,r)=>a.propMetadata(u(r,s.ORDER),e)(t,r),e.uipageprop=(e=1)=>(t,r)=>a.propMetadata(u(r,s.PAGE),e)(t,r),e.uiprop=(e=void 0,t=!1)=>(r,o)=>{const n={name:e||o,stringify:t};a.propMetadata(u(o,s.PROP),n)(r,o)},e.uisteppedmodel=(e,t=1,a=!1,r={})=>{let o=[];return"object"==typeof t&&(o=t,t=o.length),E(e,{pages:t,paginated:a,pageTitles:o,props:r})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/decoration","@decaf-ts/db-decorators"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsDecoration,e.decafTsDbDecorators);
|
|
1
|
+
var e,t;e=this,t=function(e,t,a,r,o){"use strict";var s;e.UIMediaBreakPoints=void 0,(s=e.UIMediaBreakPoints||(e.UIMediaBreakPoints={})).SMALL="small",s.MEDIUM="medium",s.LARGE="large",s.XLARGE="xlarge";const i={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",EVENTS:"events",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},n={[i.EMAIL]:t.EmailValidator,[i.URL]:t.URLValidator,[i.DATE]:t.DateValidator,[i.PASSWORD]:t.PasswordValidator},d={[i.REQUIRED]:t.RequiredValidator,[i.MIN]:t.MinValidator,[i.MAX]:t.MaxValidator,[i.STEP]:t.StepValidator,[i.MIN_LENGTH]:t.MinLengthValidator,[i.MAX_LENGTH]:t.MaxLengthValidator,[i.PATTERN]:t.PatternValidator,[i.EQUALS]:t.EqualsValidator,[i.DIFF]:t.DiffValidator,[i.LESS_THAN]:t.LessThanValidator,[i.LESS_THAN_OR_EQUAL]:t.LessThanOrEqualValidator,[i.GREATER_THAN]:t.GreaterThanValidator,[i.GREATER_THAN_OR_EQUAL]:t.GreaterThanOrEqualValidator},l="yyyy-MM-dd",c={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:i.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:i.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:i.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:i.URL,WEEK:"week"},E=[c.CHECKBOX,c.RADIO];function p(e,t){return(r,o)=>{const s={tag:e||r.name,props:t};return a.metadata(a.Metadata.key(i.REFLECT,i.UIMODEL),s)(r)}}class u extends r.InternalError{constructor(e){super(e,u.name)}}function M(e,t){return a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,e,t)}function T(e,a,...r){if(e===i.DATE){if(!a)return"";const e=r.shift()||l;return t.formatDate(new Date(a),e)}return a}function R(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function y(e){if(!e)return e;const t={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function f(e){let a=Date.now();try{t.Model.pk(e.constructor)&&(a=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${a}`}class L{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,L.register(this)}translate(e,a=!0){if(a)switch(e){case t.ReservedModels.STRING.name.toLowerCase():return c.TEXT;case t.ReservedModels.NUMBER.name.toLowerCase():case t.ReservedModels.BIGINT.name.toLowerCase():return c.NUMBER;case t.ReservedModels.BOOLEAN.name.toLowerCase():return c.CHECKBOX;case t.ReservedModels.DATE.name.toLowerCase():return c.DATE}else switch(e){case c.SELECT:case c.TEXT:case c.EMAIL:case c.COLOR:case c.PASSWORD:case c.TEL:case c.URL:case c.SEARCH:case c.HIDDEN:case c.TEXTAREA:case c.RADIO:return t.ReservedModels.STRING.name.toLowerCase();case c.NUMBER:return t.ReservedModels.NUMBER.name.toLowerCase();case c.CHECKBOX:return t.ReservedModels.BOOLEAN.name.toLowerCase();case c.DATE:case c.DATETIME_LOCAL:case c.TIME:return t.ReservedModels.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[t.Model.uiModelOf(e.constructor),t.Model.uiListModelOf(e.constructor),t.Model.uiHandlersFor(e.constructor),t.Model.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(n).includes(e)}isValidatableByAttribute(e){return Object.keys(d).includes(e)}toAttributeValue(e,t){if(!Object.keys(d).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(d).join(", ")}.`);return e===i.REQUIRED||t[e]}toFieldDefinition(e,o={},s=!0){const{inheritProps:n,...d}=o;o=d;const E=this.getClassDecoratorsMetadata(e);if(!E.length)throw new u(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const p=Object.assign({},...E,n||{}),{tag:M,props:R,item:y,handlers:L}=p,O=t.Model.uiPropertiesOf(e.constructor);let A,m=y?.props||{},h={};const D=(e,t)=>e?[e,t].join("."):t;if(O){const s=a.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const n of O){const d=t.Model.uiDecorationOf(e.constructor,n);let E;try{E=t.Model.uiTypeOf(e.constructor,n)}catch(e){if(!(e instanceof r.NotFoundError))throw e}if(t.Model.uiIsHidden(e.constructor,n)&&!t.Model.uiElementOf(e.constructor,n))throw new u(`@uielement no found in "${n}". It is required to use hiddenOn decorator.`);Object.entries(d).map(([e,t])=>({key:e,props:t})).sort(e=>[i.ELEMENT,i.CHILD].includes(e.key)?-1:1).forEach(r=>{if(!r)throw new u("No decorator found");switch(r.key){case i.PROP:m[n]=r.props;break;case i.CHILD:{if(!t.Model.isPropertyModel(e,n))throw new u(`Child "${n}" must be a model.`);let a;const s=e[n];if("object"!=typeof s||null===s||Array.isArray(s)){const e=r.props.props?.name;a=new(t.Model.get(e))}A=A||[];const i=Object.assign({},o||{},{model:a},{inheritProps:r.props,childOf:D(o?.childOf,n)}),d=this.toFieldDefinition(s||a,i,!1);A.push(d);break}case i.UILISTPROP:{h=h||{},r.props.name&&(h[r.props.name]=n);const e=Object.assign({},p.props?.item||{},y?.props||{},r.props.props||{},o);m={tag:y?.tag||e.render||"",props:Object.assign({},m?.props,{mapper:h},e)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{A=A||[];const t=r.props,d=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:D(o?.childOf,t.props.name),childOf:void 0}:{},o);if(r.key===i.ELEMENT){const r={tag:t.tag||m?.tag||M||"",props:d},o=s[n];if(o)for(const e of Object.entries(o).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===c.DATE&&(r.props[i.FORMAT]=e.props.format||l),r.props[i.TYPE]=e.key);if(!r.props[i.TYPE]){const t=a.Metadata.type(e.constructor,n).name;r.props[i.TYPE]=this.translate(t.toLowerCase(),!0)}r.props.value=T(r.props[i.TYPE],e[n],r.props[i.FORMAT]),A.push(r)}else{const e=A.find(e=>e.props?.name===n||[i.UILAYOUTPROP,i.PAGE,i.EVENTS].includes(r.key)&&(e.props?.childOf===n||e.props?.childOf?.endsWith("."+n)));if(e)if(r.key!==i.UILAYOUTPROP)e.props=Object.assign({},e.props,{[r.key]:t});else{const{row:t,col:a,props:o}=r.props;e.props=Object.assign({},o||{},e.props,t,a)}}break}default:throw new u("Invalid key: "+r.key)}})}}o=Object.assign({},R,o,{handlers:L||{}});const I=o?.operation;A=A?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(I)?void 0:e});const g={tag:M,item:m,props:o,children:A};return s&&(g.rendererId=f(e)),g}static register(e){if(e.flavour in this.cache)throw new r.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof L)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 r.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...a){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new r.InternalError("No model registered found");const o=t.Model.renderedBy(e.constructor);return L.get(o).render(e,...a)}}function O(...e){return(t,r)=>a.propMetadata(M(r,i.HIDDEN),e)(t,r)}function A(e,t){return(r,o)=>{a.propMetadata(M(o,i.EVENTS),{[e]:t})(r,o)}}class m extends o.LoggedClass{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=r.OperationKeys,this.initialized=!1,this.handlers={}}async render(...e){}async initialize(...e){this.initialized=!0}}t.Model.prototype.render=function(...e){return L.render(this,...e)},t.Model.renderedBy=(e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,r)=>{const o=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,t));if(o)return r?o[r]:o},t.Model.uiModelOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UIMODEL)),t.Model.uiElementOf=(e,t)=>a.Metadata.get(e,M(t,i.ELEMENT)),t.Model.uiListModelOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UILISTMODEL)),t.Model.uiHandlersFor=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.HANDLERS)),t.Model.uiLayoutOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!a.Metadata.get(e,M(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,r)=>{const o=a.Metadata.get(e,M(t,i.HIDDEN));return!!o&&(r?o.includes(r):o)},t.Model.uiTypeOf=(e,t)=>{const o=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,t));if(!o)throw new r.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const s=Object.keys(o).filter(e=>[i.PROP,i.ELEMENT,i.CHILD].includes(e));if(0===s.length)throw new r.NotFoundError(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(s.length>1)throw new u("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return o[s[0]]},t.Model.uiListItems=(e=>{const t=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.DecafComponent=m,e.EventHandler=class{constructor(){}},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.RenderingEngine=L,e.RenderingError=u,e.UIKeys=i,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=n,e.escapeHtml=y,e.formatByType=T,e.generateUIModelID=f,e.getUIAttributeKey=M,e.hidden=()=>O(r.OperationKeys.CREATE,r.OperationKeys.READ,r.OperationKeys.UPDATE,r.OperationKeys.DELETE),e.hideOn=O,e.parseToNumber=R,e.parseValueByType=function e(a,o,s){let i;switch(a){case Array.name:i=(Array.isArray(o)?o.map(a=>e(t.ReservedModels.STRING.name.toLowerCase(),a,s)):[o]).join(",");break;case c.NUMBER:i=R(o);break;case c.DATE:{const e=s.format;o&&(""+o).trim().length&&(i=typeof o===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(o):o?e?t.parseDate(e,o):new Date(o):void 0);break}default:i=typeof o===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(o)?o.join(","):JSON.stringify(o):typeof o===t.ReservedModels.BOOLEAN.name.toLowerCase()?o:typeof o===t.ReservedModels.STRING.name.toLowerCase()?y(o):i}if(void 0===i)throw new r.InternalError(`Failed to parse value of type ${a} from ${typeof o} - ${o}`);return i},e.renderedBy=e=>a.apply(a.metadata(a.Metadata.key(i.REFLECT,i.RENDERED_BY),e)),e.revertHtml=e=>{const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)},e.uichild=(e,t,r={},o=!1,s=!1)=>(n,d)=>{const l={tag:t,serialize:s,props:Object.assign({},r||{},{name:e||d},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};a.propMetadata(M(d,i.CHILD),l)(n,d)},e.uielement=(e,t,r=!1)=>(o,s)=>{const n={tag:e,serialize:r,props:Object.assign({},t||{},{name:s})};return a.propMetadata(M(s,i.ELEMENT),n)(o,s)},e.uihandlers=e=>t=>{const r={handlers:e};return a.metadata(a.Metadata.key(i.REFLECT,i.HANDLERS),r)(t)},e.uilayout=(t,a=1,r=1,o={})=>(s,i)=>p(t,Object.assign({..."boolean"==typeof a?{flexMode:a,cols:1}:{flexMode:!1,cols:a},rows:r,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},o)}))(s,i),e.uilayoutprop=(e=1,t=1)=>(r,o)=>{const s={name:o,props:Object.assign({},{row:t,col:e})};a.propMetadata(M(o,i.UILAYOUTPROP),s)(r,o)},e.uilistmodel=(e,t)=>(r,o)=>{const s={item:{tag:e||r.name,props:t}};return a.metadata(a.Metadata.key(i.REFLECT,i.UILISTMODEL),s)(r)},e.uilistprop=(e=void 0,t)=>(r,o)=>{const s={name:e||o,props:t||{}};a.propMetadata(M(o,i.UILISTPROP),s)(r,o)},e.uimodel=p,e.uion=A,e.uionrender=e=>A("render",e),e.uiorder=(e=1)=>(t,r)=>a.propMetadata(M(r,i.ORDER),e)(t,r),e.uipageprop=(e=1)=>(t,r)=>a.propMetadata(M(r,i.PAGE),e)(t,r),e.uiprop=(e=void 0,t=!1)=>(r,o)=>{const s={name:e||o,stringify:t};a.propMetadata(M(o,i.PROP),s)(r,o)},e.uisteppedmodel=(e,t=1,a=!1,r={})=>{let o=[];return"object"==typeof t&&(o=t,t=o.length),p(e,{pages:t,paginated:a,pageTitles:o,props:r})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsDecoration,e.decafTsDbDecorators,e.decafTsLogging);
|
|
2
2
|
//# sourceMappingURL=ui-decorators.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-decorators.cjs","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.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","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","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","ReservedModels","STRING","toLowerCase","BIGINT","BOOLEAN","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","item","handlers","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","map","k","v","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","basicType","child","find","c","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","renderedBy","hideOn","operations","object","propMetadata","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","OperationKeys","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","JSON","stringify","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles"],"mappings":"gDAgCA,IAAYA,EAKXC,EAAAD,wBAAA,GALWA,EAAAA,uBAAAA,EAAAA,mBAKX,CAAA,IAJC,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,MAAA,QACAA,EAAA,OAAA,SAgDW,MAAAE,EAAS,CACpBC,QAAS,KACTC,QAAS,UACTC,YAAa,cACbC,QAAS,YACTC,KAAM,SACNC,MAAO,UACPC,KAAM,OACNC,YAAa,SACbC,aAAc,wBAEdC,YAAa,cACbC,WAAY,aACZC,SAAU,WACVC,aAAc,eACdC,SAAU,aAEVC,KAAM,OACNC,SAAU,UAEVC,OAAQ,SACRC,OAAQ,SACRC,MAAO,QACPC,KAAM,OAENC,UAAW,WACXC,SAAUC,EAAcA,eAACD,SACzBE,IAAKD,EAAcA,eAACC,IACpBC,WAAYF,EAAcA,eAACE,WAC3BC,IAAKH,EAAcA,eAACG,IACpBC,WAAYJ,EAAcA,eAACI,WAC3BC,QAASL,EAAcA,eAACK,QACxBC,IAAKN,EAAcA,eAACM,IACpBC,KAAMP,EAAcA,eAACO,KACrBC,KAAMR,EAAcA,eAACQ,KACrBC,MAAOT,EAAcA,eAACS,MACtBC,SAAUV,EAAcA,eAACU,SACzBC,OAAQX,EAAcA,eAACW,OACvBC,KAAMZ,EAAcA,eAACY,KACrBC,UAAWb,EAAcA,eAACa,UAC1BC,mBAAoBd,EAAcA,eAACc,mBACnCC,aAAcf,EAAcA,eAACe,aAC7BC,sBAAuBhB,EAAcA,eAACgB,uBAoB3BC,EAA4D,CACvE,CAACxC,EAAOgC,OAAQS,EAAcA,eAC9B,CAACzC,EAAO6B,KAAMa,EAAYA,aAC1B,CAAC1C,EAAO+B,MAAOY,EAAaA,cAC5B,CAAC3C,EAAOiC,UAAWW,EAAiBA,mBA6BzBC,EAAiE,CAC5E,CAAC7C,EAAOsB,UAAWwB,EAAiBA,kBACpC,CAAC9C,EAAOwB,KAAMuB,EAAYA,aAC1B,CAAC/C,EAAO0B,KAAMsB,EAAYA,aAC1B,CAAChD,EAAO8B,MAAOmB,EAAaA,cAC5B,CAACjD,EAAOyB,YAAayB,EAAkBA,mBACvC,CAAClD,EAAO2B,YAAawB,EAAkBA,mBACvC,CAACnD,EAAO4B,SAAUwB,EAAgBA,iBAClC,CAACpD,EAAOkC,QAASmB,EAAeA,gBAChC,CAACrD,EAAOmC,MAAOmB,EAAaA,cAC5B,CAACtD,EAAOoC,WAAYmB,EAAiBA,kBACrC,CAACvD,EAAOqC,oBAAqBmB,EAAwBA,yBACrD,CAACxD,EAAOsC,cAAemB,EAAoBA,qBAC3C,CAACzD,EAAOuC,uBAAwBmB,EAA2BA,6BAahDC,EAAkB,aAqClBC,EAAkB,CAC7BC,OAAQ,SACRC,SAAU,WACVC,MAAO,QACPhC,KAAM/B,EAAO+B,KACbiC,eAAgB,iBAChBhC,MAAOhC,EAAOgC,MACdiC,KAAM,OACNhD,OAAQ,SACRiD,MAAO,QACPC,MAAO,QACPC,OAAQ,SACRnC,SAAUjC,EAAOiC,SACjBoC,MAAO,QACPC,MAAO,QACPC,MAAO,QACPC,OAAQ,SACRC,OAAQ,SACRC,IAAK,MACLC,KAAM,OACNC,SAAU,WACVC,OAAQ,SACRC,KAAM,OACNjD,IAAK7B,EAAO6B,IACZkD,KAAM,QAcKC,EAAkB,CAC7BpB,EAAgBE,SAChBF,EAAgBS,OCrOF,SAAAY,EAAQC,EAAcC,GAEpC,MAAO,CAACC,EAAeC,KACrB,MAAMC,EAAwB,CAC5BJ,IAAKA,GAAOE,EAASG,KACrBJ,MAAOA,GAET,OAAOK,WACLC,EAAAA,SAASC,IAAI1F,EAAOC,QAASD,EAAOE,SACpCoF,EAFKE,CAGLJ,GAEN,CCxCM,MAAOO,UAAuBC,EAAAA,cAMlC,WAAAC,CAAYC,GACVC,MAAMD,EAAKH,EAAeJ,KAC3B,ECtBa,SAAAS,EAAkBC,EAAcP,GAC9C,OAAOD,EAAQA,SAACC,IAAI1F,EAAOC,QAASiG,EAAAA,eAAeC,WAAYF,EAAMP,EACvE,CAOM,SAAUU,EACdC,EACAC,KACGC,GAEH,GAAIF,IAASrG,EAAO+B,KAAM,CACxB,IAAKuE,EAAO,MAAO,GACnB,MAAME,EAAkBD,EAAKE,SAAsB9C,EACnD,OAAO+C,EAAUA,WAAC,IAAIC,KAAKL,GAAQE,EACpC,CACD,OAAOF,CACT,CA2DM,SAAUM,EAAcN,GAC5B,GAAqB,iBAAVA,IAAuBO,MAAMP,GAAQ,OAAOA,EAEvD,MAAMQ,EAASC,OAAOT,GACtB,OAAKO,MAAMC,QAAX,EAA2BA,CAG7B,CAEM,SAAUE,EAAWV,GACzB,IAAKA,EAAO,OAAOA,EAEnB,MAAMW,EAAwC,CAC5C,IAAK,QACL,IAAK,OACL,IAAK,QAEP,OAAO,GAAGX,GAAQY,QAAQ,SAAWhC,GAC5B+B,EAAc/B,IAAQA,EAEjC,CAcM,SAAUiC,EAAmCC,GACjD,IAAIC,EAA+BV,KAAKW,MACxC,IACaC,EAAKA,MAACC,GAAGJ,EAAMvB,eAExBwB,EAAKD,EAAMG,EAAKA,MAACC,GAAGJ,EAAMvB,cAI7B,CAAC,MAAO4B,GAER,CAED,MAAO,GADML,EAAMvB,YAAYN,QACb8B,GACpB,OC9FsBK,SAMLC,KAAKC,MAIhB,CAAA,CAAG,CAgBP,WAAA/B,CAA+BgC,GAAAF,KAAOE,QAAPA,EAFrBF,KAAWG,aAAY,EAG/BJ,EAAgBK,SAASJ,KAE1B,CAqBD,SAAAK,CAAUtC,EAAauC,GAAkB,GACvC,GAAIA,EACF,OAAQvC,GACN,KAAKwC,iBAAeC,OAAO5C,KAAK6C,cAC9B,OAAOxE,EAAgBe,KACzB,KAAKuD,iBAAe9D,OAAOmB,KAAK6C,cAChC,KAAKF,iBAAeG,OAAO9C,KAAK6C,cAC9B,OAAOxE,EAAgBQ,OACzB,KAAK8D,iBAAeI,QAAQ/C,KAAK6C,cAC/B,OAAOxE,EAAgBE,SACzB,KAAKoE,iBAAenG,KAAKwD,KAAK6C,cAC5B,OAAOxE,EAAgB7B,UAG3B,OAAQ2D,GACN,KAAK9B,EAAgBiB,OACrB,KAAKjB,EAAgBe,KACrB,KAAKf,EAAgB5B,MACrB,KAAK4B,EAAgBG,MACrB,KAAKH,EAAgB3B,SACrB,KAAK2B,EAAgBc,IACrB,KAAKd,EAAgB/B,IACrB,KAAK+B,EAAgBY,OACrB,KAAKZ,EAAgB3C,OACrB,KAAK2C,EAAgBgB,SACrB,KAAKhB,EAAgBS,MACnB,OAAO6D,iBAAeC,OAAO5C,KAAK6C,cACpC,KAAKxE,EAAgBQ,OACnB,OAAO8D,iBAAe9D,OAAOmB,KAAK6C,cACpC,KAAKxE,EAAgBE,SACnB,OAAOoE,iBAAeI,QAAQ/C,KAAK6C,cACrC,KAAKxE,EAAgB7B,KACrB,KAAK6B,EAAgBI,eACrB,KAAKJ,EAAgBkB,KACnB,OAAOoD,iBAAenG,KAAKwD,KAAK6C,cAGtC,OAAO1C,CACR,CAcO,0BAAA6C,CACNnB,GAEA,MAAO,CACLG,QAAMiB,UAAUpB,EAAMvB,aACtB0B,QAAMkB,cAAcrB,EAAMvB,aAC1B0B,QAAMmB,cAActB,EAAMvB,aAC1B0B,QAAMoB,WAAWvB,EAAMvB,cACvB+C,OAAOC,QACV,CASS,mBAAAC,CAAoBpD,GAC5B,OAAOqD,OAAOC,KAAKxG,GAAmByG,SAASvD,EAChD,CASS,wBAAAwD,CAAyBxD,GACjC,OAAOqD,OAAOC,KAAKnG,GAAwBoG,SAASvD,EACrD,CAWS,gBAAAyD,CACRzD,EACAY,GAEA,IAAKyC,OAAOC,KAAKnG,GAAwBoG,SAASvD,GAChD,MAAU0D,MACR,0BAA0B1D,wBAA0BqD,OAAOC,KAAKnG,GAAwBwG,KAAK,UAGjG,OAAO3D,IAAQ1F,EAAOsB,UAAkBgF,EAAMZ,EAC/C,CAiCS,iBAAA4D,CACRlC,EACAmC,EAAuC,CAAA,EACvCC,GAAsB,GAEtB,MAAMC,aAAEA,KAAiBC,GAA+BH,EACxDA,EAAcG,EAEd,MAAMC,EAAkBhC,KAAKY,2BAA8BnB,GAE3D,IAAKuC,EAAgBC,OACnB,MAAM,IAAIjE,EACR,mCAAmCyB,EAAMvB,YAAYN,+BAGzD,MAAMsE,EAAiBd,OAAOe,OAC5B,CAAA,KACGH,EACHF,GAA8B,CAAE,IAE5BvE,IAAEA,EAAGC,MAAEA,EAAK4E,KAAEA,EAAIC,SAAEA,GAAaH,EAEjCI,EAAe1C,EAAKA,MAAC2C,eACzB9C,EAAMvB,aAQR,IAAIsE,EACAC,EAAkCL,GAAM5E,OAAS,GACjDkF,EAA8B,CAAA,EAClC,MAAMC,EAAU,CAACC,EAA4BtE,IACpCsE,EAAS,CAACA,EAAQtE,GAAMoD,KAAK,KAAOpD,EAG7C,GAAIgE,EAAc,CAChB,MAAMO,EACJ/E,EAAQA,SAACgF,IACPrD,EAAMvB,YACNtE,EAAcA,eAACtB,UACZ,GAQP,IAAK,MAAMyF,KAAOuE,EAAc,CAC9B,MAAMS,EAAOnD,EAAAA,MAAMoD,eACjBvD,EAAMvB,YACNH,GAEF,IAAIW,EACJ,IAEEA,EAAOkB,EAAKA,MAACqD,SAASxD,EAAMvB,YAA+BH,EAC5D,CAAC,MAAO+B,GACP,KAAMA,aAAaoD,iBAAgB,MAAMpD,CAC1C,CAYD,GAJ2BF,EAAAA,MAAMuD,WAC/B1D,EAAMvB,YACNH,KAG8B6B,EAAAA,MAAMwD,YAClC3D,EAAMvB,YACNH,GAGA,MAAM,IAAIC,EACR,2BAA2BD,iDAGlBqD,OAAOiC,QAAQN,GAC3BO,IAAI,EAAEC,EAAGC,MAAQ,CAChBzF,IAAKwF,EACL/F,MAAOgG,KAERC,KAAMC,GACE,CAACrL,EAAOI,QAASJ,EAAOM,OAAO2I,SAASoC,EAAE3F,MAAQ,EAAI,GAE1D4F,QAASC,IACd,IAAKA,EAAK,MAAM,IAAI5F,EAAe,sBAEnC,OAAQ4F,EAAI7F,KACV,KAAK1F,EAAOK,KACV+J,EAAW1E,GAAc6F,EAAIpG,MAC7B,MAEF,KAAKnF,EAAOM,MAAO,CACjB,IAAKiH,EAAKA,MAACiE,gBAAgBpE,EAAO1B,GAChC,MAAM,IAAIC,EACR,UAAUD,uBAGd,IAAI+F,EACJ,MAAMC,EAAYtE,EAChB1B,GAOF,GAJsB,iBAAbgG,GACM,OAAbA,GACCC,MAAMC,QAAQF,GAEG,CAClB,MAAMG,EACHN,EAAIpG,MAAcA,OAClBI,KACHkG,EAAQ,IAAKlE,EAAKA,MAACkD,IAAIoB,GACxB,CAED1B,EAAWA,GAAY,GACvB,MAAM2B,EAAsB/C,OAAOe,OACjC,CAAE,EACFP,GAAe,GACf,CAAEnC,MAAOqE,GACT,CACEhC,aAAc8B,EAAIpG,MAClB4G,QAASzB,EACPf,GAAawC,QACbrG,KAIAsG,EAAkBrE,KAAK2B,kBAC3BoC,GAAYD,EACZK,GACA,GAEF3B,EAAS8B,KACPD,GAEF,KACD,CACD,KAAKhM,EAAOW,WAAY,CACtB0J,EAASA,GAAU,GACdkB,EAAIpG,MAA6BI,OACpC8E,EACGkB,EAAIpG,MAA6BI,MAChCG,GACN,MAAMP,EAAQ4D,OAAOe,OACnB,CAAE,EACFD,EAAe1E,OAAO4E,MAAQ,CAAA,EAC9BA,GAAM5E,OAAS,CAAA,EACdoG,EAAIpG,MAA6BA,OAAS,CAAA,EAC3CoE,GAEFa,EAAa,CACXlF,IAAK6E,GAAM7E,KAAOC,EAAM+G,QAAU,GAClC/G,MAAO4D,OAAOe,OAAO,CAAE,EAAEM,GAAYjF,MAAO,CAAEkF,UAAUlF,IAG1D,KACD,CACD,KAAKnF,EAAOiB,OACZ,KAAKjB,EAAOoB,KACZ,KAAKpB,EAAOmB,MACZ,KAAKnB,EAAOa,aACZ,KAAKb,EAAOI,QAAS,CACnB+J,EAAWA,GAAY,GACvB,MAAMgC,EAA6BZ,EAAIpG,MACjCA,EAAQ4D,OAAOe,OACnB,CAAE,EACFM,GAAYjF,MACZgH,EAAQhH,OAAS,CAAA,EACjBgH,GAAShH,OAAOI,KACZ,CACE6G,KAAM9B,EACJf,GAAawC,QACbI,EAAQhH,MAAOI,MAEjBwG,aAASM,GAEX,CAAE,EACN9C,GAGF,GAAIgC,EAAI7F,MAAQ1F,EAAOI,QAAS,CAC9B,MAAM4L,EAAwD,CAC5D9G,IAAKiH,EAAQjH,KAAOkF,GAAYlF,KAAOA,GAAO,GAC9CC,SAEImH,EAAiB9B,EACrB9E,GAEF,GAAI4G,EACF,IAAK,MAAMf,KAAOxC,OAAOiC,QAAQsB,GAAgBrB,IAC/C,EAAEC,EAAGC,MAAQ,CAAEzF,IAAKwF,EAAG/F,MAAOgG,KAE1BxD,KAAKuB,yBAAyBqC,EAAI7F,KACpCsG,EAAgB7G,MAAMwC,KAAKK,UAAUuD,EAAI7F,MACvCiC,KAAKwB,iBAAiBoC,EAAI7F,IAAK6F,EAAIpG,OAGnCwC,KAAKmB,oBAAoByC,EAAI7F,OAC3B6F,EAAI7F,MAAQ9B,EAAgB7B,OAC9BiK,EAAgB7G,MAAMnF,EAAOkB,QAC3BqK,EAAIpG,MAAMqB,QAAU7C,GAExBqI,EAAgB7G,MAAMnF,EAAOe,MAAQwK,EAAI7F,KAM/C,IAAKsG,EAAgB7G,MAAMnF,EAAOe,MAAO,CACvC,MAAMwL,EAAY9G,EAAAA,SAASY,KACzBe,EAAMvB,YACNH,GACAH,KACFyG,EAAgB7G,MAAMnF,EAAOe,MAAQ4G,KAAKK,UACxCuE,EAAUnE,eACV,EAEH,CAED4D,EAAgB7G,MAAMmB,MAAQF,EAC5B4F,EAAgB7G,MAAMnF,EAAOe,MAC7BqG,EAAM1B,GACNsG,EAAgB7G,MAAMnF,EAAOkB,SAE/BiJ,EAAS8B,KAAKD,EACf,KAAM,CACL,MAAMQ,EAAQrC,EAASsC,KACpBC,GACCA,EAAEvH,OAAOI,OAASG,GACjB,CAAC1F,EAAOa,aAAcb,EAAOoB,MAAM6H,SAASsC,EAAI7F,MAC/CgH,GAAGvH,OAAO4G,UAAYrG,GAE5B,GAAI8G,EACF,GAAIjB,EAAI7F,MAAQ1F,EAAOa,aACrB2L,EAAMrH,MAAQ4D,OAAOe,OAAO,CAAE,EAAE0C,EAAMrH,MAAO,CAC3C,CAACoG,EAAI7F,KAAMyG,QAER,CACL,MAAMQ,IAAEA,EAAGC,IAAEA,EAAGzH,MAAEA,GAAUoG,EAAIpG,MAChCqH,EAAMrH,MAAQ4D,OAAOe,OACnB,CAAA,EACA3E,GAAS,CAAE,EACXqH,EAAMrH,MACNwH,EACAC,EAEH,CAEJ,CACD,KACD,CACD,QACE,MAAM,IAAIjH,EAAe,gBAAgB4F,EAAI7F,OAGpD,CACF,CAED6D,EAAcR,OAAOe,OAAO,CAAA,EAAI3E,EAAOoE,EAAa,CAClDS,SAAUA,GAAY,CAAE,IAG1B,MAAM6C,EAAYtD,GAAasD,UAC/B1C,EAAWA,GACPiB,KAAK,CAACC,EAAGyB,KAAOzB,GAAGlG,OAAO4H,OAAS,IAAMD,GAAG3H,OAAO4H,OAAS,IAC7DnE,OAAQmB,IACP,MAAMiD,EAAYjD,GAAM5E,OAAO8H,QAAkC,GACjE,OAAKD,GAAUpD,QACVoD,EAAS/D,SAAS4D,QAAvB,EAD8B9C,IAGlC,MAAMmD,EAA6B,CACjChI,IAAKA,EACL6E,KAAMK,EACNjF,MAAOoE,EACPY,SAAUA,GAIZ,OADIX,IAAY0D,EAAOC,WAAahG,EAAkBC,IAC/C8F,CACR,CA8BD,eAAOnF,CAASqF,GACd,GAAIA,EAAOvF,WAAWF,KAAKC,MACzB,MAAM,IAAIhC,EAAaA,cACrB,0BAA0BwH,EAAOvF,0BAErCF,KAAKC,MAAMwF,EAAOvF,SAAWuF,EAC7BzF,KAAK0F,QAAUD,CAChB,CAaO,gBAAOE,CACbC,GAEA,GAAIA,aAAe7F,EAAiB,OAAO6F,EAC3C,MAAMH,EAA6B,IAAIG,EAEvC,OADAH,EAAOI,aACAJ,CACR,CAaD,UAAO3C,CAAO5C,GACZ,IAAKA,EACH,OAAOF,KAAK2F,UACV3F,KAAK0F,SAET,KAAMxF,KAAWF,KAAKC,OACpB,MAAM,IAAIhC,EAAaA,cACrB,0BAA0BiC,oBAE9B,OAAOF,KAAK2F,UACV3F,KAAKC,MAAMC,GAId,CAcD,aAAOqE,CAAwB9E,KAAab,GAG1C,IADEgB,EAAAA,MAAMkD,IAAIrD,EAAMvB,YAAYN,QAASgC,EAAKA,MAACkG,WAAWrG,GACtC,MAAM,IAAIxB,EAAAA,cAAc,6BAC1C,MAAMiC,EAAUN,EAAKA,MAACmG,WAAWtG,EAAMvB,aAGvC,OAAO6B,EAAgB+C,IAAI5C,GAASqE,OAAO9E,KAAUb,EACtD,EChkBa,SAAAoH,KAAUC,GACxB,MAAO,CAAgBC,EAAaxI,IAC3ByI,EAAYA,aACjB9H,EAAkBX,EAAarF,EAAOiB,QACtC2M,EAFKE,CAGLD,EAAQxI,EAEd,CCtBK0I,EAAAxG,MAACyG,UAAU9B,OAAS,YAAuC3F,GAC9D,OAAOmB,EAAgBwE,OAAOvE,QAASpB,EACzC,EAECgB,EAAAA,MAAcmG,YACbtG,GAEO3B,WAASgF,IAAIrD,EAAO3B,WAASC,IAAI1F,EAAOC,QAASD,EAAOG,eAC/D8N,KAAK1G,EAAAA,OAENA,EAAAA,MAAc2C,gBACb9C,IAEA,MAAM9B,EAAOG,EAAAA,SAASgF,IACpBrD,EACA3B,EAAQA,SAACC,IAAI1F,EAAOC,QAASiG,iBAAeC,aAE9C,GAAKb,EACL,OAAOyD,OAAOC,KAAK1D,EACrB,GAAE2I,KAAK1G,EAAAA,OAEOwG,EAAAxG,MAACoD,eAAiB,CAC9BvD,EACAnB,EACAP,KAEA,MAAMJ,EAAOG,EAAQA,SAACgF,IACpBrD,EACA3B,EAAAA,SAASC,IAAI1F,EAAOC,QAASiG,EAAcA,eAACC,WAAYF,IAE1D,GAAKX,EACL,OAAKI,EACEJ,EAAKI,GADKJ,CAEnB,EAECiC,EAAAA,MAAciB,UACbpB,GAEO3B,WAASgF,IAAIrD,EAAO3B,WAASC,IAAI1F,EAAOC,QAASD,EAAOE,UAGhEqH,EAAAA,MAAcwD,YAAc,CAC3B3D,EACAnB,IAEOR,EAAQA,SAACgF,IAAIrD,EAAOpB,EAAkBC,EAAMjG,EAAOI,UAG3DmH,EAAAA,MAAckB,cACbrB,GAEO3B,WAASgF,IAAIrD,EAAO3B,WAASC,IAAI1F,EAAOC,QAASD,EAAOU,cAGhE6G,EAAAA,MAAcmB,cACbtB,GAEO3B,WAASgF,IAAIrD,EAAO3B,WAASC,IAAI1F,EAAOC,QAASD,EAAOc,WAGhEyG,EAAAA,MAAcoB,WACbvB,GAEO3B,WAASgF,IAAIrD,EAAO3B,WAASC,IAAI1F,EAAOC,QAASD,EAAOY,WAGhE2G,EAAAA,MAAcuD,WAAa,CAC1B1D,EACAnB,MAESR,WAASgF,IAAIrD,EAAOpB,EAAkBC,EAAMjG,EAAOiB,SAGhD8M,EAAAxG,MAAC2G,aAAe,CAC5B9G,EACAnB,EACAkI,KAEA,MAAM7I,EAAOG,WAASgF,IAAIrD,EAAOpB,EAAkBC,EAAMjG,EAAOiB,SAChE,QAAKqE,IACA6I,EACG7I,EAA6B2D,SAASkF,GAD9B7I,EAElB,EAECiC,EAAAA,MAAcqD,SAAW,CACxBxD,EACAnB,KAEA,MAAMX,EAAOG,EAAQA,SAACgF,IACpBrD,EACA3B,EAAAA,SAASC,IAAI1F,EAAOC,QAASiG,EAAcA,eAACC,WAAYF,IAE1D,IAAKX,EACH,MAAM,IAAIuF,EAAAA,cACR,mCAAmC5E,gBAAmBmB,EAAM7B,SAEhE,MAAMyD,EAAOD,OAAOC,KAAK1D,GAAMsD,OAAQsC,GACrC,CAAClL,EAAOK,KAAML,EAAOI,QAASJ,EAAOM,OAAO2I,SAASiC,IAEvD,GAAoB,IAAhBlC,EAAKY,OACP,MAAM,IAAIiB,EAAAA,cACR,2CAA2C5E,gBAAmBmB,EAAM7B,SAExE,GAAIyD,EAAKY,OAAS,EAChB,MAAM,IAAIjE,EACR,iGAEJ,OAAOL,EAAK0D,EAAK,GACnB,EAYCzB,EAAAA,MAAc6G,aAEbhH,IAEA,MAAM9B,EAAOG,EAAAA,SAASgF,IACpBrD,EACA3B,EAAQA,SAACC,IAAI1F,EAAOC,QAASiG,iBAAeC,aAE9C,GAAKb,EACL,OAAOyD,OAAOC,KAAK1D,EACrB,GAAE2I,KAAK1G,EAAAA,4BCpJL,WAAA1B,GAAgB,2HCEK,wJHkHd8H,EACLU,gBAAcC,OACdD,EAAaA,cAACE,KACdF,EAAAA,cAAcG,OACdH,gBAAcI,iEFtGFC,EACdrI,EACAC,EACAqI,GAEA,IAAIzB,EACJ,OAAQ7G,GACN,KAAKsF,MAAMpG,KAUT2H,GATevB,MAAMC,QAAQtF,GACzBA,EAAM2E,IAAKE,GACTuD,EACExG,EAAcA,eAACC,OAAO5C,KAAK6C,cAC3B+C,EACAwD,IAGJ,CAACrI,IACW+C,KAAK,KACrB,MAEF,KAAKzF,EAAgBQ,OACnB8I,EAAStG,EAAcN,GACvB,MACF,KAAK1C,EAAgB7B,KAAM,CACzB,MAAMyE,EAA6BmI,EAAWnI,OAC1CF,IAAS,GAAGA,GAAQsI,OAAOhF,SAC7BsD,SACS5G,IAAU4B,EAAcA,eAAC9D,OAAOmB,KAAK6C,cACxC,IAAIzB,KAAKL,GACTA,EACEE,EACEqI,EAASA,UAACrI,EAAQF,GAClB,IAAIK,KAAKL,QACX+F,GAEV,KACD,CACD,QACEa,SACS5G,IAAU4B,EAAcA,eAAC4G,OAAOvJ,KAAK6C,cACxCuD,MAAMC,QAAQtF,GACZA,EAAM+C,KAAK,KACX0F,KAAKC,UAAU1I,UACVA,IAAU4B,EAAcA,eAACI,QAAQ/C,KAAK6C,cAC3C9B,SACOA,IAAU4B,EAAcA,eAACC,OAAO5C,KAAK6C,cAC1CpB,EAAWV,GACX4G,EAEd,QAAsB,IAAXA,EACT,MAAM,IAAItH,EAAaA,cACrB,iCAAiCS,iBAAoBC,OAAWA,KAGpE,OAAO4G,CACT,eFW2BE,GAClB6B,QACLzJ,EAAAA,SAASC,EAAQA,SAACC,IAAI1F,EAAOC,QAASD,EAAOG,aAAciN,iBEWpC9G,IACzB,MAAMW,EAAwC,CAC5C,QAAS,IACT,OAAQ,IACR,OAAQ,KAGV,OAAO,GAAGX,GAAQY,QAAQ,mBAAqBhC,GACtC+B,EAAc/B,IAAQA,EAEjC,YEiMgB,CACdgK,EACAhK,EACAC,EAA6B,CAAE,EAC/ByG,GAAmB,EACnBuD,GAAqB,IAEd,CAACC,EAAa/J,KACnB,MAAMG,EAA8B,CAClCN,IAAKA,EACLiK,UAAWA,EACXhK,MAAO4D,OAAOe,OACZ,CAAA,EACA3E,GAAS,CAAA,EACT,CACEI,KAAM2J,GAAS7J,GAEjBuG,EACI,CAAEyD,YAAa,CAAC1D,MAAMpG,MAAO+J,UAAU,GACvC,CAAEA,SAAUnK,GAAOmK,WAAY,KAIvCxB,eAAa9H,EAAkBX,EAAarF,EAAOM,OAAQkF,EAA3DsI,CACEsB,EACA/J,gBA/JA,CACJH,EACAC,EACAgK,GAAqB,IAEd,CAAC/J,EAAeC,KACrB,MAAMG,EAA8B,CAClCN,IAAKA,EACLiK,UAAWA,EACXhK,MAAO4D,OAAOe,OAAO,CAAA,EAAI3E,GAAS,CAAA,EAAI,CACpCI,KAAMF,KAIV,OAAOyI,EAAYA,aACjB9H,EAAkBX,EAAarF,EAAOI,SACtCoF,EAFKsI,CAGL1I,EAAUC,iBJqBWF,GACjBC,IACN,MAAME,EAA0B,CAC9B0E,SAAU7E,GAEZ,OAAOK,WACLC,EAAAA,SAASC,IAAI1F,EAAOC,QAASD,EAAOc,UACpCwE,EAFKE,CAGLJ,eA8DU,CACdF,EACAqK,EAA6B,EAC7BC,EAA0B,EAC1BrK,EAAa,KAEN,CAACC,EAAeC,IACdJ,EACLC,EACA6D,OAAOe,OAAO,IACY,kBAAbyF,EACP,CACEE,SAAUF,EACVG,KAAM,GAER,CACED,UAAU,EACVC,KAAMH,GAEZC,UACGzG,OAAOe,OAAO,CAAE6F,WAAY7P,EAAAA,mBAAmB8P,OAASzK,KAbxDF,CAeLG,EAAUC,mBIqJauH,EAAmB,EAAGD,EAAc,IACxD,CAACyC,EAAa/J,KACnB,MAAMG,EAAiC,CACrCD,KAAMF,EAGNF,MAAO4D,OAAOe,OAAO,CAAE,EAAE,CAAE6C,MAAKC,SAElCkB,eAAa9H,EAAkBX,EAAarF,EAAOa,cAAe2E,EAAlEsI,CACEsB,EACA/J,kBJhUU,CAAYE,EAAeJ,IAElC,CAACC,EAAeC,KACrB,MAAMC,EAA4B,CAChCyE,KAAM,CACJ7E,IAAKK,GAAQH,EAASG,KACtBJ,MAAOA,IAGX,OAAOK,WACLC,EAAAA,SAASC,IAAI1F,EAAOC,QAASD,EAAOU,aACpC4E,EAFKE,CAGLJ,kBIyOJyK,OAA+BxD,EAC/BlH,IAEO,CAACiK,EAAa/J,KACnB,MAAMG,EAAwC,CAC5CD,KAAMsK,GAAYxK,EAClBF,MAAOA,GAAS,CAAE,GAEpB2I,eAAa9H,EAAkBX,EAAarF,EAAOW,YAAa6E,EAAhEsI,CACEsB,EACA/J,0BA/TU,CAAQ0H,EAAgB,IAC/B,CAAiBc,EAAaxI,IAC5ByI,EAAYA,aAAC9H,EAAkBX,EAAarF,EAAOmB,OAAQ4L,EAA3De,CACLD,EACAxI,gBA8bU,CAAWyK,EAAe,IACjC,CAAoB1K,EAAeC,IACjCyI,EAAYA,aAAC9H,EAAkBX,EAAarF,EAAOoB,MAAO0O,EAA1DhC,CACL1I,EACAC,aAtSJwK,OAA+BxD,EAC/B2C,GAAqB,IAEd,CAACI,EAAa/J,KACnB,MAAMG,EAA2B,CAC/BD,KAAMsK,GAAYxK,EAClB2J,UAAWA,GAEblB,eAAa9H,EAAkBX,EAAarF,EAAOK,MAAOmF,EAA1DsI,CACEsB,EACA/J,qBJ2IU,CACdH,EACA6K,EAA8C,EAC9CC,GAAqB,EACrB7K,EAAa,MAEb,IAAI8K,EAA0C,GAK9C,MAJqB,iBAAVF,IACTE,EAAaF,EACbA,EAAQE,EAAWrG,QAEd3E,EAAQC,EAAK,CAClB6K,QACAC,YACAC,aACA9K,SAEJ"}
|
|
1
|
+
{"version":3,"file":"ui-decorators.cjs","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/ui/decorators.ts","../src/ui/DecafComponent.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","exports","UIKeys","REFLECT","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","EVENTS","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","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","ReservedModels","STRING","toLowerCase","BIGINT","BOOLEAN","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","item","handlers","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","map","k","v","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","renderedBy","hideOn","operations","object","propMetadata","uion","event","handler","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","OperationKeys","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","JSON","stringify","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles"],"mappings":"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"}
|
package/dist/ui-decorators.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ValidationKeys as e,EmailValidator as t,URLValidator as r,DateValidator as o,PasswordValidator as n,RequiredValidator as s,MinValidator as i,MaxValidator as a,StepValidator as c,MinLengthValidator as E,MaxLengthValidator as u,PatternValidator as p,EqualsValidator as l,DiffValidator as T,LessThanValidator as d,LessThanOrEqualValidator as R,GreaterThanValidator as f,GreaterThanOrEqualValidator as L,formatDate as O,ReservedModels as A,parseDate as m,Model as y}from"@decaf-ts/decorator-validation";import{metadata as I,Metadata as D,apply as N,DecorationKeys as h,propMetadata as g}from"@decaf-ts/decoration";import{InternalError as P,NotFoundError as M,OperationKeys as S}from"@decaf-ts/db-decorators";var C;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(C||(C={}));const b={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",READ_ONLY:"readonly",REQUIRED:e.REQUIRED,MIN:e.MIN,MIN_LENGTH:e.MIN_LENGTH,MAX:e.MAX,MAX_LENGTH:e.MAX_LENGTH,PATTERN:e.PATTERN,URL:e.URL,STEP:e.STEP,DATE:e.DATE,EMAIL:e.EMAIL,PASSWORD:e.PASSWORD,EQUALS:e.EQUALS,DIFF:e.DIFF,LESS_THAN:e.LESS_THAN,LESS_THAN_OR_EQUAL:e.LESS_THAN_OR_EQUAL,GREATER_THAN:e.GREATER_THAN,GREATER_THAN_OR_EQUAL:e.GREATER_THAN_OR_EQUAL},w={[b.EMAIL]:t,[b.URL]:r,[b.DATE]:o,[b.PASSWORD]:n},U={[b.REQUIRED]:s,[b.MIN]:i,[b.MAX]:a,[b.STEP]:c,[b.MIN_LENGTH]:E,[b.MAX_LENGTH]:u,[b.PATTERN]:p,[b.EQUALS]:l,[b.DIFF]:T,[b.LESS_THAN]:d,[b.LESS_THAN_OR_EQUAL]:R,[b.GREATER_THAN]:f,[b.GREATER_THAN_OR_EQUAL]:L},k="yyyy-MM-dd",H={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"},_=[H.CHECKBOX,H.RADIO];function B(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return I(D.key(b.REFLECT,b.UIMODEL),n)(r)}}function F(e){return N(I(D.key(b.REFLECT,b.RENDERED_BY),e))}function j(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return I(D.key(b.REFLECT,b.UILISTMODEL),n)(r)}}function G(e){return t=>{const r={handlers:e};return I(D.key(b.REFLECT,b.HANDLERS),r)(t)}}function v(e,t=1,r=1,o={}){return(n,s)=>B(e,Object.assign({..."boolean"==typeof t?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:C.LARGE},o)}))(n,s)}function X(e,t=1,r=!1,o={}){let n=[];return"object"==typeof t&&(n=t,t=n.length),B(e,{pages:t,paginated:r,pageTitles:n,props:o})}class Y extends P{constructor(e){super(e,Y.name)}}function $(e,t){return D.key(b.REFLECT,h.PROPERTIES,e,t)}function Q(e,t,...r){if(e===b.DATE){if(!t)return"";const e=r.shift()||k;return O(new Date(t),e)}return t}function x(e,t,r){let o;switch(e){case Array.name:o=(Array.isArray(t)?t.map(e=>x(A.STRING.name.toLowerCase(),e,r)):[t]).join(",");break;case H.NUMBER:o=V(t);break;case H.DATE:{const e=r.format;t&&(""+t).trim().length&&(o=typeof t===A.NUMBER.name.toLowerCase()?new Date(t):t?e?m(e,t):new Date(t):void 0);break}default:o=typeof t===A.OBJECT.name.toLowerCase()?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===A.BOOLEAN.name.toLowerCase()?t:typeof t===A.STRING.name.toLowerCase()?W(t):o}if(void 0===o)throw new P(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return o}function V(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function W(e){if(!e)return e;const t={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function K(e){const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)}function z(e){let t=Date.now();try{y.pk(e.constructor)&&(t=e[y.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${t}`}class J{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,J.register(this)}translate(e,t=!0){if(t)switch(e){case A.STRING.name.toLowerCase():return H.TEXT;case A.NUMBER.name.toLowerCase():case A.BIGINT.name.toLowerCase():return H.NUMBER;case A.BOOLEAN.name.toLowerCase():return H.CHECKBOX;case A.DATE.name.toLowerCase():return H.DATE}else switch(e){case H.SELECT:case H.TEXT:case H.EMAIL:case H.COLOR:case H.PASSWORD:case H.TEL:case H.URL:case H.SEARCH:case H.HIDDEN:case H.TEXTAREA:case H.RADIO:return A.STRING.name.toLowerCase();case H.NUMBER:return A.NUMBER.name.toLowerCase();case H.CHECKBOX:return A.BOOLEAN.name.toLowerCase();case H.DATE:case H.DATETIME_LOCAL:case H.TIME:return A.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[y.uiModelOf(e.constructor),y.uiListModelOf(e.constructor),y.uiHandlersFor(e.constructor),y.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(w).includes(e)}isValidatableByAttribute(e){return Object.keys(U).includes(e)}toAttributeValue(e,t){if(!Object.keys(U).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(U).join(", ")}.`);return e===b.REQUIRED||t[e]}toFieldDefinition(t,r={},o=!0){const{inheritProps:n,...s}=r;r=s;const i=this.getClassDecoratorsMetadata(t);if(!i.length)throw new Y(`No ui definitions set for model ${t.constructor.name}. Did you use @uimodel?`);const a=Object.assign({},...i,n||{}),{tag:c,props:E,item:u,handlers:p}=a,l=y.uiPropertiesOf(t.constructor);let T,d=u?.props||{},R={};const f=(e,t)=>e?[e,t].join("."):t;if(l){const o=D.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=y.uiDecorationOf(t.constructor,e);let s;try{s=y.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof M))throw e}if(y.uiIsHidden(t.constructor,e)&&!y.uiElementOf(t.constructor,e))throw new Y(`@uielement no found in "${e}". It is required to use hiddenOn decorator.`);Object.entries(n).map(([e,t])=>({key:e,props:t})).sort(e=>[b.ELEMENT,b.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new Y("No decorator found");switch(n.key){case b.PROP:d[e]=n.props;break;case b.CHILD:{if(!y.isPropertyModel(t,e))throw new Y(`Child "${e}" must be a model.`);let o;const s=t[e];if("object"!=typeof s||null===s||Array.isArray(s)){const e=n.props.props?.name;o=new(y.get(e))}T=T||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:f(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1);T.push(a);break}case b.UILISTPROP:{R=R||{},n.props.name&&(R[n.props.name]=e);const t=Object.assign({},a.props?.item||{},u?.props||{},n.props.props||{},r);d={tag:u?.tag||t.render||"",props:Object.assign({},d?.props,{mapper:R},t)};break}case b.HIDDEN:case b.PAGE:case b.ORDER:case b.UILAYOUTPROP:case b.ELEMENT:{T=T||[];const s=n.props,i=Object.assign({},d?.props,s.props||{},s?.props?.name?{path:f(r?.childOf,s.props.name),childOf:void 0}:{},r);if(n.key===b.ELEMENT){const r={tag:s.tag||d?.tag||c||"",props:i},n=o[e];if(n)for(const e of Object.entries(n).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===H.DATE&&(r.props[b.FORMAT]=e.props.format||k),r.props[b.TYPE]=e.key);if(!r.props[b.TYPE]){const o=D.type(t.constructor,e).name;r.props[b.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=Q(r.props[b.TYPE],t[e],r.props[b.FORMAT]),T.push(r)}else{const t=T.find(t=>t.props?.name===e||[b.UILAYOUTPROP,b.PAGE].includes(n.key)&&t?.props?.childOf===e);if(t)if(n.key!==b.UILAYOUTPROP)t.props=Object.assign({},t.props,{[n.key]:s});else{const{row:e,col:r,props:o}=n.props;t.props=Object.assign({},o||{},t.props,e,r)}}break}default:throw new Y("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:p||{}});const L=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(L)?void 0:e});const O={tag:c,item:d,props:r,children:T};return o&&(O.rendererId=z(t)),O}static register(e){if(e.flavour in this.cache)throw new P(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof J)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 P(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!y.get(e.constructor.name)&&!y.fromObject(e))throw new P("No model registered found");const r=y.renderedBy(e.constructor);return J.get(r).render(e,...t)}}function q(...e){return(t,r)=>g($(r,b.HIDDEN),e)(t,r)}function Z(e=1){return(t,r)=>g($(r,b.ORDER),e)(t,r)}function ee(){return q(S.CREATE,S.READ,S.UPDATE,S.DELETE)}function te(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return g($(n,b.ELEMENT),s)(o,n)}}function re(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};g($(o,b.PROP),n)(r,o)}}function oe(e,t,r={},o=!1,n=!1){return(s,i)=>{const a={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||i},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};g($(i,b.CHILD),a)(s,i)}}function ne(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};g($(o,b.UILISTPROP),n)(r,o)}}function se(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};g($(o,b.UILAYOUTPROP),n)(r,o)}}function ie(e=1){return(t,r)=>g($(r,b.PAGE),e)(t,r)}class ae{constructor(){}}y.prototype.render=function(...e){return J.render(this,...e)},y.renderedBy=(e=>D.get(e,D.key(b.REFLECT,b.RENDERED_BY))).bind(y),y.uiPropertiesOf=(e=>{const t=D.get(e,D.key(b.REFLECT,h.PROPERTIES));if(t)return Object.keys(t)}).bind(y),y.uiDecorationOf=(e,t,r)=>{const o=D.get(e,D.key(b.REFLECT,h.PROPERTIES,t));if(o)return r?o[r]:o},y.uiModelOf=e=>D.get(e,D.key(b.REFLECT,b.UIMODEL)),y.uiElementOf=(e,t)=>D.get(e,$(t,b.ELEMENT)),y.uiListModelOf=e=>D.get(e,D.key(b.REFLECT,b.UILISTMODEL)),y.uiHandlersFor=e=>D.get(e,D.key(b.REFLECT,b.HANDLERS)),y.uiLayoutOf=e=>D.get(e,D.key(b.REFLECT,b.UILAYOUT)),y.uiIsHidden=(e,t)=>!!D.get(e,$(t,b.HIDDEN)),y.uiIsHiddenOn=(e,t,r)=>{const o=D.get(e,$(t,b.HIDDEN));return!!o&&(r?o.includes(r):o)},y.uiTypeOf=(e,t)=>{const r=D.get(e,D.key(b.REFLECT,h.PROPERTIES,t));if(!r)throw new M(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[b.PROP,b.ELEMENT,b.CHILD].includes(e));if(0===o.length)throw new M(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(o.length>1)throw new Y("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[o[0]]},y.uiListItems=(e=>{const t=D.get(e,D.key(b.REFLECT,h.PROPERTIES));if(t)return Object.keys(t)}).bind(y);const ce="##VERSION##";export{ae as EventHandler,_ as HTML5CheckTypes,k as HTML5DateFormat,H as HTML5InputTypes,J as RenderingEngine,Y as RenderingError,b as UIKeys,C as UIMediaBreakPoints,ce as VERSION,U as ValidatableByAttribute,w as ValidatableByType,W as escapeHtml,Q as formatByType,z as generateUIModelID,$ as getUIAttributeKey,ee as hidden,q as hideOn,V as parseToNumber,x as parseValueByType,F as renderedBy,K as revertHtml,oe as uichild,te as uielement,G as uihandlers,v as uilayout,se as uilayoutprop,j as uilistmodel,ne as uilistprop,B as uimodel,Z as uiorder,ie as uipageprop,re as uiprop,X as uisteppedmodel};
|
|
1
|
+
import{ValidationKeys as e,EmailValidator as t,URLValidator as r,DateValidator as o,PasswordValidator as n,RequiredValidator as s,MinValidator as i,MaxValidator as a,StepValidator as c,MinLengthValidator as E,MaxLengthValidator as u,PatternValidator as p,EqualsValidator as l,DiffValidator as d,LessThanValidator as T,LessThanOrEqualValidator as f,GreaterThanValidator as R,GreaterThanOrEqualValidator as O,formatDate as L,ReservedModels as A,parseDate as m,Model as y}from"@decaf-ts/decorator-validation";import{metadata as h,Metadata as I,apply as D,DecorationKeys as N,propMetadata as g}from"@decaf-ts/decoration";import{InternalError as M,NotFoundError as P,OperationKeys as S}from"@decaf-ts/db-decorators";import{LoggedClass as b}from"@decaf-ts/logging";var C;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(C||(C={}));const w={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",EVENTS:"events",READ_ONLY:"readonly",REQUIRED:e.REQUIRED,MIN:e.MIN,MIN_LENGTH:e.MIN_LENGTH,MAX:e.MAX,MAX_LENGTH:e.MAX_LENGTH,PATTERN:e.PATTERN,URL:e.URL,STEP:e.STEP,DATE:e.DATE,EMAIL:e.EMAIL,PASSWORD:e.PASSWORD,EQUALS:e.EQUALS,DIFF:e.DIFF,LESS_THAN:e.LESS_THAN,LESS_THAN_OR_EQUAL:e.LESS_THAN_OR_EQUAL,GREATER_THAN:e.GREATER_THAN,GREATER_THAN_OR_EQUAL:e.GREATER_THAN_OR_EQUAL},U={[w.EMAIL]:t,[w.URL]:r,[w.DATE]:o,[w.PASSWORD]:n},k={[w.REQUIRED]:s,[w.MIN]:i,[w.MAX]:a,[w.STEP]:c,[w.MIN_LENGTH]:E,[w.MAX_LENGTH]:u,[w.PATTERN]:p,[w.EQUALS]:l,[w.DIFF]:d,[w.LESS_THAN]:T,[w.LESS_THAN_OR_EQUAL]:f,[w.GREATER_THAN]:R,[w.GREATER_THAN_OR_EQUAL]:O},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:w.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:w.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:w.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:w.URL,WEEK:"week"},B=[_.CHECKBOX,_.RADIO];function F(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return h(I.key(w.REFLECT,w.UIMODEL),n)(r)}}function j(e){return D(h(I.key(w.REFLECT,w.RENDERED_BY),e))}function G(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return h(I.key(w.REFLECT,w.UILISTMODEL),n)(r)}}function v(e){return t=>{const r={handlers:e};return h(I.key(w.REFLECT,w.HANDLERS),r)(t)}}function X(e,t=1,r=1,o={}){return(n,s)=>F(e,Object.assign({..."boolean"==typeof t?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:C.LARGE},o)}))(n,s)}function Y(e,t=1,r=!1,o={}){let n=[];return"object"==typeof t&&(n=t,t=n.length),F(e,{pages:t,paginated:r,pageTitles:n,props:o})}class $ extends M{constructor(e){super(e,$.name)}}function Q(e,t){return I.key(w.REFLECT,N.PROPERTIES,e,t)}function x(e,t,...r){if(e===w.DATE){if(!t)return"";const e=r.shift()||H;return L(new Date(t),e)}return t}function V(e,t,r){let o;switch(e){case Array.name:o=(Array.isArray(t)?t.map(e=>V(A.STRING.name.toLowerCase(),e,r)):[t]).join(",");break;case _.NUMBER:o=W(t);break;case _.DATE:{const e=r.format;t&&(""+t).trim().length&&(o=typeof t===A.NUMBER.name.toLowerCase()?new Date(t):t?e?m(e,t):new Date(t):void 0);break}default:o=typeof t===A.OBJECT.name.toLowerCase()?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===A.BOOLEAN.name.toLowerCase()?t:typeof t===A.STRING.name.toLowerCase()?z(t):o}if(void 0===o)throw new M(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return o}function W(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function z(e){if(!e)return e;const t={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function K(e){const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)}function J(e){let t=Date.now();try{y.pk(e.constructor)&&(t=e[y.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${t}`}class q{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,q.register(this)}translate(e,t=!0){if(t)switch(e){case A.STRING.name.toLowerCase():return _.TEXT;case A.NUMBER.name.toLowerCase():case A.BIGINT.name.toLowerCase():return _.NUMBER;case A.BOOLEAN.name.toLowerCase():return _.CHECKBOX;case A.DATE.name.toLowerCase():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 A.STRING.name.toLowerCase();case _.NUMBER:return A.NUMBER.name.toLowerCase();case _.CHECKBOX:return A.BOOLEAN.name.toLowerCase();case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return A.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[y.uiModelOf(e.constructor),y.uiListModelOf(e.constructor),y.uiHandlersFor(e.constructor),y.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(U).includes(e)}isValidatableByAttribute(e){return Object.keys(k).includes(e)}toAttributeValue(e,t){if(!Object.keys(k).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(k).join(", ")}.`);return e===w.REQUIRED||t[e]}toFieldDefinition(t,r={},o=!0){const{inheritProps:n,...s}=r;r=s;const i=this.getClassDecoratorsMetadata(t);if(!i.length)throw new $(`No ui definitions set for model ${t.constructor.name}. Did you use @uimodel?`);const a=Object.assign({},...i,n||{}),{tag:c,props:E,item:u,handlers:p}=a,l=y.uiPropertiesOf(t.constructor);let d,T=u?.props||{},f={};const R=(e,t)=>e?[e,t].join("."):t;if(l){const o=I.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=y.uiDecorationOf(t.constructor,e);let s;try{s=y.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof P))throw e}if(y.uiIsHidden(t.constructor,e)&&!y.uiElementOf(t.constructor,e))throw new $(`@uielement no found in "${e}". It is required to use hiddenOn decorator.`);Object.entries(n).map(([e,t])=>({key:e,props:t})).sort(e=>[w.ELEMENT,w.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new $("No decorator found");switch(n.key){case w.PROP:T[e]=n.props;break;case w.CHILD:{if(!y.isPropertyModel(t,e))throw new $(`Child "${e}" must be a model.`);let o;const s=t[e];if("object"!=typeof s||null===s||Array.isArray(s)){const e=n.props.props?.name;o=new(y.get(e))}d=d||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:R(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1);d.push(a);break}case w.UILISTPROP:{f=f||{},n.props.name&&(f[n.props.name]=e);const t=Object.assign({},a.props?.item||{},u?.props||{},n.props.props||{},r);T={tag:u?.tag||t.render||"",props:Object.assign({},T?.props,{mapper:f},t)};break}case w.EVENTS:case w.HIDDEN:case w.PAGE:case w.ORDER:case w.UILAYOUTPROP:case w.ELEMENT:{d=d||[];const s=n.props,i=Object.assign({},T?.props,s.props||{},s?.props?.name?{path:R(r?.childOf,s.props.name),childOf:void 0}:{},r);if(n.key===w.ELEMENT){const r={tag:s.tag||T?.tag||c||"",props:i},n=o[e];if(n)for(const e of Object.entries(n).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===_.DATE&&(r.props[w.FORMAT]=e.props.format||H),r.props[w.TYPE]=e.key);if(!r.props[w.TYPE]){const o=I.type(t.constructor,e).name;r.props[w.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=x(r.props[w.TYPE],t[e],r.props[w.FORMAT]),d.push(r)}else{const t=d.find(t=>t.props?.name===e||[w.UILAYOUTPROP,w.PAGE,w.EVENTS].includes(n.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(n.key!==w.UILAYOUTPROP)t.props=Object.assign({},t.props,{[n.key]:s});else{const{row:e,col:r,props:o}=n.props;t.props=Object.assign({},o||{},t.props,e,r)}}break}default:throw new $("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:p||{}});const O=r?.operation;d=d?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(O)?void 0:e});const L={tag:c,item:T,props:r,children:d};return o&&(L.rendererId=J(t)),L}static register(e){if(e.flavour in this.cache)throw new M(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof q)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 M(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!y.get(e.constructor.name)&&!y.fromObject(e))throw new M("No model registered found");const r=y.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>g(Q(r,w.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>g(Q(r,w.ORDER),e)(t,r)}function te(){return Z(S.CREATE,S.READ,S.UPDATE,S.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return g(Q(n,w.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};g(Q(o,w.PROP),n)(r,o)}}function ne(e,t,r={},o=!1,n=!1){return(s,i)=>{const a={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||i},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};g(Q(i,w.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};g(Q(o,w.UILISTPROP),n)(r,o)}}function ie(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};g(Q(o,w.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>g(Q(r,w.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{g(Q(o,w.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}class ue{constructor(){}}class pe extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=S,this.initialized=!1,this.handlers={}}async render(...e){}async initialize(...e){this.initialized=!0}}y.prototype.render=function(...e){return q.render(this,...e)},y.renderedBy=(e=>I.get(e,I.key(w.REFLECT,w.RENDERED_BY))).bind(y),y.uiPropertiesOf=(e=>{const t=I.get(e,I.key(w.REFLECT,N.PROPERTIES));if(t)return Object.keys(t)}).bind(y),y.uiDecorationOf=(e,t,r)=>{const o=I.get(e,I.key(w.REFLECT,N.PROPERTIES,t));if(o)return r?o[r]:o},y.uiModelOf=e=>I.get(e,I.key(w.REFLECT,w.UIMODEL)),y.uiElementOf=(e,t)=>I.get(e,Q(t,w.ELEMENT)),y.uiListModelOf=e=>I.get(e,I.key(w.REFLECT,w.UILISTMODEL)),y.uiHandlersFor=e=>I.get(e,I.key(w.REFLECT,w.HANDLERS)),y.uiLayoutOf=e=>I.get(e,I.key(w.REFLECT,w.UILAYOUT)),y.uiIsHidden=(e,t)=>!!I.get(e,Q(t,w.HIDDEN)),y.uiIsHiddenOn=(e,t,r)=>{const o=I.get(e,Q(t,w.HIDDEN));return!!o&&(r?o.includes(r):o)},y.uiTypeOf=(e,t)=>{const r=I.get(e,I.key(w.REFLECT,N.PROPERTIES,t));if(!r)throw new P(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[w.PROP,w.ELEMENT,w.CHILD].includes(e));if(0===o.length)throw new P(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(o.length>1)throw new $("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[o[0]]},y.uiListItems=(e=>{const t=I.get(e,I.key(w.REFLECT,N.PROPERTIES));if(t)return Object.keys(t)}).bind(y);const le="##VERSION##";export{pe as DecafComponent,ue as EventHandler,B as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,$ as RenderingError,w as UIKeys,C as UIMediaBreakPoints,le as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,x as formatByType,J as generateUIModelID,Q as getUIAttributeKey,te as hidden,Z as hideOn,W as parseToNumber,V as parseValueByType,j as renderedBy,K as revertHtml,ne as uichild,re as uielement,v as uihandlers,X as uilayout,ie as uilayoutprop,G as uilistmodel,se as uilistprop,F as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,Y as uisteppedmodel};
|
|
2
2
|
//# sourceMappingURL=ui-decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/ui/decorators.ts","../src/ui/handlers.ts","../src/model/overrides.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","UIKeys","REFLECT","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","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","renderedBy","engine","apply","uilistmodel","item","uihandlers","handlers","uilayout","colsMode","rows","Object","assign","flexMode","cols","breakpoint","LARGE","uisteppedmodel","pages","paginated","pageTitles","length","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","toLowerCase","join","parseToNumber","trim","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","revertHtml","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","BIGINT","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","k","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","basicType","child","find","c","row","col","operation","b","order","hiddenOn","hidden","rendererId","current","getOrBoot","obj","initialize","fromObject","hideOn","operations","object","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","EventHandler","prototype","bind","uiIsHiddenOn","op","uiListItems","VERSION"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/ui/decorators.ts","../src/ui/handlers.ts","../src/ui/DecafComponent.ts","../src/model/overrides.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","UIKeys","REFLECT","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","EVENTS","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","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","renderedBy","engine","apply","uilistmodel","item","uihandlers","handlers","uilayout","colsMode","rows","Object","assign","flexMode","cols","breakpoint","LARGE","uisteppedmodel","pages","paginated","pageTitles","length","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","toLowerCase","join","parseToNumber","trim","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","revertHtml","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","BIGINT","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","k","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","rendererId","current","getOrBoot","obj","initialize","fromObject","hideOn","operations","object","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","uion","event","handler","uionrender","EventHandler","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","prototype","bind","uiIsHiddenOn","op","uiListItems","VERSION"],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { LoggedClass } from '@decaf-ts/logging';
|
|
2
|
+
import { UIFunctionLike } from './types';
|
|
3
|
+
import { Model } from '@decaf-ts/decorator-validation';
|
|
4
|
+
import { IRepository, OperationKeys } from '@decaf-ts/db-decorators';
|
|
5
|
+
export declare abstract class DecafComponent extends LoggedClass {
|
|
6
|
+
/**
|
|
7
|
+
* @description Name identifier for the component instance.
|
|
8
|
+
* @summary Provides a string identifier that can be used to name or label the component
|
|
9
|
+
* instance. This name can be used for debugging purposes, logging, or to identify specific
|
|
10
|
+
* component instances within a larger application structure. It serves as a human-readable
|
|
11
|
+
* identifier that helps distinguish between multiple instances of the same component type.
|
|
12
|
+
* @type {string}
|
|
13
|
+
*/
|
|
14
|
+
protected name: string;
|
|
15
|
+
/**
|
|
16
|
+
* @description Parent component identifier for hierarchical component relationships.
|
|
17
|
+
* @summary Specifies the identifier of the parent component in a hierarchical component structure.
|
|
18
|
+
* This property establishes a parent-child relationship between components, allowing for
|
|
19
|
+
* proper nesting and organization of components within a layout. It can be used to track
|
|
20
|
+
* component dependencies and establish component hierarchies for rendering and event propagation.
|
|
21
|
+
* @type {string | undefined}
|
|
22
|
+
*/
|
|
23
|
+
protected childOf: string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* @description Unique identifier for the component instance.
|
|
26
|
+
* @summary A unique identifier automatically generated for each component instance.
|
|
27
|
+
* This UID is used for DOM element identification, component tracking, and debugging purposes.
|
|
28
|
+
* By default, it generates a random 16-character value, but it can be explicitly set via input.
|
|
29
|
+
* @type {string | number}
|
|
30
|
+
* @default generateRandomValue(16)
|
|
31
|
+
*/
|
|
32
|
+
protected uid?: string | number;
|
|
33
|
+
/**
|
|
34
|
+
* @description Data model or model name for component operations.
|
|
35
|
+
* @summary The data model that this component will use for CRUD operations. This can be provided
|
|
36
|
+
* as a Model instance, a model constructor, or a string representing the model's registered name.
|
|
37
|
+
* When set, this property provides the component with access to the model's schema, validation rules,
|
|
38
|
+
* and metadata needed for rendering and data operations.
|
|
39
|
+
* @type {Model | string | undefined}
|
|
40
|
+
*/
|
|
41
|
+
protected model: Model | string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* @description Primary key field name for the data model.
|
|
44
|
+
* @summary Specifies which field in the model should be used as the primary key.
|
|
45
|
+
* This is typically used for identifying unique records in operations like update and delete.
|
|
46
|
+
* If not explicitly set, it defaults to the repository's configured primary key or 'id'.
|
|
47
|
+
* @type {string}
|
|
48
|
+
* @default 'id'
|
|
49
|
+
*/
|
|
50
|
+
pk: string;
|
|
51
|
+
/**
|
|
52
|
+
* @description Primary key value of the current model instance.
|
|
53
|
+
* @summary Specifies the primary key value for the current model record being displayed or
|
|
54
|
+
* manipulated by the component. This identifier is used for CRUD operations that target
|
|
55
|
+
* specific records, such as read, update, and delete operations. The value corresponds to
|
|
56
|
+
* the field designated as the primary key in the model definition.
|
|
57
|
+
* @type {string | number | bigint | string[] | number[] | bigint[]}
|
|
58
|
+
*/
|
|
59
|
+
protected modelId?: string | number | bigint | string[] | number[] | bigint[];
|
|
60
|
+
/**
|
|
61
|
+
* @description Flag to enable or disable dark mode support for the component.
|
|
62
|
+
* @summary When enabled, the component will automatically detect the system's dark mode
|
|
63
|
+
* preference using the media service and apply appropriate styling classes. This flag
|
|
64
|
+
* controls whether the component should respond to dark mode changes and apply the
|
|
65
|
+
* dark palette class to its DOM element. By default, dark mode support is disabled.
|
|
66
|
+
* @protected
|
|
67
|
+
* @type {boolean}
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
protected enableDarkMode: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* @description Flag to enable or disable dark mode support for the component.
|
|
73
|
+
* @summary When enabled, the component will automatically detect the system's dark mode
|
|
74
|
+
* preference using the media service and apply appropriate styling classes. This flag
|
|
75
|
+
* controls whether the component should respond to dark mode changes and apply the
|
|
76
|
+
* dark palette class to its DOM element. By default, dark mode support is disabled.
|
|
77
|
+
* @protected
|
|
78
|
+
* @type {boolean}
|
|
79
|
+
* @default false
|
|
80
|
+
*/
|
|
81
|
+
protected isDarkMode: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* @description Current locale identifier for component internationalization.
|
|
84
|
+
* @summary Specifies the locale code (e.g., 'en-US', 'pt-BR') used for translating UI text
|
|
85
|
+
* and formatting data according to regional conventions. This property can be set to override
|
|
86
|
+
* the default application locale for this specific component instance, enabling per-component
|
|
87
|
+
* localization when needed.
|
|
88
|
+
* @type {string | undefined}
|
|
89
|
+
*/
|
|
90
|
+
locale?: string;
|
|
91
|
+
/**
|
|
92
|
+
* @description Configuration for list item rendering behavior.
|
|
93
|
+
* @summary Defines how list items should be rendered in the component.
|
|
94
|
+
* This property holds a configuration object that specifies the tag name
|
|
95
|
+
* and other properties needed to render list items correctly. The tag property
|
|
96
|
+
* identifies which component should be used to render each item in a list.
|
|
97
|
+
* Additional properties can be included to customize the rendering behavior.
|
|
98
|
+
* @type {Record<string, unknown>}
|
|
99
|
+
* @default {tag: ""}
|
|
100
|
+
*/
|
|
101
|
+
item: Record<string, unknown>;
|
|
102
|
+
/**
|
|
103
|
+
* @description Dynamic properties configuration for runtime customization.
|
|
104
|
+
* @summary Contains key-value pairs of dynamic properties that can be applied to the component
|
|
105
|
+
* at runtime. This flexible configuration object allows for dynamic property assignment without
|
|
106
|
+
* requiring explicit input bindings for every possible configuration option. Properties from
|
|
107
|
+
* this object are parsed and applied to the component instance through the parseProps method,
|
|
108
|
+
* enabling customizable component behavior based on external configuration.
|
|
109
|
+
* @type {Record<string, unknown>}
|
|
110
|
+
* @default {}
|
|
111
|
+
*/
|
|
112
|
+
props: Record<string, unknown>;
|
|
113
|
+
/**
|
|
114
|
+
* @description Base route path for component navigation.
|
|
115
|
+
* @summary Defines the base route path used for navigation actions related to this component.
|
|
116
|
+
* This is often used as a prefix for constructing navigation URLs when transitioning between
|
|
117
|
+
* different operations or views. The route helps establish the component's position in the
|
|
118
|
+
* application's routing hierarchy.
|
|
119
|
+
* @type {string}
|
|
120
|
+
*/
|
|
121
|
+
route?: string;
|
|
122
|
+
/**
|
|
123
|
+
* @description Controls whether borders are displayed around the component.
|
|
124
|
+
* @summary Boolean flag that determines if the component should be visually outlined with borders.
|
|
125
|
+
* When true, borders are shown to visually separate the component from surrounding content.
|
|
126
|
+
*
|
|
127
|
+
* @type {boolean}
|
|
128
|
+
* @default false
|
|
129
|
+
*/
|
|
130
|
+
borders: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* @description Component name identifier for logging and localization contexts.
|
|
133
|
+
* @summary Stores the component's name which is used as a key for logging contexts
|
|
134
|
+
* and as a base for locale resolution. Can be injected via the CPTKN token or defaults
|
|
135
|
+
* to "NgxComponentDirective" if not provided.
|
|
136
|
+
* @protected
|
|
137
|
+
* @type {string | undefined}
|
|
138
|
+
*/
|
|
139
|
+
protected componentName?: string;
|
|
140
|
+
/**
|
|
141
|
+
* @description Root key for component locale context resolution.
|
|
142
|
+
* @summary Defines the base key used to resolve localization contexts for this component.
|
|
143
|
+
* If not explicitly provided, it defaults to the component's name. This key is used to
|
|
144
|
+
* load appropriate translation resources and locale-specific configurations.
|
|
145
|
+
* @protected
|
|
146
|
+
* @type {string | undefined}
|
|
147
|
+
*/
|
|
148
|
+
protected localeRoot?: string;
|
|
149
|
+
/**
|
|
150
|
+
* @description Reference to CRUD operation constants for template usage.
|
|
151
|
+
* @summary Exposes the OperationKeys enum to the component template, enabling
|
|
152
|
+
* conditional rendering and behavior based on operation types. This protected
|
|
153
|
+
* readonly property ensures that template logic can access operation constants
|
|
154
|
+
* while maintaining encapsulation and preventing accidental modification.
|
|
155
|
+
* @protected
|
|
156
|
+
* @readonly
|
|
157
|
+
*/
|
|
158
|
+
protected readonly OperationKeys: typeof OperationKeys;
|
|
159
|
+
/**
|
|
160
|
+
* @description Angular Location service.
|
|
161
|
+
* @summary Injected service that provides direct access to the browser's URL and history.
|
|
162
|
+
* Unlike the Router, Location allows for low-level manipulation of the browser's history stack
|
|
163
|
+
* and URL path, such as programmatically navigating back or forward, or updating the URL without
|
|
164
|
+
* triggering a route change. This is useful for scenarios where you need to interact with the
|
|
165
|
+
* browser history or URL outside of Angular's routing system, such as closing modals, handling
|
|
166
|
+
* popstate events, or supporting custom navigation logic.
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
169
|
+
protected location: any;
|
|
170
|
+
/**
|
|
171
|
+
* @description Repository instance for data layer operations.
|
|
172
|
+
* @summary Provides a connection to the data layer for retrieving and manipulating data.
|
|
173
|
+
* This is an instance of the DecafRepository class, initialized lazily in the repository getter.
|
|
174
|
+
* The repository is used to perform CRUD (Create, Read, Update, Delete) operations on the
|
|
175
|
+
* data model and provides methods for querying and filtering data based on specific criteria.
|
|
176
|
+
* @type {DecafRepository<Model>}
|
|
177
|
+
* @private
|
|
178
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
179
|
+
*/
|
|
180
|
+
protected _repository?: IRepository<Model>;
|
|
181
|
+
/**
|
|
182
|
+
* @description Initialization status flag for the component.
|
|
183
|
+
* @summary Tracks whether the component has completed its initialization process.
|
|
184
|
+
* This flag is used to prevent duplicate initialization and to determine if
|
|
185
|
+
* certain operations that require initialization can be performed.
|
|
186
|
+
* @type {boolean}
|
|
187
|
+
* @default false
|
|
188
|
+
*/
|
|
189
|
+
protected initialized: boolean;
|
|
190
|
+
protected events?: Record<keyof Pick<DecafComponent, 'render' | 'initialize'>, UIFunctionLike>;
|
|
191
|
+
protected handlers: Record<string, UIFunctionLike>;
|
|
192
|
+
constructor();
|
|
193
|
+
render(...args: unknown[]): Promise<void>;
|
|
194
|
+
initialize(...args: unknown[]): Promise<void>;
|
|
195
|
+
}
|