From b60c8725cfc0cf0acb98ac754b212100e5beab0b Mon Sep 17 00:00:00 2001 From: Luis Carlos Brenes Date: Fri, 12 Sep 2025 20:37:49 -0600 Subject: [PATCH 1/3] Multicheck now saves information correctly to the database --- assets/js/admin.js | 4 ++-- assets/src/admin/components/Fields.vue | 26 +++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/assets/js/admin.js b/assets/js/admin.js index 1e10739d..79c21c20 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -28,7 +28,7 @@ \**********************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vue_color_src_components_Sketch_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-color/src/components/Sketch.vue */ \"./node_modules/vue-color/src/components/Sketch.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n components: {\n Sketch: vue_color_src_components_Sketch_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n props: {\n value: {\n type: String,\n required: true,\n default: ''\n },\n format: {\n type: String,\n required: false,\n default: 'hex',\n\n validator(type) {\n return ['hsl', 'hex', 'rgba', 'hsv'].indexOf(type) !== -1;\n }\n\n },\n presetColors: {\n type: Array,\n required: false,\n\n default() {\n return ['#000', '#fff', '#d33', '#d93', '#ee2', '#81d742', '#1e73be', '#8224e3'];\n }\n\n },\n disableAlpha: {\n type: Boolean,\n required: false,\n default: true\n },\n disableFields: {\n type: Boolean,\n required: false,\n default: true\n }\n },\n\n data() {\n return {\n showColorPicker: false\n };\n },\n\n methods: {\n updateColor(colors) {\n let color = '';\n\n if (colors[this.format]) {\n color = colors[this.format];\n }\n\n this.$emit('input', color);\n },\n\n toggleColorPicker() {\n this.showColorPicker = !this.showColorPicker;\n },\n\n setHexColor(color) {\n this.updateColor({\n hex: color\n });\n }\n\n }\n});\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/ColorPicker.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options")},"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Fields.vue?vue&type=script&lang=js&": /*!*****************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Fields.vue?vue&type=script&lang=js& ***! - \*****************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var admin_components_ColorPicker_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! admin/components/ColorPicker.vue */ \"./assets/src/admin/components/ColorPicker.vue\");\n\nlet TextEditor = wepos_get_lib('TextEditor');\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'Fields',\n components: {\n colorPicker: admin_components_ColorPicker_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n TextEditor\n },\n\n data() {\n return {\n repeatableItem: {}\n };\n },\n\n props: ['id', 'fieldData', 'sectionId', 'fieldValue'],\n methods: {\n containCommonFields(type) {\n return window.weLo_.includes([undefined, 'text', 'email', 'url', 'phone'], type);\n },\n\n addItem(type, name) {\n this.fieldValue[name] = this.fieldValue[name] || [];\n\n if (typeof this.repeatableItem[name] == 'undefined' || !this.repeatableItem[name]) {\n return;\n }\n\n this.fieldValue[name].push({\n id: this.repeatableItem[name].trim().replace(/\\s+/g, '_').toLowerCase(),\n value: this.repeatableItem[name]\n });\n this.repeatableItem[name] = '';\n },\n\n removeItem(optionVal, name) {\n this.fieldValue[name].splice(optionVal, 1);\n }\n\n }\n});\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/Fields.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options")},"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Settings.vue?vue&type=script&lang=js&": + \*****************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var admin_components_ColorPicker_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! admin/components/ColorPicker.vue */ \"./assets/src/admin/components/ColorPicker.vue\");\n\nlet TextEditor = wepos_get_lib('TextEditor');\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'Fields',\n components: {\n colorPicker: admin_components_ColorPicker_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n TextEditor\n },\n\n data() {\n return {\n repeatableItem: {}\n };\n },\n\n props: ['id', 'fieldData', 'sectionId', 'fieldValue'],\n computed: {\n multicheckValue: {\n get() {\n if (this.fieldData.type === 'multicheck') {\n const currentValue = this.fieldValue[this.fieldData.name]; // If the current value is not an array, initialize it as an empty array\n\n if (!Array.isArray(currentValue)) {\n this.$set(this.fieldValue, this.fieldData.name, []);\n return [];\n }\n\n return currentValue;\n }\n\n return [];\n },\n\n set(newValue) {\n if (this.fieldData.type === 'multicheck') {\n this.$set(this.fieldValue, this.fieldData.name, newValue);\n }\n }\n\n }\n },\n methods: {\n containCommonFields(type) {\n return window.weLo_.includes([undefined, 'text', 'email', 'url', 'phone'], type);\n },\n\n addItem(type, name) {\n this.fieldValue[name] = this.fieldValue[name] || [];\n\n if (typeof this.repeatableItem[name] == 'undefined' || !this.repeatableItem[name]) {\n return;\n }\n\n this.fieldValue[name].push({\n id: this.repeatableItem[name].trim().replace(/\\s+/g, '_').toLowerCase(),\n value: this.repeatableItem[name]\n });\n this.repeatableItem[name] = '';\n },\n\n removeItem(optionVal, name) {\n this.fieldValue[name].splice(optionVal, 1);\n }\n\n }\n});\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/Fields.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options")},"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Settings.vue?vue&type=script&lang=js&": /*!*******************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Settings.vue?vue&type=script&lang=js& ***! \*******************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var admin_components_Fields_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! admin/components/Fields.vue */ \"./assets/src/admin/components/Fields.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'Settings',\n components: {\n Fields: admin_components_Fields_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n\n data() {\n return {\n isSaved: false,\n showLoading: false,\n isUpdated: false,\n isLoaded: false,\n message: '',\n currentTab: null,\n settingSections: [],\n settingFields: {},\n settingValues: {}\n };\n },\n\n methods: {\n changeTab(section) {\n var activetab = '';\n this.currentTab = section.id;\n\n if (typeof localStorage != 'undefined') {\n localStorage.setItem(\"activetab\", this.currentTab);\n }\n },\n\n showSectionTitle(index) {\n return window.weLo_.findIndex(this.settingSections, {\n id: index\n }).title;\n },\n\n fetchSettingValues() {\n var self = this,\n data = {\n action: 'wepos_get_setting_values',\n nonce: wepos.nonce\n };\n self.showLoading = true;\n jQuery.post(wepos.ajaxurl, data, function (resp) {\n if (resp.success) {\n Object.keys(self.settingFields).forEach(function (section, index) {\n Object.keys(self.settingFields[section]).forEach(function (field, i) {\n if (!self.settingValues[section]) {\n self.settingValues[section] = {};\n }\n\n if (typeof resp.data[section][field] === 'undefined') {\n if (typeof self.settingFields[section][field].default === 'undefined') {\n self.settingValues[section][field] = '';\n } else {\n self.settingValues[section][field] = self.settingFields[section][field].default;\n }\n } else {\n self.settingValues[section][field] = resp.data[section][field];\n }\n });\n });\n self.settingValues = jQuery.extend({}, self.settingValues);\n self.showLoading = false;\n self.isLoaded = true;\n }\n });\n },\n\n showMedia(data, $event) {\n var self = this;\n var file_frame = wp.media.frames.file_frame = wp.media({\n title: this.__('Choose your file', 'wepos'),\n button: {\n text: this.__('Select', 'wepos')\n },\n multiple: false\n });\n file_frame.on('select', function () {\n var attachment = file_frame.state().get('selection').first().toJSON();\n self.settingValues[data.sectionId][data.name] = attachment.url;\n });\n file_frame.open();\n },\n\n saveSettings(fieldData, section) {\n var self = this,\n data = {\n action: 'wepos_save_settings',\n nonce: wepos.nonce,\n settingsData: fieldData,\n section: section\n };\n self.showLoading = true;\n jQuery.post(wepos.ajaxurl, data).done(function (response) {\n var settings = response.data.settings;\n self.isSaved = true;\n self.isUpdated = true;\n self.message = response.data.message;\n self.settingValues[settings.name] = settings.value;\n }).fail(function (jqXHR) {\n var messages = jqXHR.responseJSON.data.map(function (error) {\n return error.message;\n });\n alert(messages.join(' '));\n }).always(function () {\n self.showLoading = false;\n });\n }\n\n },\n\n created() {\n this.fetchSettingValues();\n this.currentTab = 'wepos_general';\n\n if (typeof localStorage != 'undefined') {\n this.currentTab = localStorage.getItem(\"activetab\") && wepos.settings_sections.length > 1 ? localStorage.getItem(\"activetab\") : 'wepos_general';\n }\n\n this.settingSections = wepos.settings_sections;\n this.settingFields = wepos.settings_fields;\n }\n\n});\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/Settings.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options")},"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/App.vue?vue&type=template&id=6bc4b6d8&": @@ -40,7 +40,7 @@ \*********************************************************************************************************************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "render": () => (/* binding */ render),\n/* harmony export */ "staticRenderFns": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n\n return _c("div", {\n staticClass: "color-picker-container"\n }, [_c("button", {\n staticClass: "button color-picker-button",\n style: {\n backgroundColor: _vm.value\n },\n attrs: {\n type: "button"\n },\n on: {\n click: _vm.toggleColorPicker\n }\n }, [_c("span", [_vm._v(_vm._s(_vm.__("Select Color", "wepos")))])]), _vm._v(" "), _vm.showColorPicker && _vm.format === "hex" ? _c("input", {\n staticClass: "hex-input",\n attrs: {\n type: "text"\n },\n domProps: {\n value: _vm.value\n },\n on: {\n input: function ($event) {\n return _vm.setHexColor($event.target.value);\n }\n }\n }) : _vm._e(), _vm._v(" "), _vm.showColorPicker ? _c("div", {\n staticClass: "button-group"\n }, [_c("button", {\n staticClass: "button button-small",\n attrs: {\n type: "button"\n },\n on: {\n click: function ($event) {\n return _vm.updateColor({});\n }\n }\n }, [_vm._v(_vm._s(_vm.__("Clear", "wepos")))]), _vm._v(" "), _c("button", {\n staticClass: "button button-small",\n attrs: {\n type: "button"\n },\n on: {\n click: _vm.toggleColorPicker\n }\n }, [_vm._v(_vm._s(_vm.__("Close", "wepos")))])]) : _vm._e(), _vm._v(" "), _vm.showColorPicker ? _c("sketch", {\n attrs: {\n value: _vm.value,\n "preset-colors": _vm.presetColors,\n "disable-alpha": _vm.disableAlpha,\n "disable-fields": _vm.disableFields\n },\n on: {\n input: _vm.updateColor\n }\n }) : _vm._e()], 1);\n};\n\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/ColorPicker.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options')},"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Fields.vue?vue&type=template&id=fa8543ee&": /*!****************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Fields.vue?vue&type=template&id=fa8543ee& ***! - \****************************************************************************************************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "render": () => (/* binding */ render),\n/* harmony export */ "staticRenderFns": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n\n return _c("div", [_vm.containCommonFields(_vm.fieldData.type) ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "text",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "number" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "number",\n min: _vm.fieldData.min,\n max: _vm.fieldData.max,\n step: _vm.fieldData.step,\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "textarea" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("textarea", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "textarea",\n rows: _vm.fieldData.rows,\n cols: _vm.fieldData.cols,\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "checkbox" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("fieldset", [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "checkbox",\n attrs: {\n type: "checkbox",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n "true-value": "on",\n "false-value": "off"\n },\n domProps: {\n checked: Array.isArray(_vm.fieldValue[_vm.fieldData.name]) ? _vm._i(_vm.fieldValue[_vm.fieldData.name], null) > -1 : _vm._q(_vm.fieldValue[_vm.fieldData.name], "on")\n },\n on: {\n change: function ($event) {\n var $$a = _vm.fieldValue[_vm.fieldData.name],\n $$el = $event.target,\n $$c = $$el.checked ? "on" : "off";\n\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v);\n\n if ($$el.checked) {\n $$i < 0 && _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$a.concat([$$v]));\n } else {\n $$i > -1 && _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$c);\n }\n }\n }\n }), _vm._v("\\n " + _vm._s(_vm.fieldData.desc) + "\\n ")])])])]) : _vm._e(), _vm._v(" "), "multicheck" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("fieldset", [_vm._l(_vm.fieldData.options, function (optionVal, optionKey) {\n return [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]"\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name][optionKey],\n expression: "fieldValue[fieldData.name][optionKey]"\n }],\n staticClass: "checkbox",\n attrs: {\n type: "checkbox",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]",\n "true-value": optionKey,\n "false-value": ""\n },\n domProps: {\n checked: Array.isArray(_vm.fieldValue[_vm.fieldData.name][optionKey]) ? _vm._i(_vm.fieldValue[_vm.fieldData.name][optionKey], null) > -1 : _vm._q(_vm.fieldValue[_vm.fieldData.name][optionKey], optionKey)\n },\n on: {\n change: function ($event) {\n var $$a = _vm.fieldValue[_vm.fieldData.name][optionKey],\n $$el = $event.target,\n $$c = $$el.checked ? optionKey : "";\n\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v);\n\n if ($$el.checked) {\n $$i < 0 && _vm.$set(_vm.fieldValue[_vm.fieldData.name], optionKey, $$a.concat([$$v]));\n } else {\n $$i > -1 && _vm.$set(_vm.fieldValue[_vm.fieldData.name], optionKey, $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n _vm.$set(_vm.fieldValue[_vm.fieldData.name], optionKey, $$c);\n }\n }\n }\n }), _vm._v("\\n " + _vm._s(optionVal) + "\\n ")]), _vm._v(" "), _c("br")];\n })], 2)])]) : _vm._e(), _vm._v(" "), "select" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [!_vm.fieldData.grouped ? _c("select", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular",\n attrs: {\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n on: {\n change: function ($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = "_value" in o ? o._value : o.value;\n return val;\n });\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.multiple ? $$selectedVal : $$selectedVal[0]);\n }\n }\n }, [_vm.fieldData.placeholder ? _c("option", {\n attrs: {\n value: ""\n },\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.placeholder)\n }\n }) : _vm._e(), _vm._v(" "), _vm._l(_vm.fieldData.options, function (optionVal, optionKey) {\n return _c("option", {\n domProps: {\n value: optionKey,\n innerHTML: _vm._s(optionVal)\n }\n });\n })], 2) : _c("select", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular",\n attrs: {\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n on: {\n change: function ($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = "_value" in o ? o._value : o.value;\n return val;\n });\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.multiple ? $$selectedVal : $$selectedVal[0]);\n }\n }\n }, [_vm.fieldData.placeholder ? _c("option", {\n attrs: {\n value: ""\n },\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.placeholder)\n }\n }) : _vm._e(), _vm._v(" "), _vm._l(_vm.fieldData.options, function (optionGroup) {\n return _c("optgroup", {\n attrs: {\n label: optionGroup.group_label\n }\n }, _vm._l(optionGroup.group_values, function (option) {\n return _c("option", {\n domProps: {\n value: option.value,\n innerHTML: _vm._s(option.label)\n }\n });\n }), 0);\n })], 2), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "file" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text wpsa-url",\n attrs: {\n type: "text",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("input", {\n staticClass: "button wpsa-browse",\n attrs: {\n type: "button",\n value: "Choose File"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.$emit("openMedia", {\n sectionId: _vm.sectionId,\n name: _vm.fieldData.name\n }, $event);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "color" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("color-picker", {\n model: {\n value: _vm.fieldValue[_vm.fieldData.name],\n callback: function ($$v) {\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$v);\n },\n expression: "fieldValue[fieldData.name]"\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })], 1)]) : _vm._e(), _vm._v(" "), "html" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "radio" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("fieldset", [_vm._l(_vm.fieldData.options, function (optionVal, optionKey) {\n return [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]"\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "radio",\n attrs: {\n type: "radio",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]",\n name: optionKey\n },\n domProps: {\n value: optionKey,\n checked: _vm._q(_vm.fieldValue[_vm.fieldData.name], optionKey)\n },\n on: {\n change: function ($event) {\n return _vm.$set(_vm.fieldValue, _vm.fieldData.name, optionKey);\n }\n }\n }), _vm._v(" " + _vm._s(optionVal) + "\\n ")])];\n })], 2), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "wpeditor" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", {\n attrs: {\n width: "72%"\n }\n }, [_c("text-editor", {\n model: {\n value: _vm.fieldValue[_vm.fieldData.name],\n callback: function ($$v) {\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$v);\n },\n expression: "fieldValue[fieldData.name]"\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })], 1)]) : _vm._e(), _vm._v(" "), "repeatable" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", {\n attrs: {\n width: "72%"\n }\n }, [_c("ul", {\n staticClass: "dokan-settings-repeatable-list"\n }, _vm._l(_vm.fieldValue[_vm.fieldData.name], function (optionVal, optionKey) {\n return _vm.fieldValue[_vm.fieldData.name] ? _c("li", [_vm._v("\\n " + _vm._s(optionVal.value) + " "), _c("span", {\n staticClass: "dashicons dashicons-no-alt remove-item",\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.removeItem(optionKey, _vm.fieldData.name);\n }\n }\n })]) : _vm._e();\n }), 0), _vm._v(" "), _c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.repeatableItem[_vm.fieldData.name],\n expression: "repeatableItem[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "text"\n },\n domProps: {\n value: _vm.repeatableItem[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.repeatableItem, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("a", {\n staticClass: "button wepos-repetable-add-item-btn",\n attrs: {\n href: "#"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.addItem(_vm.fieldData.type, _vm.fieldData.name);\n }\n }\n }, [_vm._v("+")]), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "radio_image" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("div", {\n staticClass: "radio-image-container"\n }, [_vm._l(_vm.fieldData.options, function (image, name) {\n return [_c("label", {\n staticClass: "radio-image",\n class: {\n active: _vm.fieldValue[_vm.fieldData.name] === name,\n "not-active": _vm.fieldValue[_vm.fieldData.name] !== name\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "radio",\n attrs: {\n type: "radio",\n name: _vm.fieldData.name\n },\n domProps: {\n value: name,\n checked: _vm._q(_vm.fieldValue[_vm.fieldData.name], name)\n },\n on: {\n change: function ($event) {\n return _vm.$set(_vm.fieldValue, _vm.fieldData.name, name);\n }\n }\n }), _vm._v(" "), _c("span", {\n staticClass: "current-option-indicator"\n }, [_c("span", {\n staticClass: "dashicons dashicons-yes"\n }), _vm._v(" " + _vm._s(_vm.__("Active", "wepos")))]), _vm._v(" "), _c("img", {\n attrs: {\n src: image\n }\n }), _vm._v(" "), _c("span", {\n staticClass: "active-option"\n }, [_c("button", {\n staticClass: "button button-primary button-hero",\n attrs: {\n type: "button"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n _vm.fieldValue[_vm.fieldData.name] = name;\n }\n }\n }, [_vm._v("\\n " + _vm._s(_vm.__("Select", "wepos")) + "\\n ")])])])];\n })], 2)])]) : _vm._e()]);\n};\n\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/Fields.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options')},"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Settings.vue?vue&type=template&id=2ba26873&": + \****************************************************************************************************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "render": () => (/* binding */ render),\n/* harmony export */ "staticRenderFns": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n\n return _c("div", [_vm.containCommonFields(_vm.fieldData.type) ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "text",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "number" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "number",\n min: _vm.fieldData.min,\n max: _vm.fieldData.max,\n step: _vm.fieldData.step,\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "textarea" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("textarea", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "textarea",\n rows: _vm.fieldData.rows,\n cols: _vm.fieldData.cols,\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "checkbox" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("fieldset", [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "checkbox",\n attrs: {\n type: "checkbox",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n "true-value": "on",\n "false-value": "off"\n },\n domProps: {\n checked: Array.isArray(_vm.fieldValue[_vm.fieldData.name]) ? _vm._i(_vm.fieldValue[_vm.fieldData.name], null) > -1 : _vm._q(_vm.fieldValue[_vm.fieldData.name], "on")\n },\n on: {\n change: function ($event) {\n var $$a = _vm.fieldValue[_vm.fieldData.name],\n $$el = $event.target,\n $$c = $$el.checked ? "on" : "off";\n\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v);\n\n if ($$el.checked) {\n $$i < 0 && _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$a.concat([$$v]));\n } else {\n $$i > -1 && _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$c);\n }\n }\n }\n }), _vm._v("\\n " + _vm._s(_vm.fieldData.desc) + "\\n ")])])])]) : _vm._e(), _vm._v(" "), "multicheck" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("fieldset", [_vm._l(_vm.fieldData.options, function (optionVal, optionKey) {\n return [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]"\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.multicheckValue,\n expression: "multicheckValue"\n }],\n staticClass: "checkbox",\n attrs: {\n type: "checkbox",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]"\n },\n domProps: {\n value: optionKey,\n checked: Array.isArray(_vm.multicheckValue) ? _vm._i(_vm.multicheckValue, optionKey) > -1 : _vm.multicheckValue\n },\n on: {\n change: function ($event) {\n var $$a = _vm.multicheckValue,\n $$el = $event.target,\n $$c = $$el.checked ? true : false;\n\n if (Array.isArray($$a)) {\n var $$v = optionKey,\n $$i = _vm._i($$a, $$v);\n\n if ($$el.checked) {\n $$i < 0 && (_vm.multicheckValue = $$a.concat([$$v]));\n } else {\n $$i > -1 && (_vm.multicheckValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n _vm.multicheckValue = $$c;\n }\n }\n }\n }), _vm._v("\\n " + _vm._s(optionVal) + "\\n ")]), _vm._v(" "), _c("br")];\n })], 2)])]) : _vm._e(), _vm._v(" "), "select" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [!_vm.fieldData.grouped ? _c("select", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular",\n attrs: {\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n on: {\n change: function ($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = "_value" in o ? o._value : o.value;\n return val;\n });\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.multiple ? $$selectedVal : $$selectedVal[0]);\n }\n }\n }, [_vm.fieldData.placeholder ? _c("option", {\n attrs: {\n value: ""\n },\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.placeholder)\n }\n }) : _vm._e(), _vm._v(" "), _vm._l(_vm.fieldData.options, function (optionVal, optionKey) {\n return _c("option", {\n domProps: {\n value: optionKey,\n innerHTML: _vm._s(optionVal)\n }\n });\n })], 2) : _c("select", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular",\n attrs: {\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n on: {\n change: function ($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = "_value" in o ? o._value : o.value;\n return val;\n });\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.multiple ? $$selectedVal : $$selectedVal[0]);\n }\n }\n }, [_vm.fieldData.placeholder ? _c("option", {\n attrs: {\n value: ""\n },\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.placeholder)\n }\n }) : _vm._e(), _vm._v(" "), _vm._l(_vm.fieldData.options, function (optionGroup) {\n return _c("optgroup", {\n attrs: {\n label: optionGroup.group_label\n }\n }, _vm._l(optionGroup.group_values, function (option) {\n return _c("option", {\n domProps: {\n value: option.value,\n innerHTML: _vm._s(option.label)\n }\n });\n }), 0);\n })], 2), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "file" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "regular-text wpsa-url",\n attrs: {\n type: "text",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "]",\n name: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n },\n domProps: {\n value: _vm.fieldValue[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("input", {\n staticClass: "button wpsa-browse",\n attrs: {\n type: "button",\n value: "Choose File"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.$emit("openMedia", {\n sectionId: _vm.sectionId,\n name: _vm.fieldData.name\n }, $event);\n }\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "color" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("color-picker", {\n model: {\n value: _vm.fieldValue[_vm.fieldData.name],\n callback: function ($$v) {\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$v);\n },\n expression: "fieldValue[fieldData.name]"\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })], 1)]) : _vm._e(), _vm._v(" "), "html" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "radio" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("fieldset", [_vm._l(_vm.fieldData.options, function (optionVal, optionKey) {\n return [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]"\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "radio",\n attrs: {\n type: "radio",\n id: _vm.sectionId + "[" + _vm.fieldData.name + "][" + optionKey + "]",\n name: optionKey\n },\n domProps: {\n value: optionKey,\n checked: _vm._q(_vm.fieldValue[_vm.fieldData.name], optionKey)\n },\n on: {\n change: function ($event) {\n return _vm.$set(_vm.fieldValue, _vm.fieldData.name, optionKey);\n }\n }\n }), _vm._v(" " + _vm._s(optionVal) + "\\n ")])];\n })], 2), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "wpeditor" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", {\n attrs: {\n width: "72%"\n }\n }, [_c("text-editor", {\n model: {\n value: _vm.fieldValue[_vm.fieldData.name],\n callback: function ($$v) {\n _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$v);\n },\n expression: "fieldValue[fieldData.name]"\n }\n }), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })], 1)]) : _vm._e(), _vm._v(" "), "repeatable" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", {\n attrs: {\n width: "72%"\n }\n }, [_c("ul", {\n staticClass: "dokan-settings-repeatable-list"\n }, _vm._l(_vm.fieldValue[_vm.fieldData.name], function (optionVal, optionKey) {\n return _vm.fieldValue[_vm.fieldData.name] ? _c("li", [_vm._v("\\n " + _vm._s(optionVal.value) + " "), _c("span", {\n staticClass: "dashicons dashicons-no-alt remove-item",\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.removeItem(optionKey, _vm.fieldData.name);\n }\n }\n })]) : _vm._e();\n }), 0), _vm._v(" "), _c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.repeatableItem[_vm.fieldData.name],\n expression: "repeatableItem[fieldData.name]"\n }],\n staticClass: "regular-text",\n attrs: {\n type: "text"\n },\n domProps: {\n value: _vm.repeatableItem[_vm.fieldData.name]\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) return;\n\n _vm.$set(_vm.repeatableItem, _vm.fieldData.name, $event.target.value);\n }\n }\n }), _vm._v(" "), _c("a", {\n staticClass: "button wepos-repetable-add-item-btn",\n attrs: {\n href: "#"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.addItem(_vm.fieldData.type, _vm.fieldData.name);\n }\n }\n }, [_vm._v("+")]), _vm._v(" "), _c("p", {\n staticClass: "description",\n domProps: {\n innerHTML: _vm._s(_vm.fieldData.desc)\n }\n })])]) : _vm._e(), _vm._v(" "), "radio_image" == _vm.fieldData.type ? _c("tr", {\n class: _vm.id\n }, [_c("th", {\n attrs: {\n scope: "row"\n }\n }, [_c("label", {\n attrs: {\n for: _vm.sectionId + "[" + _vm.fieldData.name + "]"\n }\n }, [_vm._v(_vm._s(_vm.fieldData.label))])]), _vm._v(" "), _c("td", [_c("div", {\n staticClass: "radio-image-container"\n }, [_vm._l(_vm.fieldData.options, function (image, name) {\n return [_c("label", {\n staticClass: "radio-image",\n class: {\n active: _vm.fieldValue[_vm.fieldData.name] === name,\n "not-active": _vm.fieldValue[_vm.fieldData.name] !== name\n }\n }, [_c("input", {\n directives: [{\n name: "model",\n rawName: "v-model",\n value: _vm.fieldValue[_vm.fieldData.name],\n expression: "fieldValue[fieldData.name]"\n }],\n staticClass: "radio",\n attrs: {\n type: "radio",\n name: _vm.fieldData.name\n },\n domProps: {\n value: name,\n checked: _vm._q(_vm.fieldValue[_vm.fieldData.name], name)\n },\n on: {\n change: function ($event) {\n return _vm.$set(_vm.fieldValue, _vm.fieldData.name, name);\n }\n }\n }), _vm._v(" "), _c("span", {\n staticClass: "current-option-indicator"\n }, [_c("span", {\n staticClass: "dashicons dashicons-yes"\n }), _vm._v(" " + _vm._s(_vm.__("Active", "wepos")))]), _vm._v(" "), _c("img", {\n attrs: {\n src: image\n }\n }), _vm._v(" "), _c("span", {\n staticClass: "active-option"\n }, [_c("button", {\n staticClass: "button button-primary button-hero",\n attrs: {\n type: "button"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n _vm.fieldValue[_vm.fieldData.name] = name;\n }\n }\n }, [_vm._v("\\n " + _vm._s(_vm.__("Select", "wepos")) + "\\n ")])])])];\n })], 2)])]) : _vm._e()]);\n};\n\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/Fields.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options')},"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Settings.vue?vue&type=template&id=2ba26873&": /*!******************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./assets/src/admin/components/Settings.vue?vue&type=template&id=2ba26873& ***! \******************************************************************************************************************************************************************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "render": () => (/* binding */ render),\n/* harmony export */ "staticRenderFns": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n\n return _c("div", {\n staticClass: "wepos-settings"\n }, [_c("h2", {\n staticStyle: {\n "margin-bottom": "15px"\n }\n }, [_vm._v(_vm._s(_vm.__("Settings", "wepos")))]), _vm._v(" "), _vm.isSaved ? _c("div", {\n staticClass: "settings-error notice is-dismissible",\n class: {\n updated: _vm.isUpdated,\n error: !_vm.isUpdated\n },\n attrs: {\n id: "setting-message_updated"\n }\n }, [_c("p", [_c("strong", {\n domProps: {\n innerHTML: _vm._s(_vm.message)\n }\n })]), _vm._v(" "), _c("button", {\n staticClass: "notice-dismiss",\n attrs: {\n type: "button"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n _vm.isSaved = false;\n }\n }\n }, [_c("span", {\n staticClass: "screen-reader-text"\n }, [_vm._v(_vm._s(_vm.__("Dismiss this notice.", "wepos")))])])]) : _vm._e(), _vm._v(" "), _c("div", {\n staticClass: "wepos-settings-wrap"\n }, [_c("h2", {\n staticClass: "nav-tab-wrapper"\n }, [_vm._l(_vm.settingSections, function (section) {\n return [_c("a", {\n staticClass: "nav-tab",\n class: {\n "nav-tab-active": _vm.currentTab === section.id\n },\n attrs: {\n href: "#"\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.changeTab(section);\n }\n }\n }, [_c("span", {\n staticClass: "dashicons",\n class: section.icon\n }), _vm._v(" " + _vm._s(section.title))])];\n })], 2), _vm._v(" "), _c("div", {\n staticClass: "metabox-holder"\n }, [_vm._l(_vm.settingFields, function (fields, index) {\n return _vm.isLoaded ? [_c("div", {\n directives: [{\n name: "show",\n rawName: "v-show",\n value: _vm.currentTab === index,\n expression: "currentTab===index"\n }],\n staticClass: "group",\n attrs: {\n id: index\n }\n }, [_c("form", {\n attrs: {\n method: "post",\n action: "options.php"\n }\n }, [_c("input", {\n attrs: {\n type: "hidden",\n name: "option_page"\n },\n domProps: {\n value: index\n }\n }), _vm._v(" "), _c("input", {\n attrs: {\n type: "hidden",\n name: "action",\n value: "update"\n }\n }), _vm._v(" "), _c("h2", [_vm._v(_vm._s(_vm.showSectionTitle(index)))]), _vm._v(" "), _c("table", {\n staticClass: "form-table"\n }, [_c("tbody", _vm._l(fields, function (field, fieldId) {\n return _c("fields", {\n key: fieldId,\n attrs: {\n "section-id": index,\n id: fieldId,\n "field-data": field,\n "field-value": _vm.settingValues[index]\n },\n on: {\n openMedia: _vm.showMedia\n }\n });\n }), 1)]), _vm._v(" "), _c("p", {\n staticClass: "submit"\n }, [_c("input", {\n staticClass: "button button-primary",\n attrs: {\n type: "submit",\n name: "submit",\n id: "submit"\n },\n domProps: {\n value: _vm.__("Save Changes", "wepos")\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.saveSettings(_vm.settingValues[index], index);\n }\n }\n })])])])] : _vm._e();\n })], 2), _vm._v(" "), _vm.showLoading ? _c("div", {\n staticClass: "loading"\n }) : _vm._e()])]);\n};\n\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://wepos/./assets/src/admin/components/Settings.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options')},"./node_modules/clamp/index.js": diff --git a/assets/src/admin/components/Fields.vue b/assets/src/admin/components/Fields.vue index 3188afb4..098add79 100644 --- a/assets/src/admin/components/Fields.vue +++ b/assets/src/admin/components/Fields.vue @@ -52,7 +52,7 @@