aboutsummaryrefslogtreecommitdiffstats
path: root/dist/settings-declarative-settings-forms.js.map
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-07-07 14:24:08 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2024-07-09 17:27:21 +0200
commitb0f66868661daa517d0582e2644ee947fa085492 (patch)
tree05455add7ea1efdba7f01663ba9dc75b93b207ea /dist/settings-declarative-settings-forms.js.map
parentd0951b48be3a5ba5957c8a233be66dbc1d1af823 (diff)
downloadnextcloud-server-b0f66868661daa517d0582e2644ee947fa085492.tar.gz
nextcloud-server-b0f66868661daa517d0582e2644ee947fa085492.zip
chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'dist/settings-declarative-settings-forms.js.map')
-rw-r--r--dist/settings-declarative-settings-forms.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/dist/settings-declarative-settings-forms.js.map b/dist/settings-declarative-settings-forms.js.map
index b69463351da..498c373d272 100644
--- a/dist/settings-declarative-settings-forms.js.map
+++ b/dist/settings-declarative-settings-forms.js.map
@@ -1 +1 @@
-{"version":3,"file":"settings-declarative-settings-forms.js?v=6d8e98e26ec32ded9c53","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue","webpack:///nextcloud/apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?35d3","webpack://nextcloud/./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?6f30","webpack://nextcloud/./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?d806","webpack:///nextcloud/apps/settings/src/main-declarative-settings-forms.ts","webpack:///nextcloud/apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?vue&type=style&index=0&id=1a50d19f&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcSettingsSection\n\t\tclass=\"declarative-settings-section\"\n\t\t:name=\"t(formApp, form.title)\"\n\t\t:description=\"t(formApp, form.description)\"\n\t\t:doc-url=\"form.doc_url || ''\">\n\t\t<div v-for=\"formField in formFields\"\n\t\t\t :key=\"formField.id\"\n\t\t\t class=\"declarative-form-field\"\n\t\t\t:aria-label=\"t('settings', '{app}\\'s declarative setting field: {name}', { app: formApp, name: t(formApp, formField.title) })\"\n\t\t\t:class=\"{\n\t\t\t\t'declarative-form-field-text': isTextFormField(formField),\n\t\t\t\t'declarative-form-field-select': formField.type === 'select',\n\t\t\t\t'declarative-form-field-multi-select': formField.type === 'multi-select',\n\t\t\t\t'declarative-form-field-checkbox': formField.type === 'checkbox',\n\t\t\t\t'declarative-form-field-multi_checkbox': formField.type === 'multi-checkbox',\n\t\t\t\t'declarative-form-field-radio': formField.type === 'radio'\n\t\t\t}\">\n\n\t\t\t<template v-if=\"isTextFormField(formField)\">\n\t\t\t\t<div class=\"input-wrapper\">\n\t\t\t\t\t<NcInputField\n\t\t\t\t\t\t:type=\"formField.type\"\n\t\t\t\t\t\t:label=\"t(formApp, formField.title)\"\n\t\t\t\t\t\t:value.sync=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t\t:placeholder=\"t(formApp, formField.placeholder)\"\n\t\t\t\t\t\t@update:value=\"onChangeDebounced(formField)\"\n\t\t\t\t\t\t@submit=\"updateDeclarativeSettingsValue(formField)\"/>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'select'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<div class=\"input-wrapper\">\n\t\t\t\t\t<NcSelect\n\t\t\t\t\t\t:id=\"formField.id + '_field'\"\n\t\t\t\t\t\t:options=\"formField.options\"\n\t\t\t\t\t\t:placeholder=\"t(formApp, formField.placeholder)\"\n\t\t\t\t\t\t:label-outside=\"true\"\n\t\t\t\t\t\t:value=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t\t@input=\"(value) => updateFormFieldDataValue(value, formField, true)\"/>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'multi-select'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<div class=\"input-wrapper\">\n\t\t\t\t\t<NcSelect\n\t\t\t\t\t\t:id=\"formField.id + '_field'\"\n\t\t\t\t\t\t:options=\"formField.options\"\n\t\t\t\t\t\t:placeholder=\"t(formApp, formField.placeholder)\"\n\t\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t\t:label-outside=\"true\"\n\t\t\t\t\t\t:value=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t\t@input=\"(value) => {\n\t\t\t\t\t\t\tformFieldsData[formField.id].value = value\n\t\t\t\t\t\t\tupdateDeclarativeSettingsValue(formField, JSON.stringify(formFieldsData[formField.id].value))\n\t\t\t\t\t\t}\n\t\t\t\t\"/>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'checkbox'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t:id=\"formField.id + '_field'\"\n\t\t\t\t\t:checked=\"Boolean(formFieldsData[formField.id].value)\"\n\t\t\t\t\t@update:checked=\"(value) => {\n\t\t\t\t\t\tformField.value = value\n\t\t\t\t\t\tupdateFormFieldDataValue(+value, formField, true)\n\t\t\t\t\t}\n\t\t\t\t\">\n\t\t\t\t\t{{ t(formApp, formField.label) }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'multi-checkbox'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\tv-for=\"option in formField.options\"\n\t\t\t\t\t:id=\"formField.id + '_field_' + option.value\"\n\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t:checked=\"formFieldsData[formField.id].value[option.value]\"\n\t\t\t\t\t@update:checked=\"(value) => {\n\t\t\t\t\t\tformFieldsData[formField.id].value[option.value] = value\n\t\t\t\t\t\t// Update without re-generating initial formFieldsData.value object as the link to components are lost\n\t\t\t\t\t\tupdateDeclarativeSettingsValue(formField, JSON.stringify(formFieldsData[formField.id].value))\n\t\t\t\t\t}\n\t\t\t\t\">\n\t\t\t\t\t{{ t(formApp, option.name) }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'radio'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\tv-for=\"option in formField.options\"\n\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t:checked=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t@update:checked=\"(value) => updateFormFieldDataValue(value, formField, true)\">\n\t\t\t\t\t{{ t(formApp, option.name) }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\t\t</div>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { showError } from '@nextcloud/dialogs'\nimport debounce from 'debounce'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\n\nexport default {\n\tname: 'DeclarativeSection',\n\tcomponents: {\n\t\tNcSettingsSection,\n\t\tNcInputField,\n\t\tNcSelect,\n\t\tNcCheckboxRadioSwitch,\n\t},\n\tprops: {\n\t\tform: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tformFieldsData: {},\n\t\t}\n\t},\n\tbeforeMount() {\n\t\tthis.initFormFieldsData()\n\t},\n\tcomputed: {\n\t\tformApp() {\n\t\t\treturn this.form.app || ''\n\t\t},\n\t\tformFields() {\n\t\t\treturn this.form.fields || []\n\t\t},\n\t},\n\tmethods: {\n\t\tinitFormFieldsData() {\n\t\t\tthis.form.fields.forEach((formField) => {\n\t\t\t\tif (formField.type === 'checkbox') {\n\t\t\t\t\t// convert bool to number using unary plus (+) operator\n\t\t\t\t\tthis.$set(formField, 'value', +formField.value)\n\t\t\t\t}\n\t\t\t\tif (formField.type === 'multi-checkbox') {\n\t\t\t\t\tif (formField.value === '') {\n\t\t\t\t\t\t// Init formFieldsData from options\n\t\t\t\t\t\tthis.$set(formField, 'value', {})\n\t\t\t\t\t\tformField.options.forEach(option => {\n\t\t\t\t\t\t\tthis.$set(formField.value, option.value, false)\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$set(formField, 'value', JSON.parse(formField.value))\n\t\t\t\t\t\t// Merge possible new options\n\t\t\t\t\t\tformField.options.forEach(option => {\n\t\t\t\t\t\t\tif (!formField.value.hasOwnProperty(option.value)) {\n\t\t\t\t\t\t\t\tthis.$set(formField.value, option.value, false)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Remove options that are not in the form anymore\n\t\t\t\t\t\tObject.keys(formField.value).forEach(key => {\n\t\t\t\t\t\t\tif (!formField.options.find(option => option.value === key)) {\n\t\t\t\t\t\t\t\tdelete formField.value[key]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (formField.type === 'multi-select') {\n\t\t\t\t\tif (formField.value === '') {\n\t\t\t\t\t\t// Init empty array for multi-select\n\t\t\t\t\t\tthis.$set(formField, 'value', [])\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// JSON decode an array of multiple values set\n\t\t\t\t\t\tthis.$set(formField, 'value', JSON.parse(formField.value))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.$set(this.formFieldsData, formField.id, {\n\t\t\t\t\tvalue: formField.value,\n\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tupdateFormFieldDataValue(value, formField, update = false) {\n\t\t\tthis.formFieldsData[formField.id].value = value\n\t\t\tif (update) {\n\t\t\t\tthis.updateDeclarativeSettingsValue(formField)\n\t\t\t}\n\t\t},\n\n\t\tupdateDeclarativeSettingsValue(formField, value = null) {\n\t\t\ttry {\n\t\t\t\treturn axios.post(generateOcsUrl('settings/api/declarative/value'), {\n\t\t\t\t\tapp: this.formApp,\n\t\t\t\t\tformId: this.form.id.replace(this.formApp + '_', ''), // Remove app prefix to send clean form id\n\t\t\t\t\tfieldId: formField.id,\n\t\t\t\t\tvalue: value === null ? this.formFieldsData[formField.id].value : value,\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tconsole.debug(err)\n\t\t\t\tshowError(t('settings', 'Failed to save setting'))\n\t\t\t}\n\t\t},\n\n\t\tonChangeDebounced: debounce(function(formField) {\n\t\t\tthis.updateDeclarativeSettingsValue(formField)\n\t\t}, 1000),\n\n\t\tisTextFormField(formField) {\n\t\t\treturn ['text', 'password', 'email', 'tel', 'url', 'number'].includes(formField.type)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.declarative-form-field {\n\tmargin: 20px 0;\n\tpadding: 10px 0;\n\n\t.input-wrapper {\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\t}\n\n\t&:last-child {\n\t\tborder-bottom: none;\n\t}\n\n\t.hint {\n\t\tdisplay: inline-block;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-left: 8px;\n\t\tpadding-top: 5px;\n\t}\n\n\t&-radio, &-multi_checkbox {\n\t\tmax-height: 250px;\n\t\toverflow-y: auto;\n\t}\n\n\t&-multi-select, &-select {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\tlabel {\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=style&index=0&id=1a50d19f&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=style&index=0&id=1a50d19f&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DeclarativeSection.vue?vue&type=template&id=1a50d19f&scoped=true\"\nimport script from \"./DeclarativeSection.vue?vue&type=script&lang=js\"\nexport * from \"./DeclarativeSection.vue?vue&type=script&lang=js\"\nimport style0 from \"./DeclarativeSection.vue?vue&type=style&index=0&id=1a50d19f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a50d19f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSettingsSection',{staticClass:\"declarative-settings-section\",attrs:{\"name\":_vm.t(_vm.formApp, _vm.form.title),\"description\":_vm.t(_vm.formApp, _vm.form.description),\"doc-url\":_vm.form.doc_url || ''}},_vm._l((_vm.formFields),function(formField){return _c('div',{key:formField.id,staticClass:\"declarative-form-field\",class:{\n\t\t\t'declarative-form-field-text': _vm.isTextFormField(formField),\n\t\t\t'declarative-form-field-select': formField.type === 'select',\n\t\t\t'declarative-form-field-multi-select': formField.type === 'multi-select',\n\t\t\t'declarative-form-field-checkbox': formField.type === 'checkbox',\n\t\t\t'declarative-form-field-multi_checkbox': formField.type === 'multi-checkbox',\n\t\t\t'declarative-form-field-radio': formField.type === 'radio'\n\t\t},attrs:{\"aria-label\":_vm.t('settings', '{app}\\'s declarative setting field: {name}', { app: _vm.formApp, name: _vm.t(_vm.formApp, formField.title) })}},[(_vm.isTextFormField(formField))?[_c('div',{staticClass:\"input-wrapper\"},[_c('NcInputField',{attrs:{\"type\":formField.type,\"label\":_vm.t(_vm.formApp, formField.title),\"value\":_vm.formFieldsData[formField.id].value,\"placeholder\":_vm.t(_vm.formApp, formField.placeholder)},on:{\"update:value\":[function($event){return _vm.$set(_vm.formFieldsData[formField.id], \"value\", $event)},function($event){return _vm.onChangeDebounced(formField)}],\"submit\":function($event){return _vm.updateDeclarativeSettingsValue(formField)}}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'select')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_c('div',{staticClass:\"input-wrapper\"},[_c('NcSelect',{attrs:{\"id\":formField.id + '_field',\"options\":formField.options,\"placeholder\":_vm.t(_vm.formApp, formField.placeholder),\"label-outside\":true,\"value\":_vm.formFieldsData[formField.id].value},on:{\"input\":(value) => _vm.updateFormFieldDataValue(value, formField, true)}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'multi-select')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_c('div',{staticClass:\"input-wrapper\"},[_c('NcSelect',{attrs:{\"id\":formField.id + '_field',\"options\":formField.options,\"placeholder\":_vm.t(_vm.formApp, formField.placeholder),\"multiple\":true,\"label-outside\":true,\"value\":_vm.formFieldsData[formField.id].value},on:{\"input\":(value) => {\n\t\t\t\t\t\t_vm.formFieldsData[formField.id].value = value\n\t\t\t\t\t\t_vm.updateDeclarativeSettingsValue(formField, JSON.stringify(_vm.formFieldsData[formField.id].value))\n\t\t\t\t\t}}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'checkbox')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"id\":formField.id + '_field',\"checked\":Boolean(_vm.formFieldsData[formField.id].value)},on:{\"update:checked\":(value) => {\n\t\t\t\t\tformField.value = value\n\t\t\t\t\t_vm.updateFormFieldDataValue(+value, formField, true)\n\t\t\t\t}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t(_vm.formApp, formField.label))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'multi-checkbox')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_vm._l((formField.options),function(option){return _c('NcCheckboxRadioSwitch',{key:option.value,attrs:{\"id\":formField.id + '_field_' + option.value,\"checked\":_vm.formFieldsData[formField.id].value[option.value]},on:{\"update:checked\":(value) => {\n\t\t\t\t\t_vm.formFieldsData[formField.id].value[option.value] = value\n\t\t\t\t\t// Update without re-generating initial formFieldsData.value object as the link to components are lost\n\t\t\t\t\t_vm.updateDeclarativeSettingsValue(formField, JSON.stringify(_vm.formFieldsData[formField.id].value))\n\t\t\t\t}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t(_vm.formApp, option.name))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'radio')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_vm._l((formField.options),function(option){return _c('NcCheckboxRadioSwitch',{key:option.value,attrs:{\"value\":option.value,\"type\":\"radio\",\"checked\":_vm.formFieldsData[formField.id].value},on:{\"update:checked\":(value) => _vm.updateFormFieldDataValue(value, formField, true)}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t(_vm.formApp, option.name))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e()],2)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\nimport DeclarativeSection from './components/DeclarativeSettings/DeclarativeSection.vue';\nconst forms = loadState('settings', 'declarative-settings-forms', []);\nconsole.debug('Loaded declarative forms:', forms);\nfunction renderDeclarativeSettingsSections(forms) {\n Vue.mixin({ methods: { t, n } });\n const DeclarativeSettingsSection = Vue.extend(DeclarativeSection);\n for (const form of forms) {\n const el = `#${form.app}_${form.id}`;\n new DeclarativeSettingsSection({\n el: el,\n propsData: {\n form,\n },\n });\n }\n}\ndocument.addEventListener('DOMContentLoaded', () => {\n renderDeclarativeSettingsSections(forms);\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.declarative-form-field[data-v-1a50d19f]{margin:20px 0;padding:10px 0}.declarative-form-field .input-wrapper[data-v-1a50d19f]{width:100%;max-width:400px}.declarative-form-field[data-v-1a50d19f]:last-child{border-bottom:none}.declarative-form-field .hint[data-v-1a50d19f]{display:inline-block;color:var(--color-text-maxcontrast);margin-left:8px;padding-top:5px}.declarative-form-field-radio[data-v-1a50d19f],.declarative-form-field-multi_checkbox[data-v-1a50d19f]{max-height:250px;overflow-y:auto}.declarative-form-field-multi-select[data-v-1a50d19f],.declarative-form-field-select[data-v-1a50d19f]{display:flex;flex-direction:column}.declarative-form-field-multi-select label[data-v-1a50d19f],.declarative-form-field-select label[data-v-1a50d19f]{margin-bottom:5px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue\"],\"names\":[],\"mappings\":\"AACA,yCACC,aAAA,CACA,cAAA,CAEA,wDACC,UAAA,CACA,eAAA,CAGD,oDACC,kBAAA,CAGD,+CACC,oBAAA,CACA,mCAAA,CACA,eAAA,CACA,eAAA,CAGD,uGACC,gBAAA,CACA,eAAA,CAGD,sGACC,YAAA,CACA,qBAAA,CAEA,kHACC,iBAAA\",\"sourcesContent\":[\"\\n.declarative-form-field {\\n\\tmargin: 20px 0;\\n\\tpadding: 10px 0;\\n\\n\\t.input-wrapper {\\n\\t\\twidth: 100%;\\n\\t\\tmax-width: 400px;\\n\\t}\\n\\n\\t&:last-child {\\n\\t\\tborder-bottom: none;\\n\\t}\\n\\n\\t.hint {\\n\\t\\tdisplay: inline-block;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-left: 8px;\\n\\t\\tpadding-top: 5px;\\n\\t}\\n\\n\\t&-radio, &-multi_checkbox {\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t}\\n\\n\\t&-multi-select, &-select {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tlabel {\\n\\t\\t\\tmargin-bottom: 5px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"1325\":\"b41cbaf9143099894ded\",\"5244\":\"433f22a2bc2955582ebd\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6085;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6085: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(159)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcSettingsSection","NcInputField","NcSelect","NcCheckboxRadioSwitch","props","form","type","Object","required","data","formFieldsData","beforeMount","initFormFieldsData","computed","formApp","app","formFields","fields","methods","forEach","formField","$set","value","options","option","JSON","parse","hasOwnProperty","keys","key","find","id","updateFormFieldDataValue","update","arguments","length","undefined","updateDeclarativeSettingsValue","axios","post","generateOcsUrl","formId","replace","fieldId","err","console","debug","showError","t","onChangeDebounced","debounce","isTextFormField","includes","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","attrs","title","description","doc_url","_l","class","placeholder","on","$event","_v","_s","_e","stringify","Boolean","label","forms","loadState","document","addEventListener","Vue","mixin","n","DeclarativeSettingsSection","extend","DeclarativeSection","el","concat","propsData","renderDeclarativeSettingsSections","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","prototype","l","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"settings-declarative-settings-forms.js?v=5794dacb2cd893170fe0","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue","webpack:///nextcloud/apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?6600","webpack://nextcloud/./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?6f30","webpack://nextcloud/./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?d806","webpack:///nextcloud/apps/settings/src/main-declarative-settings-forms.ts","webpack:///nextcloud/apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue?vue&type=style&index=0&id=ff008f28&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcSettingsSection class=\"declarative-settings-section\"\n\t\t:name=\"t(formApp, form.title)\"\n\t\t:description=\"t(formApp, form.description)\"\n\t\t:doc-url=\"form.doc_url || ''\">\n\t\t<div v-for=\"formField in formFields\"\n\t\t\t:key=\"formField.id\"\n\t\t\tclass=\"declarative-form-field\"\n\t\t\t:aria-label=\"t('settings', '{app}\\'s declarative setting field: {name}', { app: formApp, name: t(formApp, formField.title) })\"\n\t\t\t:class=\"{\n\t\t\t\t'declarative-form-field-text': isTextFormField(formField),\n\t\t\t\t'declarative-form-field-select': formField.type === 'select',\n\t\t\t\t'declarative-form-field-multi-select': formField.type === 'multi-select',\n\t\t\t\t'declarative-form-field-checkbox': formField.type === 'checkbox',\n\t\t\t\t'declarative-form-field-multi_checkbox': formField.type === 'multi-checkbox',\n\t\t\t\t'declarative-form-field-radio': formField.type === 'radio'\n\t\t\t}\">\n\t\t\t<template v-if=\"isTextFormField(formField)\">\n\t\t\t\t<div class=\"input-wrapper\">\n\t\t\t\t\t<NcInputField :type=\"formField.type\"\n\t\t\t\t\t\t:label=\"t(formApp, formField.title)\"\n\t\t\t\t\t\t:value.sync=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t\t:placeholder=\"t(formApp, formField.placeholder)\"\n\t\t\t\t\t\t@update:value=\"onChangeDebounced(formField)\"\n\t\t\t\t\t\t@submit=\"updateDeclarativeSettingsValue(formField)\" />\n\t\t\t\t</div>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'select'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<div class=\"input-wrapper\">\n\t\t\t\t\t<NcSelect :id=\"formField.id + '_field'\"\n\t\t\t\t\t\t:options=\"formField.options\"\n\t\t\t\t\t\t:placeholder=\"t(formApp, formField.placeholder)\"\n\t\t\t\t\t\t:label-outside=\"true\"\n\t\t\t\t\t\t:value=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t\t@input=\"(value) => updateFormFieldDataValue(value, formField, true)\" />\n\t\t\t\t</div>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'multi-select'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<div class=\"input-wrapper\">\n\t\t\t\t\t<NcSelect :id=\"formField.id + '_field'\"\n\t\t\t\t\t\t:options=\"formField.options\"\n\t\t\t\t\t\t:placeholder=\"t(formApp, formField.placeholder)\"\n\t\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t\t:label-outside=\"true\"\n\t\t\t\t\t\t:value=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t\t@input=\"(value) => {\n\t\t\t\t\t\t\tformFieldsData[formField.id].value = value\n\t\t\t\t\t\t\tupdateDeclarativeSettingsValue(formField, JSON.stringify(formFieldsData[formField.id].value))\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\" />\n\t\t\t\t</div>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'checkbox'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<NcCheckboxRadioSwitch :id=\"formField.id + '_field'\"\n\t\t\t\t\t:checked=\"Boolean(formFieldsData[formField.id].value)\"\n\t\t\t\t\t@update:checked=\"(value) => {\n\t\t\t\t\t\tformField.value = value\n\t\t\t\t\t\tupdateFormFieldDataValue(+value, formField, true)\n\t\t\t\t\t}\n\t\t\t\t\t\">\n\t\t\t\t\t{{ t(formApp, formField.label) }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'multi-checkbox'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<NcCheckboxRadioSwitch v-for=\"option in formField.options\"\n\t\t\t\t\t:id=\"formField.id + '_field_' + option.value\"\n\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t:checked=\"formFieldsData[formField.id].value[option.value]\"\n\t\t\t\t\t@update:checked=\"(value) => {\n\t\t\t\t\t\tformFieldsData[formField.id].value[option.value] = value\n\t\t\t\t\t\t// Update without re-generating initial formFieldsData.value object as the link to components are lost\n\t\t\t\t\t\tupdateDeclarativeSettingsValue(formField, JSON.stringify(formFieldsData[formField.id].value))\n\t\t\t\t\t}\n\t\t\t\t\t\">\n\t\t\t\t\t{{ t(formApp, option.name) }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"formField.type === 'radio'\">\n\t\t\t\t<label :for=\"formField.id + '_field'\">{{ t(formApp, formField.title) }}</label>\n\t\t\t\t<NcCheckboxRadioSwitch v-for=\"option in formField.options\"\n\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t:checked=\"formFieldsData[formField.id].value\"\n\t\t\t\t\t@update:checked=\"(value) => updateFormFieldDataValue(value, formField, true)\">\n\t\t\t\t\t{{ t(formApp, option.name) }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<span class=\"hint\">{{ t(formApp, formField.description) }}</span>\n\t\t\t</template>\n\t\t</div>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { showError } from '@nextcloud/dialogs'\nimport debounce from 'debounce'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\n\nexport default {\n\tname: 'DeclarativeSection',\n\tcomponents: {\n\t\tNcSettingsSection,\n\t\tNcInputField,\n\t\tNcSelect,\n\t\tNcCheckboxRadioSwitch,\n\t},\n\tprops: {\n\t\tform: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tformFieldsData: {},\n\t\t}\n\t},\n\tcomputed: {\n\t\tformApp() {\n\t\t\treturn this.form.app || ''\n\t\t},\n\t\tformFields() {\n\t\t\treturn this.form.fields || []\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.initFormFieldsData()\n\t},\n\tmethods: {\n\t\tinitFormFieldsData() {\n\t\t\tthis.form.fields.forEach((formField) => {\n\t\t\t\tif (formField.type === 'checkbox') {\n\t\t\t\t\t// convert bool to number using unary plus (+) operator\n\t\t\t\t\tthis.$set(formField, 'value', +formField.value)\n\t\t\t\t}\n\t\t\t\tif (formField.type === 'multi-checkbox') {\n\t\t\t\t\tif (formField.value === '') {\n\t\t\t\t\t\t// Init formFieldsData from options\n\t\t\t\t\t\tthis.$set(formField, 'value', {})\n\t\t\t\t\t\tformField.options.forEach(option => {\n\t\t\t\t\t\t\tthis.$set(formField.value, option.value, false)\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$set(formField, 'value', JSON.parse(formField.value))\n\t\t\t\t\t\t// Merge possible new options\n\t\t\t\t\t\tformField.options.forEach(option => {\n\t\t\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(formField.value, option.value)) {\n\t\t\t\t\t\t\t\tthis.$set(formField.value, option.value, false)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Remove options that are not in the form anymore\n\t\t\t\t\t\tObject.keys(formField.value).forEach(key => {\n\t\t\t\t\t\t\tif (!formField.options.find(option => option.value === key)) {\n\t\t\t\t\t\t\t\tdelete formField.value[key]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (formField.type === 'multi-select') {\n\t\t\t\t\tif (formField.value === '') {\n\t\t\t\t\t\t// Init empty array for multi-select\n\t\t\t\t\t\tthis.$set(formField, 'value', [])\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// JSON decode an array of multiple values set\n\t\t\t\t\t\tthis.$set(formField, 'value', JSON.parse(formField.value))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.$set(this.formFieldsData, formField.id, {\n\t\t\t\t\tvalue: formField.value,\n\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tupdateFormFieldDataValue(value, formField, update = false) {\n\t\t\tthis.formFieldsData[formField.id].value = value\n\t\t\tif (update) {\n\t\t\t\tthis.updateDeclarativeSettingsValue(formField)\n\t\t\t}\n\t\t},\n\n\t\tupdateDeclarativeSettingsValue(formField, value = null) {\n\t\t\ttry {\n\t\t\t\treturn axios.post(generateOcsUrl('settings/api/declarative/value'), {\n\t\t\t\t\tapp: this.formApp,\n\t\t\t\t\tformId: this.form.id.replace(this.formApp + '_', ''), // Remove app prefix to send clean form id\n\t\t\t\t\tfieldId: formField.id,\n\t\t\t\t\tvalue: value === null ? this.formFieldsData[formField.id].value : value,\n\t\t\t\t})\n\t\t\t} catch (err) {\n\t\t\t\tconsole.debug(err)\n\t\t\t\tshowError(t('settings', 'Failed to save setting'))\n\t\t\t}\n\t\t},\n\n\t\tonChangeDebounced: debounce(function(formField) {\n\t\t\tthis.updateDeclarativeSettingsValue(formField)\n\t\t}, 1000),\n\n\t\tisTextFormField(formField) {\n\t\t\treturn ['text', 'password', 'email', 'tel', 'url', 'number'].includes(formField.type)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.declarative-form-field {\n\tmargin: 20px 0;\n\tpadding: 10px 0;\n\n\t.input-wrapper {\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\t}\n\n\t&:last-child {\n\t\tborder-bottom: none;\n\t}\n\n\t.hint {\n\t\tdisplay: inline-block;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-left: 8px;\n\t\tpadding-top: 5px;\n\t}\n\n\t&-radio, &-multi_checkbox {\n\t\tmax-height: 250px;\n\t\toverflow-y: auto;\n\t}\n\n\t&-multi-select, &-select {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\n\t\tlabel {\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=style&index=0&id=ff008f28&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarativeSection.vue?vue&type=style&index=0&id=ff008f28&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DeclarativeSection.vue?vue&type=template&id=ff008f28&scoped=true\"\nimport script from \"./DeclarativeSection.vue?vue&type=script&lang=js\"\nexport * from \"./DeclarativeSection.vue?vue&type=script&lang=js\"\nimport style0 from \"./DeclarativeSection.vue?vue&type=style&index=0&id=ff008f28&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ff008f28\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSettingsSection',{staticClass:\"declarative-settings-section\",attrs:{\"name\":_vm.t(_vm.formApp, _vm.form.title),\"description\":_vm.t(_vm.formApp, _vm.form.description),\"doc-url\":_vm.form.doc_url || ''}},_vm._l((_vm.formFields),function(formField){return _c('div',{key:formField.id,staticClass:\"declarative-form-field\",class:{\n\t\t\t'declarative-form-field-text': _vm.isTextFormField(formField),\n\t\t\t'declarative-form-field-select': formField.type === 'select',\n\t\t\t'declarative-form-field-multi-select': formField.type === 'multi-select',\n\t\t\t'declarative-form-field-checkbox': formField.type === 'checkbox',\n\t\t\t'declarative-form-field-multi_checkbox': formField.type === 'multi-checkbox',\n\t\t\t'declarative-form-field-radio': formField.type === 'radio'\n\t\t},attrs:{\"aria-label\":_vm.t('settings', '{app}\\'s declarative setting field: {name}', { app: _vm.formApp, name: _vm.t(_vm.formApp, formField.title) })}},[(_vm.isTextFormField(formField))?[_c('div',{staticClass:\"input-wrapper\"},[_c('NcInputField',{attrs:{\"type\":formField.type,\"label\":_vm.t(_vm.formApp, formField.title),\"value\":_vm.formFieldsData[formField.id].value,\"placeholder\":_vm.t(_vm.formApp, formField.placeholder)},on:{\"update:value\":[function($event){return _vm.$set(_vm.formFieldsData[formField.id], \"value\", $event)},function($event){return _vm.onChangeDebounced(formField)}],\"submit\":function($event){return _vm.updateDeclarativeSettingsValue(formField)}}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'select')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_c('div',{staticClass:\"input-wrapper\"},[_c('NcSelect',{attrs:{\"id\":formField.id + '_field',\"options\":formField.options,\"placeholder\":_vm.t(_vm.formApp, formField.placeholder),\"label-outside\":true,\"value\":_vm.formFieldsData[formField.id].value},on:{\"input\":(value) => _vm.updateFormFieldDataValue(value, formField, true)}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'multi-select')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_c('div',{staticClass:\"input-wrapper\"},[_c('NcSelect',{attrs:{\"id\":formField.id + '_field',\"options\":formField.options,\"placeholder\":_vm.t(_vm.formApp, formField.placeholder),\"multiple\":true,\"label-outside\":true,\"value\":_vm.formFieldsData[formField.id].value},on:{\"input\":(value) => {\n\t\t\t\t\t\t_vm.formFieldsData[formField.id].value = value\n\t\t\t\t\t\t_vm.updateDeclarativeSettingsValue(formField, JSON.stringify(_vm.formFieldsData[formField.id].value))\n\t\t\t\t\t}}})],1),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'checkbox')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"id\":formField.id + '_field',\"checked\":Boolean(_vm.formFieldsData[formField.id].value)},on:{\"update:checked\":(value) => {\n\t\t\t\t\tformField.value = value\n\t\t\t\t\t_vm.updateFormFieldDataValue(+value, formField, true)\n\t\t\t\t}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t(_vm.formApp, formField.label))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'multi-checkbox')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_vm._l((formField.options),function(option){return _c('NcCheckboxRadioSwitch',{key:option.value,attrs:{\"id\":formField.id + '_field_' + option.value,\"checked\":_vm.formFieldsData[formField.id].value[option.value]},on:{\"update:checked\":(value) => {\n\t\t\t\t\t_vm.formFieldsData[formField.id].value[option.value] = value\n\t\t\t\t\t// Update without re-generating initial formFieldsData.value object as the link to components are lost\n\t\t\t\t\t_vm.updateDeclarativeSettingsValue(formField, JSON.stringify(_vm.formFieldsData[formField.id].value))\n\t\t\t\t}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t(_vm.formApp, option.name))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e(),_vm._v(\" \"),(formField.type === 'radio')?[_c('label',{attrs:{\"for\":formField.id + '_field'}},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.title)))]),_vm._v(\" \"),_vm._l((formField.options),function(option){return _c('NcCheckboxRadioSwitch',{key:option.value,attrs:{\"value\":option.value,\"type\":\"radio\",\"checked\":_vm.formFieldsData[formField.id].value},on:{\"update:checked\":(value) => _vm.updateFormFieldDataValue(value, formField, true)}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t(_vm.formApp, option.name))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_c('span',{staticClass:\"hint\"},[_vm._v(_vm._s(_vm.t(_vm.formApp, formField.description)))])]:_vm._e()],2)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { loadState } from '@nextcloud/initial-state';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport DeclarativeSection from './components/DeclarativeSettings/DeclarativeSection.vue';\nconst forms = loadState('settings', 'declarative-settings-forms', []);\nconsole.debug('Loaded declarative forms:', forms);\n/**\n *\n * @param forms\n */\nfunction renderDeclarativeSettingsSections(forms) {\n Vue.mixin({ methods: { t, n } });\n const DeclarativeSettingsSection = Vue.extend(DeclarativeSection);\n return forms.map((form) => {\n const el = `#${form.app}_${form.id}`;\n return new DeclarativeSettingsSection({\n el,\n propsData: {\n form,\n },\n });\n });\n}\ndocument.addEventListener('DOMContentLoaded', () => {\n renderDeclarativeSettingsSections(forms);\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.declarative-form-field[data-v-ff008f28]{margin:20px 0;padding:10px 0}.declarative-form-field .input-wrapper[data-v-ff008f28]{width:100%;max-width:400px}.declarative-form-field[data-v-ff008f28]:last-child{border-bottom:none}.declarative-form-field .hint[data-v-ff008f28]{display:inline-block;color:var(--color-text-maxcontrast);margin-left:8px;padding-top:5px}.declarative-form-field-radio[data-v-ff008f28],.declarative-form-field-multi_checkbox[data-v-ff008f28]{max-height:250px;overflow-y:auto}.declarative-form-field-multi-select[data-v-ff008f28],.declarative-form-field-select[data-v-ff008f28]{display:flex;flex-direction:column}.declarative-form-field-multi-select label[data-v-ff008f28],.declarative-form-field-select label[data-v-ff008f28]{margin-bottom:5px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/DeclarativeSettings/DeclarativeSection.vue\"],\"names\":[],\"mappings\":\"AACA,yCACC,aAAA,CACA,cAAA,CAEA,wDACC,UAAA,CACA,eAAA,CAGD,oDACC,kBAAA,CAGD,+CACC,oBAAA,CACA,mCAAA,CACA,eAAA,CACA,eAAA,CAGD,uGACC,gBAAA,CACA,eAAA,CAGD,sGACC,YAAA,CACA,qBAAA,CAEA,kHACC,iBAAA\",\"sourcesContent\":[\"\\n.declarative-form-field {\\n\\tmargin: 20px 0;\\n\\tpadding: 10px 0;\\n\\n\\t.input-wrapper {\\n\\t\\twidth: 100%;\\n\\t\\tmax-width: 400px;\\n\\t}\\n\\n\\t&:last-child {\\n\\t\\tborder-bottom: none;\\n\\t}\\n\\n\\t.hint {\\n\\t\\tdisplay: inline-block;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-left: 8px;\\n\\t\\tpadding-top: 5px;\\n\\t}\\n\\n\\t&-radio, &-multi_checkbox {\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t}\\n\\n\\t&-multi-select, &-select {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tlabel {\\n\\t\\t\\tmargin-bottom: 5px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"5244\":\"c481ec36e1342a6b905a\",\"5674\":\"b24591e346b8ebe83bab\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6085;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6085: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(51252)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcSettingsSection","NcInputField","NcSelect","NcCheckboxRadioSwitch","props","form","type","Object","required","data","formFieldsData","computed","formApp","app","formFields","fields","beforeMount","initFormFieldsData","methods","forEach","formField","$set","value","options","option","JSON","parse","prototype","hasOwnProperty","call","keys","key","find","id","updateFormFieldDataValue","update","arguments","length","undefined","updateDeclarativeSettingsValue","axios","post","generateOcsUrl","formId","replace","fieldId","err","console","debug","showError","t","onChangeDebounced","debounce","isTextFormField","includes","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","attrs","title","description","doc_url","_l","class","placeholder","on","$event","_v","_s","_e","stringify","Boolean","label","forms","loadState","document","addEventListener","Vue","mixin","n","DeclarativeSettingsSection","extend","DeclarativeSection","map","el","concat","propsData","renderDeclarativeSettingsSections","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","l","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file