@appscode/ui-builder
Version:
## Motivation
1 lines • 16.1 kB
JavaScript
"use strict";var e=require("./wrapper-944ca3a6.js");require("./es.array.concat-5462e385.js"),require("./index-cc93bc29.js"),require("./web.dom-collections.iterator-4a73d869.js");var t=require("./stickyContent-fa0d230c.js"),s=require("./FormElement-d08d9261.js"),a=require("./data-function-mixins-ba51d46e.js"),n=require("./individual-item-disablity-check-6865e0e8.js"),i=require("./function-call-mixins-447c7f1f.js"),r=require("./tag-icon-2bd765d6.js");function l(t,s){var a;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(a=e.ac(t))||s&&t&&"number"==typeof t.length){a&&(t=a);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,l=!0,d=!1;return{s:function(){a=t[Symbol.iterator]()},n:function(){var e=a.next();return l=e.done,e},e:function(e){d=!0,r=e},f:function(){try{l||null==a.return||a.return()}finally{if(d)throw r}}}}var d={name:"ub-single-step-form-array",mixins:[s.v,a.d,i.f,n.i],components:{UbObjectArrayTable:function(){return Promise.resolve().then((function(){return require("./ObjectArrayTable-3ac94697.js")})).then((function(e){return e.default}))},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}))}},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[]}},addFormLabel:{type:String,default:"Item"},tableContents:{type:Array,default:function(){return[]}},reusableElementCtx:{type:Object,default:function(){return{}}},chartUrl:{type:String,default:""},hideForm:{type:Boolean,default:!1},newItemValidator:{type:String,default:""},isCreateDisabled:{type:Boolean,default:!1}},data:function(){return{modelValue:[],newItem:"",updatePass:0,isSavingNewElement:!1,editFieldIdx:"",showFieldIdx:"",dataForTable:[],isFormHidden:!1,isEditFormHidden:!0,itemValidationError:""}},computed:{schemaRef:function(){return this.ui.schema.$ref||""},tableData:function(){return this.tableContents.filter((function(e){return e.inTableColumn}))},tableValuesPath:function(){return this.tableData.map((function(e){return e.path}))},tableRowsName:function(){return this.tableData.map((function(e){var t;return null===(t=e.label)||void 0===t?void 0:t.text}))},labelText:function(){return this.label.text||"label"},individualItemsArray:function(){return this.modelValue||[]}},created:function(){(!this.modelValue||Array.isArray(this.modelValue)&&!this.modelValue.length)&&(this.modelValue=Array.isArray(this.value)?e.g(this.value):[]),this.isFormHidden=this.hideForm},watch:{modelValue:{deep:!0,immediate:!0,handler:function(e){this.$emit("input",e),this.updateDataForTable(e)}},value:{deep:!0,immediate:!0,handler:function(t){JSON.stringify(t)!==JSON.stringify(this.modelValue)&&(this.modelValue=e.g(t))}},isSavingNewElement:function(){this.isFormHidden=!1}},methods:{getTableValue:function(t,s){return e.h(t,"#/"+s)},updateDataForTable:function(s){var a=this;return t._(t.r.mark((function n(){var i,r,d,o;return t.r.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:i=Array.isArray(s)?s:[],a.dataForTable=e.g(i),r=l(a.tableContents),n.prev=3,o=t.r.mark((function e(){var s,n,r;return t.r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(s=d.value).computed){e.next=7;break}return n=i.map((function(e){return a.performFuncCall(s.computed,e)})),e.next=5,Promise.all(n);case 5:r=e.sent,a.dataForTable.forEach((function(e,t){a.setValue(e,s.path.split("/"),r[t])}));case 7:case"end":return e.stop()}}),e)})),r.s();case 6:if((d=r.n()).done){n.next=10;break}return n.delegateYield(o(),"t0",8);case 8:n.next=6;break;case 10:n.next=15;break;case 12:n.prev=12,n.t1=n.catch(3),r.e(n.t1);case 15:return n.prev=15,r.f(),n.finish(15);case 18:case"end":return n.stop()}}),n,null,[[3,12,15,18]])})))()},setValue:function(e,t,s){if(1===t.length)this.$set(e,t[0],s);else if(t.length>1){var a=t.shift();e[a]||this.$set(e,a,{}),this.setValue(e[a],t,s)}},saveItem:function(){var s=this;return t._(t.r.mark((function a(){var n,i,r;return t.r.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n="".concat(s.$ubt(s.labelText).replace(/ /g,"-"),"-").concat(s.isSavingNewElement?"new":"edit"),i=!1,!s.isSavingNewElement){t.next=8;break}return t.next=5,s.$refs[n].validate();case 5:i=t.sent,t.next=11;break;case 8:return t.next=10,s.$refs[n][0].validate();case 10:i=t.sent;case 11:if(!s.newItemValidator){t.next=18;break}return t.next=14,s.performFuncCall(s.newItemValidator,e.e({isCreate:s.isSavingNewElement},s.newItem));case 14:if(!(r=t.sent)||!r.isInvalid){t.next=18;break}return s.itemValidationError=r.message,t.abrupt("return");case 18:s.itemValidationError="",i&&(""===s.editFieldIdx?(s.modelValue||(s.modelValue=[]),s.modelValue.push(e.g(s.newItem))):s.$set(s.modelValue,s.editFieldIdx,e.g(s.newItem)),s.resetAllData());case 20:case"end":return t.stop()}}),a)})))()},onAddClick:function(){this.resetAllData(),this.isSavingNewElement=!0},onEditClick:function(t){this.resetAllData(),this.newItem=e.g(this.modelValue[t]),this.editFieldIdx=t,this.isEditFormHidden=!1},onDetailsClick:function(e){this.showFieldIdx!==e?(this.resetAllData(),this.showFieldIdx=e):this.resetAllData()},deleteItem:function(e){this.$delete(this.modelValue,e),this.updatePass+=1,this.resetAllData()},resetAllData:function(){this.showFieldIdx="",this.editFieldIdx="",this.newItem="",this.isSavingNewElement=!1,this.isEditFormHidden=!0,this.itemValidationError=""},updateModelValueEvent:function(t){t.path&&(t.isDelete?this.deleteValue(this.newItem,t.path.split("/")):("object"!==e.ad(this.newItem)&&(this.newItem={}),this.setValue(this.newItem,t.path.split("/"),t.value))),this.updatePass++},deleteValue:function(e,t){if(1===t.length)this.$delete(e,t[0]);else if(t.length>1){var s=t.shift();e[s]||(e[s]={}),this.deleteValue(e[s],t)}}}},o=e.n({render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{class:{"ac-nested-elements":e.labelText}},[e.isSavingNewElement?[e._ssrNode('<div class="is-flex is-aligned-item-center is-justify-content-space-between">',"</div>",[s("ub-label-element",{attrs:{label:{text:e.$ubt("buttons.new")+" "+e.$ubt(e.addFormLabel)},"is-collapsible":!0,"is-form-hidden":e.isFormHidden,errors:e.itemValidationError?[e.itemValidationError]:[]},on:{click:function(t){e.isFormHidden=!e.isFormHidden}}}),e._ssrNode(' <div class="buttons pb-5"><button'+e._ssrAttr("disabled",e.disabled)+' class="\n button\n ac-button\n is-tinny is-square is-outlined-gray is-transparent is-primary\n "><i aria-hidden="true" class="fa fa-floppy-o"></i></button> <button class="\n button\n ac-button\n is-tinny is-square is-outlined-gray is-transparent is-danger\n "><i aria-hidden="true" class="fa fa-close"></i></button></div>')],2),e._ssrNode(" "),e._ssrNode("<div"+e._ssrClass("nested-body",{"is-hidden":e.isFormHidden})+">","</div>",[s("validation-observer",{key:""+e.isSavingNewElement,ref:e.$ubt(e.labelText).replace(/ /g,"-")+"-new",attrs:{disabled:!0,rules:e.required?"required":"",slim:""}},[s("ub-form-element",{key:e.updatePass,attrs:{element:e.ui.element,"reusable-element-ctx":e.reusableElementCtx,"chart-url":e.chartUrl,"disabled-prop":e.disabled,schema:e.schema.items,"whole-schema":e.wholeSchema,required:e.required},on:{"update-model-value":e.updateModelValueEvent},model:{value:e.newItem,callback:function(t){e.newItem=t},expression:"newItem"}})],1)],1)]:[e._ssrNode('<div class="is-flex is-aligned-item-center is-justify-content-space-between">',"</div>",[e.labelText?s("ub-label-element",{attrs:{label:e.label,"is-collapsible":!0,"is-form-hidden":e.isFormHidden,"is-required":e.required,errors:e.errors&&e.errors.length?e.errors:e.itemValidationError?[e.itemValidationError]:[],schema:e.schema},on:{click:function(t){e.isFormHidden=!e.isFormHidden}}}):e._e(),e._ssrNode(" "+(e.disabled||e.isCreateDisabled?"\x3c!----\x3e":'<button class="\n button\n ac-button\n is-transparent\n is-primary\n is-small\n is-pulled-right\n is-hovered-underline\n ">'+e._ssrEscape("\n + "+e._s(e.$ubt("buttons.add_new"))+"\n ")+"</button>"))],2),e._ssrNode(" "),e._ssrNode("<div"+e._ssrClass(null,{"nested-body":e.labelText,"is-hidden":e.isFormHidden})+">","</div>",[e.dataForTable.length?e._ssrNode('<div class="ac-table-container table-container">',"</div>",[e._ssrNode('<table class="table ac-table ac-striped is-fullwidth">',"</table>",[e._ssrNode("<thead><tr>"+e._ssrList(e.tableRowsName,(function(t,s){return"<th>"+e._ssrEscape("\n "+e._s(e.$ubt(t))+"\n ")+"</th>"}))+' <th class="has-text-right">Actions</th></tr></thead> '),e._ssrNode("<tbody>","</tbody>",[e._l(e.dataForTable,(function(t,a){return[e._ssrNode("<tr>"+e._ssrList(e.tableValuesPath,(function(s,a){return"<td>"+("key-operator-values-array"===e.tableData[a].typeOfValue?e._ssrList(e.getTableValue(t,s),(function(t,s){return'<span><span class="circle-list-shape"></span> <code>'+e._ssrEscape(e._s(t.key)+" "+e._s(t.operator)+"\n "+e._s("["+t.values.join(", ")+"]"))+"</code> <br></span>"})):"array"===e.tableData[a].typeOfValue?e._ssrList(e.getTableValue(t,s),(function(t,s){return'<span><span class="circle-list-shape"></span><strong>'+e._ssrEscape(e._s(t))+"</strong> <br></span>"})):"key-value"===e.tableData[a].typeOfValue?e._ssrList(e.getTableValue(t,s),(function(t,s){return'<span><div class="label-action is-flex is-flex-wrap-wrap"><div class="label-icon"><img'+e._ssrAttr("src",r._)+" alt></div> <strong>"+e._ssrEscape(e._s(s)+" : "+e._s(t)+" ")+"</strong></div> <br></span>"})):"code"===e.tableData[a].typeOfValue?"<pre>"+e._ssrEscape(e._s(e.getTableValue(t,s)))+"</pre>":e._ssrEscape("\n "+e._s(e.getTableValue(t,s))+"\n "))+"</td>"}))+' <td class="is-pulled-right"><div class="buttons is-justify-content-flex-end">'+(e.disabled||e.individualItemDisabilityVerdict[a]&&e.individualItemDisabilityVerdict[a].isEditDisabled?"\x3c!----\x3e":"<button"+e._ssrAttr("title",e.$ubt("buttons.edit"))+' class="\n button\n ac-button\n is-square is-tinny is-outlined-gray is-transparent\n "><i aria-hidden="true" class="fa fa-edit"></i></button>')+" "+(e.disabled||e.individualItemDisabilityVerdict[a]&&e.individualItemDisabilityVerdict[a].isDeleteDisabled?"\x3c!----\x3e":"<button"+e._ssrAttr("title",e.$ubt("buttons.delete"))+' class="\n button\n ac-button\n is-square is-tinny is-outlined-gray is-transparent\n "><i aria-hidden="true" class="fa fa-trash"></i></button>')+" <button"+e._ssrAttr("title",e.$ubt("buttons.show_details"))+' class="\n button\n ac-button\n is-square is-tinny is-outlined-gray is-transparent\n "><i aria-hidden="true"'+e._ssrClass(null,["fa",e.showFieldIdx===a?"fa-angle-up":"fa-angle-down"])+"></i></button></div></td></tr> "),e.editFieldIdx===a?e._ssrNode('<tr class="is-selected">',"</tr>",[e._ssrNode("<td"+e._ssrAttr("colspan",e.tableRowsName.length+1)+' class="pr-2">',"</td>",[e._ssrNode('<div class="ac-nested-elements mt-15 mr-15 mb-15">',"</div>",[e._ssrNode('<div class="\n is-flex\n is-aligned-item-center\n is-justify-content-space-between\n ">',"</div>",[s("ub-label-element",{attrs:{label:{text:e.$ubt("buttons.edit")+" "+e.$ubt(e.addFormLabel)},"is-collapsible":!0,"is-form-hidden":e.isFormHidden},on:{click:function(t){e.isFormHidden=!e.isFormHidden}}}),e._ssrNode(' <div class="buttons pb-5"><button'+e._ssrAttr("disabled",e.disabled)+' class="\n button\n ac-button\n is-tinny\n is-square\n is-outlined-gray\n is-transparent\n is-primary\n "><i aria-hidden="true" class="fa fa-floppy-o"></i></button> <button class="\n button\n ac-button\n is-tinny\n is-square\n is-outlined-gray\n is-transparent\n is-danger\n "><i aria-hidden="true" class="fa fa-close"></i></button></div>')],2),e._ssrNode(" "),e._ssrNode("<div"+e._ssrClass("nested-body",{"is-hidden":e.isEditFormHidden})+">","</div>",[s("validation-observer",{key:""+e.editFieldIdx,ref:e.$ubt(e.labelText).replace(/ /g,"-")+"-edit",refInFor:!0,attrs:{disabled:!0,rules:e.required?"required":"",slim:""}},[s("ub-form-element",{key:e.updatePass,attrs:{element:e.ui.element,"reusable-element-ctx":e.reusableElementCtx,"chart-url":e.chartUrl,"disabled-prop":e.disabled,schema:e.schema.items,"whole-schema":e.wholeSchema,required:e.required},on:{"update-model-value":e.updateModelValueEvent},model:{value:e.newItem,callback:function(t){e.newItem=t},expression:"newItem"}})],1)],1)],2)])]):e._e(),e._ssrNode(" "),e.showFieldIdx===a?e._ssrNode('<tr class="is-selected">',"</tr>",[e._ssrNode("<td"+e._ssrAttr("colspan",e.tableRowsName.length+1)+' class="pr-2">',"</td>",e._l(e.tableContents,(function(a,n){return e._ssrNode('<div class="mt-15 mr-15 mb-15">',"</div>",["value"===a.type?e._ssrNode('<div class="single-name-title mb-10">',"</div>",[e._ssrNode('<h6 class="is-small mb-3 is-block">'+e._ssrEscape("\n "+e._s(e.$ubt(a.label&&a.label.text))+"\n ")+"</h6> "+("string"===a.typeOfValue?'<p class="font-size-13">'+e._ssrEscape("\n "+e._s(e.getTableValue(t,a.path))+"\n ")+"</p>":"\x3c!----\x3e")+" "+("array"===a.typeOfValue?'<ul class="ac-unordered-list-items">'+e._ssrList(e.getTableValue(t,a.path),(function(t,s){return'<li><span class="circle-list-shape"></span> <strong>'+e._ssrEscape(e._s(t))+"</strong></li>"}))+"</ul>":"\x3c!----\x3e")+" "+("key-value"===a.typeOfValue?'<ul class="ac-unordered-list-items">'+e._ssrList(e.getTableValue(t,a.path),(function(t,s){return'<li><div class="label-action is-flex is-flex-wrap-wrap"><div class="label-icon"><img'+e._ssrAttr("src",r._)+" alt></div> <strong>"+e._ssrEscape(e._s(s)+" : "+e._s(t)+" ")+"</strong></div></li>"}))+"</ul>":"\x3c!----\x3e")+" "+("code"===a.typeOfValue?"<pre>"+e._ssrEscape(e._s(e.getTableValue(t,a.path)))+"</pre>":"\x3c!----\x3e")+" "),"object-array"===a.typeOfValue||"key-operator-values-array"===a.typeOfValue?s("ub-object-array-table",{attrs:{"table-contents":a.tableContents,"model-value":e.getTableValue(t,a.path)}}):e._e()],2):e._e(),e._ssrNode(" "+("label"===a.type&&a.label&&""!==a.label.text?'<div class="nested-header"><h6 class="is-semi-normal"><span>'+e._ssrEscape(e._s(e.$ubt(a.label&&a.label.text)))+"</span></h6></div>":"\x3c!----\x3e"))],2)})),0)]):e._e()]}))],2)],2)]):e._ssrNode('<div class="label-action is-flex is-flex-wrap-wrap mb-5"><strong> No Item Found. </strong></div>')])]],2)},staticRenderFns:[]},void 0,d,void 0,!1,"data-v-163c458d",!1,void 0,void 0,void 0),u=Object.freeze({__proto__:null,default:o});exports.S=u,exports._=l;