UNPKG

@appscode/ui-builder

Version:
1 lines 7.98 kB
"use strict";var e=require("./wrapper-944ca3a6.js");require("vue"),require("./es.array.concat-5462e385.js");var t=require("./index-cc93bc29.js"),n=require("./stickyContent-fa0d230c.js"),a=require("./SingleStepForm-3a723b1b.js");require("./web.immediate-813e3257.js");var i=require("./function-call-mixins-447c7f1f.js"),l=e.u.some,r=e.z("some"),s=e.s("some");e._({target:"Array",proto:!0,forced:!r||!s},{some:function(e){return l(this,e,arguments.length>1?arguments[1]:void 0)}});var o=["if","fetch","computed","onChange","disabled","individualItemDisabilityCheck","encoder","decoder","moduleResolver","required","newItemValidator"],u={name:"ub-reusable-element",mixins:[i.f,a.s],components:{UbResourceLoader:function(){return Promise.resolve().then((function(){return require("./ResourceLoader-23ac9b17.js")})).then((function(e){return e.default}))}},props:{chartUrl:{type:String,default:""}},data:function(){return{jsons:{},singleModelValue:null,alias:"",dataContext:{},functionCallbacks:{},isModuleFetching:!1}},computed:{elementType:function(){return"object"===e.ad(this.jsons.ui)?Array.isArray(this.jsons.ui)?"form":"single-element":void 0},elements:function(){var e=this,t=[];return"form"===this.elementType&&(t=this.jsons.ui.map((function(t){return e.updateUiWithAlias(t)}))||[]),t},element:function(){return"single-element"===this.elementType?this.updateUiWithAlias(this.jsons.ui):{}},reusableLanguage:function(){return this.jsons.language||{}},reusableFunctions:function(){return this.jsons.functions||{}},reusableElementAlias:function(){return this.reusableElementCtx.alias||""},parentDataContext:function(){return this.reusableElementCtx.dataContext||{}},parentfunctionCallbacks:function(){return this.reusableElementCtx.functionCallbacks||{}},reusableElementChart:function(){return this.reusableElementCtx.chart||{}},labelText:function(){return this.$ubt(this.label.text||"")}},watch:{reusableElementAlias:{immediate:!0,handler:function(e){this.alias=e}},"ui.moduleResolver":{immediate:!0,handler:function(t){var a=this;t&&(this.isModuleFetching=!0,setImmediate(n._(n.r.mark((function i(){return n.r.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,a.performFuncCall(t,{chart:e.e(e.e({},a.reusableElementChart),{},{url:a.chartUrl})});case 2:a.jsons=n.sent,a.isModuleFetching=!1;case 4:case"end":return n.stop()}}),i)})))))}},"ui.dataContext":{immediate:!0,deep:!0,handler:function(n,a){t.c(e.g(n||{}),e.g(a||{})).length>0&&this.initializeDataContext(n||{})}},"ui.functionCallbacks":{immediate:!0,deep:!0,handler:function(n,a){t.c(e.g(n||{}),e.g(a||{})).length>0&&this.initializefunctionCallbacks(n||{})}},reusableLanguage:{deep:!0,handler:function(e){this.$store.commit("wizard/language$update",{path:this.reusableElementAlias,value:e})}},reusableFunctions:{deep:!0,handler:function(e){this.$store.commit("wizard/functions$update",{path:this.reusableElementAlias,value:e})}},value:{deep:!0,immediate:!0,handler:function(e){JSON.stringify(e)!==JSON.stringify(this.singleModelValue)&&(this.singleModelValue=e)}},singleModelValue:{deep:!0,handler:function(e){this.$emit("input",e)}}},methods:{updateUiWithAlias:function(t){var n=this,i=e.g(t);return Object.keys(i).forEach((function(t){var l=i[t];if("object"===e.ad(l))Array.isArray(l)?i[t]=l.map((function(e){return n.updateUiWithAlias(e)})):i[t]=n.updateUiWithAlias(l);else if("text"===t||"addFormLabel"===t){var r=n.alias.replaceAll("/",".")+"."+l;n.$i18n.te("$wizard.".concat(r))?i[t]=r:i[t]=l}else if("string"==typeof l&&o.some((function(e){return e===t})))i[t]=n.alias+"/"+l;else if("$ref"===t){var s=l.split("#"),u=a._(s,2),c=u[0],d=u[1];if("schema"===c){var m=((n.ui.schema.$ref||"").split("#")[1]||"").trim().replace(/^#?\/|\/$/g,""),h=d.trim().replace(/^#?\/|\/$/g,"");i[t]="schema#/".concat(m,"/").concat(h)}}})),i},initializeDataContext:function(e){var t=this;Object.keys(e).forEach((function(n){try{var a=t.getModelPath(e[n])||"",i=t.readValue(a,"dataContext")||"";t.$set(t.dataContext,n,i),t.attachWatcherToDataContext(a,n)}catch(e){console.log(e)}}))},initializefunctionCallbacks:function(e){var t=this;Object.keys(e).forEach((function(n){try{var a=e[n].$ref,i=t.readValue(a,"functionCallbacks")||"";"functions"===a.split("#").shift()?t.$set(t.functionCallbacks,n,(function(e){return i(t.contextObject,e)})):t.$set(t.functionCallbacks,n,i)}catch(e){console.log(e)}}))},readValue:function(t,n){if(t){var i=t.split("#"),l=a._(i,2),r=l[0],s=l[1];if("dataContext"===n){if("model"===r)return e.h(e.g(this.modelJson),s);if("discriminator"===r)return e.h(e.g(this.parentDiscriminator),s);if("data"===r)return e.h(e.g(this.parentDataContext),s);throw Error("dataContext property $ref can only be from either 'model' or 'discriminator' or 'data'")}if("functions"===r)return e.h(this.functions,s);if("parentFunctions"===r)return e.h(this.parentfunctionCallbacks,s);throw Error("functionCallbacks property $ref can only be from either 'functions' or 'parentFunctions'")}throw Error("$ref cannot be empty for ".concat(n," properties"))},attachWatcherToDataContext:function(e,t){var n=this,i=e.split("#"),l=a._(i,2),r=l[0],s="";"model"===r?s+="modelJson":"discriminator"===r?s+="parentDiscriminator":"data"===r&&(s+="parentDataContext");var o=s+l[1].replace(/\//g,"."),u=this.$watch(o,(function(e){var a=n.dataContext[t];JSON.stringify(a)!==JSON.stringify(e)&&n.$set(n.dataContext,t,e)}),{deep:!0});this.$set(this.unWatchers,"dataContext/".concat(t),u)},calcReusableElementCtx:function(){var t=e.g(this.reusableElementCtx);return t.dataContext=e.g(this.dataContext)||{},t.functionCallbacks=this.functionCallbacks||{},t}}},c=e.n({render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e.isModuleFetching?[n("ub-resource-loader")]:["form"===e.elementType?e._ssrNode("<form action"+e._ssrClass(null,{"ac-nested-elements":e.labelText&&e.showLabel})+e._ssrStyle(null,e.ui.style,null)+">","</form>",[e.labelText&&e.showLabel?n("ub-label-element",{attrs:{label:e.label,"is-collapsible":!0,"is-form-hidden":e.isFormHidden},on:{click:function(t){e.isFormHidden=!e.isFormHidden}}}):e._e(),e._ssrNode(" "),e._ssrNode("<div"+e._ssrClass(null,{"nested-body":e.labelText&&e.showLabel,"is-hidden":e.isFormHidden})+">","</div>",e._l(e.elements,(function(t,a){return n("ub-form-element",{key:e.ui.identifier+"-"+a+"-"+(t.label&&t.label.text||t.title),attrs:{element:t,"reusable-element-ctx":e.calcReusableElementCtx(),schema:e.resolveSchema(t.schema),"disabled-prop":e.disabled,"whole-schema":e.wholeSchema,"whole-model":e.wholeModel||e.value,discriminator:e.discriminator,required:e.isRequired(t.schema),chartUrl:e.chartUrl},on:{"update-model-value":e.updateModelValueEvent},model:{value:e.modelValue[e.resolveSchemaToVmodel(t)],callback:function(n){e.$set(e.modelValue,e.resolveSchemaToVmodel(t),n)},expression:"modelValue[resolveSchemaToVmodel(element)]"}})})),1)],2):e._ssrNode("<div"+e._ssrClass(null,{"ac-nested-elements":e.labelText&&e.showLabel})+e._ssrStyle(null,e.ui.style,null)+">","</div>",[e.labelText&&e.showLabel?n("ub-label-element",{attrs:{label:e.label,"is-collapsible":!0,"is-form-hidden":e.isFormHidden},on:{click:function(t){e.isFormHidden=!e.isFormHidden}}}):e._e(),e._ssrNode(" "),e._ssrNode("<div"+e._ssrClass(null,{"nested-body":e.labelText&&e.showLabel,"is-hidden":e.isFormHidden})+">","</div>",[n("ub-form-element",{key:e.ui.identifier+"-"+(e.element.label&&e.element.label.text||e.element.title),attrs:{element:e.element,"reusable-element-ctx":e.calcReusableElementCtx(),schema:e.resolveSchema(e.element.schema),"disabled-prop":e.disabled,"whole-schema":e.wholeSchema,"whole-model":e.wholeModel||e.value,discriminator:e.discriminator,required:e.isRequired(e.element.schema),chartUrl:e.chartUrl},on:{"update-model-value":e.updateModelValueEvent},model:{value:e.singleModelValue,callback:function(t){e.singleModelValue=t},expression:"singleModelValue"}})],1)],2)]],2)},staticRenderFns:[]},void 0,u,void 0,!1,"data-v-06642805",!1,void 0,void 0,void 0);exports.default=c;