@decaf-ts/ui-decorators 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- 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 +73 -7
- package/lib/esm/ui/DecafComponent.js +59 -0
- package/lib/esm/ui/DecafComponent.js.map +1 -1
- package/lib/esm/ui/DecafEventHandler.d.ts +16 -0
- package/lib/esm/ui/DecafEventHandler.js +24 -0
- package/lib/esm/ui/DecafEventHandler.js.map +1 -1
- package/lib/esm/ui/constants.d.ts +117 -0
- package/lib/esm/ui/constants.js +117 -0
- package/lib/esm/ui/constants.js.map +1 -1
- package/lib/esm/ui/decorators.d.ts +12 -6
- package/lib/esm/ui/decorators.js +16 -2
- package/lib/esm/ui/decorators.js.map +1 -1
- package/lib/esm/ui/types.d.ts +5 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/ui/DecafComponent.cjs +61 -1
- package/lib/ui/DecafComponent.d.ts +73 -7
- package/lib/ui/DecafComponent.js.map +1 -1
- package/lib/ui/DecafEventHandler.cjs +24 -0
- package/lib/ui/DecafEventHandler.d.ts +16 -0
- package/lib/ui/DecafEventHandler.js.map +1 -1
- package/lib/ui/constants.cjs +118 -1
- package/lib/ui/constants.d.ts +117 -0
- package/lib/ui/constants.js.map +1 -1
- package/lib/ui/decorators.cjs +17 -2
- package/lib/ui/decorators.d.ts +12 -6
- package/lib/ui/decorators.js.map +1 -1
- package/lib/ui/types.d.ts +5 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@ A TypeScript library that provides a declarative approach to UI rendering throug
|
|
|
6
6
|
|
|
7
7
|
The library offers a flexible rendering engine architecture that can be extended to support different UI frameworks (React, Angular, HTML5, etc.) while maintaining a consistent model-driven approach to UI development. It bridges the gap between data models and their visual representation, enabling developers to define UI behavior directly on their domain models.
|
|
8
8
|
|
|
9
|
+
> Release docs refreshed on 2025-11-26. See [workdocs/reports/RELEASE_NOTES.md](./workdocs/reports/RELEASE_NOTES.md) for ticket summaries.
|
|
10
|
+
|
|
9
11
|
|
|
10
12
|

|
|
11
13
|

