@appscode/ui-builder
Version:
## Motivation
1 lines • 9.34 kB
JavaScript
;var e=require("./wrapper-944ca3a6.js"),t=require("./index-cc93bc29.js"),i=e.a9.f,r=function(t){return function(r){for(var n,a=e.S(r),o=e.a4(a),l=o.length,s=0,u=[];l>s;)n=o[s++],e.a1&&!i.call(a,n)||u.push(t?[n,a[n]]:a[n]);return u}},n={entries:r(!0),values:r(!1)}.values;function a(t,i){return function(e){if(Array.isArray(e))return e}(t)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var i=[],r=!0,n=!1,a=void 0;try{for(var o,l=e[Symbol.iterator]();!(r=(o=l.next()).done)&&(i.push(o.value),!t||i.length!==t);r=!0);}catch(e){n=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(n)throw a}}return i}}(t,i)||e.ac(t,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}e._({target:"Object",stat:!0},{values:function(e){return n(e)}});var o={components:{UbFormElement:function(){return Promise.resolve().then((function(){return require("./FormElement-d08d9261.js")})).then((function(e){return e.F})).then((function(e){return e.default}))},UbLabelElement:function(){return Promise.resolve().then((function(){return require("./LabelElement-87e1ef84.js")})).then((function(e){return e.default}))},UbToggleElement:function(){return Promise.resolve().then((function(){return require("./ToggleElement-2e4855a4.js")})).then((function(e){return e.default}))}},props:{contextObject:{type:Object,default:function(){return{}}},parentDiscriminator:{type:Object,default:function(){return{}}},label:{type:Object,default:function(){return{}}},showLabel:{type:Boolean,default:!1},ui:{type:Object,default:function(){return{}}},schema:{type:Object,default:function(){return{}}},wholeSchema:{type:Object,default:function(){return{}}},wholeModel:{type:null,default:""},value:{type:null,default:""},disabled:{type:Boolean,default:!1},reusableElementCtx:{type:Object,default:function(){return{}}},chartUrl:{type:String,default:""},hideForm:{type:Boolean,default:!1},toggleOption:{type:Object,default:function(){return{}}}},data:function(){return{discriminator:{},modelValue:{},emitValue:{},storedValue:{},isFormHidden:!1,unWatchers:{}}},mounted:function(){this.isFormHidden=this.hideForm,this.showToggleOption&&this.toggleOption.setInitialStatusFalse&&(this.isFormHidden=this.toggleOption.setInitialStatusFalse)},destroyed:function(){Object.values(this.unWatchers).forEach((function(e){e()}))},computed:e.e(e.e({},e.m({initialModel:"wizard/initialModel",modelJson:"wizard/model",keepEmptyModel:"wizard/keepEmptyModel"})),{},{elements:function(){return this.ui.elements||[]},labelText:function(){return this.$ubt(this.label.text||"")},showToggleOption:function(){return!!this.toggleOption.show}}),watch:{"ui.discriminator":{immediate:!0,deep:!0,handler:function(i,r){t.c(e.g(i||{}),e.g(r||{})).length>0&&this.initializeDiscriminators(i||{})}},parentDiscriminator:{immediate:!0,deep:!0,handler:function(e){var t=this;Object.keys(e).forEach((function(i){t.$set(t.discriminator,i,e[i])}))}},initialModel:{immediate:!0,deep:!0,handler:function(){this.initializeModelValueProperties()}},emitValue:{deep:!0,handler:function(t){JSON.stringify(this.storedValue)!==JSON.stringify(t)&&(this.storedValue=e.g(t),this.$emit("input",e.g(t)))}},elements:{deep:!0,handler:function(){this.initializeModelValueProperties()}}},methods:{isEmptyValue:function(t){var i=this;if(t&&"object"===e.ad(t)){if(Array.isArray(t))return!t.length||t.reduce((function(e,t){return e&&i.isEmptyValue(t)}),!0);var r=Object.keys(t);return!r.length||r.reduce((function(e,r){return e&&i.isEmptyValue(t[r])}),!0)}return null==t||""===t},trimValue:function(t){var i=this;if(!t||"object"!==e.ad(t))return null!=t&&""!==t?t:void 0;if(Array.isArray(t)){if(t.length){var r=t.map((function(e){return i.trimValue(e)})).filter((function(e){return e}));return r.length?r:void 0}}else{var n=Object.keys(t);if(n.length){var a={};n.forEach((function(e){a[e]=i.trimValue(t[e])}));var o={};return n.forEach((function(e){a[e]&&(o[e]=a[e])})),Object.keys(o).length?o:void 0}}},updateModelValueEvent:function(e){this.$emit("update-model-value",e)},initializeDiscriminators:function(e){var t=this;e&&Object.keys(e).forEach((function(i){t.$set(t.discriminator,i,e[i].default)}))},initializeModelValueProperties:function(){var t=this,i=this.elements,r=function(i){Object.keys(t.modelValue).forEach((function(r){if(r.startsWith("model#".concat(i))){var n=e.h(e.g(t.modelJson),r.replace("model#","")),a=e.g(t.modelValue)[r],o=t.trimValue(e.g(n)),l=t.trimValue(e.g(a));JSON.stringify(o)!==JSON.stringify(l)&&t.$set(t.modelValue,r,e.g(o))}}))};i&&i.forEach((function(i){var n=i.schema;if(n){var o=t.getModelPath(n),l=a(o.split("#"),2),s=l[0],u=l[1];t.$set(t.modelValue,o,t.getValue(o,e.g(t.modelJson))),t.attatchWatcherToModelValueKey(o,i.type||"single-step-form"),"model"===s&&t.$store.commit("wizard/modelPathWatchers$add",{path:u,func:r}),t.attatchWatcherToPath(o)}else"single-step-form"===i.type&&t.$set(t.modelValue,JSON.stringify(i.elements),null)}))},attatchWatcherToPath:function(e){var t=this,i=a(e.split("#"),2),r=i[0],n="";"model"===r?n+="modelJson":"discriminator"===r&&(n+="discriminator");var o=n+i[1].replace(/\//g,"."),l=this.$watch(o,(function(i){var r=t.modelValue[e];JSON.stringify(r)!==JSON.stringify(i)&&t.$set(t.modelValue,e,i)}),{deep:!0});this.$set(this.unWatchers,e,l)},attatchWatcherToModelValueKey:function(t,i){var r=this,n=this.$watch((function(){return r.modelValue[t]}),(function(n){var o=t,l=a(o.split("#"),2),s=l[0],u=l[1],c=e.h(r.keepEmptyModel,u),d=c?n:r.trimValue(n);if("model"===s){if(!r.discriminator.$isParentSingleStepFormArray&&"single-step-form"!==i)if(c){var m=r.getValue(o,e.g(r.modelJson));JSON.stringify(m)!==JSON.stringify(d)&&r.$store.commit("wizard/model$update",{path:u,value:d,force:!0})}else if(r.isEmptyValue(d))r.$store.commit("wizard/model$delete",u);else{var f=r.getValue(o,e.g(r.modelJson)),h=r.trimValue(f),p=r.trimValue(d);JSON.stringify(h)!==JSON.stringify(p)&&r.$store.commit("wizard/model$update",{path:u,value:p,force:!0})}}else if("discriminator"===s){var v=u&&u.split("/")[1],g=r.ui.discriminator&&r.ui.discriminator[v]&&r.ui.discriminator[v].emitAs;if(g){var b=u&&u.split("/").pop(),y=u.replace("/".concat(v,"/"),"/".concat(g,"/"));e.ae(r.discriminator,y,d,!0),r.$set(r.emitValue,b,d)}else e.ae(r.discriminator,u,d,!0)}var V=u&&u.split("/").pop();"model"===s&&r.$set(r.emitValue,V,d)}),{deep:!0,immediate:!0});this.$set(this.unWatchers,"modelValue.".concat(t),n)},resolveSchema:function(t){if(t){var i=t.$ref;if(i){var r=a(i.split("#"),2),n=r[0],o=r[1];if(n){if("schema"===n)return e.af(this.wholeSchema,"#".concat(o));if("discriminator"===n)return e.af(this.ui.discriminator,"#".concat(o))}return e.af(this.wholeSchema,"#".concat(o))}return t}},resolveSchemaToVmodel:function(e){var t=e.schema,i=e.elements;return t?this.getModelPath(t):JSON.stringify(i)},getModelPath:function(e){if(e){var t="",i=e.$ref,r=e.$model;if(r?t=r:i&&(t=i),t){var n=a(t.split("#"),2),o=n[0],l=n[1].replace(/\/properties/g,"");return"schema"===o?"model#".concat(l):"discriminator"===o?"discriminator#".concat(l):"data"===o?"data#".concat(l):l}}},getValue:function(t,i){if(t){var r=a(t.split("#"),2),n=r[0],o=r[1],l=t.split("/").pop();if(void 0!==this.value[l]&&null!==this.value[l])return this.value[l];if("model"===n)return e.h(e.g(i),o);if("discriminator"===n)return e.h(this.discriminator,o)}return this.value},isRequired:function(t){if(t){var i=t.$ref;if(i){var r=i.split("/"),n=r.pop();r.pop();var o=a("".concat(r.join("/"),"/required").split("#"),2),l=o[0],s=o[1],u=[];return l?"schema"===l?u=e.af(this.wholeSchema,"#".concat(s))||[]:"discriminator"===l&&(u=e.af(this.ui.discriminator,"#".concat(s))||[]):u=e.af(this.wholeSchema,"#".concat(s))||[],u.includes(n)}return!1}return!1}}},l={mixins:[o]},s=e.n({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("form",{class:{"ac-nested-elements":e.labelText&&e.showLabel},style:e.ui.style,attrs:{action:""}},[e.labelText&&e.showLabel?[e.showToggleOption?i("ub-toggle-element",{attrs:{label:e.label,"is-collapsible":!0,"is-form-hidden":e.isFormHidden,"toggle-option":e.ui.toggleOption,"context-object":e.contextObject},on:{click:function(t){e.isFormHidden=!e.isFormHidden}}}):i("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,r){return i("ub-form-element",{key:e.ui.identifier+"-"+r+"-"+(t.label&&t.label.text||t.title),attrs:{element:t,"reusable-element-ctx":e.reusableElementCtx,schema:e.resolveSchema(t.schema),"disabled-prop":e.disabled,"whole-schema":e.wholeSchema,"whole-model":e.wholeModel||e.value,discriminator:e.discriminator,"chart-url":e.chartUrl},on:{"update-model-value":e.updateModelValueEvent},model:{value:e.modelValue[e.resolveSchemaToVmodel(t)],callback:function(i){e.$set(e.modelValue,e.resolveSchemaToVmodel(t),i)},expression:"modelValue[resolveSchemaToVmodel(element)]"}})})),1)],2)},staticRenderFns:[]},void 0,l,void 0,!1,"data-v-6e4fd8d6",!1,void 0,void 0,void 0),u=Object.freeze({__proto__:null,default:s});exports.S=u,exports._=a,exports.s=o;