@decaf-ts/ui-decorators 0.6.6 → 0.6.7
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 +53 -47
- package/lib/esm/ui/DecafComponent.js +39 -14
- package/lib/esm/ui/DecafComponent.js.map +1 -1
- package/lib/esm/ui/DecafEventHandler.d.ts +2 -1
- package/lib/esm/ui/DecafEventHandler.js +3 -1
- package/lib/esm/ui/DecafEventHandler.js.map +1 -1
- package/lib/esm/ui/decorators.d.ts +2 -1
- package/lib/esm/ui/decorators.js +6 -4
- package/lib/esm/ui/decorators.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/ui/DecafComponent.cjs +37 -12
- package/lib/ui/DecafComponent.d.ts +53 -47
- package/lib/ui/DecafComponent.js.map +1 -1
- package/lib/ui/DecafEventHandler.cjs +3 -1
- package/lib/ui/DecafEventHandler.d.ts +2 -1
- package/lib/ui/DecafEventHandler.js.map +1 -1
- package/lib/ui/decorators.cjs +6 -4
- package/lib/ui/decorators.d.ts +2 -1
- package/lib/ui/decorators.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,o,r,a){"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",SEQUENCE:"sequence",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,a)=>{const s={tag:e||r.name,props:t};return o.metadata(o.Metadata.key(i.REFLECT,i.UIMODEL),s)(r)}}class u extends r.InternalError{constructor(e){super(e,u.name)}}function M(e,t){return o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES,e,t)}function T(e,o,...r){if(e===i.DATE){if(!o)return"";const e=r.shift()||l;return t.formatDate(new Date(o),e)}return o}function f(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 R(e){let o=Date.now();try{t.Model.pk(e.constructor)&&(o=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${o}`}class O{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,O.register(this)}translate(e,o=!0){if(o)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,a={},s=!0){const{inheritProps:n,...d}=a;a=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:f,item:y,handlers:O}=p,L=t.Model.uiPropertiesOf(e.constructor);let h,m=y?.props||{},A={};const g=(e,t)=>e?[e,t].join("."):t;if(L){const s=o.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const n of L){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 o;const s=e[n];if("object"!=typeof s||null===s||Array.isArray(s)){const e=r.props.props?.name;o=new(t.Model.get(e))}h=h||[];const i=Object.assign({},a||{},{model:o},{inheritProps:r.props,childOf:g(a?.childOf,n)}),d=this.toFieldDefinition(s||o,i,!1),{inheritProps:l}=i;l&&(d.props=Object.assign({},d.props,l.props||{})),h.push(d);break}case i.UILISTPROP:{A=A||{};const e=r.props;e.name&&(A[e.name]="object"==typeof e?.props&&i.SEQUENCE in e.props?e.props:n);const t=Object.assign({},p.props?.item||{},y?.props||{},e?.props||{},a);m={tag:y?.tag||t.render||"",props:Object.assign({},m?.props,{mapper:A},t)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{h=h||[];const t=r.props,d=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:g(a?.childOf,t.props.name),childOf:void 0}:{},a,{name:t.props?.name||n});if(r.key===i.ELEMENT){const r={tag:t.tag||m?.tag||M||"",props:d},a=s[n];if(a)for(const e of Object.entries(a).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=o.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]),h.push(r)}else{const e=h.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:o,props:a}=r.props;e.props=Object.assign({},a||{},e.props,t,o)}}break}default:throw new u("Invalid key: "+r.key)}})}}a=Object.assign({},f,a,{handlers:O||{}});const I=a?.operation;h=h?.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 D={tag:M,item:m,props:a,children:h};return s&&(D.rendererId=R(e)),D}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 O)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,...o){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new r.InternalError("No model registered found");const a=t.Model.renderedBy(e.constructor);return O.get(a).render(e,...o)}}function L(...e){return(t,r)=>o.propMetadata(M(r,i.HIDDEN),e)(t,r)}function h(e,t){return(r,a)=>{o.propMetadata(M(a,i.EVENTS),{[e]:t})(r,a)}}class m extends a.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={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async initialize(...e){this.initialized=!0}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}}t.Model.prototype.render=function(...e){return O.render(this,...e)},t.Model.renderedBy=(e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,r)=>{const a=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES,t));if(a)return r?a[r]:a},t.Model.uiModelOf=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.UIMODEL)),t.Model.uiElementOf=(e,t)=>o.Metadata.get(e,M(t,i.ELEMENT)),t.Model.uiListModelOf=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.UILISTMODEL)),t.Model.uiHandlersFor=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.HANDLERS)),t.Model.uiLayoutOf=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!o.Metadata.get(e,M(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,r)=>{const a=o.Metadata.get(e,M(t,i.HIDDEN));return!!a&&(r?a.includes(r):a)},t.Model.uiTypeOf=(e,t)=>{const a=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES,t));if(!a)throw new r.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const s=Object.keys(a).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 a[s[0]]},t.Model.uiListItems=(e=>{const t=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.DecafComponent=m,e.DecafEventHandler=class extends m{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.RenderingEngine=O,e.RenderingError=u,e.UIKeys=i,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=n,e.escapeHtml=y,e.formatByType=T,e.generateUIModelID=R,e.getUIAttributeKey=M,e.hidden=()=>L(r.OperationKeys.CREATE,r.OperationKeys.READ,r.OperationKeys.UPDATE,r.OperationKeys.DELETE),e.hideOn=L,e.parseToNumber=f,e.parseValueByType=function e(o,a,s){let i;switch(o){case Array.name:i=(Array.isArray(a)?a.map(o=>e(t.ReservedModels.STRING.name.toLowerCase(),o,s)):[a]).join(",");break;case c.NUMBER:i=f(a);break;case c.DATE:{const e=s.format;a&&(""+a).trim().length&&(i=typeof a===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(a):a?e?t.parseDate(e,a):new Date(a):void 0);break}default:i=typeof a===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(a)?a.join(","):JSON.stringify(a):typeof a===t.ReservedModels.BOOLEAN.name.toLowerCase()?a:typeof a===t.ReservedModels.STRING.name.toLowerCase()?y(a):i}if(void 0===i)throw new r.InternalError(`Failed to parse value of type ${o} from ${typeof a} - ${a}`);return i},e.renderedBy=e=>o.apply(o.metadata(o.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={},a=!1,s=!1)=>(n,d)=>{const l={tag:t,serialize:s,props:Object.assign({},r||{},{name:e||d},a?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};o.propMetadata(M(d,i.CHILD),l)(n,d)},e.uielement=(e,t,r=!1)=>(a,s)=>{const n={tag:e,serialize:r,props:Object.assign({},t||{},{name:s})};return o.propMetadata(M(s,i.ELEMENT),n)(a,s)},e.uihandlers=e=>t=>{const r={handlers:e};return o.metadata(o.Metadata.key(i.REFLECT,i.HANDLERS),r)(t)},e.uilayout=(t,o=1,r=1,a={})=>(s,i)=>p(t,Object.assign({..."boolean"==typeof o?{flexMode:o,cols:1}:{flexMode:!1,cols:o},rows:r,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},a)}))(s,i),e.uilayoutprop=(e=1,t=1)=>(r,a)=>{const s={name:a,props:Object.assign({},{row:t,col:e})};o.propMetadata(M(a,i.UILAYOUTPROP),s)(r,a)},e.uilistmodel=(e,t)=>(r,a)=>{const s={item:{tag:e||r.name,props:t}};return o.metadata(o.Metadata.key(i.REFLECT,i.UILISTMODEL),s)(r)},e.uilistprop=(e=void 0,t)=>(r,a)=>{const s={name:e||a,props:t||{}};o.propMetadata(M(a,i.UILISTPROP),s)(r,a)},e.uimodel=p,e.uion=h,e.uionrender=e=>h("render",e),e.uiorder=(e=1)=>(t,r)=>o.propMetadata(M(r,i.ORDER),e)(t,r),e.uipageprop=(e=1)=>(t,r)=>o.propMetadata(M(r,i.PAGE),e)(t,r),e.uiprop=(e=void 0,t=!1)=>(r,a)=>{const s={name:e||a,stringify:t};o.propMetadata(M(a,i.PROP),s)(r,a)},e.uisteppedmodel=(e,t=1,o=!1,r={})=>{let a=[];return"object"==typeof t&&(a=t,t=a.length),p(e,{pages:t,paginated:o,pageTitles:a,props:r})},e.uitablecol=(e,t)=>(r,a)=>{const s={name:a,props:{sequence:e,...t?{valueParserFn:t}:{}}};o.propMetadata(M(a,i.UILISTPROP),s)(r,a)}},"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);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,o,a){"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",SEQUENCE:"sequence",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(o,a)=>{const s={tag:e||o.name,props:t};return r.metadata(r.Metadata.key(i.REFLECT,i.UIMODEL),s)(o)}}class u extends o.InternalError{constructor(e){super(e,u.name)}}function f(e,t){return r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES,e,t)}function M(e,r,...o){if(e===i.DATE){if(!r)return"";const e=o.shift()||l;return t.formatDate(new Date(r),e)}return r}function T(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 R(e){let r=Date.now();try{t.Model.pk(e.constructor)&&(r=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${r}`}class O{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,O.register(this)}translate(e,r=!0){if(r)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,a={},s=!0){const{inheritProps:n,...d}=a;a=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:f,props:T,item:y,handlers:O}=p,h=t.Model.uiPropertiesOf(e.constructor);let L,m=y?.props||{},A={};const g=(e,t)=>e?[e,t].join("."):t;if(h){const s=r.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const n of h){const d=t.Model.uiDecorationOf(e.constructor,n);let E;try{E=t.Model.uiTypeOf(e.constructor,n)}catch(e){if(!(e instanceof o.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(o=>{if(!o)throw new u("No decorator found");switch(o.key){case i.PROP:m[n]=o.props;break;case i.CHILD:{if(!t.Model.isPropertyModel(e,n))throw new u(`Child "${n}" must be a model.`);let r;const s=e[n];if("object"!=typeof s||null===s||Array.isArray(s)){const e=o.props.props?.name;r=new(t.Model.get(e))}L=L||[];const i=Object.assign({},a||{},{model:r},{inheritProps:o.props,childOf:g(a?.childOf,n)}),d=this.toFieldDefinition(s||r,i,!1),{inheritProps:l}=i;l&&(d.props=Object.assign({},d.props,l.props||{})),L.push(d);break}case i.UILISTPROP:{A=A||{};const e=o.props;e.name&&(A[e.name]="object"==typeof e?.props&&i.SEQUENCE in e.props?e.props:n);const t=Object.assign({},p.props?.item||{},y?.props||{},e?.props||{},a);m={tag:y?.tag||t.render||"",props:Object.assign({},m?.props,{mapper:A},t)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{L=L||[];const t=o.props,d=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:g(a?.childOf,t.props.name),childOf:void 0}:{},a,{name:t.props?.name||n});if(o.key===i.ELEMENT){const o={tag:t.tag||m?.tag||f||"",props:d},a=s[n];if(a)for(const e of Object.entries(a).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?o.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===c.DATE&&(o.props[i.FORMAT]=e.props.format||l),o.props[i.TYPE]=e.key);if(!o.props[i.TYPE]){const t=r.Metadata.type(e.constructor,n).name;o.props[i.TYPE]=this.translate(t.toLowerCase(),!0)}o.props.value=M(o.props[i.TYPE],e[n],o.props[i.FORMAT]),L.push(o)}else{const e=L.find(e=>e.props?.name===n||[i.UILAYOUTPROP,i.PAGE,i.EVENTS].includes(o.key)&&(e.props?.childOf===n||e.props?.childOf?.endsWith("."+n)));if(e)if(o.key!==i.UILAYOUTPROP)e.props=Object.assign({},e.props,{[o.key]:t});else{const{row:t,col:r,props:a}=o.props;e.props=Object.assign({},a||{},e.props,t,r)}}break}default:throw new u("Invalid key: "+o.key)}})}}a=Object.assign({},T,a,{handlers:O||{}});const I=a?.operation;L=L?.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 D={tag:f,item:m,props:a,children:L};return s&&(D.rendererId=R(e)),D}static register(e){if(e.flavour in this.cache)throw new o.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof O)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 o.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...r){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new o.InternalError("No model registered found");const a=t.Model.renderedBy(e.constructor);return O.get(a).render(e,...r)}}function h(...e){return(t,o)=>r.propMetadata(f(o,i.HIDDEN),e)(t,o)}function L(e,t){return(o,a)=>{r.propMetadata(f(a,i.EVENTS),{[e]:t})(o,a)}}class m extends a.LoggedClass{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=o.OperationKeys,this.initialized=!1,this.handlers={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async refresh(...e){this.log.for(this.refresh).info("Refresh called with args: "+e)}async initialize(...e){this.initialized=!0}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}async preview(...e){this.log.for(this.preview).debug("Preview called with args: "+e)}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}}t.Model.prototype.render=function(...e){return O.render(this,...e)},t.Model.renderedBy=(e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,o)=>{const a=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES,t));if(a)return o?a[o]:a},t.Model.uiModelOf=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.UIMODEL)),t.Model.uiElementOf=(e,t)=>r.Metadata.get(e,f(t,i.ELEMENT)),t.Model.uiListModelOf=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.UILISTMODEL)),t.Model.uiHandlersFor=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.HANDLERS)),t.Model.uiLayoutOf=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!r.Metadata.get(e,f(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,o)=>{const a=r.Metadata.get(e,f(t,i.HIDDEN));return!!a&&(o?a.includes(o):a)},t.Model.uiTypeOf=(e,t)=>{const a=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES,t));if(!a)throw new o.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const s=Object.keys(a).filter(e=>[i.PROP,i.ELEMENT,i.CHILD].includes(e));if(0===s.length)throw new o.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 a[s[0]]},t.Model.uiListItems=(e=>{const t=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.DecafComponent=m,e.DecafEventHandler=class extends m{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.RenderingEngine=O,e.RenderingError=u,e.UIKeys=i,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=n,e.escapeHtml=y,e.formatByType=M,e.generateUIModelID=R,e.getUIAttributeKey=f,e.hidden=()=>h(o.OperationKeys.CREATE,o.OperationKeys.READ,o.OperationKeys.UPDATE,o.OperationKeys.DELETE),e.hideOn=h,e.parseToNumber=T,e.parseValueByType=function e(r,a,s){let i;switch(r){case Array.name:i=(Array.isArray(a)?a.map(r=>e(t.ReservedModels.STRING.name.toLowerCase(),r,s)):[a]).join(",");break;case c.NUMBER:i=T(a);break;case c.DATE:{const e=s.format;a&&(""+a).trim().length&&(i=typeof a===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(a):a?e?t.parseDate(e,a):new Date(a):void 0);break}default:i=typeof a===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(a)?a.join(","):JSON.stringify(a):typeof a===t.ReservedModels.BOOLEAN.name.toLowerCase()?a:typeof a===t.ReservedModels.STRING.name.toLowerCase()?y(a):i}if(void 0===i)throw new o.InternalError(`Failed to parse value of type ${r} from ${typeof a} - ${a}`);return i},e.renderedBy=e=>r.apply(r.metadata(r.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,o={},a=!1,s=!1)=>(n,d)=>{const l={tag:t,serialize:s,props:Object.assign({},o||{},{name:e||d},a?{customTypes:[Array.name],multiple:!0}:{multiple:o?.multiple||!1})};r.propMetadata(f(d,i.CHILD),l)(n,d)},e.uielement=(e,t,o=!1)=>(a,s)=>{const n={tag:e,serialize:o,props:Object.assign({},t||{},{name:s})};return r.propMetadata(f(s,i.ELEMENT),n)(a,s)},e.uihandlers=e=>t=>{const o={handlers:e};return r.metadata(r.Metadata.key(i.REFLECT,i.HANDLERS),o)(t)},e.uilayout=(t,r=1,o=1,a={})=>(s,i)=>p(t,Object.assign({..."boolean"==typeof r?{flexMode:r,cols:1}:{flexMode:!1,cols:r},rows:o,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},a)}))(s,i),e.uilayoutprop=(e=1,t=1)=>(o,a)=>{const s={name:a,props:Object.assign({},{row:t,col:e})};r.propMetadata(f(a,i.UILAYOUTPROP),s)(o,a)},e.uilistmodel=(e,t)=>(o,a)=>{const s={item:{tag:e||o.name,props:t}};return r.metadata(r.Metadata.key(i.REFLECT,i.UILISTMODEL),s)(o)},e.uilistprop=(e=void 0,t)=>(o,a)=>{const s={name:e||a,props:t||{}};r.propMetadata(f(a,i.UILISTPROP),s)(o,a)},e.uimodel=p,e.uion=L,e.uionrender=e=>L("render",e),e.uiorder=(e=1)=>(t,o)=>r.propMetadata(f(o,i.ORDER),e)(t,o),e.uipageprop=(e=1)=>(t,o)=>r.propMetadata(f(o,i.PAGE),e)(t,o),e.uiprop=(e=void 0,t=!1)=>(o,a)=>{const s={name:e||a,stringify:t};r.propMetadata(f(a,i.PROP),s)(o,a)},e.uisteppedmodel=(e,t=1,r=!1,o={})=>{let a=[];return"object"==typeof t&&(a=t,t=a.length),p(e,{pages:t,paginated:r,pageTitles:a,props:o})},e.uitablecol=(e,t)=>(o,a)=>{const s={name:a,props:{sequence:e,...t?{valueParserFn:t}:{}}};r.propMetadata(f(a,i.UILISTPROP),s)(o,a)}},"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/ui/DecafComponent.ts","../src/model/overrides.ts","../src/ui/DecafEventHandler.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","SEQUENCE","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","decProps","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","repository","_repository","log","for","info","componentName","JSON","stringify","submit","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","handle","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles","sequence","valueParserFn"],"mappings":"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"}
|
|
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/DecafEventHandler.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","SEQUENCE","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","decProps","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","repository","_repository","log","for","info","componentName","JSON","stringify","refresh","preview","debug","submit","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","handle","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles","sequence","valueParserFn"],"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 d,LessThanValidator as f,LessThanOrEqualValidator as T,GreaterThanValidator as O,GreaterThanOrEqualValidator as R,formatDate as L,ReservedModels as A,parseDate as h,Model as m}from"@decaf-ts/decorator-validation";import{metadata as y,Metadata as N,apply as g,DecorationKeys as I,propMetadata as D}from"@decaf-ts/decoration";import{InternalError as P,NotFoundError as S,OperationKeys as M}from"@decaf-ts/db-decorators";import{LoggedClass as b}from"@decaf-ts/logging";var w;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(w||(w={}));const C={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",SEQUENCE:"sequence",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={[C.EMAIL]:t,[C.URL]:r,[C.DATE]:o,[C.PASSWORD]:n},k={[C.REQUIRED]:s,[C.MIN]:i,[C.MAX]:a,[C.STEP]:c,[C.MIN_LENGTH]:E,[C.MAX_LENGTH]:u,[C.PATTERN]:p,[C.EQUALS]:l,[C.DIFF]:d,[C.LESS_THAN]:f,[C.LESS_THAN_OR_EQUAL]:T,[C.GREATER_THAN]:O,[C.GREATER_THAN_OR_EQUAL]:R},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:C.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:C.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:C.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:C.URL,WEEK:"week"},F=[_.CHECKBOX,_.RADIO];function B(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return y(N.key(C.REFLECT,C.UIMODEL),n)(r)}}function j(e){return g(y(N.key(C.REFLECT,C.RENDERED_BY),e))}function G(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return y(N.key(C.REFLECT,C.UILISTMODEL),n)(r)}}function $(e){return t=>{const r={handlers:e};return y(N.key(C.REFLECT,C.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:w.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 Q(e,t){return N.key(C.REFLECT,I.PROPERTIES,e,t)}function x(e,t,...r){if(e===C.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?h(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 P(`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 J(e){const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)}function K(e){let t=Date.now();try{m.pk(e.constructor)&&(t=e[m.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[m.uiModelOf(e.constructor),m.uiListModelOf(e.constructor),m.uiHandlersFor(e.constructor),m.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===C.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=m.uiPropertiesOf(t.constructor);let d,f=u?.props||{},T={};const O=(e,t)=>e?[e,t].join("."):t;if(l){const o=N.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=m.uiDecorationOf(t.constructor,e);let s;try{s=m.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof S))throw e}if(m.uiIsHidden(t.constructor,e)&&!m.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=>[C.ELEMENT,C.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new Y("No decorator found");switch(n.key){case C.PROP:f[e]=n.props;break;case C.CHILD:{if(!m.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(m.get(e))}d=d||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:O(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1),{inheritProps:c}=i;c&&(a.props=Object.assign({},a.props,c.props||{})),d.push(a);break}case C.UILISTPROP:{T=T||{};const t=n.props;t.name&&(T[t.name]="object"==typeof t?.props&&C.SEQUENCE in t.props?t.props:e);const o=Object.assign({},a.props?.item||{},u?.props||{},t?.props||{},r);f={tag:u?.tag||o.render||"",props:Object.assign({},f?.props,{mapper:T},o)};break}case C.EVENTS:case C.HIDDEN:case C.PAGE:case C.ORDER:case C.UILAYOUTPROP:case C.ELEMENT:{d=d||[];const s=n.props,i=Object.assign({},f?.props,s.props||{},s?.props?.name?{path:O(r?.childOf,s.props.name),childOf:void 0}:{},r,{name:s.props?.name||e});if(n.key===C.ELEMENT){const r={tag:s.tag||f?.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[C.FORMAT]=e.props.format||H),r.props[C.TYPE]=e.key);if(!r.props[C.TYPE]){const o=N.type(t.constructor,e).name;r.props[C.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=x(r.props[C.TYPE],t[e],r.props[C.FORMAT]),d.push(r)}else{const t=d.find(t=>t.props?.name===e||[C.UILAYOUTPROP,C.PAGE,C.EVENTS].includes(n.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(n.key!==C.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 R=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(R)?void 0:e});const L={tag:c,item:f,props:r,children:d};return o&&(L.rendererId=K(t)),L}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 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 P(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!m.get(e.constructor.name)&&!m.fromObject(e))throw new P("No model registered found");const r=m.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>D(Q(r,C.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>D(Q(r,C.ORDER),e)(t,r)}function te(){return Z(M.CREATE,M.READ,M.UPDATE,M.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return D(Q(n,C.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};D(Q(o,C.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})};D(Q(i,C.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};D(Q(o,C.UILISTPROP),n)(r,o)}}function ie(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};D(Q(o,C.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>D(Q(r,C.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{D(Q(o,C.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}function ue(e,t){return(r,o)=>{const n={name:o,props:{sequence:e,...t?{valueParserFn:t}:{}}};D(Q(o,C.UILISTPROP),n)(r,o)}}class pe extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=M,this.initialized=!1,this.handlers={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async initialize(...e){this.initialized=!0}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}}class le extends pe{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}}m.prototype.render=function(...e){return q.render(this,...e)},m.renderedBy=(e=>N.get(e,N.key(C.REFLECT,C.RENDERED_BY))).bind(m),m.uiPropertiesOf=(e=>{const t=N.get(e,N.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m),m.uiDecorationOf=(e,t,r)=>{const o=N.get(e,N.key(C.REFLECT,I.PROPERTIES,t));if(o)return r?o[r]:o},m.uiModelOf=e=>N.get(e,N.key(C.REFLECT,C.UIMODEL)),m.uiElementOf=(e,t)=>N.get(e,Q(t,C.ELEMENT)),m.uiListModelOf=e=>N.get(e,N.key(C.REFLECT,C.UILISTMODEL)),m.uiHandlersFor=e=>N.get(e,N.key(C.REFLECT,C.HANDLERS)),m.uiLayoutOf=e=>N.get(e,N.key(C.REFLECT,C.UILAYOUT)),m.uiIsHidden=(e,t)=>!!N.get(e,Q(t,C.HIDDEN)),m.uiIsHiddenOn=(e,t,r)=>{const o=N.get(e,Q(t,C.HIDDEN));return!!o&&(r?o.includes(r):o)},m.uiTypeOf=(e,t)=>{const r=N.get(e,N.key(C.REFLECT,I.PROPERTIES,t));if(!r)throw new S(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[C.PROP,C.ELEMENT,C.CHILD].includes(e));if(0===o.length)throw new S(`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]]},m.uiListItems=(e=>{const t=N.get(e,N.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m);const de="##VERSION##";export{pe as DecafComponent,le as DecafEventHandler,F as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,Y as RenderingError,C as UIKeys,w as UIMediaBreakPoints,de as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,x as formatByType,K as generateUIModelID,Q as getUIAttributeKey,te as hidden,Z as hideOn,W as parseToNumber,V as parseValueByType,j as renderedBy,J as revertHtml,ne as uichild,re as uielement,$ as uihandlers,v as uilayout,ie as uilayoutprop,G as uilistmodel,se as uilistprop,B as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,X as uisteppedmodel,ue as uitablecol};
|
|
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 f,LessThanValidator as d,LessThanOrEqualValidator as T,GreaterThanValidator as R,GreaterThanOrEqualValidator as O,formatDate as L,ReservedModels as h,parseDate as A,Model as m}from"@decaf-ts/decorator-validation";import{metadata as y,Metadata as g,apply as N,DecorationKeys as I,propMetadata as D}from"@decaf-ts/decoration";import{InternalError as P,NotFoundError as S,OperationKeys as M}from"@decaf-ts/db-decorators";import{LoggedClass as b}from"@decaf-ts/logging";var w;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(w||(w={}));const C={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",SEQUENCE:"sequence",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={[C.EMAIL]:t,[C.URL]:r,[C.DATE]:o,[C.PASSWORD]:n},k={[C.REQUIRED]:s,[C.MIN]:i,[C.MAX]:a,[C.STEP]:c,[C.MIN_LENGTH]:E,[C.MAX_LENGTH]:u,[C.PATTERN]:p,[C.EQUALS]:l,[C.DIFF]:f,[C.LESS_THAN]:d,[C.LESS_THAN_OR_EQUAL]:T,[C.GREATER_THAN]:R,[C.GREATER_THAN_OR_EQUAL]:O},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:C.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:C.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:C.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:C.URL,WEEK:"week"},F=[_.CHECKBOX,_.RADIO];function B(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return y(g.key(C.REFLECT,C.UIMODEL),n)(r)}}function j(e){return N(y(g.key(C.REFLECT,C.RENDERED_BY),e))}function G(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return y(g.key(C.REFLECT,C.UILISTMODEL),n)(r)}}function $(e){return t=>{const r={handlers:e};return y(g.key(C.REFLECT,C.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:w.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 Q(e,t){return g.key(C.REFLECT,I.PROPERTIES,e,t)}function x(e,t,...r){if(e===C.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(h.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===h.NUMBER.name.toLowerCase()?new Date(t):t?e?A(e,t):new Date(t):void 0);break}default:o=typeof t===h.OBJECT.name.toLowerCase()?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===h.BOOLEAN.name.toLowerCase()?t:typeof t===h.STRING.name.toLowerCase()?z(t):o}if(void 0===o)throw new P(`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 J(e){const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)}function K(e){let t=Date.now();try{m.pk(e.constructor)&&(t=e[m.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 h.STRING.name.toLowerCase():return _.TEXT;case h.NUMBER.name.toLowerCase():case h.BIGINT.name.toLowerCase():return _.NUMBER;case h.BOOLEAN.name.toLowerCase():return _.CHECKBOX;case h.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 h.STRING.name.toLowerCase();case _.NUMBER:return h.NUMBER.name.toLowerCase();case _.CHECKBOX:return h.BOOLEAN.name.toLowerCase();case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return h.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[m.uiModelOf(e.constructor),m.uiListModelOf(e.constructor),m.uiHandlersFor(e.constructor),m.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===C.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=m.uiPropertiesOf(t.constructor);let f,d=u?.props||{},T={};const R=(e,t)=>e?[e,t].join("."):t;if(l){const o=g.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=m.uiDecorationOf(t.constructor,e);let s;try{s=m.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof S))throw e}if(m.uiIsHidden(t.constructor,e)&&!m.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=>[C.ELEMENT,C.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new Y("No decorator found");switch(n.key){case C.PROP:d[e]=n.props;break;case C.CHILD:{if(!m.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(m.get(e))}f=f||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:R(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1),{inheritProps:c}=i;c&&(a.props=Object.assign({},a.props,c.props||{})),f.push(a);break}case C.UILISTPROP:{T=T||{};const t=n.props;t.name&&(T[t.name]="object"==typeof t?.props&&C.SEQUENCE in t.props?t.props:e);const o=Object.assign({},a.props?.item||{},u?.props||{},t?.props||{},r);d={tag:u?.tag||o.render||"",props:Object.assign({},d?.props,{mapper:T},o)};break}case C.EVENTS:case C.HIDDEN:case C.PAGE:case C.ORDER:case C.UILAYOUTPROP:case C.ELEMENT:{f=f||[];const s=n.props,i=Object.assign({},d?.props,s.props||{},s?.props?.name?{path:R(r?.childOf,s.props.name),childOf:void 0}:{},r,{name:s.props?.name||e});if(n.key===C.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===_.DATE&&(r.props[C.FORMAT]=e.props.format||H),r.props[C.TYPE]=e.key);if(!r.props[C.TYPE]){const o=g.type(t.constructor,e).name;r.props[C.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=x(r.props[C.TYPE],t[e],r.props[C.FORMAT]),f.push(r)}else{const t=f.find(t=>t.props?.name===e||[C.UILAYOUTPROP,C.PAGE,C.EVENTS].includes(n.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(n.key!==C.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 O=r?.operation;f=f?.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:d,props:r,children:f};return o&&(L.rendererId=K(t)),L}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 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 P(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!m.get(e.constructor.name)&&!m.fromObject(e))throw new P("No model registered found");const r=m.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>D(Q(r,C.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>D(Q(r,C.ORDER),e)(t,r)}function te(){return Z(M.CREATE,M.READ,M.UPDATE,M.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return D(Q(n,C.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};D(Q(o,C.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})};D(Q(i,C.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};D(Q(o,C.UILISTPROP),n)(r,o)}}function ie(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};D(Q(o,C.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>D(Q(r,C.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{D(Q(o,C.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}function ue(e,t){return(r,o)=>{const n={name:o,props:{sequence:e,...t?{valueParserFn:t}:{}}};D(Q(o,C.UILISTPROP),n)(r,o)}}class pe extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=M,this.initialized=!1,this.handlers={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async refresh(...e){this.log.for(this.refresh).info("Refresh called with args: "+e)}async initialize(...e){this.initialized=!0}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}async preview(...e){this.log.for(this.preview).debug("Preview called with args: "+e)}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}}class le extends pe{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}}m.prototype.render=function(...e){return q.render(this,...e)},m.renderedBy=(e=>g.get(e,g.key(C.REFLECT,C.RENDERED_BY))).bind(m),m.uiPropertiesOf=(e=>{const t=g.get(e,g.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m),m.uiDecorationOf=(e,t,r)=>{const o=g.get(e,g.key(C.REFLECT,I.PROPERTIES,t));if(o)return r?o[r]:o},m.uiModelOf=e=>g.get(e,g.key(C.REFLECT,C.UIMODEL)),m.uiElementOf=(e,t)=>g.get(e,Q(t,C.ELEMENT)),m.uiListModelOf=e=>g.get(e,g.key(C.REFLECT,C.UILISTMODEL)),m.uiHandlersFor=e=>g.get(e,g.key(C.REFLECT,C.HANDLERS)),m.uiLayoutOf=e=>g.get(e,g.key(C.REFLECT,C.UILAYOUT)),m.uiIsHidden=(e,t)=>!!g.get(e,Q(t,C.HIDDEN)),m.uiIsHiddenOn=(e,t,r)=>{const o=g.get(e,Q(t,C.HIDDEN));return!!o&&(r?o.includes(r):o)},m.uiTypeOf=(e,t)=>{const r=g.get(e,g.key(C.REFLECT,I.PROPERTIES,t));if(!r)throw new S(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[C.PROP,C.ELEMENT,C.CHILD].includes(e));if(0===o.length)throw new S(`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]]},m.uiListItems=(e=>{const t=g.get(e,g.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m);const fe="##VERSION##";export{pe as DecafComponent,le as DecafEventHandler,F as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,Y as RenderingError,C as UIKeys,w as UIMediaBreakPoints,fe as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,x as formatByType,K as generateUIModelID,Q as getUIAttributeKey,te as hidden,Z as hideOn,W as parseToNumber,V as parseValueByType,j as renderedBy,J as revertHtml,ne as uichild,re as uielement,$ as uihandlers,v as uilayout,ie as uilayoutprop,G as uilistmodel,se as uilistprop,B as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,X as uisteppedmodel,ue as uitablecol};
|
|
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/DecafComponent.ts","../src/ui/DecafEventHandler.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","SEQUENCE","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","decProps","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","uitablecol","sequence","valueParserFn","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","repository","_repository","log","for","info","componentName","submit","DecafEventHandler","handle","prototype","bind","uiIsHiddenOn","op","uiListItems","VERSION"],"mappings":"2vBAgCYA,EAAZ,CAAYA,IACVA,EAAA,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,MAAA,QACAA,EAAA,OAAA,QACD,EALD,CAAYA,IAAAA,EAKX,CAAA,IA+CY,MAAAC,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,OACNC,OAAQ,SAERC,UAAW,WACXC,SAAU,WACVC,SAAUC,EAAeD,SACzBE,IAAKD,EAAeC,IACpBC,WAAYF,EAAeE,WAC3BC,IAAKH,EAAeG,IACpBC,WAAYJ,EAAeI,WAC3BC,QAASL,EAAeK,QACxBC,IAAKN,EAAeM,IACpBC,KAAMP,EAAeO,KACrBC,KAAMR,EAAeQ,KACrBC,MAAOT,EAAeS,MACtBC,SAAUV,EAAeU,SACzBC,OAAQX,EAAeW,OACvBC,KAAMZ,EAAeY,KACrBC,UAAWb,EAAea,UAC1BC,mBAAoBd,EAAec,mBACnCC,aAAcf,EAAee,aAC7BC,sBAAuBhB,EAAegB,uBAoB3BC,EAA4D,CACvE,CAAC1C,EAAOkC,OAAQS,EAChB,CAAC3C,EAAO+B,KAAMa,EACd,CAAC5C,EAAOiC,MAAOY,EACf,CAAC7C,EAAOmC,UAAWW,GA6BRC,EAAiE,CAC5E,CAAC/C,EAAOwB,UAAWwB,EACnB,CAAChD,EAAO0B,KAAMuB,EACd,CAACjD,EAAO4B,KAAMsB,EACd,CAAClD,EAAOgC,MAAOmB,EACf,CAACnD,EAAO2B,YAAayB,EACrB,CAACpD,EAAO6B,YAAawB,EACrB,CAACrD,EAAO8B,SAAUwB,EAClB,CAACtD,EAAOoC,QAASmB,EACjB,CAACvD,EAAOqC,MAAOmB,EACf,CAACxD,EAAOsC,WAAYmB,EACpB,CAACzD,EAAOuC,oBAAqBmB,EAC7B,CAAC1D,EAAOwC,cAAemB,EACvB,CAAC3D,EAAOyC,uBAAwBmB,GAarBC,EAAkB,aAqClBC,EAAkB,CAC7BC,OAAQ,SACRC,SAAU,WACVC,MAAO,QACPhC,KAAMjC,EAAOiC,KACbiC,eAAgB,iBAChBhC,MAAOlC,EAAOkC,MACdiC,KAAM,OACNlD,OAAQ,SACRmD,MAAO,QACPC,MAAO,QACPC,OAAQ,SACRnC,SAAUnC,EAAOmC,SACjBoC,MAAO,QACPC,MAAO,QACPC,MAAO,QACPC,OAAQ,SACRC,OAAQ,SACRC,IAAK,MACLC,KAAM,OACNC,SAAU,WACVC,OAAQ,SACRC,KAAM,OACNjD,IAAK/B,EAAO+B,IACZkD,KAAM,QAcKC,EAA4B,CACvCpB,EAAgBE,SAChBF,EAAgBS,OCvOF,SAAAY,EAAQC,EAAcC,GAEpC,MAAO,CAACC,EAAeC,KACrB,MAAMC,EAAwB,CAC5BJ,IAAKA,GAAOE,EAASG,KACrBJ,MAAOA,GAET,OAAOK,EACLC,EAASC,IAAI5F,EAAOC,QAASD,EAAOE,SACpCsF,EAFKE,CAGLJ,GAEN,CAkCM,SAAUO,EAAWC,GACzB,OAAOC,EACLL,EAASC,EAASC,IAAI5F,EAAOC,QAASD,EAAOG,aAAc2F,GAE/D,CA+CgB,SAAAE,EAAYP,EAAeJ,GAEzC,MAAO,CAACC,EAAeC,KACrB,MAAMC,EAA4B,CAChCS,KAAM,CACJb,IAAKK,GAAQH,EAASG,KACtBJ,MAAOA,IAGX,OAAOK,EACLC,EAASC,IAAI5F,EAAOC,QAASD,EAAOU,aACpC8E,EAFKE,CAGLJ,GAEN,CAuDM,SAAUY,EAAWb,GACzB,OAAQC,IACN,MAAME,EAA0B,CAC9BW,SAAUd,GAEZ,OAAOK,EACLC,EAASC,IAAI5F,EAAOC,QAASD,EAAOc,UACpC0E,EAFKE,CAGLJ,GAEN,CA4DgB,SAAAc,EACdhB,EACAiB,EAA6B,EAC7BC,EAA0B,EAC1BjB,EAAa,IAEb,MAAO,CAACC,EAAeC,IACdJ,EACLC,EACAmB,OAAOC,OAAO,IACY,kBAAbH,EACP,CACEI,SAAUJ,EACVK,KAAM,GAER,CACED,UAAU,EACVC,KAAML,GAEZC,UACGC,OAAOC,OAAO,CAAEG,WAAY5G,EAAmB6G,OAASvB,KAbxDF,CAeLG,EAAUC,EAEhB,CAkFgB,SAAAsB,EACdzB,EACA0B,EAA8C,EAC9CC,GAAqB,EACrB1B,EAAa,IAEb,IAAI2B,EAA0C,GAK9C,MAJqB,iBAAVF,IACTE,EAAaF,EACbA,EAAQE,EAAWC,QAEd9B,EAAQC,EAAK,CAClB0B,QACAC,YACAC,aACA3B,SAEJ,CCnYM,MAAO6B,UAAuBC,EAMlC,WAAAC,CAAYC,GACVC,MAAMD,EAAKH,EAAezB,KAC3B,ECtBa,SAAA8B,EAAkBC,EAAc5B,GAC9C,OAAOD,EAASC,IAAI5F,EAAOC,QAASwH,EAAeC,WAAYF,EAAM5B,EACvE,CAOM,SAAU+B,EACdC,EACAC,KACGC,GAEH,GAAIF,IAAS5H,EAAOiC,KAAM,CACxB,IAAK4F,EAAO,MAAO,GACnB,MAAME,EAAkBD,EAAKE,SAAsBnE,EACnD,OAAOoE,EAAW,IAAIC,KAAKL,GAAQE,EACpC,CACD,OAAOF,CACT,UAEgBM,EACdP,EACAC,EACAO,GAEA,IAAIC,EACJ,OAAQT,GACN,KAAKU,MAAM7C,KAUT4C,GATeC,MAAMC,QAAQV,GACzBA,EAAMW,IAAKC,GACTN,EACEO,EAAeC,OAAOlD,KAAKmD,cAC3BH,EACAL,IAGJ,CAACP,IACWgB,KAAK,KACrB,MAEF,KAAK/E,EAAgBQ,OACnB+D,EAASS,EAAcjB,GACvB,MACF,KAAK/D,EAAgB7B,KAAM,CACzB,MAAM8F,EAA6BK,EAAWL,OAC1CF,IAAS,GAAGA,GAAQkB,OAAO9B,SAC7BoB,SACSR,IAAUa,EAAepE,OAAOmB,KAAKmD,cACxC,IAAIV,KAAKL,GACTA,EACEE,EACEiB,EAAUjB,EAAQF,GAClB,IAAIK,KAAKL,QACXoB,GAEV,KACD,CACD,QACEZ,SACSR,IAAUa,EAAeQ,OAAOzD,KAAKmD,cACxCN,MAAMC,QAAQV,GACZA,EAAMgB,KAAK,KACXM,KAAKC,UAAUvB,UACVA,IAAUa,EAAeW,QAAQ5D,KAAKmD,cAC3Cf,SACOA,IAAUa,EAAeC,OAAOlD,KAAKmD,cAC1CU,EAAWzB,GACXQ,EAEd,QAAsB,IAAXA,EACT,MAAM,IAAIlB,EACR,iCAAiCS,iBAAoBC,OAAWA,KAGpE,OAAOQ,CACT,CAEM,SAAUS,EAAcjB,GAC5B,GAAqB,iBAAVA,IAAuB0B,MAAM1B,GAAQ,OAAOA,EAEvD,MAAM2B,EAASC,OAAO5B,GACtB,OAAK0B,MAAMC,QAAX,EAA2BA,CAG7B,CAEM,SAAUF,EAAWzB,GACzB,IAAKA,EAAO,OAAOA,EAEnB,MAAM6B,EAAwC,CAC5C,IAAK,QACL,IAAK,OACL,IAAK,QAEP,OAAO,GAAG7B,GAAQ8B,QAAQ,SAAWvE,GAC5BsE,EAActE,IAAQA,EAEjC,CAEM,SAAUwE,EAAW/B,GACzB,MAAM6B,EAAwC,CAC5C,QAAS,IACT,OAAQ,IACR,OAAQ,KAGV,OAAO,GAAG7B,GAAQ8B,QAAQ,mBAAqBvE,GACtCsE,EAActE,IAAQA,EAEjC,CAEM,SAAUyE,EAAmCC,GACjD,IAAIC,EAA+B7B,KAAK8B,MACxC,IACaC,EAAMC,GAAGJ,EAAM1C,eAExB2C,EAAKD,EACHG,EAAMC,GAAGJ,EAAM1C,cAGpB,CAAC,MAAO+C,GAER,CAED,MAAO,GADML,EAAM1C,YAAY3B,QACbsE,GACpB,OC9FsBK,SAMLC,KAAKC,MAIhB,CAAA,CAAG,CAgBP,WAAAlD,CAA+BmD,GAAAF,KAAOE,QAAPA,EAFrBF,KAAWG,aAAY,EAG/BJ,EAAgBK,SAASJ,KAE1B,CAqBD,SAAAK,CAAU9E,EAAa+E,GAAkB,GACvC,GAAIA,EACF,OAAQ/E,GACN,KAAK8C,EAAeC,OAAOlD,KAAKmD,cAC9B,OAAO9E,EAAgBe,KACzB,KAAK6D,EAAepE,OAAOmB,KAAKmD,cAChC,KAAKF,EAAekC,OAAOnF,KAAKmD,cAC9B,OAAO9E,EAAgBQ,OACzB,KAAKoE,EAAeW,QAAQ5D,KAAKmD,cAC/B,OAAO9E,EAAgBE,SACzB,KAAK0E,EAAezG,KAAKwD,KAAKmD,cAC5B,OAAO9E,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,EAAgB7C,OACrB,KAAK6C,EAAgBgB,SACrB,KAAKhB,EAAgBS,MACnB,OAAOmE,EAAeC,OAAOlD,KAAKmD,cACpC,KAAK9E,EAAgBQ,OACnB,OAAOoE,EAAepE,OAAOmB,KAAKmD,cACpC,KAAK9E,EAAgBE,SACnB,OAAO0E,EAAeW,QAAQ5D,KAAKmD,cACrC,KAAK9E,EAAgB7B,KACrB,KAAK6B,EAAgBI,eACrB,KAAKJ,EAAgBkB,KACnB,OAAO0D,EAAezG,KAAKwD,KAAKmD,cAGtC,OAAOhD,CACR,CAcO,0BAAAiF,CACNf,GAEA,MAAO,CACLG,EAAMa,UAAUhB,EAAM1C,aACtB6C,EAAMc,cAAcjB,EAAM1C,aAC1B6C,EAAMe,cAAclB,EAAM1C,aAC1B6C,EAAMgB,WAAWnB,EAAM1C,cACvB8D,OAAOC,QACV,CASS,mBAAAC,CAAoBxF,GAC5B,OAAOW,OAAO8E,KAAK3I,GAAmB4I,SAAS1F,EAChD,CASS,wBAAA2F,CAAyB3F,GACjC,OAAOW,OAAO8E,KAAKtI,GAAwBuI,SAAS1F,EACrD,CAWS,gBAAA4F,CACR5F,EACAiC,GAEA,IAAKtB,OAAO8E,KAAKtI,GAAwBuI,SAAS1F,GAChD,MAAU6F,MACR,0BAA0B7F,wBAA0BW,OAAO8E,KAAKtI,GAAwB8F,KAAK,UAGjG,OAAOjD,IAAQ5F,EAAOwB,UAAkBqG,EAAMjC,EAC/C,CAiCS,iBAAA8F,CACR5B,EACA6B,EAAuC,CAAA,EACvCC,GAAsB,GAEtB,MAAMC,aAAEA,KAAiBC,GAA+BH,EACxDA,EAAcG,EAEd,MAAMC,EAAkB1B,KAAKQ,2BAA8Bf,GAE3D,IAAKiC,EAAgB9E,OACnB,MAAM,IAAIC,EACR,mCAAmC4C,EAAM1C,YAAY3B,+BAGzD,MAAMuG,EAAiBzF,OAAOC,OAC5B,CAAA,KACGuF,EACHF,GAA8B,CAAE,IAE5BzG,IAAEA,EAAGC,MAAEA,EAAKY,KAAEA,EAAIE,SAAEA,GAAa6F,EAEjCC,EAAehC,EAAMiC,eACzBpC,EAAM1C,aAQR,IAAI+E,EACAC,EAAkCnG,GAAMZ,OAAS,GACjDgH,EAA8B,CAAA,EAClC,MAAMC,EAAU,CAACC,EAA4B/E,IACpC+E,EAAS,CAACA,EAAQ/E,GAAMqB,KAAK,KAAOrB,EAG7C,GAAIyE,EAAc,CAChB,MAAMO,EACJ7G,EAAS8G,IACP3C,EAAM1C,YACN3F,EAAexB,UACZ,GAQP,IAAK,MAAM2F,KAAOqG,EAAc,CAC9B,MAAMS,EAAOzC,EAAM0C,eACjB7C,EAAM1C,YACNxB,GAEF,IAAIgC,EACJ,IAEEA,EAAOqC,EAAM2C,SAAS9C,EAAM1C,YAA+BxB,EAC5D,CAAC,MAAOuE,GACP,KAAMA,aAAa0C,GAAgB,MAAM1C,CAC1C,CAYD,GAJ2BF,EAAM6C,WAC/BhD,EAAM1C,YACNxB,KAG8BqE,EAAM8C,YAClCjD,EAAM1C,YACNxB,GAGA,MAAM,IAAIsB,EACR,2BAA2BtB,iDAGlBW,OAAOyG,QAAQN,GAC3BlE,IAAI,EAAEyE,EAAGxE,MAAQ,CAChB7C,IAAKqH,EACL5H,MAAOoD,KAERyE,KAAMC,GACE,CAACnN,EAAOI,QAASJ,EAAOM,OAAOgL,SAAS6B,EAAEvH,MAAQ,EAAI,GAE1DwH,QAASC,IACd,IAAKA,EAAK,MAAM,IAAInG,EAAe,sBAEnC,OAAQmG,EAAIzH,KACV,KAAK5F,EAAOK,KACV+L,EAAWxG,GAAcyH,EAAIhI,MAC7B,MAEF,KAAKrF,EAAOM,MAAO,CACjB,IAAK2J,EAAMqD,gBAAgBxD,EAAOlE,GAChC,MAAM,IAAIsB,EACR,UAAUtB,uBAGd,IAAI2H,EACJ,MAAMC,EAAY1D,EAChBlE,GAOF,GAJsB,iBAAb4H,GACM,OAAbA,GACClF,MAAMC,QAAQiF,GAEG,CAClB,MAAMC,EACHJ,EAAIhI,MAAcA,OAClBI,KACH8H,EAAQ,IAAKtD,EAAMwC,IAAIgB,GACxB,CAEDtB,EAAWA,GAAY,GACvB,MAAMuB,EAAsBnH,OAAOC,OACjC,CAAE,EACFmF,GAAe,GACf,CAAE7B,MAAOyD,GACT,CACE1B,aAAcwB,EAAIhI,MAClBsI,QAASrB,EACPX,GAAagC,QACb/H,KAIAgI,EAAkBvD,KAAKqB,kBAC3B8B,GAAYD,EACZG,GACA,IAEI7B,aAACA,GAAgB6B,EACpB7B,IACD+B,EAAgBvI,MAAQkB,OAAOC,OAAO,CAAE,EAAEoH,EAAgBvI,MAAOwG,EAAaxG,OAAS,CAAA,IACzF8G,EAAS0B,KACPD,GAEF,KACD,CACD,KAAK5N,EAAOW,WAAY,CACtB0L,EAASA,GAAU,GACnB,MAAMyB,EAAWT,EAAIhI,MACjByI,EAASrI,OACZ4G,EAAOyB,EAASrI,MAAoC,iBAApBqI,GAAUzI,OAAsBrF,EAAOuB,YAAYuM,EAASzI,MAASyI,EAASzI,MAAQO,GAEvH,MAAMP,EAAQkB,OAAOC,OACnB,CAAA,EACAwF,EAAe3G,OAAOY,MAAQ,CAAE,EAChCA,GAAMZ,OAAS,GACfyI,GAAUzI,OAAS,CAAA,EACnBsG,GAEFS,EAAa,CACXhH,IAAKa,GAAMb,KAAOC,EAAM0I,QAAU,GAClC1I,MAAOkB,OAAOC,OAAO,CAAE,EAAE4F,GAAY/G,MAAO,CAAEgH,UAAUhH,IAG1D,KACD,CACD,KAAKrF,EAAOqB,OACZ,KAAKrB,EAAOiB,OACZ,KAAKjB,EAAOoB,KACZ,KAAKpB,EAAOmB,MACZ,KAAKnB,EAAOa,aACZ,KAAKb,EAAOI,QAAS,CACnB+L,EAAWA,GAAY,GACvB,MAAM6B,EAA6BX,EAAIhI,MACjCA,EAAQkB,OAAOC,OACnB,CAAE,EACF4F,GAAY/G,MACZ2I,EAAQ3I,OAAS,CAAA,EACjB2I,GAAS3I,OAAOI,KACZ,CACEwI,KAAM3B,EACJX,GAAagC,QACbK,EAAQ3I,MAAOI,MAEjBkI,aAAS1E,GAEX,GACJ0C,EAAa,CAAClG,KAAMuI,EAAQ3I,OAAOI,MAAQG,IAG7C,GAAIyH,EAAIzH,MAAQ5F,EAAOI,QAAS,CAC9B,MAAMwN,EAAwD,CAC5DxI,IAAK4I,EAAQ5I,KAAOgH,GAAYhH,KAAOA,GAAO,GAC9CC,SAEI6I,EAAiB1B,EACrB5G,GAEF,GAAIsI,EACF,IAAK,MAAMb,KAAO9G,OAAOyG,QAAQkB,GAAgB1F,IAC/C,EAAEyE,EAAGxE,MAAQ,CAAE7C,IAAKqH,EAAG5H,MAAOoD,KAE1B4B,KAAKkB,yBAAyB8B,EAAIzH,KACpCgI,EAAgBvI,MAAMgF,KAAKK,UAAU2C,EAAIzH,MACvCyE,KAAKmB,iBAAiB6B,EAAIzH,IAAKyH,EAAIhI,OAGnCgF,KAAKe,oBAAoBiC,EAAIzH,OAC3ByH,EAAIzH,MAAQ9B,EAAgB7B,OAC9B2L,EAAgBvI,MAAMrF,EAAOkB,QAC3BmM,EAAIhI,MAAM0C,QAAUlE,GAExB+J,EAAgBvI,MAAMrF,EAAOe,MAAQsM,EAAIzH,KAM/C,IAAKgI,EAAgBvI,MAAMrF,EAAOe,MAAO,CACvC,MAAMoN,EAAYxI,EAASiC,KACzBkC,EAAM1C,YACNxB,GACAH,KACFmI,EAAgBvI,MAAMrF,EAAOe,MAAQsJ,KAAKK,UACxCyD,EAAUvF,eACV,EAEH,CAEDgF,EAAgBvI,MAAMwC,MAAQF,EAC5BiG,EAAgBvI,MAAMrF,EAAOe,MAC7B+I,EAAMlE,GACNgI,EAAgBvI,MAAMrF,EAAOkB,SAE/BiL,EAAS0B,KAAKD,EACf,KAAM,CACL,MAAMQ,EAAQjC,EAASkC,KAAMC,GAC3BA,EAAEjJ,OAAOI,OAASG,GACf,CAAC5F,EAAOa,aAAcb,EAAOoB,KAAMpB,EAAOqB,QAAQiK,SAAS+B,EAAIzH,OAC7D0I,EAAEjJ,OAAOsI,UAAY/H,GAAO0I,EAAEjJ,OAAOsI,SAASY,SAAS,IAAI3I,KAElE,GAAIwI,EACF,GAAIf,EAAIzH,MAAQ5F,EAAOa,aACrBuN,EAAM/I,MAAQkB,OAAOC,OAAO,CAAE,EAAE4H,EAAM/I,MAAO,CAC3C,CAACgI,EAAIzH,KAAMoI,QAER,CACL,MAAMQ,IAAEA,EAAGC,IAAEA,EAAGpJ,MAAEA,GAAUgI,EAAIhI,MAChC+I,EAAM/I,MAAQkB,OAAOC,OACnB,CAAA,EACAnB,GAAS,CAAE,EACX+I,EAAM/I,MACNmJ,EACAC,EAEH,CAEJ,CACD,KACD,CACD,QACE,MAAM,IAAIvH,EAAe,gBAAgBmG,EAAIzH,OAGpD,CACF,CAED+F,EAAcpF,OAAOC,OAAO,CAAA,EAAInB,EAAOsG,EAAa,CAClDxF,SAAUA,GAAY,CAAE,IAG1B,MAAMuI,EAAY/C,GAAa+C,UAC/BvC,EAAWA,GACPe,KAAK,CAACC,EAAGwB,KAAOxB,GAAG9H,OAAOuJ,OAAS,IAAMD,GAAGtJ,OAAOuJ,OAAS,IAC7D1D,OAAQjF,IACP,MAAM4I,EAAY5I,GAAMZ,OAAOyJ,QAAkC,GACjE,OAAKD,GAAU5H,QACV4H,EAASvD,SAASoD,QAAvB,EAD8BzI,IAGlC,MAAMoC,EAA6B,CACjCjD,IAAKA,EACLa,KAAMmG,EACN/G,MAAOsG,EACPQ,SAAUA,GAIZ,OADIP,IAAYvD,EAAO0G,WAAalF,EAAkBC,IAC/CzB,CACR,CA8BD,eAAOoC,CAAS3E,GACd,GAAIA,EAAOyE,WAAWF,KAAKC,MACzB,MAAM,IAAInD,EACR,0BAA0BrB,EAAOyE,0BAErCF,KAAKC,MAAMxE,EAAOyE,SAAWzE,EAC7BuE,KAAK2E,QAAUlJ,CAChB,CAaO,gBAAOmJ,CACbC,GAEA,GAAIA,aAAe9E,EAAiB,OAAO8E,EAC3C,MAAMpJ,EAA6B,IAAIoJ,EAEvC,OADApJ,EAAOqJ,aACArJ,CACR,CAaD,UAAO2G,CAAOlC,GACZ,IAAKA,EACH,OAAOF,KAAK4E,UACV5E,KAAK2E,SAET,KAAMzE,KAAWF,KAAKC,OACpB,MAAM,IAAInD,EACR,0BAA0BoD,oBAE9B,OAAOF,KAAK4E,UACV5E,KAAKC,MAAMC,GAId,CAcD,aAAOwD,CAAwBjE,KAAahC,GAG1C,IADEmC,EAAMwC,IAAI3C,EAAM1C,YAAY3B,QAASwE,EAAMmF,WAAWtF,GACtC,MAAM,IAAI3C,EAAc,6BAC1C,MAAMoD,EAAUN,EAAMpE,WAAWiE,EAAM1C,aAGvC,OAAOgD,EAAgBqC,IAAIlC,GAASwD,OAAOjE,KAAUhC,EACtD,ECjkBa,SAAAuH,KAAUC,GACxB,MAAO,CAAgBC,EAAahK,IAC3BiK,EACLjI,EAAkBhC,EAAavF,EAAOiB,QACtCqO,EAFKE,CAGLD,EAAQhK,EAEd,CA+BgB,SAAAkK,GAAQb,EAAgB,GACtC,MAAO,CAAiBW,EAAahK,IAC5BiK,EAAajI,EAAkBhC,EAAavF,EAAOmB,OAAQyN,EAA3DY,CACLD,EACAhK,EAGN,UAqCgBuJ,KACd,OAAOO,EACLK,EAAcC,OACdD,EAAcE,KACdF,EAAcG,OACdH,EAAcI,OAElB,CA4CM,SAAUC,GACd3K,EACAC,EACA2K,GAAqB,GAErB,MAAO,CAAC1K,EAAeC,KACrB,MAAMG,EAA8B,CAClCN,IAAKA,EACL4K,UAAWA,EACX3K,MAAOkB,OAAOC,OAAO,CAAA,EAAInB,GAAS,CAAA,EAAI,CACpCI,KAAMF,KAIV,OAAOiK,EACLjI,EAAkBhC,EAAavF,EAAOI,SACtCsF,EAFK8J,CAGLlK,EAAUC,GAEhB,UA6CgB0K,GACdC,OAA+BjH,EAC/BG,GAAqB,GAErB,MAAO,CAAC+G,EAAa5K,KACnB,MAAMG,EAA2B,CAC/BD,KAAMyK,GAAY3K,EAClB6D,UAAWA,GAEboG,EAAajI,EAAkBhC,EAAavF,EAAOK,MAAOqF,EAA1D8J,CACEW,EACA5K,GAGN,CAwDgB,SAAA6K,GACdC,EACAjL,EACAC,EAA6B,CAAE,EAC/BkD,GAAmB,EACnByH,GAAqB,GAErB,MAAO,CAACG,EAAa5K,KACnB,MAAMG,EAA8B,CAClCN,IAAKA,EACL4K,UAAWA,EACX3K,MAAOkB,OAAOC,OACZ,CAAA,EACAnB,GAAS,CAAA,EACT,CACEI,KAAM4K,GAAS9K,GAEjBgD,EACI,CAAE+H,YAAa,CAAChI,MAAM7C,MAAO8K,UAAU,GACvC,CAAEA,SAAUlL,GAAOkL,WAAY,KAIvCf,EAAajI,EAAkBhC,EAAavF,EAAOM,OAAQoF,EAA3D8J,CACEW,EACA5K,GAGN,UAmDgBiL,GACdN,OAA+BjH,EAC/B5D,GAEA,MAAO,CAAC8K,EAAa5K,KACnB,MAAMG,EAAwC,CAC5CD,KAAMyK,GAAY3K,EAClBF,MAAOA,GAAS,CAAE,GAEpBmK,EAAajI,EAAkBhC,EAAavF,EAAOW,YAAa+E,EAAhE8J,CACEW,EACA5K,GAGN,UAoDgBkL,GAAahC,EAAmB,EAAGD,EAAc,GAC/D,MAAO,CAAC2B,EAAa5K,KACnB,MAAMG,EAAiC,CACrCD,KAAMF,EAGNF,MAAOkB,OAAOC,OAAO,CAAE,EAAE,CAAEgI,MAAKC,SAElCe,EAAajI,EAAkBhC,EAAavF,EAAOa,cAAe6E,EAAlE8J,CACEW,EACA5K,GAGN,CA+DgB,SAAAmL,GAAWC,EAAe,GACxC,MAAO,CAAoBrL,EAAeC,IACjCiK,EAAajI,EAAkBhC,EAAavF,EAAOoB,MAAOuP,EAA1DnB,CACLlK,EACAC,EAGN,CAqBgB,SAAAqL,GAAKC,EAA4DC,GAC/E,MAAO,CAAcxL,EAAkBC,KACrCiK,EAAajI,EAAkBhC,EAAuBvF,EAAOqB,QAAS,CAACwP,CAACA,GAAQC,GAAhFtB,CACElK,EACAC,EAEJ,CACF,CASM,SAAUwL,GAAWD,GACzB,OAAOF,GAAK,SAAUE,EACxB,CAwCgB,SAAAE,GACdC,EACAC,GAEC,MAAO,CAACf,EAAa5K,KACpB,MAAMG,EAAwC,CAC5CD,KAAMF,EACNF,MAAO,CACL4L,cACIC,EAAqB,CAAEA,iBAAP,KAIxB1B,EAAajI,EAAkBhC,EAAavF,EAAOW,YAAa+E,EAAhE8J,CACEW,EACA5K,GAGN,CC5nBM,MAAgB4L,WAAuBC,EA8O3C,WAAAhK,GACEE,QAjJQ+C,KAAcgH,gBAAY,EAY1BhH,KAAUiH,YAAY,EAsBhCjH,KAAApE,KAAgC,CAAEb,IAAK,IAYvCiF,KAAKhF,MAA4B,GAUjCgF,KAAKkH,MAAY,GAUjBlH,KAAOmH,SAAY,EAsCAnH,KAAaqF,cAAGA,EAkCzBrF,KAAWG,aAAY,EAIvBH,KAAQlE,SAAmC,EAIpD,CAED,cAAIsL,GACF,OAAOpH,KAAKqH,WACb,CAED,cAAID,CAAWA,GACbpH,KAAKqH,YAAcD,CACpB,CAED,YAAM1D,IAAUjG,GACduC,KAAKsH,IAAIC,IAAIvH,KAAK0D,QAAQ8D,KAAK,cAAcxH,KAAKyH,sBAAsB3I,KAAKC,UAAUtB,KACxF,CAUD,gBAAMqH,IAAcrH,GAClBuC,KAAKG,aAAc,CACpB,CAQD,YAAMuH,IAAUjK,GACduC,KAAKsH,IAAIC,IAAIvH,KAAK0H,QAAQF,KAAK,cAAcxH,KAAKyH,sBAAsB3I,KAAKC,UAAUtB,KACxF,CASS,eAAM4C,IAAa5C,GAC3BuC,KAAKsH,IAAIC,IAAIvH,KAAKK,WAAWmH,KAAK,iBAAiBxH,KAAKyH,sBAAsB3I,KAAKC,UAAUtB,KAC9F,ECzRG,MAAOkK,WAA0Bb,GAQrC,WAAA/J,GACEE,OACD,CASD,MAAA2K,IAAUnK,GACRuC,KAAKsH,IAAIC,IAAIvH,KAAK4H,QAAQJ,KAAK,aAAaxH,KAAKyH,0BAA0B3I,KAAKC,UAAUtB,KAC3F,ECEHmC,EAAMiI,UAAUnE,OAAS,YAAuCjG,GAC9D,OAAOsC,EAAgB2D,OAAO1D,QAASvC,EACzC,EAECmC,EAAcpE,YACbiE,GAEOnE,EAAS8G,IAAI3C,EAAOnE,EAASC,IAAI5F,EAAOC,QAASD,EAAOG,eAC/DgS,KAAKlI,GAENA,EAAciC,gBACbpC,IAEA,MAAMtE,EAAOG,EAAS8G,IACpB3C,EACAnE,EAASC,IAAI5F,EAAOC,QAASwH,EAAeC,aAE9C,GAAKlC,EACL,OAAOe,OAAO8E,KAAK7F,EACrB,GAAE2M,KAAKlI,GAENA,EAAc0C,eAAiB,CAC9B7C,EACAtC,EACA5B,KAEA,MAAMJ,EAAOG,EAAS8G,IACpB3C,EACAnE,EAASC,IAAI5F,EAAOC,QAASwH,EAAeC,WAAYF,IAE1D,GAAKhC,EACL,OAAKI,EACEJ,EAAKI,GADKJ,CAEnB,EAECyE,EAAca,UACbhB,GAEOnE,EAAS8G,IAAI3C,EAAOnE,EAASC,IAAI5F,EAAOC,QAASD,EAAOE,UAGhE+J,EAAc8C,YAAc,CAC3BjD,EACAtC,IAEO7B,EAAS8G,IAAI3C,EAAOvC,EAAkBC,EAAMxH,EAAOI,UAG3D6J,EAAcc,cACbjB,GAEOnE,EAAS8G,IAAI3C,EAAOnE,EAASC,IAAI5F,EAAOC,QAASD,EAAOU,cAGhEuJ,EAAce,cACblB,GAEOnE,EAAS8G,IAAI3C,EAAOnE,EAASC,IAAI5F,EAAOC,QAASD,EAAOc,WAGhEmJ,EAAcgB,WACbnB,GAEOnE,EAAS8G,IAAI3C,EAAOnE,EAASC,IAAI5F,EAAOC,QAASD,EAAOY,WAGhEqJ,EAAc6C,WAAa,CAC1BhD,EACAtC,MAES7B,EAAS8G,IAAI3C,EAAOvC,EAAkBC,EAAMxH,EAAOiB,SAG7DgJ,EAAcmI,aAAe,CAC5BtI,EACAtC,EACA6K,KAEA,MAAM7M,EAAOG,EAAS8G,IAAI3C,EAAOvC,EAAkBC,EAAMxH,EAAOiB,SAChE,QAAKuE,IACA6M,EACG7M,EAA6B8F,SAAS+G,GAD9B7M,EAElB,EAECyE,EAAc2C,SAAW,CACxB9C,EACAtC,KAEA,MAAMhC,EAAOG,EAAS8G,IACpB3C,EACAnE,EAASC,IAAI5F,EAAOC,QAASwH,EAAeC,WAAYF,IAE1D,IAAKhC,EACH,MAAM,IAAIqH,EACR,mCAAmCrF,gBAAmBsC,EAAMrE,SAEhE,MAAM4F,EAAO9E,OAAO8E,KAAK7F,GAAM0F,OAAQ+B,GACrC,CAACjN,EAAOK,KAAML,EAAOI,QAASJ,EAAOM,OAAOgL,SAAS2B,IAEvD,GAAoB,IAAhB5B,EAAKpE,OACP,MAAM,IAAI4F,EACR,2CAA2CrF,gBAAmBsC,EAAMrE,SAExE,GAAI4F,EAAKpE,OAAS,EAChB,MAAM,IAAIC,EACR,iGAEJ,OAAO1B,EAAK6F,EAAK,GACnB,EAYCpB,EAAcqI,aAEbxI,IAEA,MAAMtE,EAAOG,EAAS8G,IACpB3C,EACAnE,EAASC,IAAI5F,EAAOC,QAASwH,EAAeC,aAE9C,GAAKlC,EACL,OAAOe,OAAO8E,KAAK7F,EACrB,GAAE2M,KAAKlI,GClJA,MAAMsI,GAAU"}
|
|
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/DecafComponent.ts","../src/ui/DecafEventHandler.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","SEQUENCE","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","decProps","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","uitablecol","sequence","valueParserFn","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","repository","_repository","log","for","info","componentName","refresh","preview","debug","submit","DecafEventHandler","handle","prototype","bind","uiIsHiddenOn","op","uiListItems","VERSION"],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
import { LoggedClass } from
|
|
2
|
-
import { UIFunctionLike } from
|
|
3
|
-
import { Model } from
|
|
4
|
-
import { IRepository, OperationKeys } from
|
|
5
|
-
|
|
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
|
+
type PrimaryKeyType = string | number | bigint;
|
|
6
|
+
/**
|
|
7
|
+
* Base class for all Decaf UI components, providing common state management,
|
|
8
|
+
* logging, localization, navigation hooks, CRUD context metadata, and
|
|
9
|
+
* repository integration used by higher-level decorators and renderers.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class DecafComponent<M extends Model> extends LoggedClass {
|
|
12
|
+
/**
|
|
13
|
+
* @description Data model or model name for component operations.
|
|
14
|
+
* @summary The data model that this component will use for CRUD operations. This can be provided
|
|
15
|
+
* as a Model instance, a model constructor, or a string representing the model's registered name.
|
|
16
|
+
* When set, this property provides the component with access to the model's schema, validation rules,
|
|
17
|
+
* and metadata needed for rendering and data operations.
|
|
18
|
+
* @type {M | Model | string | undefined}
|
|
19
|
+
*/
|
|
20
|
+
model: M | Model | string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* @description Primary key value of the current model instance.
|
|
23
|
+
* @summary Specifies the primary key value for the current model record being displayed or
|
|
24
|
+
* manipulated by the component. This identifier is used for CRUD operations that target
|
|
25
|
+
* specific records, such as read, update, and delete operations. The value corresponds to
|
|
26
|
+
* the field designated as the primary key in the model definition.
|
|
27
|
+
* @type {PrimaryKeyType | PrimaryKeyType[]}
|
|
28
|
+
*/
|
|
29
|
+
modelId?: PrimaryKeyType | PrimaryKeyType[];
|
|
6
30
|
/**
|
|
7
31
|
* @description The CRUD operation type to be performed on the model.
|
|
8
32
|
* @summary Specifies which operation (Create, Read, Update, Delete) this component instance
|
|
@@ -20,7 +44,6 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
20
44
|
* handles route parameters, and manages the browser's navigation history.
|
|
21
45
|
* @protected
|
|
22
46
|
* @type {Router}
|
|
23
|
-
* @memberOf module:lib/engine/NgxComponentDirective
|
|
24
47
|
*/
|
|
25
48
|
router?: any;
|
|
26
49
|
/**
|
|
@@ -31,7 +54,7 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
31
54
|
* identifier that helps distinguish between multiple instances of the same component type.
|
|
32
55
|
* @type {string}
|
|
33
56
|
*/
|
|
34
|
-
|
|
57
|
+
name: string;
|
|
35
58
|
/**
|
|
36
59
|
* @description Parent component identifier for hierarchical component relationships.
|
|
37
60
|
* @summary Specifies the identifier of the parent component in a hierarchical component structure.
|
|
@@ -40,43 +63,24 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
40
63
|
* component dependencies and establish component hierarchies for rendering and event propagation.
|
|
41
64
|
* @type {string | undefined}
|
|
42
65
|
*/
|
|
43
|
-
|
|
66
|
+
childOf: string | undefined;
|
|
44
67
|
/**
|
|
45
68
|
* @description Unique identifier for the component instance.
|
|
46
69
|
* @summary A unique identifier automatically generated for each component instance.
|
|
47
70
|
* This UID is used for DOM element identification, component tracking, and debugging purposes.
|
|
48
71
|
* By default, it generates a random 16-character value, but it can be explicitly set via input.
|
|
49
|
-
* @type {string
|
|
50
|
-
* @default generateRandomValue(16)
|
|
51
|
-
*/
|
|
52
|
-
protected uid?: string | number;
|
|
53
|
-
/**
|
|
54
|
-
* @description Data model or model name for component operations.
|
|
55
|
-
* @summary The data model that this component will use for CRUD operations. This can be provided
|
|
56
|
-
* as a Model instance, a model constructor, or a string representing the model's registered name.
|
|
57
|
-
* When set, this property provides the component with access to the model's schema, validation rules,
|
|
58
|
-
* and metadata needed for rendering and data operations.
|
|
59
|
-
* @type {Model | string | undefined}
|
|
72
|
+
* @type {string}
|
|
60
73
|
*/
|
|
61
|
-
|
|
74
|
+
uid?: PrimaryKeyType;
|
|
62
75
|
/**
|
|
63
76
|
* @description Primary key field name for the data model.
|
|
64
77
|
* @summary Specifies which field in the model should be used as the primary key.
|
|
65
78
|
* This is typically used for identifying unique records in operations like update and delete.
|
|
66
79
|
* If not explicitly set, it defaults to the repository's configured primary key or 'id'.
|
|
67
|
-
* @type {string}
|
|
80
|
+
* @type {keyof M | string}
|
|
68
81
|
* @default 'id'
|
|
69
82
|
*/
|
|
70
|
-
pk: string;
|
|
71
|
-
/**
|
|
72
|
-
* @description Primary key value of the current model instance.
|
|
73
|
-
* @summary Specifies the primary key value for the current model record being displayed or
|
|
74
|
-
* manipulated by the component. This identifier is used for CRUD operations that target
|
|
75
|
-
* specific records, such as read, update, and delete operations. The value corresponds to
|
|
76
|
-
* the field designated as the primary key in the model definition.
|
|
77
|
-
* @type {string | number | bigint | string[] | number[] | bigint[]}
|
|
78
|
-
*/
|
|
79
|
-
protected modelId?: string | number | bigint | string[] | number[] | bigint[];
|
|
83
|
+
pk: keyof M | string;
|
|
80
84
|
/**
|
|
81
85
|
* @description Flag to enable or disable dark mode support for the component.
|
|
82
86
|
* @summary When enabled, the component will automatically detect the system's dark mode
|
|
@@ -171,7 +175,7 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
171
175
|
* @type {any}
|
|
172
176
|
* @public
|
|
173
177
|
*/
|
|
174
|
-
|
|
178
|
+
value?: any;
|
|
175
179
|
/**
|
|
176
180
|
* @description Reference to CRUD operation constants for template usage.
|
|
177
181
|
* @summary Exposes the OperationKeys enum to the component template, enabling
|
|
@@ -192,18 +196,17 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
192
196
|
* popstate events, or supporting custom navigation logic.
|
|
193
197
|
*
|
|
194
198
|
*/
|
|
195
|
-
|
|
199
|
+
location: any;
|
|
196
200
|
/**
|
|
197
201
|
* @description Repository instance for data layer operations.
|
|
198
202
|
* @summary Provides a connection to the data layer for retrieving and manipulating data.
|
|
199
203
|
* This is an instance of the DecafRepository class, initialized lazily in the repository getter.
|
|
200
204
|
* The repository is used to perform CRUD (Create, Read, Update, Delete) operations on the
|
|
201
205
|
* data model and provides methods for querying and filtering data based on specific criteria.
|
|
202
|
-
* @type {
|
|
203
|
-
* @
|
|
204
|
-
* @memberOf module:lib/engine/NgxComponentDirective
|
|
206
|
+
* @type {IRepository<M>}
|
|
207
|
+
* @protected
|
|
205
208
|
*/
|
|
206
|
-
protected _repository?: IRepository<
|
|
209
|
+
protected _repository?: IRepository<M>;
|
|
207
210
|
/**
|
|
208
211
|
* @description Initialization status flag for the component.
|
|
209
212
|
* @summary Tracks whether the component has completed its initialization process.
|
|
@@ -213,12 +216,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
213
216
|
* @default false
|
|
214
217
|
*/
|
|
215
218
|
protected initialized: boolean;
|
|
216
|
-
protected events?: Record<keyof Pick<DecafComponent
|
|
219
|
+
protected events?: Record<keyof Pick<DecafComponent<M>, "render" | "initialize">, UIFunctionLike>;
|
|
217
220
|
protected handlers: Record<string, UIFunctionLike>;
|
|
218
221
|
constructor();
|
|
219
|
-
get repository(): IRepository<
|
|
220
|
-
set repository(repository: IRepository<
|
|
222
|
+
get repository(): IRepository<M>;
|
|
223
|
+
set repository(repository: IRepository<M>);
|
|
221
224
|
render(...args: unknown[]): Promise<void>;
|
|
225
|
+
refresh(...args: unknown[]): Promise<void>;
|
|
222
226
|
/**
|
|
223
227
|
* Asynchronously initializes the component with the provided arguments.
|
|
224
228
|
* This method sets the `initialized` property to `true` once the initialization is complete.
|
|
@@ -227,13 +231,6 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
227
231
|
* @returns A promise that resolves when the initialization is complete.
|
|
228
232
|
*/
|
|
229
233
|
initialize(...args: unknown[]): Promise<void>;
|
|
230
|
-
/**
|
|
231
|
-
* Submits data or performs an action associated with the component.
|
|
232
|
-
*
|
|
233
|
-
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
234
|
-
* @returns A promise that resolves with the result of the submit operation.
|
|
235
|
-
*/
|
|
236
|
-
submit(...args: unknown[]): Promise<any>;
|
|
237
234
|
/**
|
|
238
235
|
* Translates content based on the provided arguments.
|
|
239
236
|
* Logs the translation request with the component name and arguments.
|
|
@@ -242,4 +239,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
242
239
|
* @returns A promise that resolves with the translation result.
|
|
243
240
|
*/
|
|
244
241
|
protected translate(...args: unknown[]): Promise<any>;
|
|
242
|
+
preview(...args: unknown[]): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Submits data or performs an action associated with the component.
|
|
245
|
+
*
|
|
246
|
+
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
247
|
+
* @returns A promise that resolves with the result of the submit operation.
|
|
248
|
+
*/
|
|
249
|
+
submit(...args: unknown[]): Promise<any>;
|
|
245
250
|
}
|
|
251
|
+
export {};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { LoggedClass } from
|
|
2
|
-
import { OperationKeys } from
|
|
1
|
+
import { LoggedClass } from "@decaf-ts/logging";
|
|
2
|
+
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
3
|
+
/**
|
|
4
|
+
* Base class for all Decaf UI components, providing common state management,
|
|
5
|
+
* logging, localization, navigation hooks, CRUD context metadata, and
|
|
6
|
+
* repository integration used by higher-level decorators and renderers.
|
|
7
|
+
*/
|
|
3
8
|
export class DecafComponent extends LoggedClass {
|
|
4
9
|
constructor() {
|
|
5
10
|
super();
|
|
@@ -35,7 +40,7 @@ export class DecafComponent extends LoggedClass {
|
|
|
35
40
|
* @type {Record<string, unknown>}
|
|
36
41
|
* @default {tag: ""}
|
|
37
42
|
*/
|
|
38
|
-
this.item = { tag:
|
|
43
|
+
this.item = { tag: "" };
|
|
39
44
|
/**
|
|
40
45
|
* @description Dynamic properties configuration for runtime customization.
|
|
41
46
|
* @summary Contains key-value pairs of dynamic properties that can be applied to the component
|
|
@@ -93,7 +98,12 @@ export class DecafComponent extends LoggedClass {
|
|
|
93
98
|
this._repository = repository;
|
|
94
99
|
}
|
|
95
100
|
async render(...args) {
|
|
96
|
-
this.log
|
|
101
|
+
this.log
|
|
102
|
+
.for(this.render)
|
|
103
|
+
.info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
104
|
+
}
|
|
105
|
+
async refresh(...args) {
|
|
106
|
+
this.log.for(this.refresh).info(`Refresh called with args: ${args}`);
|
|
97
107
|
}
|
|
98
108
|
/**
|
|
99
109
|
* Asynchronously initializes the component with the provided arguments.
|
|
@@ -106,15 +116,6 @@ export class DecafComponent extends LoggedClass {
|
|
|
106
116
|
async initialize(...args) {
|
|
107
117
|
this.initialized = true;
|
|
108
118
|
}
|
|
109
|
-
/**
|
|
110
|
-
* Submits data or performs an action associated with the component.
|
|
111
|
-
*
|
|
112
|
-
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
113
|
-
* @returns A promise that resolves with the result of the submit operation.
|
|
114
|
-
*/
|
|
115
|
-
async submit(...args) {
|
|
116
|
-
this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
117
|
-
}
|
|
118
119
|
/**
|
|
119
120
|
* Translates content based on the provided arguments.
|
|
120
121
|
* Logs the translation request with the component name and arguments.
|
|
@@ -123,7 +124,31 @@ export class DecafComponent extends LoggedClass {
|
|
|
123
124
|
* @returns A promise that resolves with the translation result.
|
|
124
125
|
*/
|
|
125
126
|
async translate(...args) {
|
|
126
|
-
this.log
|
|
127
|
+
this.log
|
|
128
|
+
.for(this.translate)
|
|
129
|
+
.info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
130
|
+
}
|
|
131
|
+
async preview(...args) {
|
|
132
|
+
this.log.for(this.preview).debug(`Preview called with args: ${args}`);
|
|
133
|
+
}
|
|
134
|
+
// async process(...args: unknown[]): Promise<any> {
|
|
135
|
+
// this.log.for(this.process).debug(`Process called with args: ${args}`);
|
|
136
|
+
// }
|
|
137
|
+
// async batchOperation(...args: unknown[]): Promise<any> {
|
|
138
|
+
// this.log
|
|
139
|
+
// .for(this.batchOperation)
|
|
140
|
+
// .debug(`BatchOperation called with args: ${args}`);
|
|
141
|
+
// }
|
|
142
|
+
/**
|
|
143
|
+
* Submits data or performs an action associated with the component.
|
|
144
|
+
*
|
|
145
|
+
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
146
|
+
* @returns A promise that resolves with the result of the submit operation.
|
|
147
|
+
*/
|
|
148
|
+
async submit(...args) {
|
|
149
|
+
this.log
|
|
150
|
+
.for(this.submit)
|
|
151
|
+
.info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
127
152
|
}
|
|
128
153
|
}
|
|
129
154
|
//# sourceMappingURL=DecafComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../../src/ui/DecafComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAe,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../../src/ui/DecafComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAe,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIrE;;;;GAIG;AACH,MAAM,OAAgB,cAAgC,SAAQ,WAAW;IA6OvE;QACE,KAAK,EAAE,CAAC;QA7JV;;;;;;;;;WASG;QACO,mBAAc,GAAY,IAAI,CAAC;QAEzC;;;;;;;;;WASG;QACO,eAAU,GAAY,KAAK,CAAC;QAYtC;;;;;;;;;WASG;QACH,SAAI,GAA4B,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAE5C;;;;;;;;;WASG;QACH,UAAK,GAA4B,EAAE,CAAC;QAEpC;;;;;;;WAOG;QACH,UAAK,GAAY,EAAE,CAAC;QAEpB;;;;;;;WAOG;QACH,YAAO,GAAY,KAAK,CAAC;QA6BzB;;;;;;;;WAQG;QACgB,kBAAa,GAAG,aAAa,CAAC;QAyBjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAO7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAA6B,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,CAAC,UAA0B;QACvC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;aACnB,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,oDAAoD;IACpD,2EAA2E;IAC3E,IAAI;IAEJ,2DAA2D;IAC3D,aAAa;IACb,gCAAgC;IAChC,0DAA0D;IAC1D,IAAI;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
1
2
|
import { DecafComponent } from "./DecafComponent";
|
|
2
3
|
/**
|
|
3
4
|
* @description Class representing an event handler
|
|
@@ -7,7 +8,7 @@ import { DecafComponent } from "./DecafComponent";
|
|
|
7
8
|
* @class EventHandler
|
|
8
9
|
* @memberOf module:ui-decorators/ui
|
|
9
10
|
*/
|
|
10
|
-
export declare class DecafEventHandler extends DecafComponent {
|
|
11
|
+
export declare class DecafEventHandler extends DecafComponent<Model> {
|
|
11
12
|
/**
|
|
12
13
|
* @description Creates an instance of DecafEventHandler
|
|
13
14
|
* @summary Initializes a new EventHandler object
|
|
@@ -25,7 +25,9 @@ export class DecafEventHandler extends DecafComponent {
|
|
|
25
25
|
* @returns void
|
|
26
26
|
*/
|
|
27
27
|
handle(...args) {
|
|
28
|
-
this.log
|
|
28
|
+
this.log
|
|
29
|
+
.for(this.handle)
|
|
30
|
+
.info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
//# sourceMappingURL=DecafEventHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAkB,SAAQ,cAAqB;IAC1D;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CrudOperationKeys, UIFunctionLike, UILayoutCol } from "./types";
|
|
2
2
|
import { DecafComponent } from "./DecafComponent";
|
|
3
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
4
|
/**
|
|
4
5
|
* @description Decorator that hides a property during specific CRUD operations
|
|
5
6
|
* @summary Controls property visibility based on operation type
|
|
@@ -425,7 +426,7 @@ export declare function uipageprop(page?: number): (original: any, propertyKey?:
|
|
|
425
426
|
* }
|
|
426
427
|
* ```
|
|
427
428
|
*/
|
|
428
|
-
export declare function uion(event: keyof Pick<DecafComponent
|
|
429
|
+
export declare function uion(event: keyof Pick<DecafComponent<Model>, "render" | "initialize">, handler: UIFunctionLike): (original: object, propertyKey?: string) => void;
|
|
429
430
|
/**
|
|
430
431
|
* A decorator function that associates a UI rendering handler with the 'render' event.
|
|
431
432
|
*
|
package/lib/esm/ui/decorators.js
CHANGED
|
@@ -493,7 +493,9 @@ export function uipageprop(page = 1) {
|
|
|
493
493
|
*/
|
|
494
494
|
export function uion(event, handler) {
|
|
495
495
|
return function uion(original, propertyKey) {
|
|
496
|
-
propMetadata(getUIAttributeKey(propertyKey, UIKeys.EVENTS), {
|
|
496
|
+
propMetadata(getUIAttributeKey(propertyKey, UIKeys.EVENTS), {
|
|
497
|
+
[event]: handler,
|
|
498
|
+
})(original, propertyKey);
|
|
497
499
|
};
|
|
498
500
|
}
|
|
499
501
|
/**
|
|
@@ -504,7 +506,7 @@ export function uion(event, handler) {
|
|
|
504
506
|
* @returns A decorated function that binds the handler to the 'render' event.
|
|
505
507
|
*/
|
|
506
508
|
export function uionrender(handler) {
|
|
507
|
-
return uion(
|
|
509
|
+
return uion("render", handler);
|
|
508
510
|
}
|
|
509
511
|
/**
|
|
510
512
|
* @description Decorator that marks a property as a column in a UI table
|
|
@@ -549,8 +551,8 @@ export function uitablecol(sequence, valueParserFn) {
|
|
|
549
551
|
name: propertyKey,
|
|
550
552
|
props: {
|
|
551
553
|
sequence,
|
|
552
|
-
|
|
553
|
-
}
|
|
554
|
+
...(!valueParserFn ? {} : { valueParserFn }),
|
|
555
|
+
},
|
|
554
556
|
};
|
|
555
557
|
propMetadata(getUIAttributeKey(propertyKey, UIKeys.UILISTPROP), metadata)(target, propertyKey);
|
|
556
558
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/ui/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,uBAAoB;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,mBAAgB;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/ui/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/index.cjs
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DecafComponent = void 0;
|
|
4
4
|
const logging_1 = require("@decaf-ts/logging");
|
|
5
5
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
6
|
+
/**
|
|
7
|
+
* Base class for all Decaf UI components, providing common state management,
|
|
8
|
+
* logging, localization, navigation hooks, CRUD context metadata, and
|
|
9
|
+
* repository integration used by higher-level decorators and renderers.
|
|
10
|
+
*/
|
|
6
11
|
class DecafComponent extends logging_1.LoggedClass {
|
|
7
12
|
constructor() {
|
|
8
13
|
super();
|
|
@@ -38,7 +43,7 @@ class DecafComponent extends logging_1.LoggedClass {
|
|
|
38
43
|
* @type {Record<string, unknown>}
|
|
39
44
|
* @default {tag: ""}
|
|
40
45
|
*/
|
|
41
|
-
this.item = { tag:
|
|
46
|
+
this.item = { tag: "" };
|
|
42
47
|
/**
|
|
43
48
|
* @description Dynamic properties configuration for runtime customization.
|
|
44
49
|
* @summary Contains key-value pairs of dynamic properties that can be applied to the component
|
|
@@ -96,7 +101,12 @@ class DecafComponent extends logging_1.LoggedClass {
|
|
|
96
101
|
this._repository = repository;
|
|
97
102
|
}
|
|
98
103
|
async render(...args) {
|
|
99
|
-
this.log
|
|
104
|
+
this.log
|
|
105
|
+
.for(this.render)
|
|
106
|
+
.info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
107
|
+
}
|
|
108
|
+
async refresh(...args) {
|
|
109
|
+
this.log.for(this.refresh).info(`Refresh called with args: ${args}`);
|
|
100
110
|
}
|
|
101
111
|
/**
|
|
102
112
|
* Asynchronously initializes the component with the provided arguments.
|
|
@@ -109,15 +119,6 @@ class DecafComponent extends logging_1.LoggedClass {
|
|
|
109
119
|
async initialize(...args) {
|
|
110
120
|
this.initialized = true;
|
|
111
121
|
}
|
|
112
|
-
/**
|
|
113
|
-
* Submits data or performs an action associated with the component.
|
|
114
|
-
*
|
|
115
|
-
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
116
|
-
* @returns A promise that resolves with the result of the submit operation.
|
|
117
|
-
*/
|
|
118
|
-
async submit(...args) {
|
|
119
|
-
this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
120
|
-
}
|
|
121
122
|
/**
|
|
122
123
|
* Translates content based on the provided arguments.
|
|
123
124
|
* Logs the translation request with the component name and arguments.
|
|
@@ -126,7 +127,31 @@ class DecafComponent extends logging_1.LoggedClass {
|
|
|
126
127
|
* @returns A promise that resolves with the translation result.
|
|
127
128
|
*/
|
|
128
129
|
async translate(...args) {
|
|
129
|
-
this.log
|
|
130
|
+
this.log
|
|
131
|
+
.for(this.translate)
|
|
132
|
+
.info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
133
|
+
}
|
|
134
|
+
async preview(...args) {
|
|
135
|
+
this.log.for(this.preview).debug(`Preview called with args: ${args}`);
|
|
136
|
+
}
|
|
137
|
+
// async process(...args: unknown[]): Promise<any> {
|
|
138
|
+
// this.log.for(this.process).debug(`Process called with args: ${args}`);
|
|
139
|
+
// }
|
|
140
|
+
// async batchOperation(...args: unknown[]): Promise<any> {
|
|
141
|
+
// this.log
|
|
142
|
+
// .for(this.batchOperation)
|
|
143
|
+
// .debug(`BatchOperation called with args: ${args}`);
|
|
144
|
+
// }
|
|
145
|
+
/**
|
|
146
|
+
* Submits data or performs an action associated with the component.
|
|
147
|
+
*
|
|
148
|
+
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
149
|
+
* @returns A promise that resolves with the result of the submit operation.
|
|
150
|
+
*/
|
|
151
|
+
async submit(...args) {
|
|
152
|
+
this.log
|
|
153
|
+
.for(this.submit)
|
|
154
|
+
.info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
130
155
|
}
|
|
131
156
|
}
|
|
132
157
|
exports.DecafComponent = DecafComponent;
|
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
import { LoggedClass } from
|
|
2
|
-
import { UIFunctionLike } from
|
|
3
|
-
import { Model } from
|
|
4
|
-
import { IRepository, OperationKeys } from
|
|
5
|
-
|
|
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
|
+
type PrimaryKeyType = string | number | bigint;
|
|
6
|
+
/**
|
|
7
|
+
* Base class for all Decaf UI components, providing common state management,
|
|
8
|
+
* logging, localization, navigation hooks, CRUD context metadata, and
|
|
9
|
+
* repository integration used by higher-level decorators and renderers.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class DecafComponent<M extends Model> extends LoggedClass {
|
|
12
|
+
/**
|
|
13
|
+
* @description Data model or model name for component operations.
|
|
14
|
+
* @summary The data model that this component will use for CRUD operations. This can be provided
|
|
15
|
+
* as a Model instance, a model constructor, or a string representing the model's registered name.
|
|
16
|
+
* When set, this property provides the component with access to the model's schema, validation rules,
|
|
17
|
+
* and metadata needed for rendering and data operations.
|
|
18
|
+
* @type {M | Model | string | undefined}
|
|
19
|
+
*/
|
|
20
|
+
model: M | Model | string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* @description Primary key value of the current model instance.
|
|
23
|
+
* @summary Specifies the primary key value for the current model record being displayed or
|
|
24
|
+
* manipulated by the component. This identifier is used for CRUD operations that target
|
|
25
|
+
* specific records, such as read, update, and delete operations. The value corresponds to
|
|
26
|
+
* the field designated as the primary key in the model definition.
|
|
27
|
+
* @type {PrimaryKeyType | PrimaryKeyType[]}
|
|
28
|
+
*/
|
|
29
|
+
modelId?: PrimaryKeyType | PrimaryKeyType[];
|
|
6
30
|
/**
|
|
7
31
|
* @description The CRUD operation type to be performed on the model.
|
|
8
32
|
* @summary Specifies which operation (Create, Read, Update, Delete) this component instance
|
|
@@ -20,7 +44,6 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
20
44
|
* handles route parameters, and manages the browser's navigation history.
|
|
21
45
|
* @protected
|
|
22
46
|
* @type {Router}
|
|
23
|
-
* @memberOf module:lib/engine/NgxComponentDirective
|
|
24
47
|
*/
|
|
25
48
|
router?: any;
|
|
26
49
|
/**
|
|
@@ -31,7 +54,7 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
31
54
|
* identifier that helps distinguish between multiple instances of the same component type.
|
|
32
55
|
* @type {string}
|
|
33
56
|
*/
|
|
34
|
-
|
|
57
|
+
name: string;
|
|
35
58
|
/**
|
|
36
59
|
* @description Parent component identifier for hierarchical component relationships.
|
|
37
60
|
* @summary Specifies the identifier of the parent component in a hierarchical component structure.
|
|
@@ -40,43 +63,24 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
40
63
|
* component dependencies and establish component hierarchies for rendering and event propagation.
|
|
41
64
|
* @type {string | undefined}
|
|
42
65
|
*/
|
|
43
|
-
|
|
66
|
+
childOf: string | undefined;
|
|
44
67
|
/**
|
|
45
68
|
* @description Unique identifier for the component instance.
|
|
46
69
|
* @summary A unique identifier automatically generated for each component instance.
|
|
47
70
|
* This UID is used for DOM element identification, component tracking, and debugging purposes.
|
|
48
71
|
* By default, it generates a random 16-character value, but it can be explicitly set via input.
|
|
49
|
-
* @type {string
|
|
50
|
-
* @default generateRandomValue(16)
|
|
51
|
-
*/
|
|
52
|
-
protected uid?: string | number;
|
|
53
|
-
/**
|
|
54
|
-
* @description Data model or model name for component operations.
|
|
55
|
-
* @summary The data model that this component will use for CRUD operations. This can be provided
|
|
56
|
-
* as a Model instance, a model constructor, or a string representing the model's registered name.
|
|
57
|
-
* When set, this property provides the component with access to the model's schema, validation rules,
|
|
58
|
-
* and metadata needed for rendering and data operations.
|
|
59
|
-
* @type {Model | string | undefined}
|
|
72
|
+
* @type {string}
|
|
60
73
|
*/
|
|
61
|
-
|
|
74
|
+
uid?: PrimaryKeyType;
|
|
62
75
|
/**
|
|
63
76
|
* @description Primary key field name for the data model.
|
|
64
77
|
* @summary Specifies which field in the model should be used as the primary key.
|
|
65
78
|
* This is typically used for identifying unique records in operations like update and delete.
|
|
66
79
|
* If not explicitly set, it defaults to the repository's configured primary key or 'id'.
|
|
67
|
-
* @type {string}
|
|
80
|
+
* @type {keyof M | string}
|
|
68
81
|
* @default 'id'
|
|
69
82
|
*/
|
|
70
|
-
pk: string;
|
|
71
|
-
/**
|
|
72
|
-
* @description Primary key value of the current model instance.
|
|
73
|
-
* @summary Specifies the primary key value for the current model record being displayed or
|
|
74
|
-
* manipulated by the component. This identifier is used for CRUD operations that target
|
|
75
|
-
* specific records, such as read, update, and delete operations. The value corresponds to
|
|
76
|
-
* the field designated as the primary key in the model definition.
|
|
77
|
-
* @type {string | number | bigint | string[] | number[] | bigint[]}
|
|
78
|
-
*/
|
|
79
|
-
protected modelId?: string | number | bigint | string[] | number[] | bigint[];
|
|
83
|
+
pk: keyof M | string;
|
|
80
84
|
/**
|
|
81
85
|
* @description Flag to enable or disable dark mode support for the component.
|
|
82
86
|
* @summary When enabled, the component will automatically detect the system's dark mode
|
|
@@ -171,7 +175,7 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
171
175
|
* @type {any}
|
|
172
176
|
* @public
|
|
173
177
|
*/
|
|
174
|
-
|
|
178
|
+
value?: any;
|
|
175
179
|
/**
|
|
176
180
|
* @description Reference to CRUD operation constants for template usage.
|
|
177
181
|
* @summary Exposes the OperationKeys enum to the component template, enabling
|
|
@@ -192,18 +196,17 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
192
196
|
* popstate events, or supporting custom navigation logic.
|
|
193
197
|
*
|
|
194
198
|
*/
|
|
195
|
-
|
|
199
|
+
location: any;
|
|
196
200
|
/**
|
|
197
201
|
* @description Repository instance for data layer operations.
|
|
198
202
|
* @summary Provides a connection to the data layer for retrieving and manipulating data.
|
|
199
203
|
* This is an instance of the DecafRepository class, initialized lazily in the repository getter.
|
|
200
204
|
* The repository is used to perform CRUD (Create, Read, Update, Delete) operations on the
|
|
201
205
|
* data model and provides methods for querying and filtering data based on specific criteria.
|
|
202
|
-
* @type {
|
|
203
|
-
* @
|
|
204
|
-
* @memberOf module:lib/engine/NgxComponentDirective
|
|
206
|
+
* @type {IRepository<M>}
|
|
207
|
+
* @protected
|
|
205
208
|
*/
|
|
206
|
-
protected _repository?: IRepository<
|
|
209
|
+
protected _repository?: IRepository<M>;
|
|
207
210
|
/**
|
|
208
211
|
* @description Initialization status flag for the component.
|
|
209
212
|
* @summary Tracks whether the component has completed its initialization process.
|
|
@@ -213,12 +216,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
213
216
|
* @default false
|
|
214
217
|
*/
|
|
215
218
|
protected initialized: boolean;
|
|
216
|
-
protected events?: Record<keyof Pick<DecafComponent
|
|
219
|
+
protected events?: Record<keyof Pick<DecafComponent<M>, "render" | "initialize">, UIFunctionLike>;
|
|
217
220
|
protected handlers: Record<string, UIFunctionLike>;
|
|
218
221
|
constructor();
|
|
219
|
-
get repository(): IRepository<
|
|
220
|
-
set repository(repository: IRepository<
|
|
222
|
+
get repository(): IRepository<M>;
|
|
223
|
+
set repository(repository: IRepository<M>);
|
|
221
224
|
render(...args: unknown[]): Promise<void>;
|
|
225
|
+
refresh(...args: unknown[]): Promise<void>;
|
|
222
226
|
/**
|
|
223
227
|
* Asynchronously initializes the component with the provided arguments.
|
|
224
228
|
* This method sets the `initialized` property to `true` once the initialization is complete.
|
|
@@ -227,13 +231,6 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
227
231
|
* @returns A promise that resolves when the initialization is complete.
|
|
228
232
|
*/
|
|
229
233
|
initialize(...args: unknown[]): Promise<void>;
|
|
230
|
-
/**
|
|
231
|
-
* Submits data or performs an action associated with the component.
|
|
232
|
-
*
|
|
233
|
-
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
234
|
-
* @returns A promise that resolves with the result of the submit operation.
|
|
235
|
-
*/
|
|
236
|
-
submit(...args: unknown[]): Promise<any>;
|
|
237
234
|
/**
|
|
238
235
|
* Translates content based on the provided arguments.
|
|
239
236
|
* Logs the translation request with the component name and arguments.
|
|
@@ -242,4 +239,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
242
239
|
* @returns A promise that resolves with the translation result.
|
|
243
240
|
*/
|
|
244
241
|
protected translate(...args: unknown[]): Promise<any>;
|
|
242
|
+
preview(...args: unknown[]): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Submits data or performs an action associated with the component.
|
|
245
|
+
*
|
|
246
|
+
* @param args - A variable number of arguments of any type to be passed to the submit operation.
|
|
247
|
+
* @returns A promise that resolves with the result of the submit operation.
|
|
248
|
+
*/
|
|
249
|
+
submit(...args: unknown[]): Promise<any>;
|
|
245
250
|
}
|
|
251
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../src/ui/DecafComponent.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,2DAAqE;
|
|
1
|
+
{"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../src/ui/DecafComponent.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,2DAAqE;AAIrE;;;;GAIG;AACH,MAAsB,cAAgC,SAAQ,qBAAW;IA6OvE;QACE,KAAK,EAAE,CAAC;QA7JV;;;;;;;;;WASG;QACO,mBAAc,GAAY,IAAI,CAAC;QAEzC;;;;;;;;;WASG;QACO,eAAU,GAAY,KAAK,CAAC;QAYtC;;;;;;;;;WASG;QACH,SAAI,GAA4B,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAE5C;;;;;;;;;WASG;QACH,UAAK,GAA4B,EAAE,CAAC;QAEpC;;;;;;;WAOG;QACH,UAAK,GAAY,EAAE,CAAC;QAEpB;;;;;;;WAOG;QACH,YAAO,GAAY,KAAK,CAAC;QA6BzB;;;;;;;;WAQG;QACgB,kBAAa,GAAG,6BAAa,CAAC;QAyBjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAO7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAA6B,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,CAAC,UAA0B;QACvC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;aACnB,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,oDAAoD;IACpD,2EAA2E;IAC3E,IAAI;IAEJ,2DAA2D;IAC3D,aAAa;IACb,gCAAgC;IAChC,0DAA0D;IAC1D,IAAI;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF;AArTD,wCAqTC"}
|
|
@@ -28,7 +28,9 @@ class DecafEventHandler extends DecafComponent_1.DecafComponent {
|
|
|
28
28
|
* @returns void
|
|
29
29
|
*/
|
|
30
30
|
handle(...args) {
|
|
31
|
-
this.log
|
|
31
|
+
this.log
|
|
32
|
+
.for(this.handle)
|
|
33
|
+
.info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
exports.DecafEventHandler = DecafEventHandler;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
1
2
|
import { DecafComponent } from "./DecafComponent";
|
|
2
3
|
/**
|
|
3
4
|
* @description Class representing an event handler
|
|
@@ -7,7 +8,7 @@ import { DecafComponent } from "./DecafComponent";
|
|
|
7
8
|
* @class EventHandler
|
|
8
9
|
* @memberOf module:ui-decorators/ui
|
|
9
10
|
*/
|
|
10
|
-
export declare class DecafEventHandler extends DecafComponent {
|
|
11
|
+
export declare class DecafEventHandler extends DecafComponent<Model> {
|
|
11
12
|
/**
|
|
12
13
|
* @description Creates an instance of DecafEventHandler
|
|
13
14
|
* @summary Initializes a new EventHandler object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAElD;;;;;;;GAOG;AACH,MAAa,iBAAkB,SAAQ,+BAAqB;IAC1D;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF;AAvBD,8CAuBC"}
|
package/lib/ui/decorators.cjs
CHANGED
|
@@ -507,7 +507,9 @@ function uipageprop(page = 1) {
|
|
|
507
507
|
*/
|
|
508
508
|
function uion(event, handler) {
|
|
509
509
|
return function uion(original, propertyKey) {
|
|
510
|
-
(0, decoration_1.propMetadata)((0, utils_1.getUIAttributeKey)(propertyKey, constants_1.UIKeys.EVENTS), {
|
|
510
|
+
(0, decoration_1.propMetadata)((0, utils_1.getUIAttributeKey)(propertyKey, constants_1.UIKeys.EVENTS), {
|
|
511
|
+
[event]: handler,
|
|
512
|
+
})(original, propertyKey);
|
|
511
513
|
};
|
|
512
514
|
}
|
|
513
515
|
/**
|
|
@@ -518,7 +520,7 @@ function uion(event, handler) {
|
|
|
518
520
|
* @returns A decorated function that binds the handler to the 'render' event.
|
|
519
521
|
*/
|
|
520
522
|
function uionrender(handler) {
|
|
521
|
-
return uion(
|
|
523
|
+
return uion("render", handler);
|
|
522
524
|
}
|
|
523
525
|
/**
|
|
524
526
|
* @description Decorator that marks a property as a column in a UI table
|
|
@@ -563,8 +565,8 @@ function uitablecol(sequence, valueParserFn) {
|
|
|
563
565
|
name: propertyKey,
|
|
564
566
|
props: {
|
|
565
567
|
sequence,
|
|
566
|
-
|
|
567
|
-
}
|
|
568
|
+
...(!valueParserFn ? {} : { valueParserFn }),
|
|
569
|
+
},
|
|
568
570
|
};
|
|
569
571
|
(0, decoration_1.propMetadata)((0, utils_1.getUIAttributeKey)(propertyKey, constants_1.UIKeys.UILISTPROP), metadata)(target, propertyKey);
|
|
570
572
|
};
|
package/lib/ui/decorators.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CrudOperationKeys, UIFunctionLike, UILayoutCol } from "./types";
|
|
2
2
|
import { DecafComponent } from "./DecafComponent";
|
|
3
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
4
|
/**
|
|
4
5
|
* @description Decorator that hides a property during specific CRUD operations
|
|
5
6
|
* @summary Controls property visibility based on operation type
|
|
@@ -425,7 +426,7 @@ export declare function uipageprop(page?: number): (original: any, propertyKey?:
|
|
|
425
426
|
* }
|
|
426
427
|
* ```
|
|
427
428
|
*/
|
|
428
|
-
export declare function uion(event: keyof Pick<DecafComponent
|
|
429
|
+
export declare function uion(event: keyof Pick<DecafComponent<Model>, "render" | "initialize">, handler: UIFunctionLike): (original: object, propertyKey?: string) => void;
|
|
429
430
|
/**
|
|
430
431
|
* A decorator function that associates a UI rendering handler with the 'render' event.
|
|
431
432
|
*
|
package/lib/ui/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/ui/decorators.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/ui/decorators.ts"],"names":[],"mappings":"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"}
|