@decaf-ts/ui-decorators 0.6.2 → 0.6.3
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 +59 -9
- package/lib/esm/ui/DecafComponent.js +35 -2
- package/lib/esm/ui/DecafComponent.js.map +1 -1
- package/lib/esm/ui/{handlers.d.ts → DecafEventHandler.d.ts} +11 -2
- package/lib/esm/ui/DecafEventHandler.js +31 -0
- package/lib/esm/ui/DecafEventHandler.js.map +1 -0
- package/lib/esm/ui/index.d.ts +1 -1
- package/lib/esm/ui/index.js +1 -1
- package/lib/esm/ui/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/ui/DecafComponent.cjs +35 -2
- package/lib/ui/DecafComponent.d.ts +59 -9
- package/lib/ui/DecafComponent.js.map +1 -1
- package/lib/ui/DecafEventHandler.cjs +35 -0
- package/lib/ui/{handlers.d.ts → DecafEventHandler.d.ts} +11 -2
- package/lib/ui/DecafEventHandler.js.map +1 -0
- package/lib/ui/index.cjs +1 -1
- package/lib/ui/index.d.ts +1 -1
- package/lib/ui/index.js.map +1 -1
- package/package.json +1 -1
- package/lib/esm/ui/handlers.js +0 -18
- package/lib/esm/ui/handlers.js.map +0 -1
- package/lib/ui/handlers.cjs +0 -22
- package/lib/ui/handlers.js.map +0 -1
package/dist/ui-decorators.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,a,r,o){"use strict";var s;e.UIMediaBreakPoints=void 0,(s=e.UIMediaBreakPoints||(e.UIMediaBreakPoints={})).SMALL="small",s.MEDIUM="medium",s.LARGE="large",s.XLARGE="xlarge";const i={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",EVENTS:"events",READ_ONLY:"readonly",REQUIRED:t.ValidationKeys.REQUIRED,MIN:t.ValidationKeys.MIN,MIN_LENGTH:t.ValidationKeys.MIN_LENGTH,MAX:t.ValidationKeys.MAX,MAX_LENGTH:t.ValidationKeys.MAX_LENGTH,PATTERN:t.ValidationKeys.PATTERN,URL:t.ValidationKeys.URL,STEP:t.ValidationKeys.STEP,DATE:t.ValidationKeys.DATE,EMAIL:t.ValidationKeys.EMAIL,PASSWORD:t.ValidationKeys.PASSWORD,EQUALS:t.ValidationKeys.EQUALS,DIFF:t.ValidationKeys.DIFF,LESS_THAN:t.ValidationKeys.LESS_THAN,LESS_THAN_OR_EQUAL:t.ValidationKeys.LESS_THAN_OR_EQUAL,GREATER_THAN:t.ValidationKeys.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.ValidationKeys.GREATER_THAN_OR_EQUAL},n={[i.EMAIL]:t.EmailValidator,[i.URL]:t.URLValidator,[i.DATE]:t.DateValidator,[i.PASSWORD]:t.PasswordValidator},d={[i.REQUIRED]:t.RequiredValidator,[i.MIN]:t.MinValidator,[i.MAX]:t.MaxValidator,[i.STEP]:t.StepValidator,[i.MIN_LENGTH]:t.MinLengthValidator,[i.MAX_LENGTH]:t.MaxLengthValidator,[i.PATTERN]:t.PatternValidator,[i.EQUALS]:t.EqualsValidator,[i.DIFF]:t.DiffValidator,[i.LESS_THAN]:t.LessThanValidator,[i.LESS_THAN_OR_EQUAL]:t.LessThanOrEqualValidator,[i.GREATER_THAN]:t.GreaterThanValidator,[i.GREATER_THAN_OR_EQUAL]:t.GreaterThanOrEqualValidator},l="yyyy-MM-dd",c={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:i.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:i.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:i.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:i.URL,WEEK:"week"},E=[c.CHECKBOX,c.RADIO];function p(e,t){return(r,o)=>{const s={tag:e||r.name,props:t};return a.metadata(a.Metadata.key(i.REFLECT,i.UIMODEL),s)(r)}}class u extends r.InternalError{constructor(e){super(e,u.name)}}function M(e,t){return a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,e,t)}function T(e,a,...r){if(e===i.DATE){if(!a)return"";const e=r.shift()||l;return t.formatDate(new Date(a),e)}return a}function R(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function y(e){if(!e)return e;const t={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function f(e){let a=Date.now();try{t.Model.pk(e.constructor)&&(a=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${a}`}class L{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,L.register(this)}translate(e,a=!0){if(a)switch(e){case t.ReservedModels.STRING.name.toLowerCase():return c.TEXT;case t.ReservedModels.NUMBER.name.toLowerCase():case t.ReservedModels.BIGINT.name.toLowerCase():return c.NUMBER;case t.ReservedModels.BOOLEAN.name.toLowerCase():return c.CHECKBOX;case t.ReservedModels.DATE.name.toLowerCase():return c.DATE}else switch(e){case c.SELECT:case c.TEXT:case c.EMAIL:case c.COLOR:case c.PASSWORD:case c.TEL:case c.URL:case c.SEARCH:case c.HIDDEN:case c.TEXTAREA:case c.RADIO:return t.ReservedModels.STRING.name.toLowerCase();case c.NUMBER:return t.ReservedModels.NUMBER.name.toLowerCase();case c.CHECKBOX:return t.ReservedModels.BOOLEAN.name.toLowerCase();case c.DATE:case c.DATETIME_LOCAL:case c.TIME:return t.ReservedModels.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[t.Model.uiModelOf(e.constructor),t.Model.uiListModelOf(e.constructor),t.Model.uiHandlersFor(e.constructor),t.Model.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(n).includes(e)}isValidatableByAttribute(e){return Object.keys(d).includes(e)}toAttributeValue(e,t){if(!Object.keys(d).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(d).join(", ")}.`);return e===i.REQUIRED||t[e]}toFieldDefinition(e,o={},s=!0){const{inheritProps:n,...d}=o;o=d;const E=this.getClassDecoratorsMetadata(e);if(!E.length)throw new u(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const p=Object.assign({},...E,n||{}),{tag:M,props:R,item:y,handlers:L}=p,O=t.Model.uiPropertiesOf(e.constructor);let A,m=y?.props||{},h={};const D=(e,t)=>e?[e,t].join("."):t;if(O){const s=a.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const n of O){const d=t.Model.uiDecorationOf(e.constructor,n);let E;try{E=t.Model.uiTypeOf(e.constructor,n)}catch(e){if(!(e instanceof r.NotFoundError))throw e}if(t.Model.uiIsHidden(e.constructor,n)&&!t.Model.uiElementOf(e.constructor,n))throw new u(`@uielement no found in "${n}". It is required to use hiddenOn decorator.`);Object.entries(d).map(([e,t])=>({key:e,props:t})).sort(e=>[i.ELEMENT,i.CHILD].includes(e.key)?-1:1).forEach(r=>{if(!r)throw new u("No decorator found");switch(r.key){case i.PROP:m[n]=r.props;break;case i.CHILD:{if(!t.Model.isPropertyModel(e,n))throw new u(`Child "${n}" must be a model.`);let a;const s=e[n];if("object"!=typeof s||null===s||Array.isArray(s)){const e=r.props.props?.name;a=new(t.Model.get(e))}A=A||[];const i=Object.assign({},o||{},{model:a},{inheritProps:r.props,childOf:D(o?.childOf,n)}),d=this.toFieldDefinition(s||a,i,!1);A.push(d);break}case i.UILISTPROP:{h=h||{},r.props.name&&(h[r.props.name]=n);const e=Object.assign({},p.props?.item||{},y?.props||{},r.props.props||{},o);m={tag:y?.tag||e.render||"",props:Object.assign({},m?.props,{mapper:h},e)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{A=A||[];const t=r.props,d=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:D(o?.childOf,t.props.name),childOf:void 0}:{},o);if(r.key===i.ELEMENT){const r={tag:t.tag||m?.tag||M||"",props:d},o=s[n];if(o)for(const e of Object.entries(o).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===c.DATE&&(r.props[i.FORMAT]=e.props.format||l),r.props[i.TYPE]=e.key);if(!r.props[i.TYPE]){const t=a.Metadata.type(e.constructor,n).name;r.props[i.TYPE]=this.translate(t.toLowerCase(),!0)}r.props.value=T(r.props[i.TYPE],e[n],r.props[i.FORMAT]),A.push(r)}else{const e=A.find(e=>e.props?.name===n||[i.UILAYOUTPROP,i.PAGE,i.EVENTS].includes(r.key)&&(e.props?.childOf===n||e.props?.childOf?.endsWith("."+n)));if(e)if(r.key!==i.UILAYOUTPROP)e.props=Object.assign({},e.props,{[r.key]:t});else{const{row:t,col:a,props:o}=r.props;e.props=Object.assign({},o||{},e.props,t,a)}}break}default:throw new u("Invalid key: "+r.key)}})}}o=Object.assign({},R,o,{handlers:L||{}});const I=o?.operation;A=A?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(I)?void 0:e});const g={tag:M,item:m,props:o,children:A};return s&&(g.rendererId=f(e)),g}static register(e){if(e.flavour in this.cache)throw new r.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof L)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new r.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...a){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new r.InternalError("No model registered found");const o=t.Model.renderedBy(e.constructor);return L.get(o).render(e,...a)}}function O(...e){return(t,r)=>a.propMetadata(M(r,i.HIDDEN),e)(t,r)}function A(e,t){return(r,o)=>{a.propMetadata(M(o,i.EVENTS),{[e]:t})(r,o)}}class m extends o.LoggedClass{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=r.OperationKeys,this.initialized=!1,this.handlers={}}async render(...e){}async initialize(...e){this.initialized=!0}}t.Model.prototype.render=function(...e){return L.render(this,...e)},t.Model.renderedBy=(e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,r)=>{const o=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,t));if(o)return r?o[r]:o},t.Model.uiModelOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UIMODEL)),t.Model.uiElementOf=(e,t)=>a.Metadata.get(e,M(t,i.ELEMENT)),t.Model.uiListModelOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UILISTMODEL)),t.Model.uiHandlersFor=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.HANDLERS)),t.Model.uiLayoutOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!a.Metadata.get(e,M(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,r)=>{const o=a.Metadata.get(e,M(t,i.HIDDEN));return!!o&&(r?o.includes(r):o)},t.Model.uiTypeOf=(e,t)=>{const o=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,t));if(!o)throw new r.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const s=Object.keys(o).filter(e=>[i.PROP,i.ELEMENT,i.CHILD].includes(e));if(0===s.length)throw new r.NotFoundError(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(s.length>1)throw new u("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return o[s[0]]},t.Model.uiListItems=(e=>{const t=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.DecafComponent=m,e.EventHandler=class{constructor(){}},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.RenderingEngine=L,e.RenderingError=u,e.UIKeys=i,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=n,e.escapeHtml=y,e.formatByType=T,e.generateUIModelID=f,e.getUIAttributeKey=M,e.hidden=()=>O(r.OperationKeys.CREATE,r.OperationKeys.READ,r.OperationKeys.UPDATE,r.OperationKeys.DELETE),e.hideOn=O,e.parseToNumber=R,e.parseValueByType=function e(a,o,s){let i;switch(a){case Array.name:i=(Array.isArray(o)?o.map(a=>e(t.ReservedModels.STRING.name.toLowerCase(),a,s)):[o]).join(",");break;case c.NUMBER:i=R(o);break;case c.DATE:{const e=s.format;o&&(""+o).trim().length&&(i=typeof o===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(o):o?e?t.parseDate(e,o):new Date(o):void 0);break}default:i=typeof o===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(o)?o.join(","):JSON.stringify(o):typeof o===t.ReservedModels.BOOLEAN.name.toLowerCase()?o:typeof o===t.ReservedModels.STRING.name.toLowerCase()?y(o):i}if(void 0===i)throw new r.InternalError(`Failed to parse value of type ${a} from ${typeof o} - ${o}`);return i},e.renderedBy=e=>a.apply(a.metadata(a.Metadata.key(i.REFLECT,i.RENDERED_BY),e)),e.revertHtml=e=>{const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)},e.uichild=(e,t,r={},o=!1,s=!1)=>(n,d)=>{const l={tag:t,serialize:s,props:Object.assign({},r||{},{name:e||d},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};a.propMetadata(M(d,i.CHILD),l)(n,d)},e.uielement=(e,t,r=!1)=>(o,s)=>{const n={tag:e,serialize:r,props:Object.assign({},t||{},{name:s})};return a.propMetadata(M(s,i.ELEMENT),n)(o,s)},e.uihandlers=e=>t=>{const r={handlers:e};return a.metadata(a.Metadata.key(i.REFLECT,i.HANDLERS),r)(t)},e.uilayout=(t,a=1,r=1,o={})=>(s,i)=>p(t,Object.assign({..."boolean"==typeof a?{flexMode:a,cols:1}:{flexMode:!1,cols:a},rows:r,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},o)}))(s,i),e.uilayoutprop=(e=1,t=1)=>(r,o)=>{const s={name:o,props:Object.assign({},{row:t,col:e})};a.propMetadata(M(o,i.UILAYOUTPROP),s)(r,o)},e.uilistmodel=(e,t)=>(r,o)=>{const s={item:{tag:e||r.name,props:t}};return a.metadata(a.Metadata.key(i.REFLECT,i.UILISTMODEL),s)(r)},e.uilistprop=(e=void 0,t)=>(r,o)=>{const s={name:e||o,props:t||{}};a.propMetadata(M(o,i.UILISTPROP),s)(r,o)},e.uimodel=p,e.uion=A,e.uionrender=e=>A("render",e),e.uiorder=(e=1)=>(t,r)=>a.propMetadata(M(r,i.ORDER),e)(t,r),e.uipageprop=(e=1)=>(t,r)=>a.propMetadata(M(r,i.PAGE),e)(t,r),e.uiprop=(e=void 0,t=!1)=>(r,o)=>{const s={name:e||o,stringify:t};a.propMetadata(M(o,i.PROP),s)(r,o)},e.uisteppedmodel=(e,t=1,a=!1,r={})=>{let o=[];return"object"==typeof t&&(o=t,t=o.length),p(e,{pages:t,paginated:a,pageTitles:o,props:r})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsDecoration,e.decafTsDbDecorators,e.decafTsLogging);
|
|
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",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 M(e,t){return r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES,e,t)}function T(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 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 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: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=r.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 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))}h=h||[];const i=Object.assign({},a||{},{model:r},{inheritProps:o.props,childOf:g(a?.childOf,n)}),d=this.toFieldDefinition(s||r,i,!1);h.push(d);break}case i.UILISTPROP:{A=A||{},o.props.name&&(A[o.props.name]=n);const e=Object.assign({},p.props?.item||{},y?.props||{},o.props.props||{},a);m={tag:y?.tag||e.render||"",props:Object.assign({},m?.props,{mapper:A},e)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{h=h||[];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);if(o.key===i.ELEMENT){const o={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)?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=T(o.props[i.TYPE],e[n],o.props[i.FORMAT]),h.push(o)}else{const e=h.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({},f,a,{handlers:O||{}});const D=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(D)?void 0:e});const I={tag:M,item:m,props:a,children:h};return s&&(I.rendererId=R(e)),I}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 L(...e){return(t,o)=>r.propMetadata(M(o,i.HIDDEN),e)(t,o)}function h(e,t){return(o,a)=>{r.propMetadata(M(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 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=>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,M(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,M(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,o)=>{const a=r.Metadata.get(e,M(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=T,e.generateUIModelID=R,e.getUIAttributeKey=M,e.hidden=()=>L(o.OperationKeys.CREATE,o.OperationKeys.READ,o.OperationKeys.UPDATE,o.OperationKeys.DELETE),e.hideOn=L,e.parseToNumber=f,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=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 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(M(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(M(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(M(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(M(a,i.UILISTPROP),s)(o,a)},e.uimodel=p,e.uion=h,e.uionrender=e=>h("render",e),e.uiorder=(e=1)=>(t,o)=>r.propMetadata(M(o,i.ORDER),e)(t,o),e.uipageprop=(e=1)=>(t,o)=>r.propMetadata(M(o,i.PAGE),e)(t,o),e.uiprop=(e=void 0,t=!1)=>(o,a)=>{const s={name:e||a,stringify:t};r.propMetadata(M(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})}},"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/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","exports","UIKeys","REFLECT","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","EVENTS","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","ReservedModels","STRING","toLowerCase","BIGINT","BOOLEAN","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","item","handlers","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","map","k","v","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","renderedBy","hideOn","operations","object","propMetadata","uion","event","handler","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","OperationKeys","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","JSON","stringify","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles"],"mappings":"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"}
|
|
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","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","ReservedModels","STRING","toLowerCase","BIGINT","BOOLEAN","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","item","handlers","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","map","k","v","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","renderedBy","hideOn","operations","object","propMetadata","uion","event","handler","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","OperationKeys","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"],"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 T,LessThanOrEqualValidator as f,GreaterThanValidator as R,GreaterThanOrEqualValidator as O,formatDate as L,ReservedModels as A,parseDate as m,Model as y}from"@decaf-ts/decorator-validation";import{metadata as h,Metadata as I,apply as D,DecorationKeys as N,propMetadata as g}from"@decaf-ts/decoration";import{InternalError as M,NotFoundError as P,OperationKeys as S}from"@decaf-ts/db-decorators";import{LoggedClass as b}from"@decaf-ts/logging";var C;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(C||(C={}));const w={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",EVENTS:"events",READ_ONLY:"readonly",REQUIRED:e.REQUIRED,MIN:e.MIN,MIN_LENGTH:e.MIN_LENGTH,MAX:e.MAX,MAX_LENGTH:e.MAX_LENGTH,PATTERN:e.PATTERN,URL:e.URL,STEP:e.STEP,DATE:e.DATE,EMAIL:e.EMAIL,PASSWORD:e.PASSWORD,EQUALS:e.EQUALS,DIFF:e.DIFF,LESS_THAN:e.LESS_THAN,LESS_THAN_OR_EQUAL:e.LESS_THAN_OR_EQUAL,GREATER_THAN:e.GREATER_THAN,GREATER_THAN_OR_EQUAL:e.GREATER_THAN_OR_EQUAL},U={[w.EMAIL]:t,[w.URL]:r,[w.DATE]:o,[w.PASSWORD]:n},k={[w.REQUIRED]:s,[w.MIN]:i,[w.MAX]:a,[w.STEP]:c,[w.MIN_LENGTH]:E,[w.MAX_LENGTH]:u,[w.PATTERN]:p,[w.EQUALS]:l,[w.DIFF]:d,[w.LESS_THAN]:T,[w.LESS_THAN_OR_EQUAL]:f,[w.GREATER_THAN]:R,[w.GREATER_THAN_OR_EQUAL]:O},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:w.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:w.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:w.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:w.URL,WEEK:"week"},B=[_.CHECKBOX,_.RADIO];function F(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return h(I.key(w.REFLECT,w.UIMODEL),n)(r)}}function j(e){return D(h(I.key(w.REFLECT,w.RENDERED_BY),e))}function G(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return h(I.key(w.REFLECT,w.UILISTMODEL),n)(r)}}function v(e){return t=>{const r={handlers:e};return h(I.key(w.REFLECT,w.HANDLERS),r)(t)}}function X(e,t=1,r=1,o={}){return(n,s)=>F(e,Object.assign({..."boolean"==typeof t?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:C.LARGE},o)}))(n,s)}function Y(e,t=1,r=!1,o={}){let n=[];return"object"==typeof t&&(n=t,t=n.length),F(e,{pages:t,paginated:r,pageTitles:n,props:o})}class $ extends M{constructor(e){super(e,$.name)}}function Q(e,t){return I.key(w.REFLECT,N.PROPERTIES,e,t)}function x(e,t,...r){if(e===w.DATE){if(!t)return"";const e=r.shift()||H;return L(new Date(t),e)}return t}function V(e,t,r){let o;switch(e){case Array.name:o=(Array.isArray(t)?t.map(e=>V(A.STRING.name.toLowerCase(),e,r)):[t]).join(",");break;case _.NUMBER:o=W(t);break;case _.DATE:{const e=r.format;t&&(""+t).trim().length&&(o=typeof t===A.NUMBER.name.toLowerCase()?new Date(t):t?e?m(e,t):new Date(t):void 0);break}default:o=typeof t===A.OBJECT.name.toLowerCase()?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===A.BOOLEAN.name.toLowerCase()?t:typeof t===A.STRING.name.toLowerCase()?z(t):o}if(void 0===o)throw new M(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return o}function W(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function z(e){if(!e)return e;const t={"&":"&","<":"<",">":">"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function K(e){const t={"&":"&","<":"<",">":">"};return(""+e).replace(/<|>|&/g,e=>t[e]||e)}function J(e){let t=Date.now();try{y.pk(e.constructor)&&(t=e[y.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${t}`}class q{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,q.register(this)}translate(e,t=!0){if(t)switch(e){case A.STRING.name.toLowerCase():return _.TEXT;case A.NUMBER.name.toLowerCase():case A.BIGINT.name.toLowerCase():return _.NUMBER;case A.BOOLEAN.name.toLowerCase():return _.CHECKBOX;case A.DATE.name.toLowerCase():return _.DATE}else switch(e){case _.SELECT:case _.TEXT:case _.EMAIL:case _.COLOR:case _.PASSWORD:case _.TEL:case _.URL:case _.SEARCH:case _.HIDDEN:case _.TEXTAREA:case _.RADIO:return A.STRING.name.toLowerCase();case _.NUMBER:return A.NUMBER.name.toLowerCase();case _.CHECKBOX:return A.BOOLEAN.name.toLowerCase();case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return A.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[y.uiModelOf(e.constructor),y.uiListModelOf(e.constructor),y.uiHandlersFor(e.constructor),y.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(U).includes(e)}isValidatableByAttribute(e){return Object.keys(k).includes(e)}toAttributeValue(e,t){if(!Object.keys(k).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(k).join(", ")}.`);return e===w.REQUIRED||t[e]}toFieldDefinition(t,r={},o=!0){const{inheritProps:n,...s}=r;r=s;const i=this.getClassDecoratorsMetadata(t);if(!i.length)throw new $(`No ui definitions set for model ${t.constructor.name}. Did you use @uimodel?`);const a=Object.assign({},...i,n||{}),{tag:c,props:E,item:u,handlers:p}=a,l=y.uiPropertiesOf(t.constructor);let d,T=u?.props||{},f={};const R=(e,t)=>e?[e,t].join("."):t;if(l){const o=I.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=y.uiDecorationOf(t.constructor,e);let s;try{s=y.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof P))throw e}if(y.uiIsHidden(t.constructor,e)&&!y.uiElementOf(t.constructor,e))throw new $(`@uielement no found in "${e}". It is required to use hiddenOn decorator.`);Object.entries(n).map(([e,t])=>({key:e,props:t})).sort(e=>[w.ELEMENT,w.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new $("No decorator found");switch(n.key){case w.PROP:T[e]=n.props;break;case w.CHILD:{if(!y.isPropertyModel(t,e))throw new $(`Child "${e}" must be a model.`);let o;const s=t[e];if("object"!=typeof s||null===s||Array.isArray(s)){const e=n.props.props?.name;o=new(y.get(e))}d=d||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:R(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1);d.push(a);break}case w.UILISTPROP:{f=f||{},n.props.name&&(f[n.props.name]=e);const t=Object.assign({},a.props?.item||{},u?.props||{},n.props.props||{},r);T={tag:u?.tag||t.render||"",props:Object.assign({},T?.props,{mapper:f},t)};break}case w.EVENTS:case w.HIDDEN:case w.PAGE:case w.ORDER:case w.UILAYOUTPROP:case w.ELEMENT:{d=d||[];const s=n.props,i=Object.assign({},T?.props,s.props||{},s?.props?.name?{path:R(r?.childOf,s.props.name),childOf:void 0}:{},r);if(n.key===w.ELEMENT){const r={tag:s.tag||T?.tag||c||"",props:i},n=o[e];if(n)for(const e of Object.entries(n).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===_.DATE&&(r.props[w.FORMAT]=e.props.format||H),r.props[w.TYPE]=e.key);if(!r.props[w.TYPE]){const o=I.type(t.constructor,e).name;r.props[w.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=x(r.props[w.TYPE],t[e],r.props[w.FORMAT]),d.push(r)}else{const t=d.find(t=>t.props?.name===e||[w.UILAYOUTPROP,w.PAGE,w.EVENTS].includes(n.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(n.key!==w.UILAYOUTPROP)t.props=Object.assign({},t.props,{[n.key]:s});else{const{row:e,col:r,props:o}=n.props;t.props=Object.assign({},o||{},t.props,e,r)}}break}default:throw new $("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:p||{}});const O=r?.operation;d=d?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(O)?void 0:e});const L={tag:c,item:T,props:r,children:d};return o&&(L.rendererId=J(t)),L}static register(e){if(e.flavour in this.cache)throw new M(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof q)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new M(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!y.get(e.constructor.name)&&!y.fromObject(e))throw new M("No model registered found");const r=y.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>g(Q(r,w.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>g(Q(r,w.ORDER),e)(t,r)}function te(){return Z(S.CREATE,S.READ,S.UPDATE,S.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return g(Q(n,w.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};g(Q(o,w.PROP),n)(r,o)}}function ne(e,t,r={},o=!1,n=!1){return(s,i)=>{const a={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||i},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};g(Q(i,w.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};g(Q(o,w.UILISTPROP),n)(r,o)}}function ie(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};g(Q(o,w.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>g(Q(r,w.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{g(Q(o,w.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}class ue{constructor(){}}class pe extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=S,this.initialized=!1,this.handlers={}}async render(...e){}async initialize(...e){this.initialized=!0}}y.prototype.render=function(...e){return q.render(this,...e)},y.renderedBy=(e=>I.get(e,I.key(w.REFLECT,w.RENDERED_BY))).bind(y),y.uiPropertiesOf=(e=>{const t=I.get(e,I.key(w.REFLECT,N.PROPERTIES));if(t)return Object.keys(t)}).bind(y),y.uiDecorationOf=(e,t,r)=>{const o=I.get(e,I.key(w.REFLECT,N.PROPERTIES,t));if(o)return r?o[r]:o},y.uiModelOf=e=>I.get(e,I.key(w.REFLECT,w.UIMODEL)),y.uiElementOf=(e,t)=>I.get(e,Q(t,w.ELEMENT)),y.uiListModelOf=e=>I.get(e,I.key(w.REFLECT,w.UILISTMODEL)),y.uiHandlersFor=e=>I.get(e,I.key(w.REFLECT,w.HANDLERS)),y.uiLayoutOf=e=>I.get(e,I.key(w.REFLECT,w.UILAYOUT)),y.uiIsHidden=(e,t)=>!!I.get(e,Q(t,w.HIDDEN)),y.uiIsHiddenOn=(e,t,r)=>{const o=I.get(e,Q(t,w.HIDDEN));return!!o&&(r?o.includes(r):o)},y.uiTypeOf=(e,t)=>{const r=I.get(e,I.key(w.REFLECT,N.PROPERTIES,t));if(!r)throw new P(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[w.PROP,w.ELEMENT,w.CHILD].includes(e));if(0===o.length)throw new P(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(o.length>1)throw new $("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[o[0]]},y.uiListItems=(e=>{const t=I.get(e,I.key(w.REFLECT,N.PROPERTIES));if(t)return Object.keys(t)}).bind(y);const le="##VERSION##";export{pe as DecafComponent,ue as EventHandler,B as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,$ as RenderingError,w as UIKeys,C as UIMediaBreakPoints,le as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,x as formatByType,J as generateUIModelID,Q as getUIAttributeKey,te as hidden,Z as hideOn,W as parseToNumber,V as parseValueByType,j as renderedBy,K as revertHtml,ne as uichild,re as uielement,v as uihandlers,X as uilayout,ie as uilayoutprop,G as uilistmodel,se as uilistprop,F as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,Y as uisteppedmodel};
|
|
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 R,GreaterThanOrEqualValidator as O,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 S,NotFoundError as M,OperationKeys as P}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",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]: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"},B=[_.CHECKBOX,_.RADIO];function F(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)=>F(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),F(e,{pages:t,paginated:r,pageTitles:n,props:o})}class Y extends S{constructor(e){super(e,Y.name)}}function x(e,t){return N.key(C.REFLECT,I.PROPERTIES,e,t)}function Q(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 S(`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 R=(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 M))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:R(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1);d.push(a);break}case C.UILISTPROP:{T=T||{},n.props.name&&(T[n.props.name]=e);const t=Object.assign({},a.props?.item||{},u?.props||{},n.props.props||{},r);f={tag:u?.tag||t.render||"",props:Object.assign({},f?.props,{mapper:T},t)};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:R(r?.childOf,s.props.name),childOf:void 0}:{},r);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=Q(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 O=r?.operation;d=d?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(O)?void 0:e});const L={tag:c,item:f,props:r,children:d};return o&&(L.rendererId=K(t)),L}static register(e){if(e.flavour in this.cache)throw new S(`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 S(`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 S("No model registered found");const r=m.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>D(x(r,C.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>D(x(r,C.ORDER),e)(t,r)}function te(){return Z(P.CREATE,P.READ,P.UPDATE,P.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return D(x(n,C.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};D(x(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(x(i,C.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};D(x(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(x(o,C.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>D(x(r,C.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{D(x(o,C.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}class ue extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=P,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 pe extends ue{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,x(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,x(t,C.HIDDEN)),m.uiIsHiddenOn=(e,t,r)=>{const o=N.get(e,x(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 M(`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 M(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(o.length>1)throw new Y("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[o[0]]},m.uiListItems=(e=>{const t=N.get(e,N.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m);const le="##VERSION##";export{ue as DecafComponent,pe as DecafEventHandler,B as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,Y as RenderingError,C as UIKeys,w as UIMediaBreakPoints,le as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,Q as formatByType,K as generateUIModelID,x 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,F as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,X as uisteppedmodel};
|
|
2
2
|
//# sourceMappingURL=ui-decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/ui/decorators.ts","../src/ui/handlers.ts","../src/ui/DecafComponent.ts","../src/model/overrides.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","UIKeys","REFLECT","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","EVENTS","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","renderedBy","engine","apply","uilistmodel","item","uihandlers","handlers","uilayout","colsMode","rows","Object","assign","flexMode","cols","breakpoint","LARGE","uisteppedmodel","pages","paginated","pageTitles","length","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","toLowerCase","join","parseToNumber","trim","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","revertHtml","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","BIGINT","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","k","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","rendererId","current","getOrBoot","obj","initialize","fromObject","hideOn","operations","object","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","uion","event","handler","uionrender","EventHandler","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","prototype","bind","uiIsHiddenOn","op","uiListItems","VERSION"],"mappings":"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"}
|
|
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","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","renderedBy","engine","apply","uilistmodel","item","uihandlers","handlers","uilayout","colsMode","rows","Object","assign","flexMode","cols","breakpoint","LARGE","uisteppedmodel","pages","paginated","pageTitles","length","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","toLowerCase","join","parseToNumber","trim","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","revertHtml","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","BIGINT","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","k","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","rendererId","current","getOrBoot","obj","initialize","fromObject","hideOn","operations","object","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","uion","event","handler","uionrender","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","repository","_repository","log","for","info","componentName","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
|
@@ -3,6 +3,26 @@ import { UIFunctionLike } from './types';
|
|
|
3
3
|
import { Model } from '@decaf-ts/decorator-validation';
|
|
4
4
|
import { IRepository, OperationKeys } from '@decaf-ts/db-decorators';
|
|
5
5
|
export declare abstract class DecafComponent extends LoggedClass {
|
|
6
|
+
/**
|
|
7
|
+
* @description The CRUD operation type to be performed on the model.
|
|
8
|
+
* @summary Specifies which operation (Create, Read, Update, Delete) this component instance
|
|
9
|
+
* should perform. This determines the UI behavior, form configuration, and available actions.
|
|
10
|
+
* The operation affects form validation, field availability, and the specific repository
|
|
11
|
+
* method called during data submission.
|
|
12
|
+
*
|
|
13
|
+
* @type {OperationKeys}
|
|
14
|
+
*/
|
|
15
|
+
operation?: OperationKeys;
|
|
16
|
+
/**
|
|
17
|
+
* @description Router instance for programmatic navigation.
|
|
18
|
+
* @summary Injected Router service used for programmatic navigation between routes
|
|
19
|
+
* in the application. This service enables navigation to different views and operations,
|
|
20
|
+
* handles route parameters, and manages the browser's navigation history.
|
|
21
|
+
* @protected
|
|
22
|
+
* @type {Router}
|
|
23
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
24
|
+
*/
|
|
25
|
+
router?: any;
|
|
6
26
|
/**
|
|
7
27
|
* @description Name identifier for the component instance.
|
|
8
28
|
* @summary Provides a string identifier that can be used to name or label the component
|
|
@@ -40,13 +60,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
40
60
|
*/
|
|
41
61
|
protected model: Model | string | undefined;
|
|
42
62
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
63
|
+
* @description Primary key field name for the data model.
|
|
64
|
+
* @summary Specifies which field in the model should be used as the primary key.
|
|
65
|
+
* This is typically used for identifying unique records in operations like update and delete.
|
|
66
|
+
* If not explicitly set, it defaults to the repository's configured primary key or 'id'.
|
|
67
|
+
* @type {string}
|
|
68
|
+
* @default 'id'
|
|
69
|
+
*/
|
|
50
70
|
pk: string;
|
|
51
71
|
/**
|
|
52
72
|
* @description Primary key value of the current model instance.
|
|
@@ -131,8 +151,7 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
131
151
|
/**
|
|
132
152
|
* @description Component name identifier for logging and localization contexts.
|
|
133
153
|
* @summary Stores the component's name which is used as a key for logging contexts
|
|
134
|
-
* and as a base for locale resolution.
|
|
135
|
-
* to "NgxComponentDirective" if not provided.
|
|
154
|
+
* and as a base for locale resolution.
|
|
136
155
|
* @protected
|
|
137
156
|
* @type {string | undefined}
|
|
138
157
|
*/
|
|
@@ -146,6 +165,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
146
165
|
* @type {string | undefined}
|
|
147
166
|
*/
|
|
148
167
|
protected localeRoot?: string;
|
|
168
|
+
/**
|
|
169
|
+
* @description Current value of the component.
|
|
170
|
+
* @summary Can be a string, number, date, or array of string or objects.
|
|
171
|
+
* @type {any}
|
|
172
|
+
* @public
|
|
173
|
+
*/
|
|
174
|
+
protected value?: any;
|
|
149
175
|
/**
|
|
150
176
|
* @description Reference to CRUD operation constants for template usage.
|
|
151
177
|
* @summary Exposes the OperationKeys enum to the component template, enabling
|
|
@@ -190,6 +216,30 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
190
216
|
protected events?: Record<keyof Pick<DecafComponent, 'render' | 'initialize'>, UIFunctionLike>;
|
|
191
217
|
protected handlers: Record<string, UIFunctionLike>;
|
|
192
218
|
constructor();
|
|
219
|
+
get repository(): IRepository<Model> | undefined;
|
|
220
|
+
set repository(repository: IRepository<Model>);
|
|
193
221
|
render(...args: unknown[]): Promise<void>;
|
|
222
|
+
/**
|
|
223
|
+
* Asynchronously initializes the component with the provided arguments.
|
|
224
|
+
* This method sets the `initialized` property to `true` once the initialization is complete.
|
|
225
|
+
*
|
|
226
|
+
* @param args - A variable number of arguments of unknown types that can be used for initialization.
|
|
227
|
+
* @returns A promise that resolves when the initialization is complete.
|
|
228
|
+
*/
|
|
194
229
|
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
|
+
/**
|
|
238
|
+
* Translates content based on the provided arguments.
|
|
239
|
+
* Logs the translation request with the component name and arguments.
|
|
240
|
+
*
|
|
241
|
+
* @param args - A variable number of arguments used for translation.
|
|
242
|
+
* @returns A promise that resolves with the translation result.
|
|
243
|
+
*/
|
|
244
|
+
protected translate(...args: unknown[]): Promise<any>;
|
|
195
245
|
}
|
|
@@ -86,11 +86,44 @@ export class DecafComponent extends LoggedClass {
|
|
|
86
86
|
this.initialized = false;
|
|
87
87
|
this.handlers = {};
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
get repository() {
|
|
90
|
+
return this._repository;
|
|
91
|
+
}
|
|
92
|
+
set repository(repository) {
|
|
93
|
+
this._repository = repository;
|
|
94
|
+
}
|
|
95
|
+
async render(...args) {
|
|
96
|
+
this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Asynchronously initializes the component with the provided arguments.
|
|
100
|
+
* This method sets the `initialized` property to `true` once the initialization is complete.
|
|
101
|
+
*
|
|
102
|
+
* @param args - A variable number of arguments of unknown types that can be used for initialization.
|
|
103
|
+
* @returns A promise that resolves when the initialization is complete.
|
|
104
|
+
*/
|
|
91
105
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
92
106
|
async initialize(...args) {
|
|
93
107
|
this.initialized = true;
|
|
94
108
|
}
|
|
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
|
+
* Translates content based on the provided arguments.
|
|
120
|
+
* Logs the translation request with the component name and arguments.
|
|
121
|
+
*
|
|
122
|
+
* @param args - A variable number of arguments used for translation.
|
|
123
|
+
* @returns A promise that resolves with the translation result.
|
|
124
|
+
*/
|
|
125
|
+
async translate(...args) {
|
|
126
|
+
this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
127
|
+
}
|
|
95
128
|
}
|
|
96
129
|
//# 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;AAGrE,MAAM,OAAgB,cAAe,SAAQ,WAAW;
|
|
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;AAGrE,MAAM,OAAgB,cAAe,SAAQ,WAAW;IA8OtD;QACE,KAAK,EAAE,CAAC;QA3JV;;;;;;;;;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;QA0BjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAI7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,UAA8B;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;CAEF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DecafComponent } from "./DecafComponent";
|
|
1
2
|
/**
|
|
2
3
|
* @description Class representing an event handler
|
|
3
4
|
* @summary Defines the structure for handling events in the UI decorators system
|
|
@@ -6,12 +7,20 @@
|
|
|
6
7
|
* @class EventHandler
|
|
7
8
|
* @memberOf module:ui-decorators/ui
|
|
8
9
|
*/
|
|
9
|
-
export declare class
|
|
10
|
+
export declare class DecafEventHandler extends DecafComponent {
|
|
10
11
|
/**
|
|
11
|
-
* @description Creates an instance of
|
|
12
|
+
* @description Creates an instance of DecafEventHandler
|
|
12
13
|
* @summary Initializes a new EventHandler object
|
|
13
14
|
* This constructor currently doesn't take any parameters, but it can be
|
|
14
15
|
* extended in the future to accept configuration options if needed.
|
|
15
16
|
*/
|
|
16
17
|
constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Handles an event with the provided arguments.
|
|
20
|
+
* Logs the event handling process, including the component name and the arguments passed.
|
|
21
|
+
*
|
|
22
|
+
* @param args - The arguments for the event handler.
|
|
23
|
+
* @returns void
|
|
24
|
+
*/
|
|
25
|
+
handle(...args: unknown[]): void;
|
|
17
26
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DecafComponent } from "./DecafComponent.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description Class representing an event handler
|
|
4
|
+
* @summary Defines the structure for handling events in the UI decorators system
|
|
5
|
+
* This class provides a foundation for managing and processing events that occur
|
|
6
|
+
* within the UI components generated by the decorators.
|
|
7
|
+
* @class EventHandler
|
|
8
|
+
* @memberOf module:ui-decorators/ui
|
|
9
|
+
*/
|
|
10
|
+
export class DecafEventHandler extends DecafComponent {
|
|
11
|
+
/**
|
|
12
|
+
* @description Creates an instance of DecafEventHandler
|
|
13
|
+
* @summary Initializes a new EventHandler object
|
|
14
|
+
* This constructor currently doesn't take any parameters, but it can be
|
|
15
|
+
* extended in the future to accept configuration options if needed.
|
|
16
|
+
*/
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Handles an event with the provided arguments.
|
|
22
|
+
* Logs the event handling process, including the component name and the arguments passed.
|
|
23
|
+
*
|
|
24
|
+
* @param args - The arguments for the event handler.
|
|
25
|
+
* @returns void
|
|
26
|
+
*/
|
|
27
|
+
handle(...args) {
|
|
28
|
+
this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=DecafEventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAEnD;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;CACF"}
|
package/lib/esm/ui/index.d.ts
CHANGED
package/lib/esm/ui/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export * from "./errors.js";
|
|
|
4
4
|
export * from "./interfaces.js";
|
|
5
5
|
export * from "./Rendering.js";
|
|
6
6
|
export * from "./types.js";
|
|
7
|
-
export * from "./handlers.js";
|
|
8
7
|
export * from "./utils.js";
|
|
9
8
|
export * from "./DecafComponent.js";
|
|
9
|
+
export * from "./DecafEventHandler.js";
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,gCAA6B;AAC7B,4BAAyB;AACzB,gCAA6B;AAC7B,+BAA4B;AAC5B,2BAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,gCAA6B;AAC7B,4BAAyB;AACzB,gCAA6B;AAC7B,+BAA4B;AAC5B,2BAAwB;AACxB,2BAAwB;AACxB,oCAAiC;AACjC,uCAAoC"}
|
package/lib/index.cjs
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -89,12 +89,45 @@ class DecafComponent extends logging_1.LoggedClass {
|
|
|
89
89
|
this.initialized = false;
|
|
90
90
|
this.handlers = {};
|
|
91
91
|
}
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
get repository() {
|
|
93
|
+
return this._repository;
|
|
94
|
+
}
|
|
95
|
+
set repository(repository) {
|
|
96
|
+
this._repository = repository;
|
|
97
|
+
}
|
|
98
|
+
async render(...args) {
|
|
99
|
+
this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Asynchronously initializes the component with the provided arguments.
|
|
103
|
+
* This method sets the `initialized` property to `true` once the initialization is complete.
|
|
104
|
+
*
|
|
105
|
+
* @param args - A variable number of arguments of unknown types that can be used for initialization.
|
|
106
|
+
* @returns A promise that resolves when the initialization is complete.
|
|
107
|
+
*/
|
|
94
108
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
95
109
|
async initialize(...args) {
|
|
96
110
|
this.initialized = true;
|
|
97
111
|
}
|
|
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
|
+
* Translates content based on the provided arguments.
|
|
123
|
+
* Logs the translation request with the component name and arguments.
|
|
124
|
+
*
|
|
125
|
+
* @param args - A variable number of arguments used for translation.
|
|
126
|
+
* @returns A promise that resolves with the translation result.
|
|
127
|
+
*/
|
|
128
|
+
async translate(...args) {
|
|
129
|
+
this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
|
|
130
|
+
}
|
|
98
131
|
}
|
|
99
132
|
exports.DecafComponent = DecafComponent;
|
|
100
133
|
//# sourceMappingURL=DecafComponent.js.map
|
|
@@ -3,6 +3,26 @@ import { UIFunctionLike } from './types';
|
|
|
3
3
|
import { Model } from '@decaf-ts/decorator-validation';
|
|
4
4
|
import { IRepository, OperationKeys } from '@decaf-ts/db-decorators';
|
|
5
5
|
export declare abstract class DecafComponent extends LoggedClass {
|
|
6
|
+
/**
|
|
7
|
+
* @description The CRUD operation type to be performed on the model.
|
|
8
|
+
* @summary Specifies which operation (Create, Read, Update, Delete) this component instance
|
|
9
|
+
* should perform. This determines the UI behavior, form configuration, and available actions.
|
|
10
|
+
* The operation affects form validation, field availability, and the specific repository
|
|
11
|
+
* method called during data submission.
|
|
12
|
+
*
|
|
13
|
+
* @type {OperationKeys}
|
|
14
|
+
*/
|
|
15
|
+
operation?: OperationKeys;
|
|
16
|
+
/**
|
|
17
|
+
* @description Router instance for programmatic navigation.
|
|
18
|
+
* @summary Injected Router service used for programmatic navigation between routes
|
|
19
|
+
* in the application. This service enables navigation to different views and operations,
|
|
20
|
+
* handles route parameters, and manages the browser's navigation history.
|
|
21
|
+
* @protected
|
|
22
|
+
* @type {Router}
|
|
23
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
24
|
+
*/
|
|
25
|
+
router?: any;
|
|
6
26
|
/**
|
|
7
27
|
* @description Name identifier for the component instance.
|
|
8
28
|
* @summary Provides a string identifier that can be used to name or label the component
|
|
@@ -40,13 +60,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
40
60
|
*/
|
|
41
61
|
protected model: Model | string | undefined;
|
|
42
62
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
63
|
+
* @description Primary key field name for the data model.
|
|
64
|
+
* @summary Specifies which field in the model should be used as the primary key.
|
|
65
|
+
* This is typically used for identifying unique records in operations like update and delete.
|
|
66
|
+
* If not explicitly set, it defaults to the repository's configured primary key or 'id'.
|
|
67
|
+
* @type {string}
|
|
68
|
+
* @default 'id'
|
|
69
|
+
*/
|
|
50
70
|
pk: string;
|
|
51
71
|
/**
|
|
52
72
|
* @description Primary key value of the current model instance.
|
|
@@ -131,8 +151,7 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
131
151
|
/**
|
|
132
152
|
* @description Component name identifier for logging and localization contexts.
|
|
133
153
|
* @summary Stores the component's name which is used as a key for logging contexts
|
|
134
|
-
* and as a base for locale resolution.
|
|
135
|
-
* to "NgxComponentDirective" if not provided.
|
|
154
|
+
* and as a base for locale resolution.
|
|
136
155
|
* @protected
|
|
137
156
|
* @type {string | undefined}
|
|
138
157
|
*/
|
|
@@ -146,6 +165,13 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
146
165
|
* @type {string | undefined}
|
|
147
166
|
*/
|
|
148
167
|
protected localeRoot?: string;
|
|
168
|
+
/**
|
|
169
|
+
* @description Current value of the component.
|
|
170
|
+
* @summary Can be a string, number, date, or array of string or objects.
|
|
171
|
+
* @type {any}
|
|
172
|
+
* @public
|
|
173
|
+
*/
|
|
174
|
+
protected value?: any;
|
|
149
175
|
/**
|
|
150
176
|
* @description Reference to CRUD operation constants for template usage.
|
|
151
177
|
* @summary Exposes the OperationKeys enum to the component template, enabling
|
|
@@ -190,6 +216,30 @@ export declare abstract class DecafComponent extends LoggedClass {
|
|
|
190
216
|
protected events?: Record<keyof Pick<DecafComponent, 'render' | 'initialize'>, UIFunctionLike>;
|
|
191
217
|
protected handlers: Record<string, UIFunctionLike>;
|
|
192
218
|
constructor();
|
|
219
|
+
get repository(): IRepository<Model> | undefined;
|
|
220
|
+
set repository(repository: IRepository<Model>);
|
|
193
221
|
render(...args: unknown[]): Promise<void>;
|
|
222
|
+
/**
|
|
223
|
+
* Asynchronously initializes the component with the provided arguments.
|
|
224
|
+
* This method sets the `initialized` property to `true` once the initialization is complete.
|
|
225
|
+
*
|
|
226
|
+
* @param args - A variable number of arguments of unknown types that can be used for initialization.
|
|
227
|
+
* @returns A promise that resolves when the initialization is complete.
|
|
228
|
+
*/
|
|
194
229
|
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
|
+
/**
|
|
238
|
+
* Translates content based on the provided arguments.
|
|
239
|
+
* Logs the translation request with the component name and arguments.
|
|
240
|
+
*
|
|
241
|
+
* @param args - A variable number of arguments used for translation.
|
|
242
|
+
* @returns A promise that resolves with the translation result.
|
|
243
|
+
*/
|
|
244
|
+
protected translate(...args: unknown[]): Promise<any>;
|
|
195
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../src/ui/DecafComponent.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,2DAAqE;AAGrE,MAAsB,cAAe,SAAQ,qBAAW;
|
|
1
|
+
{"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../src/ui/DecafComponent.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,2DAAqE;AAGrE,MAAsB,cAAe,SAAQ,qBAAW;IA8OtD;QACE,KAAK,EAAE,CAAC;QA3JV;;;;;;;;;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;QA0BjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAI7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,UAA8B;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;CAEF;AA/RD,wCA+RC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DecafEventHandler = void 0;
|
|
4
|
+
const DecafComponent_1 = require("./DecafComponent.cjs");
|
|
5
|
+
/**
|
|
6
|
+
* @description Class representing an event handler
|
|
7
|
+
* @summary Defines the structure for handling events in the UI decorators system
|
|
8
|
+
* This class provides a foundation for managing and processing events that occur
|
|
9
|
+
* within the UI components generated by the decorators.
|
|
10
|
+
* @class EventHandler
|
|
11
|
+
* @memberOf module:ui-decorators/ui
|
|
12
|
+
*/
|
|
13
|
+
class DecafEventHandler extends DecafComponent_1.DecafComponent {
|
|
14
|
+
/**
|
|
15
|
+
* @description Creates an instance of DecafEventHandler
|
|
16
|
+
* @summary Initializes a new EventHandler object
|
|
17
|
+
* This constructor currently doesn't take any parameters, but it can be
|
|
18
|
+
* extended in the future to accept configuration options if needed.
|
|
19
|
+
*/
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Handles an event with the provided arguments.
|
|
25
|
+
* Logs the event handling process, including the component name and the arguments passed.
|
|
26
|
+
*
|
|
27
|
+
* @param args - The arguments for the event handler.
|
|
28
|
+
* @returns void
|
|
29
|
+
*/
|
|
30
|
+
handle(...args) {
|
|
31
|
+
this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.DecafEventHandler = DecafEventHandler;
|
|
35
|
+
//# sourceMappingURL=DecafEventHandler.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DecafComponent } from "./DecafComponent";
|
|
1
2
|
/**
|
|
2
3
|
* @description Class representing an event handler
|
|
3
4
|
* @summary Defines the structure for handling events in the UI decorators system
|
|
@@ -6,12 +7,20 @@
|
|
|
6
7
|
* @class EventHandler
|
|
7
8
|
* @memberOf module:ui-decorators/ui
|
|
8
9
|
*/
|
|
9
|
-
export declare class
|
|
10
|
+
export declare class DecafEventHandler extends DecafComponent {
|
|
10
11
|
/**
|
|
11
|
-
* @description Creates an instance of
|
|
12
|
+
* @description Creates an instance of DecafEventHandler
|
|
12
13
|
* @summary Initializes a new EventHandler object
|
|
13
14
|
* This constructor currently doesn't take any parameters, but it can be
|
|
14
15
|
* extended in the future to accept configuration options if needed.
|
|
15
16
|
*/
|
|
16
17
|
constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Handles an event with the provided arguments.
|
|
20
|
+
* Logs the event handling process, including the component name and the arguments passed.
|
|
21
|
+
*
|
|
22
|
+
* @param args - The arguments for the event handler.
|
|
23
|
+
* @returns void
|
|
24
|
+
*/
|
|
25
|
+
handle(...args: unknown[]): void;
|
|
17
26
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD;;;;;;;GAOG;AACH,MAAa,iBAAkB,SAAQ,+BAAc;IAEnD;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;CACF;AAtBD,8CAsBC"}
|
package/lib/ui/index.cjs
CHANGED
|
@@ -20,7 +20,7 @@ __exportStar(require("./errors.cjs"), exports);
|
|
|
20
20
|
__exportStar(require("./interfaces.cjs"), exports);
|
|
21
21
|
__exportStar(require("./Rendering.cjs"), exports);
|
|
22
22
|
__exportStar(require("./types.cjs"), exports);
|
|
23
|
-
__exportStar(require("./handlers.cjs"), exports);
|
|
24
23
|
__exportStar(require("./utils.cjs"), exports);
|
|
25
24
|
__exportStar(require("./DecafComponent.cjs"), exports);
|
|
25
|
+
__exportStar(require("./DecafEventHandler.cjs"), exports);
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
package/lib/ui/index.d.ts
CHANGED
package/lib/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,mDAA6B;AAC7B,+CAAyB;AACzB,mDAA6B;AAC7B,kDAA4B;AAC5B,8CAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,mDAA6B;AAC7B,+CAAyB;AACzB,mDAA6B;AAC7B,kDAA4B;AAC5B,8CAAwB;AACxB,8CAAwB;AACxB,uDAAiC;AACjC,0DAAoC"}
|
package/package.json
CHANGED
package/lib/esm/ui/handlers.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Class representing an event handler
|
|
3
|
-
* @summary Defines the structure for handling events in the UI decorators system
|
|
4
|
-
* This class provides a foundation for managing and processing events that occur
|
|
5
|
-
* within the UI components generated by the decorators.
|
|
6
|
-
* @class EventHandler
|
|
7
|
-
* @memberOf module:ui-decorators/ui
|
|
8
|
-
*/
|
|
9
|
-
export class EventHandler {
|
|
10
|
-
/**
|
|
11
|
-
* @description Creates an instance of EventHandler
|
|
12
|
-
* @summary Initializes a new EventHandler object
|
|
13
|
-
* This constructor currently doesn't take any parameters, but it can be
|
|
14
|
-
* extended in the future to accept configuration options if needed.
|
|
15
|
-
*/
|
|
16
|
-
constructor() { }
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=handlers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/ui/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IACvB;;;;;OAKG;IACH,gBAAe,CAAC;CACjB"}
|
package/lib/ui/handlers.cjs
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventHandler = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @description Class representing an event handler
|
|
6
|
-
* @summary Defines the structure for handling events in the UI decorators system
|
|
7
|
-
* This class provides a foundation for managing and processing events that occur
|
|
8
|
-
* within the UI components generated by the decorators.
|
|
9
|
-
* @class EventHandler
|
|
10
|
-
* @memberOf module:ui-decorators/ui
|
|
11
|
-
*/
|
|
12
|
-
class EventHandler {
|
|
13
|
-
/**
|
|
14
|
-
* @description Creates an instance of EventHandler
|
|
15
|
-
* @summary Initializes a new EventHandler object
|
|
16
|
-
* This constructor currently doesn't take any parameters, but it can be
|
|
17
|
-
* extended in the future to accept configuration options if needed.
|
|
18
|
-
*/
|
|
19
|
-
constructor() { }
|
|
20
|
-
}
|
|
21
|
-
exports.EventHandler = EventHandler;
|
|
22
|
-
//# sourceMappingURL=handlers.js.map
|
package/lib/ui/handlers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/ui/handlers.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,MAAa,YAAY;IACvB;;;;;OAKG;IACH,gBAAe,CAAC;CACjB;AARD,oCAQC"}
|