|
|
@@ -479,6 +481,9 @@ This example demonstrates how to create a complete registration form with variou
|
|
|
479
481
|
- builder;
|
|
480
482
|
- etc;
|
|
481
483
|
|
|
484
|
+
## Release Documentation Hooks
|
|
485
|
+
Stay aligned with the automated release pipeline by reviewing [Release Notes](./workdocs/reports/RELEASE_NOTES.md) and [Dependencies](./workdocs/reports/DEPENDENCIES.md) after trying these recipes (updated on 2025-11-26).
|
|
486
|
+
|
|
482
487
|
|
|
483
488
|
### Related
|
|
484
489
|
|
package/dist/ui-decorators.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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);
|
|
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 n={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},i={[n.EMAIL]:t.EmailValidator,[n.URL]:t.URLValidator,[n.DATE]:t.DateValidator,[n.PASSWORD]:t.PasswordValidator},d={[n.REQUIRED]:t.RequiredValidator,[n.MIN]:t.MinValidator,[n.MAX]:t.MaxValidator,[n.STEP]:t.StepValidator,[n.MIN_LENGTH]:t.MinLengthValidator,[n.MAX_LENGTH]:t.MaxLengthValidator,[n.PATTERN]:t.PatternValidator,[n.EQUALS]:t.EqualsValidator,[n.DIFF]:t.DiffValidator,[n.LESS_THAN]:t.LessThanValidator,[n.LESS_THAN_OR_EQUAL]:t.LessThanOrEqualValidator,[n.GREATER_THAN]:t.GreaterThanValidator,[n.GREATER_THAN_OR_EQUAL]:t.GreaterThanOrEqualValidator},l="yyyy-MM-dd",c={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:n.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:n.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:n.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:n.URL,WEEK:"week"},E=[c.CHECKBOX,c.RADIO],p={cancel:"cancel",confirm:"confirm",submit:"submit",clear:"clear",back:"back",[o.OperationKeys.CREATE]:o.OperationKeys.CREATE,[o.OperationKeys.READ]:o.OperationKeys.READ,[o.OperationKeys.UPDATE]:o.OperationKeys.UPDATE,[o.OperationKeys.DELETE]:o.OperationKeys.DELETE};function u(e,t){return(o,a)=>{const s={tag:e||o.name,props:t};return r.metadata(r.Metadata.key(n.REFLECT,n.UIMODEL),s)(o)}}class f extends o.InternalError{constructor(e){super(e,f.name)}}function y(e,t){return r.Metadata.key(n.REFLECT,r.DecorationKeys.PROPERTIES,e,t)}function h(e,o,...r){if(e===n.DATE){if(!o)return"";const e=r.shift()||l;return t.formatDate(new Date(o),e)}return o}function T(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function M(e){if(!e)return e;const t={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function m(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 R{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,R.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(i).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===n.REQUIRED||t[e]}toFieldDefinition(e,a={},s=!0){const{inheritProps:i,...d}=a;a=d;const E=this.getClassDecoratorsMetadata(e);if(!E.length)throw new f(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const p=Object.assign({},...E,i||{}),{tag:u,props:y,item:T,handlers:M}=p,R=t.Model.uiPropertiesOf(e.constructor);let O,L=T?.props||{},g={};const A=(e,t)=>e?[e,t].join("."):t;if(R){const s=r.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const i of R){const d=t.Model.uiDecorationOf(e.constructor,i);let E;try{E=t.Model.uiTypeOf(e.constructor,i)}catch(e){if(!(e instanceof o.NotFoundError))throw e}if(t.Model.uiIsHidden(e.constructor,i)&&!t.Model.uiElementOf(e.constructor,i))throw new f(`@uielement no found in "${i}". It is required to use hiddenOn decorator.`);Object.entries(d).map(([e,t])=>({key:e,props:t})).sort(e=>[n.ELEMENT,n.CHILD].includes(e.key)?-1:1).forEach(o=>{if(!o)throw new f("No decorator found");switch(o.key){case n.PROP:L[i]=o.props;break;case n.CHILD:{if(!t.Model.isPropertyModel(e,i))throw new f(`Child "${i}" must be a model.`);let r;const s=e[i];if("object"!=typeof s||null===s||Array.isArray(s)){const e=o.props.props?.name;r=new(t.Model.get(e))}O=O||[];const n=Object.assign({},a||{},{model:r},{inheritProps:o.props,childOf:A(a?.childOf,i)}),d=this.toFieldDefinition(s||r,n,!1),{inheritProps:l}=n;l&&(d.props=Object.assign({},d.props,l.props||{})),O.push(d);break}case n.UILISTPROP:{g=g||{};const e=o.props;e.name&&(g[e.name]="object"==typeof e?.props&&n.SEQUENCE in e.props?e.props:i);const t=Object.assign({},p.props?.item||{},T?.props||{},e?.props||{},a);L={tag:T?.tag||t.render||"",props:Object.assign({},L?.props,{mapper:g},t)};break}case n.EVENTS:case n.HIDDEN:case n.PAGE:case n.ORDER:case n.UILAYOUTPROP:case n.ELEMENT:{O=O||[];const t=o.props,d=Object.assign({},L?.props,t.props||{},t?.props?.name?{path:A(a?.childOf,t.props.name),childOf:void 0}:{},a,{name:t.props?.name||i});if(o.key===n.ELEMENT){const o={tag:t.tag||L?.tag||u||"",props:d},a=s[i];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[n.FORMAT]=e.props.format||l),o.props[n.TYPE]=e.key);if(!o.props[n.TYPE]){const t=r.Metadata.type(e.constructor,i).name;o.props[n.TYPE]=this.translate(t.toLowerCase(),!0)}o.props.value=h(o.props[n.TYPE],e[i],o.props[n.FORMAT]),O.push(o)}else{const e=O.find(e=>e.props?.name===i||[n.UILAYOUTPROP,n.PAGE,n.EVENTS].includes(o.key)&&(e.props?.childOf===i||e.props?.childOf?.endsWith("."+i)));if(e)if(o.key!==n.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 f("Invalid key: "+o.key)}})}}a=Object.assign({},y,a,{handlers:M||{}});const D=a?.operation;O=O?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(D)?void 0:e});const N={tag:u,item:L,props:a,children:O};return s&&(N.rendererId=m(e)),N}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 R)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 R.get(a).render(e,...r)}}function O(...e){return(t,o)=>r.propMetadata(y(o,n.HIDDEN),e)(t,o)}function L(e,t){return(o,a)=>{r.propMetadata(y(a,n.EVENTS),{..."object"==typeof e?e:{[e]:t}})(o,a)}}const g=e=>"function"==typeof e&&/^class\s/.test(e+"");class A 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.events={},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)}`)}parseHandlers(e,t){const o={};return Object.entries(e).forEach(([e,r])=>{if(g(r)){const a=new r,s=e in a?a[e]:a.handle;o[e]=s,t.handlers[e]=s}else o[e]=r,t.handlers[e]=r}),o}parseEvents(e,t){const o={};return Object.entries(e).forEach(([e,r])=>{const a=e,s=r();if(g(s)){const r=(new s)[e];r&&(o[a]=r,t.events[a]=r)}else o[a]=r,t.events[a]=r}),o}}t.Model.prototype.render=function(...e){return R.render(this,...e)},t.Model.renderedBy=(e=>r.Metadata.get(e,r.Metadata.key(n.REFLECT,n.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=r.Metadata.get(e,r.Metadata.key(n.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(n.REFLECT,r.DecorationKeys.PROPERTIES,t));if(a)return o?a[o]:a},t.Model.uiModelOf=e=>r.Metadata.get(e,r.Metadata.key(n.REFLECT,n.UIMODEL)),t.Model.uiElementOf=(e,t)=>r.Metadata.get(e,y(t,n.ELEMENT)),t.Model.uiListModelOf=e=>r.Metadata.get(e,r.Metadata.key(n.REFLECT,n.UILISTMODEL)),t.Model.uiHandlersFor=e=>r.Metadata.get(e,r.Metadata.key(n.REFLECT,n.HANDLERS)),t.Model.uiLayoutOf=e=>r.Metadata.get(e,r.Metadata.key(n.REFLECT,n.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!r.Metadata.get(e,y(t,n.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,o)=>{const a=r.Metadata.get(e,y(t,n.HIDDEN));return!!a&&(o?a.includes(o):a)},t.Model.uiTypeOf=(e,t)=>{const a=r.Metadata.get(e,r.Metadata.key(n.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=>[n.PROP,n.ELEMENT,n.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 f("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(n.REFLECT,r.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.ActionRoles=p,e.ComponentEventNames={Render:"render",BackButtonClickEvent:"backButtonNavigationEndEvent",Refresh:"RefreshEvent",Click:"ClickEvent",Change:"ChangeEvent",Submit:"SubmitEvent",ValidationError:"validationErrorEvent",ThemeChange:"themeChangeEvent",FormGroupLoaded:"formGroupLoadedEvent"},e.DecafComponent=A,e.DecafEventHandler=class extends A{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}handleClick(...e){this.log.for(this.handleClick).info(`component ${this.componentName} handling click ${JSON.stringify(e)}`)}handleAction(...e){this.log.for(this.handleAction).info(`component ${this.componentName} handling action ${JSON.stringify(e)}`)}},e.ElementPositions={left:"left",center:"center",right:"right",top:"top",bottom:"bottom"},e.ElementSizes={xsmall:"xsmall",small:"small",medium:"medium",default:"default",large:"large",xLarge:"xlarge","2xLarge":"2xlarge",auto:"auto",expand:"expand",block:"block"},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.LayoutGridGaps={small:"small",medium:"medium",large:"large",collapse:"collapse",none:""},e.RenderingEngine=R,e.RenderingError=f,e.TransactionHooks={BeforeCreate:"beforeCreate",AfterCreate:"afterCreate",BeforeUpdate:"beforeUpdate",AfterUpdate:"afterUpdate",BeforeDelete:"beforeDelete",AfterDelete:"afterDelete"},e.UIKeys=n,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=i,e.WindowColorSchemes={light:"light",dark:"dark",undefined:"undefined"},e.escapeHtml=M,e.formatByType=h,e.generateUIModelID=m,e.getUIAttributeKey=y,e.hidden=()=>O(o.OperationKeys.CREATE,o.OperationKeys.READ,o.OperationKeys.UPDATE,o.OperationKeys.DELETE),e.hideOn=O,e.isClassConstructor=g,e.parseToNumber=T,e.parseValueByType=function e(r,a,s){let n;switch(r){case Array.name:n=(Array.isArray(a)?a.map(o=>e(t.ReservedModels.STRING.name.toLowerCase(),o,s)):[a]).join(",");break;case c.NUMBER:n=T(a);break;case c.DATE:{const e=s.format;a&&(""+a).trim().length&&(n=typeof a===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(a):a?e?t.parseDate(e,a):new Date(a):void 0);break}default:n=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()?M(a):n}if(void 0===n)throw new o.InternalError(`Failed to parse value of type ${r} from ${typeof a} - ${a}`);return n},e.renderedBy=e=>r.apply(r.metadata(r.Metadata.key(n.REFLECT,n.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)=>(i,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(y(d,n.CHILD),l)(i,d)},e.uielement=(e,t,o=!1)=>(a,s)=>{"object"==typeof e&&(t=e,e="");const i={tag:e,serialize:o,props:Object.assign({},t||{},{name:s})};return r.propMetadata(y(s,n.ELEMENT),i)(a,s)},e.uihandlers=e=>t=>{const o={handlers:e};return r.metadata(r.Metadata.key(n.REFLECT,n.HANDLERS),o)(t)},e.uilayout=(t,o=1,r=1,a={})=>(s,n)=>u(t,Object.assign({..."boolean"==typeof o?{flexMode:o,cols:1}:{flexMode:!1,cols:o},rows:r,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},a)}))(s,n),e.uilayoutprop=(e=1,t=1)=>(o,a)=>{const s={name:a,props:Object.assign({},{row:t,col:e})};r.propMetadata(y(a,n.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(n.REFLECT,n.UILISTMODEL),s)(o)},e.uilistprop=(e=void 0,t)=>(o,a)=>{const s={name:e||a,props:t||{}};r.propMetadata(y(a,n.UILISTPROP),s)(o,a)},e.uimodel=u,e.uion=L,e.uionclick=e=>L("handleClick",e),e.uionrender=e=>L("render",e),e.uiorder=(e=1)=>(t,o)=>r.propMetadata(y(o,n.ORDER),e)(t,o),e.uipageprop=(e=1)=>(t,o)=>r.propMetadata(y(o,n.PAGE),e)(t,o),e.uiprop=(e=void 0,t=!1)=>(o,a)=>{const s={name:e||a,stringify:t};r.propMetadata(y(a,n.PROP),s)(o,a)},e.uisteppedmodel=(e,t=1,o=!1,r={})=>{let a=[];return"object"==typeof t&&(a=t,t=a.length),u(e,{pages:t,paginated:o,pageTitles:a,props:r})},e.uitablecol=(e,t)=>(o,a)=>{const s={name:a,props:{sequence:e,...t?{valueParserFn:t}:{}}};r.propMetadata(y(a,n.UILISTPROP),s)(o,a)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decoration"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/db-decorators","@decaf-ts/decoration","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsDbDecorators,e.decafTsDecoration,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","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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"}
|
|
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","ActionRoles","cancel","confirm","submit","clear","back","OperationKeys","CREATE","READ","UPDATE","DELETE","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","isClassConstructor","test","String","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","events","repository","_repository","log","for","info","componentName","JSON","stringify","refresh","preview","debug","parseHandlers","instance","fn","clazz","handle","parseEvents","evt","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","Render","BackButtonClickEvent","Refresh","Click","Change","Submit","ValidationError","ThemeChange","FormGroupLoaded","handleClick","handleAction","left","center","right","top","bottom","xsmall","small","medium","default","large","xLarge","auto","expand","block","collapse","none","BeforeCreate","AfterCreate","BeforeUpdate","AfterUpdate","BeforeDelete","AfterDelete","light","dark","parseValueByType","fieldProps","trim","parseDate","OBJECT","apply","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 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};
|
|
1
|
+
import{ValidationKeys as e,EmailValidator as t,URLValidator as r,DateValidator as n,PasswordValidator as o,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 h,GreaterThanValidator as T,GreaterThanOrEqualValidator as m,formatDate as R,ReservedModels as O,parseDate as L,Model as A}from"@decaf-ts/decorator-validation";import{OperationKeys as g,InternalError as y,NotFoundError as N}from"@decaf-ts/db-decorators";import{metadata as D,Metadata as I,apply as b,DecorationKeys as C,propMetadata as S}from"@decaf-ts/decoration";import{LoggedClass as P}from"@decaf-ts/logging";var k;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(k||(k={}));const w={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",EVENTS:"events",READ_ONLY:"readonly",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},M={[w.EMAIL]:t,[w.URL]:r,[w.DATE]:n,[w.PASSWORD]:o},U={[w.REQUIRED]:s,[w.MIN]:i,[w.MAX]:a,[w.STEP]:c,[w.MIN_LENGTH]:E,[w.MAX_LENGTH]:u,[w.PATTERN]:p,[w.EQUALS]:l,[w.DIFF]:f,[w.LESS_THAN]:d,[w.LESS_THAN_OR_EQUAL]:h,[w.GREATER_THAN]:T,[w.GREATER_THAN_OR_EQUAL]:m},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:w.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:w.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:w.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:w.URL,WEEK:"week"},B=[_.CHECKBOX,_.RADIO],v={Render:"render",BackButtonClickEvent:"backButtonNavigationEndEvent",Refresh:"RefreshEvent",Click:"ClickEvent",Change:"ChangeEvent",Submit:"SubmitEvent",ValidationError:"validationErrorEvent",ThemeChange:"themeChangeEvent",FormGroupLoaded:"formGroupLoadedEvent"},j={BeforeCreate:"beforeCreate",AfterCreate:"afterCreate",BeforeUpdate:"beforeUpdate",AfterUpdate:"afterUpdate",BeforeDelete:"beforeDelete",AfterDelete:"afterDelete"},F={xsmall:"xsmall",small:"small",medium:"medium",default:"default",large:"large",xLarge:"xlarge","2xLarge":"2xlarge",auto:"auto",expand:"expand",block:"block"},G={left:"left",center:"center",right:"right",top:"top",bottom:"bottom"},$={small:"small",medium:"medium",large:"large",collapse:"collapse",none:""},x={cancel:"cancel",confirm:"confirm",submit:"submit",clear:"clear",back:"back",[g.CREATE]:g.CREATE,[g.READ]:g.READ,[g.UPDATE]:g.UPDATE,[g.DELETE]:g.DELETE},X={light:"light",dark:"dark",undefined:"undefined"};function Y(e,t){return(r,n)=>{const o={tag:e||r.name,props:t};return D(I.key(w.REFLECT,w.UIMODEL),o)(r)}}function Q(e){return b(D(I.key(w.REFLECT,w.RENDERED_BY),e))}function V(e,t){return(r,n)=>{const o={item:{tag:e||r.name,props:t}};return D(I.key(w.REFLECT,w.UILISTMODEL),o)(r)}}function J(e){return t=>{const r={handlers:e};return D(I.key(w.REFLECT,w.HANDLERS),r)(t)}}function W(e,t=1,r=1,n={}){return(o,s)=>Y(e,Object.assign({..."boolean"==typeof t?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:k.LARGE},n)}))(o,s)}function z(e,t=1,r=!1,n={}){let o=[];return"object"==typeof t&&(o=t,t=o.length),Y(e,{pages:t,paginated:r,pageTitles:o,props:n})}class K extends y{constructor(e){super(e,K.name)}}function q(e,t){return I.key(w.REFLECT,C.PROPERTIES,e,t)}function Z(e,t,...r){if(e===w.DATE){if(!t)return"";const e=r.shift()||H;return R(new Date(t),e)}return t}function ee(e,t,r){let n;switch(e){case Array.name:n=(Array.isArray(t)?t.map(e=>ee(O.STRING.name.toLowerCase(),e,r)):[t]).join(",");break;case _.NUMBER:n=te(t);break;case _.DATE:{const e=r.format;t&&(""+t).trim().length&&(n=typeof t===O.NUMBER.name.toLowerCase()?new Date(t):t?e?L(e,t):new Date(t):void 0);break}default:n=typeof t===O.OBJECT.name.toLowerCase()?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===O.BOOLEAN.name.toLowerCase()?t:typeof t===O.STRING.name.toLowerCase()?re(t):n}if(void 0===n)throw new y(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return n}function te(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function re(e){if(!e)return e;const t={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function ne(e){const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)}function oe(e){let t=Date.now();try{A.pk(e.constructor)&&(t=e[A.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${t}`}class se{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,se.register(this)}translate(e,t=!0){if(t)switch(e){case O.STRING.name.toLowerCase():return _.TEXT;case O.NUMBER.name.toLowerCase():case O.BIGINT.name.toLowerCase():return _.NUMBER;case O.BOOLEAN.name.toLowerCase():return _.CHECKBOX;case O.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 O.STRING.name.toLowerCase();case _.NUMBER:return O.NUMBER.name.toLowerCase();case _.CHECKBOX:return O.BOOLEAN.name.toLowerCase();case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return O.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[A.uiModelOf(e.constructor),A.uiListModelOf(e.constructor),A.uiHandlersFor(e.constructor),A.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(M).includes(e)}isValidatableByAttribute(e){return Object.keys(U).includes(e)}toAttributeValue(e,t){if(!Object.keys(U).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(U).join(", ")}.`);return e===w.REQUIRED||t[e]}toFieldDefinition(t,r={},n=!0){const{inheritProps:o,...s}=r;r=s;const i=this.getClassDecoratorsMetadata(t);if(!i.length)throw new K(`No ui definitions set for model ${t.constructor.name}. Did you use @uimodel?`);const a=Object.assign({},...i,o||{}),{tag:c,props:E,item:u,handlers:p}=a,l=A.uiPropertiesOf(t.constructor);let f,d=u?.props||{},h={};const T=(e,t)=>e?[e,t].join("."):t;if(l){const n=I.get(t.constructor,e.REFLECT)||{};for(const e of l){const o=A.uiDecorationOf(t.constructor,e);let s;try{s=A.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof N))throw e}if(A.uiIsHidden(t.constructor,e)&&!A.uiElementOf(t.constructor,e))throw new K(`@uielement no found in "${e}". It is required to use hiddenOn decorator.`);Object.entries(o).map(([e,t])=>({key:e,props:t})).sort(e=>[w.ELEMENT,w.CHILD].includes(e.key)?-1:1).forEach(o=>{if(!o)throw new K("No decorator found");switch(o.key){case w.PROP:d[e]=o.props;break;case w.CHILD:{if(!A.isPropertyModel(t,e))throw new K(`Child "${e}" must be a model.`);let n;const s=t[e];if("object"!=typeof s||null===s||Array.isArray(s)){const e=o.props.props?.name;n=new(A.get(e))}f=f||[];const i=Object.assign({},r||{},{model:n},{inheritProps:o.props,childOf:T(r?.childOf,e)}),a=this.toFieldDefinition(s||n,i,!1),{inheritProps:c}=i;c&&(a.props=Object.assign({},a.props,c.props||{})),f.push(a);break}case w.UILISTPROP:{h=h||{};const t=o.props;t.name&&(h[t.name]="object"==typeof t?.props&&w.SEQUENCE in t.props?t.props:e);const n=Object.assign({},a.props?.item||{},u?.props||{},t?.props||{},r);d={tag:u?.tag||n.render||"",props:Object.assign({},d?.props,{mapper:h},n)};break}case w.EVENTS:case w.HIDDEN:case w.PAGE:case w.ORDER:case w.UILAYOUTPROP:case w.ELEMENT:{f=f||[];const s=o.props,i=Object.assign({},d?.props,s.props||{},s?.props?.name?{path:T(r?.childOf,s.props.name),childOf:void 0}:{},r,{name:s.props?.name||e});if(o.key===w.ELEMENT){const r={tag:s.tag||d?.tag||c||"",props:i},o=n[e];if(o)for(const e of Object.entries(o).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===_.DATE&&(r.props[w.FORMAT]=e.props.format||H),r.props[w.TYPE]=e.key);if(!r.props[w.TYPE]){const n=I.type(t.constructor,e).name;r.props[w.TYPE]=this.translate(n.toLowerCase(),!0)}r.props.value=Z(r.props[w.TYPE],t[e],r.props[w.FORMAT]),f.push(r)}else{const t=f.find(t=>t.props?.name===e||[w.UILAYOUTPROP,w.PAGE,w.EVENTS].includes(o.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(o.key!==w.UILAYOUTPROP)t.props=Object.assign({},t.props,{[o.key]:s});else{const{row:e,col:r,props:n}=o.props;t.props=Object.assign({},n||{},t.props,e,r)}}break}default:throw new K("Invalid key: "+o.key)}})}}r=Object.assign({},E,r,{handlers:p||{}});const m=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(m)?void 0:e});const R={tag:c,item:d,props:r,children:f};return n&&(R.rendererId=oe(t)),R}static register(e){if(e.flavour in this.cache)throw new y(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof se)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 y(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!A.get(e.constructor.name)&&!A.fromObject(e))throw new y("No model registered found");const r=A.renderedBy(e.constructor);return se.get(r).render(e,...t)}}function ie(...e){return(t,r)=>S(q(r,w.HIDDEN),e)(t,r)}function ae(e=1){return(t,r)=>S(q(r,w.ORDER),e)(t,r)}function ce(){return ie(g.CREATE,g.READ,g.UPDATE,g.DELETE)}function Ee(e,t,r=!1){return(n,o)=>{"object"==typeof e&&(t=e,e="");const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:o})};return S(q(o,w.ELEMENT),s)(n,o)}}function ue(e=void 0,t=!1){return(r,n)=>{const o={name:e||n,stringify:t};S(q(n,w.PROP),o)(r,n)}}function pe(e,t,r={},n=!1,o=!1){return(s,i)=>{const a={tag:t,serialize:o,props:Object.assign({},r||{},{name:e||i},n?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};S(q(i,w.CHILD),a)(s,i)}}function le(e=void 0,t){return(r,n)=>{const o={name:e||n,props:t||{}};S(q(n,w.UILISTPROP),o)(r,n)}}function fe(e=1,t=1){return(r,n)=>{const o={name:n,props:Object.assign({},{row:t,col:e})};S(q(n,w.UILAYOUTPROP),o)(r,n)}}function de(e=1){return(t,r)=>S(q(r,w.PAGE),e)(t,r)}function he(e,t){return(r,n)=>{S(q(n,w.EVENTS),{..."object"==typeof e?e:{[e]:t}})(r,n)}}function Te(e){return he("handleClick",e)}function me(e){return he("render",e)}function Re(e,t){return(r,n)=>{const o={name:n,props:{sequence:e,...t?{valueParserFn:t}:{}}};S(q(n,w.UILISTPROP),o)(r,n)}}const Oe=e=>"function"==typeof e&&/^class\s/.test(e+"");class Le extends P{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=g,this.initialized=!1,this.events={},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)}`)}parseHandlers(e,t){const r={};return Object.entries(e).forEach(([e,n])=>{if(Oe(n)){const o=new n,s=e in o?o[e]:o.handle;r[e]=s,t.handlers[e]=s}else r[e]=n,t.handlers[e]=n}),r}parseEvents(e,t){const r={};return Object.entries(e).forEach(([e,n])=>{const o=e,s=n();if(Oe(s)){const n=(new s)[e];n&&(r[o]=n,t.events[o]=n)}else r[o]=n,t.events[o]=n}),r}}class Ae extends Le{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}handleClick(...e){this.log.for(this.handleClick).info(`component ${this.componentName} handling click ${JSON.stringify(e)}`)}handleAction(...e){this.log.for(this.handleAction).info(`component ${this.componentName} handling action ${JSON.stringify(e)}`)}}A.prototype.render=function(...e){return se.render(this,...e)},A.renderedBy=(e=>I.get(e,I.key(w.REFLECT,w.RENDERED_BY))).bind(A),A.uiPropertiesOf=(e=>{const t=I.get(e,I.key(w.REFLECT,C.PROPERTIES));if(t)return Object.keys(t)}).bind(A),A.uiDecorationOf=(e,t,r)=>{const n=I.get(e,I.key(w.REFLECT,C.PROPERTIES,t));if(n)return r?n[r]:n},A.uiModelOf=e=>I.get(e,I.key(w.REFLECT,w.UIMODEL)),A.uiElementOf=(e,t)=>I.get(e,q(t,w.ELEMENT)),A.uiListModelOf=e=>I.get(e,I.key(w.REFLECT,w.UILISTMODEL)),A.uiHandlersFor=e=>I.get(e,I.key(w.REFLECT,w.HANDLERS)),A.uiLayoutOf=e=>I.get(e,I.key(w.REFLECT,w.UILAYOUT)),A.uiIsHidden=(e,t)=>!!I.get(e,q(t,w.HIDDEN)),A.uiIsHiddenOn=(e,t,r)=>{const n=I.get(e,q(t,w.HIDDEN));return!!n&&(r?n.includes(r):n)},A.uiTypeOf=(e,t)=>{const r=I.get(e,I.key(w.REFLECT,C.PROPERTIES,t));if(!r)throw new N(`No metadata found for property '${t}' on model '${e.name}'`);const n=Object.keys(r).filter(e=>[w.PROP,w.ELEMENT,w.CHILD].includes(e));if(0===n.length)throw new N(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(n.length>1)throw new K("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[n[0]]},A.uiListItems=(e=>{const t=I.get(e,I.key(w.REFLECT,C.PROPERTIES));if(t)return Object.keys(t)}).bind(A);const ge="##VERSION##";export{x as ActionRoles,v as ComponentEventNames,Le as DecafComponent,Ae as DecafEventHandler,G as ElementPositions,F as ElementSizes,B as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,$ as LayoutGridGaps,se as RenderingEngine,K as RenderingError,j as TransactionHooks,w as UIKeys,k as UIMediaBreakPoints,ge as VERSION,U as ValidatableByAttribute,M as ValidatableByType,X as WindowColorSchemes,re as escapeHtml,Z as formatByType,oe as generateUIModelID,q as getUIAttributeKey,ce as hidden,ie as hideOn,Oe as isClassConstructor,te as parseToNumber,ee as parseValueByType,Q as renderedBy,ne as revertHtml,pe as uichild,Ee as uielement,J as uihandlers,W as uilayout,fe as uilayoutprop,V as uilistmodel,le as uilistprop,Y as uimodel,he as uion,Te as uionclick,me as uionrender,ae as uiorder,de as uipageprop,ue as uiprop,z as uisteppedmodel,Re 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","refresh","preview","debug","submit","DecafEventHandler","handle","prototype","bind","uiIsHiddenOn","op","uiListItems","VERSION"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/ui/decorators.ts","../src/ui/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","ComponentEventNames","Render","BackButtonClickEvent","Refresh","Click","Change","Submit","ValidationError","ThemeChange","FormGroupLoaded","TransactionHooks","BeforeCreate","AfterCreate","BeforeUpdate","AfterUpdate","BeforeDelete","AfterDelete","ElementSizes","xsmall","small","medium","default","large","xLarge","auto","expand","block","ElementPositions","left","center","right","top","bottom","LayoutGridGaps","collapse","none","ActionRoles","cancel","confirm","submit","clear","back","OperationKeys","CREATE","READ","UPDATE","DELETE","WindowColorSchemes","light","dark","undefined","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","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","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","uion","event","handler","uionclick","uionrender","uitablecol","sequence","valueParserFn","isClassConstructor","test","String","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","events","repository","_repository","log","for","info","componentName","refresh","preview","debug","parseHandlers","instance","fn","handle","parseEvents","evt","DecafEventHandler","handleClick","handleAction","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,11 @@
|
|
|
1
1
|
import { LoggedClass } from "@decaf-ts/logging";
|
|
2
|
-
import { UIFunctionLike } from "./types";
|
|
2
|
+
import { CrudOperationKeys, UIEventProperty, UIFunctionLike } from "./types";
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { IRepository, OperationKeys } from "@decaf-ts/db-decorators";
|
|
5
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
6
|
+
import { DecafEventHandler } from "./DecafEventHandler";
|
|
5
7
|
type PrimaryKeyType = string | number | bigint;
|
|
8
|
+
export declare const isClassConstructor: <C>(value: UIFunctionLike | Constructor<C>) => value is Constructor<C>;
|
|
6
9
|
/**
|
|
7
10
|
* Base class for all Decaf UI components, providing common state management,
|
|
8
11
|
* logging, localization, navigation hooks, CRUD context metadata, and
|
|
@@ -27,6 +30,20 @@ export declare abstract class DecafComponent<M extends Model> extends LoggedClas
|
|
|
27
30
|
* @type {PrimaryKeyType | PrimaryKeyType[]}
|
|
28
31
|
*/
|
|
29
32
|
modelId?: PrimaryKeyType | PrimaryKeyType[];
|
|
33
|
+
/**
|
|
34
|
+
* @description Pre-built filtering expression applied to repository queries.
|
|
35
|
+
* @summary Supply a custom `AttributeOption` to control how records are constrained. When omitted,
|
|
36
|
+
* the directive derives a condition from `filterBy` or `pk`, comparing it against `modelId`.
|
|
37
|
+
* @type {any}
|
|
38
|
+
*/
|
|
39
|
+
filter: any;
|
|
40
|
+
/**
|
|
41
|
+
* @description Model field used when generating the default condition.
|
|
42
|
+
* @summary Indicates which key should be compared to `modelId` when `filter` is not provided.
|
|
43
|
+
* Defaults to the configured primary key so overrides are only needed for custom lookups.
|
|
44
|
+
* @type {string}
|
|
45
|
+
*/
|
|
46
|
+
filterBy: string;
|
|
30
47
|
/**
|
|
31
48
|
* @description The CRUD operation type to be performed on the model.
|
|
32
49
|
* @summary Specifies which operation (Create, Read, Update, Delete) this component instance
|
|
@@ -77,10 +94,37 @@ export declare abstract class DecafComponent<M extends Model> extends LoggedClas
|
|
|
77
94
|
* @summary Specifies which field in the model should be used as the primary key.
|
|
78
95
|
* This is typically used for identifying unique records in operations like update and delete.
|
|
79
96
|
* If not explicitly set, it defaults to the repository's configured primary key or 'id'.
|
|
80
|
-
* @type {
|
|
81
|
-
|
|
97
|
+
* @type {string}
|
|
98
|
+
1 */
|
|
99
|
+
pk: string;
|
|
100
|
+
/**
|
|
101
|
+
* @description Angular change detection service for manual change detection control.
|
|
102
|
+
* @summary Injected service that provides manual control over change detection cycles.
|
|
103
|
+
* This is essential for ensuring that programmatic DOM changes (like setting accordion
|
|
104
|
+
* attributes) are properly reflected in the component's state and trigger appropriate
|
|
105
|
+
* view updates when modifications occur outside the normal Angular change detection flow.
|
|
106
|
+
* @protected
|
|
82
107
|
*/
|
|
83
|
-
|
|
108
|
+
protected changeDetectorRef?: any;
|
|
109
|
+
/**
|
|
110
|
+
* @description Controls field visibility based on CRUD operations.
|
|
111
|
+
* @summary Can be a boolean or an array of operation keys where the field should be hidden.
|
|
112
|
+
* @type {boolean | CrudOperationKeys[]}
|
|
113
|
+
*/
|
|
114
|
+
hidden?: boolean | CrudOperationKeys[];
|
|
115
|
+
/**
|
|
116
|
+
* @description Label for the file upload field.
|
|
117
|
+
* @summary Provides a user-friendly label for the file upload input.
|
|
118
|
+
*
|
|
119
|
+
* @type {string | undefined}
|
|
120
|
+
*/
|
|
121
|
+
label?: string;
|
|
122
|
+
/**
|
|
123
|
+
* @description Whether the field is read-only.
|
|
124
|
+
* @type {boolean}
|
|
125
|
+
* @public
|
|
126
|
+
*/
|
|
127
|
+
readonly?: boolean;
|
|
84
128
|
/**
|
|
85
129
|
* @description Flag to enable or disable dark mode support for the component.
|
|
86
130
|
* @summary When enabled, the component will automatically detect the system's dark mode
|
|
@@ -216,8 +260,8 @@ export declare abstract class DecafComponent<M extends Model> extends LoggedClas
|
|
|
216
260
|
* @default false
|
|
217
261
|
*/
|
|
218
262
|
protected initialized: boolean;
|
|
219
|
-
protected events
|
|
220
|
-
protected handlers:
|
|
263
|
+
protected events: UIEventProperty;
|
|
264
|
+
protected handlers: UIEventProperty;
|
|
221
265
|
constructor();
|
|
222
266
|
get repository(): IRepository<M>;
|
|
223
267
|
set repository(repository: IRepository<M>);
|
|
@@ -238,7 +282,7 @@ export declare abstract class DecafComponent<M extends Model> extends LoggedClas
|
|
|
238
282
|
* @param args - A variable number of arguments used for translation.
|
|
239
283
|
* @returns A promise that resolves with the translation result.
|
|
240
284
|
*/
|
|
241
|
-
|
|
285
|
+
translate(...args: unknown[]): Promise<any>;
|
|
242
286
|
preview(...args: unknown[]): Promise<void>;
|
|
243
287
|
/**
|
|
244
288
|
* Submits data or performs an action associated with the component.
|
|
@@ -247,5 +291,27 @@ export declare abstract class DecafComponent<M extends Model> extends LoggedClas
|
|
|
247
291
|
* @returns A promise that resolves with the result of the submit operation.
|
|
248
292
|
*/
|
|
249
293
|
submit(...args: unknown[]): Promise<any>;
|
|
294
|
+
/**
|
|
295
|
+
* @description Normalizes handler definitions into executable functions.
|
|
296
|
+
* @summary Iterates through a handlers map and ensures each entry is stored as a callable
|
|
297
|
+
* function on the component. Plain functions are stored directly, while handler classes are
|
|
298
|
+
* instantiated so their `handle` method (or a keyed override) becomes the registered handler.
|
|
299
|
+
* This allows decorators to accept either inline functions or handler classes transparently.
|
|
300
|
+
* @template T Extends `DecafEventHandler` to constrain handler class types.
|
|
301
|
+
* @param handlers - Dictionary of handler names mapped to functions or handler constructors.
|
|
302
|
+
* @param instance - Optional target handler instance; defaults to the current component.
|
|
303
|
+
*/
|
|
304
|
+
protected parseHandlers<T extends DecafEventHandler>(handlers: UIEventProperty, instance: T): UIEventProperty;
|
|
305
|
+
/**
|
|
306
|
+
* @description Registers event callbacks on the component instance.
|
|
307
|
+
* @summary Processes an events map produced by decorators where each value can be a factory
|
|
308
|
+
* returning a function or a component constructor. When a constructor is returned, the method
|
|
309
|
+
* matching the event key is instantiated and stored; otherwise the produced function is
|
|
310
|
+
* assigned directly. This enables flexible event binding definitions for derived components.
|
|
311
|
+
* @template T Extends `DecafComponent<Model>` to scope acceptable event owners.
|
|
312
|
+
* @param events - Dictionary of event names mapped to function factories or component constructors.
|
|
313
|
+
* @param instance - Optional component instance to receive the events; defaults to `this`.
|
|
314
|
+
*/
|
|
315
|
+
protected parseEvents<T extends DecafComponent<Model>>(events: UIEventProperty, instance: T): UIEventProperty;
|
|
250
316
|
}
|
|
251
317
|
export {};
|