public/js/atk-vue-inline-edit.min.js

Summary

Maintainability
A
0 mins
Test Coverage
"use strict";(self.webpackChunkatk=self.webpackChunkatk||[]).push([[477],{83078:(t,n,i)=>{i.r(n),i.d(n,{default:()=>e});var s=i(21145),a=i.n(s);const e={name:"AtkInlineEdit",template:'\n        <div :class="[options.inputCss, hasError ? \'error\' : \'\' ]">\n            <input\n                :class="options.inlineCss"\n                :name="options.fieldName"\n                v-model="value"\n                @keyup="onKeyup"\n                @focus="onFocus"\n                @blur="onBlur"\n            />\n            <i class="icon" />\n        </div>',props:{url:String,initValue:String,saveOnBlur:Boolean,options:Object},data:function(){return{value:this.initValue,lastValueValid:this.initValue,hasError:!1}},computed:{isDirty:function(){return this.lastValueValid!==this.value}},methods:{onFocus:function(){this.hasError?this.clearError():this.lastValueValid=this.value},onKeyup:function(t){const n=t.keyCode;13===n?this.onEnter():27===n&&this.onEscape()},onBlur:function(){this.isDirty&&(this.saveOnBlur?this.update():this.value=this.lastValueValid)},onEscape:function(){this.value=this.lastValueValid,this.$el.querySelector("input").blur()},onEnter:function(){this.isDirty&&this.update()},clearError:function(){this.hasError=!1},update:function(){const t=this;a()(this.$el).api({on:"now",url:this.url,data:{value:this.value},method:"POST",onComplete:function(n,i){n.hasValidationError?t.hasError=!0:t.lastValueValid=t.value}})}}}}}]);
//# sourceMappingURL=atk-vue-inline-edit.min.js.map