PHP Classes

File: resources/assets/js/atk-vue-multiline.min.js.map

Recommend this page to a friend!
  Classes of Francesco Danti   ATK Wordpress Plugin   resources/assets/js/atk-vue-multiline.min.js.map   Download  
File: resources/assets/js/atk-vue-multiline.min.js.map
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: ATK Wordpress Plugin
Components to build WordPress plugins
Author: By
Last change:
Date: 29 days ago
Size: 38,194 bytes
 

Contents

Class file image Download
{"version":3,"file":"js/atk-vue-multiline.min.js","mappings":"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","sources":["webpack://atk/./src/vue-components/multiline/multiline-readonly.component.js","webpack://atk/./src/vue-components/multiline/multiline-textarea.component.js","webpack://atk/./src/vue-components/multiline/multiline-cell.component.js","webpack://atk/./src/vue-components/multiline/multiline-header.component.js","webpack://atk/./src/vue-components/multiline/multiline.component.js","webpack://atk/./src/vue-components/multiline/multiline-body.component.js","webpack://atk/./src/vue-components/multiline/multiline-row.component.js","webpack://atk/./src/vue-components/share/atk-date-picker.js","webpack://atk/./src/vue-components/share/atk-lookup.js"],"sourcesContent":["/**\n * Simply display a readonly value.\n */\nexport default {\n template: '<div>{{readOnlyValue}}</div>',\n name: 'atk-multiline-readonly',\n props: ['readOnlyValue'],\n};\n","export default {\n name: 'atk-textarea',\n template: '<textarea v-model=\"text\" @input=\"handleChange\"></textarea>',\n props: { value: [String, Number] },\n data: function () {\n return { text: this.value };\n },\n methods: {\n handleChange: function (event) {\n this.$emit('input', event.target.value);\n },\n },\n};\n","import multilineReadOnly from './multiline-readonly.component';\nimport multilineTextarea from './multiline-textarea.component';\nimport atkDatePicker from '../share/atk-date-picker';\nimport atkLookup from '../share/atk-lookup';\n\nexport default {\n name: 'atk-multiline-cell',\n template: `\n <component :is=\"getComponent()\"\n :fluid=\"true\"\n class=\"fluid\"\n @input=\"onInput\"\n @onChange=\"onChange\"\n v-model=\"inputValue\"\n :name=\"inputName\"\n ref=\"cell\"\n v-bind=\"getComponentProps()\"></component>\n `,\n components: {\n 'atk-multiline-readonly': multilineReadOnly,\n 'atk-multiline-textarea': multilineTextarea,\n 'atk-date-picker': atkDatePicker,\n 'atk-lookup': atkLookup,\n },\n props: ['cellData', 'fieldValue'],\n data: function () {\n return {\n fieldName: this.cellData.name,\n type: this.cellData.type,\n inputName: '-' + this.cellData.name,\n inputValue: this.fieldValue,\n };\n },\n methods: {\n getComponent: function () {\n return this.cellData.definition.component;\n },\n getComponentProps: function () {\n if (this.getComponent() === 'atk-multiline-readonly') {\n return { readOnlyValue: this.fieldValue };\n }\n\n return this.cellData.definition.componentProps;\n },\n onInput: function (value) {\n this.inputValue = this.getTypeValue(value);\n this.$emit('update-value', this.fieldName, this.inputValue);\n },\n onChange: function (value) {\n this.onInput(value);\n },\n /**\n * return input value based on their type.\n */\n getTypeValue: function (value) {\n let r = value;\n if (this.type === 'boolean') {\n r = value.target.checked;\n }\n\n return r;\n },\n },\n};\n","import atk from 'atk';\n\nexport default {\n name: 'atk-multiline-header',\n template: `\n <sui-table-header>\n <sui-table-row v-if=\"hasError()\">\n <sui-table-cell :style=\"{ background: 'none' }\"></sui-table-cell>\n <sui-table-cell :style=\"{ background: 'none' }\" state=\"error\" v-for=\"(column, idx) in columns\" :key=\"idx\" v-if=\"column.isVisible\" :textAlign=\"getTextAlign(column)\"><sui-icon name=\"attention\" v-if=\"getErrorMsg(column)\"></sui-icon>{{getErrorMsg(column)}}</sui-table-cell>\n </sui-table-row>\n <sui-table-row v-if=\"hasCaption()\">\n <sui-table-headerCell :colspan=\"getVisibleColumns()\">{{caption}}</sui-table-headerCell>\n </sui-table-row>\n <sui-table-row :verticalAlign=\"'top'\">\n <sui-table-header-cell width=\"one\" textAlign=\"center\"><input type=\"checkbox\" @input=\"onToggleDeleteAll\" :checked.prop=\"isChecked\" :indeterminate.prop=\"isIndeterminate\" ref=\"check\"></sui-table-header-cell>\n <sui-table-header-cell v-for=\"(column, idx) in columns\" :key=\"idx\" v-if=\"column.isVisible\" :textAlign=\"getTextAlign(column)\">\n <div>{{column.caption}}</div>\n <div :style=\"{ position: 'absolute', top: '-22px' }\" v-if=\"false\"><sui-label pointing=\"below\" basic color=\"red\" v-if=\"getErrorMsg(column)\">{{getErrorMsg(column)}}</sui-label></div>\n </sui-table-header-cell>\n </sui-table-row>\n </sui-table-header>\n `,\n props: ['fields', 'state', 'errors', 'caption'],\n data: function () {\n return { columns: this.fields, isDeleteAll: false };\n },\n methods: {\n onToggleDeleteAll: function () {\n this.$nextTick(() => {\n atk.eventBus.emit(this.$root.$el.id + '-toggle-delete-all', { isOn: this.$refs.check.checked });\n });\n },\n getTextAlign: function (column) {\n let align = 'left';\n if (!column.isEditable) {\n switch (column.type) {\n case 'integer':\n case 'float':\n case 'atk4_money':\n align = 'right';\n\n break;\n }\n }\n\n return align;\n },\n getVisibleColumns: function () {\n let count = 1; // add deletable column;\n this.columns.forEach((field) => {\n count = field.isVisible ? count + 1 : count;\n });\n\n return count;\n },\n hasError: function () {\n return Object.keys(this.errors).length > 0;\n },\n hasCaption: function () {\n return this.caption;\n },\n getErrorMsg: function (column) {\n if (this.hasError()) {\n const rows = Object.keys(this.errors);\n for (let i = 0; i < rows.length; i++) {\n const error = this.errors[rows[i]].filter((col) => col.name === column.name);\n if (error.length > 0) {\n return error[0].msg;\n }\n }\n }\n\n return null;\n },\n },\n computed: {\n isIndeterminate: function () {\n return this.state === 'indeterminate';\n },\n isChecked: function () {\n return this.state === 'on';\n },\n },\n};\n","import $ from 'external/jquery';\nimport atk from 'atk';\nimport multilineBody from './multiline-body.component';\nimport multilineHeader from './multiline-header.component';\n\nexport default {\n name: 'atk-multiline',\n template: `<div>\n <sui-table v-bind=\"tableProp\">\n <atk-multiline-header :fields=\"fieldData\" :state=\"getMainToggleState\" :errors=\"errors\" :caption=\"caption\"></atk-multiline-header>\n <atk-multiline-body @onTabLastRow=\"onTabLastRow\" :fieldDefs=\"fieldData\" :rowData=\"rowData\" :deletables=\"getDeletables\" :errors=\"errors\"></atk-multiline-body>\n <sui-table-footer>\n <sui-table-row>\n <sui-table-header-cell />\n <sui-table-header-cell :colspan=\"getSpan\" textAlign=\"right\">\n <div is=\"sui-button-group\">\n <sui-button size=\"small\" @click.stop.prevent=\"onAdd\" type=\"button\" icon=\"plus\" ref=\"addBtn\" :disabled=\"isLimitReached\"></sui-button>\n <sui-button size=\"small\" @click.stop.prevent=\"onDelete\" type=\"button\" icon=\"trash\" :disabled=\"isDeleteDisable\"></sui-button>\n </div>\n </sui-table-header-cell>\n </sui-table-row>\n </sui-table-footer>\n </sui-table>\n <div><input :form=\"form\" :name=\"name\" type=\"hidden\" :value=\"value\" ref=\"atkmlInput\"></div>\n </div>`,\n props: {\n data: Object,\n },\n data: function () {\n const tableDefault = {\n basic: false,\n celled: false,\n collapsing: false,\n stackable: false,\n inverted: false,\n };\n\n return {\n form: this.data.formName,\n value: this.data.inputValue,\n name: this.data.inputName, // form input name where to set multiline content value.\n rowData: [],\n fieldData: this.data.fields || [],\n eventFields: this.data.eventFields || [],\n deletables: [],\n hasChangeCb: this.data.hasChangeCb,\n errors: {},\n caption: this.data.caption || null,\n tableProp: { ...tableDefault, ...this.data.tableProps || {} },\n };\n },\n components: {\n 'atk-multiline-body': multilineBody,\n 'atk-multiline-header': multilineHeader,\n },\n mounted: function () {\n this.rowData = this.buildRowData(this.value ? this.value : '[]');\n this.updateInputValue();\n\n atk.eventBus.on(this.$root.$el.id + '-update-row', (payload) => {\n this.onUpdate(payload.rowId, payload.fieldName, payload.value);\n });\n\n atk.eventBus.on(this.$root.$el.id + '-toggle-delete', (payload) => {\n const idx = this.deletables.indexOf(payload.rowId);\n if (idx > -1) {\n this.deletables.splice(idx, 1);\n } else {\n this.deletables.push(payload.rowId);\n }\n });\n\n atk.eventBus.on(this.$root.$el.id + '-toggle-delete-all', (payload) => {\n this.deletables = [];\n if (payload.isOn) {\n this.rowData.forEach((row) => {\n this.deletables.push(row.__atkml);\n });\n }\n });\n\n atk.eventBus.on(this.$root.$el.id + '-multiline-rows-error', (payload) => {\n this.errors = { ...payload.errors };\n });\n },\n methods: {\n onTabLastRow: function () {\n if (!this.isLimitReached && this.data.addOnTab) {\n this.onAdd();\n }\n },\n onAdd: function () {\n const newRow = this.createRow(this.data.fields);\n this.rowData.push(newRow);\n this.updateInputValue();\n if (this.data.afterAdd && typeof this.data.afterAdd === 'function') {\n this.data.afterAdd(JSON.parse(this.value));\n }\n this.fetchExpression(newRow.__atkml);\n this.fetchOnChangeAction();\n },\n onDelete: function () {\n this.deletables.forEach((atkmlId) => {\n this.deleteRow(atkmlId);\n });\n this.deletables = [];\n this.updateInputValue();\n this.fetchOnChangeAction();\n if (this.data.afterDelete && typeof this.data.afterDelete === 'function') {\n this.data.afterDelete(JSON.parse(this.value));\n }\n },\n onUpdate: function (atkmlId, fieldName, value) {\n this.updateFieldInRow(atkmlId, fieldName, value);\n this.clearError(atkmlId, fieldName);\n this.updateInputValue();\n\n if (!this.onUpdate.debouncedFx) {\n this.onUpdate.debouncedFx = atk.createDebouncedFx(() => {\n this.onUpdate.debouncedFx = null;\n this.fetchExpression(atkmlId);\n this.fetchOnChangeAction(fieldName);\n }, 250);\n }\n this.onUpdate.debouncedFx.call(this);\n },\n /**\n * Creates a new row of data and\n * set values to default if available.\n */\n createRow: function (fields) {\n const row = {};\n fields.forEach((field) => {\n row[field.name] = field.default;\n });\n row.__atkml = this.getUUID();\n\n return row;\n },\n deleteRow: function (atkmlId) {\n this.rowData.splice(this.rowData.findIndex((row) => row.__atkml === atkmlId), 1);\n delete this.errors[atkmlId];\n },\n /**\n * Update the value of the field in rowData.\n */\n updateFieldInRow: function (atkmlId, fieldName, value) {\n this.rowData.forEach((row) => {\n if (row.__atkml === atkmlId) {\n row[fieldName] = value;\n }\n });\n },\n clearError: function (atkmlId, fieldName) {\n if (atkmlId in this.errors) {\n const errors = this.errors[atkmlId].filter((error) => error.name !== fieldName);\n this.errors[atkmlId] = [...errors];\n if (errors.length === 0) {\n delete this.errors[atkmlId];\n }\n }\n },\n /**\n * Update Multi-line Form input with all rowData values\n * as JSON string.\n */\n updateInputValue: function () {\n this.value = JSON.stringify(this.rowData);\n },\n /**\n * Build rowData from JSON string.\n */\n buildRowData: function (jsonValue) {\n const rows = JSON.parse(jsonValue);\n rows.forEach((row) => {\n row.__atkml = this.getUUID();\n });\n\n return rows;\n },\n /**\n * Check if one of the field use expression.\n */\n hasExpression: function () {\n return this.fieldData.filter((field) => field.isExpr).length > 0;\n },\n /**\n * Send on change action to server.\n * Use regular api call in order\n * for return js to be fully evaluated.\n */\n fetchOnChangeAction: function (fieldName = null) {\n if (this.hasChangeCb && (fieldName === null || this.eventFields.indexOf(fieldName) > -1)) {\n $(this.$refs.addBtn.$el).api({\n on: 'now',\n url: this.data.url,\n method: 'POST',\n data: { __atkml_action: 'on-change', rows: this.value },\n });\n }\n },\n postData: async function (row) {\n const data = { ...row };\n const context = this.$refs.addBtn.$el;\n data.__atkml_action = 'update-row';\n try {\n return await atk.apiService.suiFetch(this.data.url, { data: data, method: 'POST', stateContext: context });\n } catch (e) {\n console.error(e);\n }\n },\n /**\n * Get expressions values from server.\n */\n fetchExpression: async function (atkmlId) {\n if (this.hasExpression()) {\n const row = this.findRow(atkmlId);\n // server will return expression field - value if define.\n if (row) {\n const resp = await this.postData(row);\n if (resp.expressions) {\n const fields = Object.keys(resp.expressions);\n fields.forEach((field) => {\n this.updateFieldInRow(atkmlId, field, resp.expressions[field]);\n });\n this.updateInputValue();\n }\n }\n }\n },\n findRow: function (atkmlId) {\n return this.rowData.find((row) => row.__atkml === atkmlId);\n },\n getInputElement: function () {\n return this.$refs.atkmlInput;\n },\n /**\n * UUID v4 generator.\n */\n getUUID: function () {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.floor(Math.random() * 16);\n const v = c === 'x' ? r : (r & (0x3 | 0x8)); // eslint-disable-line no-bitwise\n\n return v.toString(16);\n });\n },\n },\n computed: {\n getSpan: function () {\n return this.fieldData.length - 1;\n },\n getDeletables: function () {\n return this.deletables;\n },\n /**\n * Return Delete all checkbox state base on\n * deletables entries.\n */\n getMainToggleState: function () {\n let state = 'off';\n if (this.deletables.length > 0) {\n if (this.deletables.length === this.rowData.length) {\n state = 'on';\n } else {\n state = 'indeterminate';\n }\n }\n\n return state;\n },\n isDeleteDisable: function () {\n return !this.deletables.length > 0;\n },\n isLimitReached: function () {\n if (this.data.rowLimit === 0) {\n return false;\n }\n\n return this.data.rowLimit < this.rowData.length + 1;\n },\n },\n};\n","import multilineRow from './multiline-row.component';\n\nexport default {\n name: 'atk-multiline-body',\n template: `\n <sui-table-body>\n <atk-multiline-row v-for=\"(row, idx) in rows\" :key=\"row.__atkml\"\n @onTabLastColumn=\"onTabLastColumn(idx)\"\n :fields=\"fields\"\n :rowId=\"row.__atkml\"\n :isDeletable=\"isDeletableRow(row)\"\n :rowValues=\"row\"\n :error=\"getError(row.__atkml)\"></atk-multiline-row>\n </sui-table-body>\n `,\n props: ['fieldDefs', 'rowData', 'deletables', 'errors'],\n data: function () {\n return { fields: this.fieldDefs };\n },\n created: function () {\n },\n components: {\n 'atk-multiline-row': multilineRow,\n },\n computed: {\n rows: function () {\n return this.rowData;\n },\n },\n methods: {\n onTabLastColumn: function (idx) {\n if (idx + 1 === this.rowData.length) {\n this.$emit('onTabLastRow');\n }\n },\n isDeletableRow: function (row) {\n return this.deletables.indexOf(row.__atkml) > -1;\n },\n getError: function (rowId) {\n if (rowId in this.errors) {\n return this.errors[rowId];\n }\n\n return null;\n },\n },\n};\n","import atk from 'atk';\nimport multilineCell from './multiline-cell.component';\n\n/**\n * This will create a table td element using sui-table-cell.\n * The td element is created only if column as set isVisible = true;\n * The td element will add a multiline cell element.\n * the multiline cell will set it's own template component depending on the fieldType.\n * getValue\n */\nexport default {\n name: 'atk-multiline-row',\n template: `\n <sui-table-row :verticalAlign=\"'middle'\">\n <sui-table-cell width=\"one\" textAlign=\"center\"><input type=\"checkbox\" @input=\"onToggleDelete\" v-model=\"toDelete\"></sui-table-cell>\n <sui-table-cell @keydown.tab=\"onTab(idx)\" v-for=\"(column, idx) in columns\" :key=\"idx\" :state=\"getErrorState(column)\" v-bind=\"column.cellProps\" :style=\"{ overflow: 'visible' }\" v-if=\"column.isVisible\">\n <atk-multiline-cell\n :cellData=\"column\"\n @update-value=\"onUpdateValue\"\n :fieldValue=\"getValue(column)\"></atk-multiline-cell>\n </sui-table-cell>\n </sui-table-row>\n `,\n props: ['fields', 'rowId', 'isDeletable', 'rowValues', 'error'],\n data: function () {\n return { columns: this.fields };\n },\n components: {\n 'atk-multiline-cell': multilineCell,\n },\n computed: {\n /**\n * toDelete is bind by v-model, thus we need a setter for\n * computed property to work.\n * When isDeletable is pass, will set checkbox according to it's value.\n */\n toDelete: {\n get: function () {\n return this.isDeletable;\n },\n set: function (v) {\n return v;\n },\n },\n },\n methods: {\n onTab: function (idx) {\n if (idx === this.columns.filter((column) => column.isEditable).length) {\n this.$emit('onTabLastColumn');\n }\n },\n getErrorState: function (column) {\n if (this.error) {\n const error = this.error.filter((e) => column.name === e.name);\n if (error.length > 0) {\n return 'error';\n }\n }\n\n return null;\n },\n getColumnWidth: function (column) {\n return column.fieldOptions ? column.fieldOptions.width : null;\n },\n onEdit: function () {\n this.isEditing = true;\n },\n onToggleDelete: function (e) {\n atk.eventBus.emit(this.$root.$el.id + '-toggle-delete', { rowId: this.rowId });\n },\n onUpdateValue: function (fieldName, value) {\n atk.eventBus.emit(this.$root.$el.id + '-update-row', { rowId: this.rowId, fieldName: fieldName, value: value });\n },\n getValue: function (column) {\n return this.rowValues[column.name] || column.default;\n },\n },\n};\n","/* global flatpickr */ // loaded after main JS\n\n/**\n * Wrapper for vue-flatpickr-component component.\n * https://github.com/ankurk91/vue-flatpickr-component\n *\n * Props:\n * config: Any of flatpickr options\n *\n * Will emit a dateChange event when date is set.\n */\n\nconst template = '<flatpickr-picker v-model=\"date\" :config=\"flatPickr\" @on-change=\"onChange\"></flatpickr-picker>';\n\nexport default {\n name: 'atk-date-picker',\n template: template,\n props: ['config', 'value'],\n data: function () {\n const { useDefault, ...fpickr } = this.config;\n\n if (useDefault && !fpickr.defaultDate && !this.value) {\n fpickr.defaultDate = new Date();\n } else if (this.value) {\n fpickr.defaultDate = this.value;\n }\n\n if (!fpickr.locale) {\n fpickr.locale = flatpickr.l10ns.default;\n }\n\n return {\n flatPickr: fpickr,\n date: null,\n };\n },\n mounted: function () {\n // if value is not set but default date is, then emit proper string value to parent.\n if (!this.value && this.flatPickr.defaultDate) {\n if (this.flatPickr.defaultDate instanceof Date) {\n this.$emit('setDefault', flatpickr.formatDate(this.config.defaultDate, this.config.dateFormat));\n } else {\n this.$emit('setDefault', this.flatPickr.defaultDate);\n }\n }\n },\n methods: {\n onChange: function (date) {\n this.$emit('onChange', flatpickr.formatDate(date[0], this.flatPickr.dateFormat));\n },\n },\n};\n","import atk from 'atk';\n\n/**\n * Wrapper for Fomantic-UI dropdown component into a lookup component.\n *\n * Props:\n * config:\n * url: the callback URL. Callback should return model data in form of { key: modelId, text: modelTitle, value: modelId }\n * reference: the reference field name associate with model or hasOne name. This field name will be sent along with URL callback parameter as of 'field=name'.\n * ui: the css class name to apply to dropdown.\n * Note: The remaining config object may contain any or sui-dropdown { props: value } pair.\n *\n * value: The selected value.\n * optionalValue: The initial list of options for the dropdown.\n */\n\nconst template = `<sui-dropdown\n ref=\"drop\"\n v-bind=\"dropdownProps\"\n :loading=\"isLoading\"\n @input=\"onChange\"\n @filtered=\"onFiltered\"\n v-model=\"current\"\n :class=\"css\"></sui-dropdown>`;\n\nexport default {\n name: 'atk-lookup',\n template: template,\n props: ['config', 'value', 'optionalValue'],\n data: function () {\n const {\n url, reference, ui, ...suiDropdown\n } = this.config;\n suiDropdown.selection = true;\n\n return {\n dropdownProps: suiDropdown,\n current: this.value,\n url: url || null,\n css: [ui],\n isLoading: false,\n field: reference,\n query: '',\n temp: '',\n };\n },\n mounted: function () {\n if (this.optionalValue) {\n this.dropdownProps.options = Array.isArray(this.optionalValue) ? this.optionalValue : [this.optionalValue];\n }\n },\n methods: {\n onChange: function (value) {\n this.$emit('onChange', value);\n },\n /**\n * Receive user input text for search.\n */\n onFiltered: function (inputValue) {\n if (inputValue) {\n this.isLoading = true;\n }\n\n if (!this.onFiltered.debouncedFx) {\n this.onFiltered.debouncedFx = atk.createDebouncedFx(() => {\n this.onFiltered.debouncedFx = null;\n if (this.query !== this.temp) {\n this.query = this.temp;\n if (this.query) {\n this.fetchItems(this.query);\n }\n }\n }, 250);\n }\n this.temp = inputValue;\n this.onFiltered.debouncedFx(this);\n },\n /**\n * Fetch new data from server.\n */\n fetchItems: async function (q) {\n try {\n const data = { atkVueLookupQuery: q, atkVueLookupField: this.field };\n const response = await atk.apiService.suiFetch(this.url, { method: 'get', data: data });\n if (response.success) {\n this.dropdownProps.options = response.results;\n }\n } catch (e) {\n console.error(e);\n } finally {\n this.isLoading = false;\n }\n },\n },\n};\n"],"names":["name","template","props","value","String","Number","data","text","this","methods","handleChange","event","$emit","target","components","multilineTextarea","atkDatePicker","atkLookup","fieldName","cellData","type","inputName","inputValue","fieldValue","getComponent","definition","component","getComponentProps","readOnlyValue","componentProps","onInput","getTypeValue","onChange","r","checked","columns","fields","isDeleteAll","onToggleDeleteAll","$nextTick","atk","$root","$el","id","isOn","$refs","check","getTextAlign","column","align","isEditable","getVisibleColumns","count","forEach","field","isVisible","hasError","Object","keys","errors","length","hasCaption","caption","getErrorMsg","rows","i","error","filter","col","msg","computed","isIndeterminate","state","isChecked","form","formName","rowData","fieldData","eventFields","deletables","hasChangeCb","tableProp","basic","celled","collapsing","stackable","inverted","tableProps","fieldDefs","created","multilineCell","toDelete","get","isDeletable","set","v","onTab","idx","getErrorState","e","getColumnWidth","fieldOptions","width","onEdit","isEditing","onToggleDelete","rowId","onUpdateValue","getValue","rowValues","default","onTabLastColumn","isDeletableRow","row","indexOf","__atkml","getError","multilineHeader","mounted","buildRowData","updateInputValue","payload","onUpdate","splice","push","onTabLastRow","isLimitReached","addOnTab","onAdd","newRow","createRow","afterAdd","JSON","parse","fetchExpression","fetchOnChangeAction","onDelete","atkmlId","deleteRow","afterDelete","updateFieldInRow","clearError","debouncedFx","call","getUUID","findIndex","stringify","jsonValue","hasExpression","isExpr","$","addBtn","api","on","url","method","__atkml_action","postData","async","context","stateContext","console","findRow","resp","expressions","find","getInputElement","atkmlInput","replace","c","Math","floor","random","toString","getSpan","getDeletables","getMainToggleState","isDeleteDisable","rowLimit","useDefault","fpickr","config","defaultDate","Date","locale","flatpickr","l10ns","flatPickr","date","formatDate","dateFormat","reference","ui","suiDropdown","selection","dropdownProps","current","css","isLoading","query","temp","optionalValue","options","Array","isArray","onFiltered","fetchItems","q","atkVueLookupQuery","atkVueLookupField","response","success","results"],"sourceRoot":""}