@appscode/ui-builder
Version:
## Motivation
1 lines • 5.86 kB
JavaScript
import{n as e}from"./wrapper-5d451278.js";import"vue";import"./es.array.concat-bc6da240.js";import"./es.array.find-index-091ba8fd.js";import"./index-ba66ec6f.js";import"./web.dom-collections.iterator-98113e95.js";import"./set-to-string-tag-edc1b53a.js";import"./object-set-prototype-of-866dfe15.js";import{_ as t,r as i}from"./stickyContent-c27d9838.js";import"./SingleStepForm-e4a2064c.js";import{d as a}from"./data-function-mixins-f9cb6d20.js";import{i as n}from"./individual-item-disablity-check-7d31b40d.js";import{f as r}from"./function-call-mixins-9e1aa828.js";import{_ as l}from"./edit-icon-cad3d9bf.js";import{_ as s}from"./trash-icon-42a90253.js";import{_ as d}from"./tag-icon-da9ce06c.js";var o=e({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[Object.keys(e.label).length?i("ub-label-element",{attrs:{label:Object.assign({},e.label,{isSubsection:!0}),schema:e.schema,"is-required":e.required,errors:e.errors&&e.errors.length?e.errors:e.itemValidationError?[e.itemValidationError]:[]}}):e._e(),e._v(" "),e._l(e.modelValue,(function(t,a){return i("div",{key:e.$ubt(e.labelText)+"-"+a,class:["mb-15",e.showNewKeyField||""!==e.editFieldIdx?"":"is-flex is-justify-content-space-between"]},[e.editFieldIdx!==a?i("div",{staticClass:"label-action is-flex is-flex-wrap-wrap"},[e._m(0,!0),e._v(" "),i("strong",[e._v(e._s(t.key)+":\n "+e._s(t.key.length+t.value.length>80?t.value.substring(0,30):t.value)+"\n\n "),t.key.length+t.value.length>80?i("ub-key-value-modal",{attrs:{label:e.label,ui:e.ui,title:t.key,content:t.value,required:!0,disabled:e.individualItemDisabilityVerdict[a]||e.disabledUpdate,"context-object":e.contextObject,"new-item-validator":e.newItemValidator},on:{save:e.saveProperty,delete:function(i){return e.deleteProperty(t.key)}}}):e._e()],1),e._v(" "),t.key.length+t.value.length>80?e._e():i("button",{staticClass:"button ac-button is-transparent icon",class:{"is-disabled":e.individualItemDisabilityVerdict[a]||e.disabledUpdate},attrs:{title:"Edit",disabled:e.individualItemDisabilityVerdict[a]||e.disabledUpdate},on:{click:function(t){t.preventDefault(),e.editFieldIdx=a}}},[i("img",{attrs:{src:l,alt:""}})]),e._v(" "),i("button",{staticClass:"button ac-button is-transparent icon",class:{"is-disabled":e.individualItemDisabilityVerdict[a]||e.disabledUpdate},attrs:{title:"Delete",disabled:e.individualItemDisabilityVerdict[a]||e.disabledUpdate},on:{click:function(i){return i.preventDefault(),e.deleteProperty(t.key)}}},[i("img",{attrs:{src:s,alt:""}})])]):i("ub-key-value-input",{attrs:{label:e.label,ui:e.ui,"prop-key":t.key,"prop-value":t.value,disabled:e.disabled,required:!0,"is-update":!0},on:{save:e.saveProperty}}),e._v(" "),e.showNewKeyField||0!==a||!e.isArray||""!==e.editFieldIdx||e.disabled?e._e():i("button",{staticClass:"button ac-button is-transparent is-primary is-small is-pulled-right is-hovered-underline",on:{click:function(t){t.preventDefault(),e.isSavingNewElement=!0}}},[e._v("\n + "+e._s(e.$ubt("buttons.add_new"))+"\n ")])],1)})),e._v(" "),e.showNewKeyField?i("ub-key-value-input",{attrs:{label:e.label,ui:e.ui,disabled:e.disabled,"disabled-validation":!0,"is-update":!1,required:!0},on:{save:e.saveProperty}}):e._e()],2)},staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"label-icon"},[t("img",{attrs:{src:d,alt:""}})])}]},void 0,{name:"ub-key-value-input-form",components:{UbKeyValueInput:function(){return import("./KeyValueInput-2d93e526.js").then((function(e){return e.default}))},UbKeyValueModal:function(){return import("./KeyValueModal-501d9744.js").then((function(e){return e.default}))},UbLabelElement:function(){return import("./LabelElement-d1b528f2.js").then((function(e){return e.default}))}},mixins:[a,n,r],props:{label:{type:Object,default:function(){return{}}},ui:{type:Object,default:function(){return{}}},schema:{type:Object,default:function(){return{}}},wholeSchema:{type:Object,default:function(){return{}}},value:{type:null,default:function(){return{}}},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},errors:{type:Array,default:function(){return[]}},isArray:{type:Boolean,default:!1},newItemValidator:{type:String,default:""}},data:function(){return{modelValue:{},newKey:"",newValue:null,isSavingNewElement:!1,editFieldIdx:"",itemValidationError:""}},computed:{schemaRef:function(){return this.ui.schema.$ref||""},showNewKeyField:function(){return 0===this.modelValue.length||this.isSavingNewElement},disabledUpdate:function(){return this.disabled||""!==this.editFieldIdx||this.showNewKeyField},labelText:function(){return this.label.text||"label"},individualItemsArray:function(){return Object.values(this.modelValue)||[]}},created:function(){var e=this;this.modelValue=Object.keys(this.value).map((function(t){return{key:t,value:e.value[t]}}))},watch:{modelValue:{deep:!0,handler:function(e){var t={};e.forEach((function(e){e.key&&(t[e.key]=e.value)})),this.$emit("input",t)}}},methods:{saveProperty:function(e){var a=this;return t(i.mark((function t(){var n;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,!a.newItemValidator){t.next=8;break}return t.next=4,a.performFuncCall(a.newItemValidator,{key:e.newKey,value:e.newValue});case 4:if(!(n=t.sent)||!n.isInvalid){t.next=8;break}return a.itemValidationError=n.message,t.abrupt("return");case 8:a.itemValidationError="",e.isUpdate&&a.deleteProperty(e.oldKey),a.modelValue.push({key:e.newKey,value:e.newValue}),a.isSavingNewElement=!1,a.editFieldIdx="",t.next=18;break;case 15:t.prev=15,t.t0=t.catch(0),a.$toasted.error(t.t0);case 18:case"end":return t.stop()}}),t,null,[[0,15]])})))()},deleteProperty:function(e){var t=this.modelValue.findIndex((function(t){return t.key===e}));this.$delete(this.modelValue,t)}}},void 0,!1,void 0,!1,void 0,void 0,void 0);export default o;