diff options
author | Louis Chemineau <louis@chmn.me> | 2023-11-08 16:09:54 +0100 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2023-11-09 22:46:25 +0100 |
commit | dc00904ca083be96b2c8305ed8593d47415db6d5 (patch) | |
tree | 1d0518796b872d49f281e4b54542308245ca7cc9 /dist/workflowengine-workflowengine.js.map | |
parent | b180ca9d47176bf487bc0ae26ffcba688a2cbd55 (diff) | |
download | nextcloud-server-dc00904ca083be96b2c8305ed8593d47415db6d5.tar.gz nextcloud-server-dc00904ca083be96b2c8305ed8593d47415db6d5.zip |
Compile assets
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'dist/workflowengine-workflowengine.js.map')
-rw-r--r-- | dist/workflowengine-workflowengine.js.map | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/dist/workflowengine-workflowengine.js.map b/dist/workflowengine-workflowengine.js.map index ca1a7a90a53..92e65a2988b 100644 --- a/dist/workflowengine-workflowengine.js.map +++ b/dist/workflowengine-workflowengine.js.map @@ -1 +1 @@ -{"version":3,"file":"workflowengine-workflowengine.js?v=061f1ba03e25ee434ddc","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/workflowengine/src/helpers/api.js","webpack:///nextcloud/apps/workflowengine/src/store.js","webpack://nextcloud/./apps/workflowengine/src/components/Workflow.vue?de47","webpack://nextcloud/./node_modules/vue-material-design-icons/Close.vue?c1a9","webpack://nextcloud/./apps/workflowengine/src/components/Event.vue?3d5a","webpack:///nextcloud/apps/workflowengine/src/components/Event.vue","webpack:///nextcloud/apps/workflowengine/src/components/Event.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Event.vue?f7d0","webpack://nextcloud/./apps/workflowengine/src/components/Event.vue?5115","webpack://nextcloud/./apps/workflowengine/src/components/Check.vue?bf90","webpack:///nextcloud/apps/workflowengine/src/components/Check.vue","webpack:///nextcloud/apps/workflowengine/src/components/Check.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Check.vue?289e","webpack://nextcloud/./apps/workflowengine/src/components/Check.vue?3fb8","webpack:///nextcloud/apps/workflowengine/src/components/Operation.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Operation.vue","webpack://nextcloud/./apps/workflowengine/src/components/Operation.vue?bc50","webpack://nextcloud/./apps/workflowengine/src/components/Operation.vue?3526","webpack://nextcloud/./apps/workflowengine/src/components/Operation.vue?86d2","webpack:///nextcloud/apps/workflowengine/src/components/Rule.vue","webpack:///nextcloud/apps/workflowengine/src/components/Rule.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Rule.vue?8707","webpack://nextcloud/./apps/workflowengine/src/components/Rule.vue?e711","webpack://nextcloud/./apps/workflowengine/src/components/Rule.vue?6c53","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/MenuUp.vue?1ade","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue?vue&type=template&id=52b567ec","webpack:///nextcloud/apps/workflowengine/src/components/Workflow.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Workflow.vue","webpack://nextcloud/./apps/workflowengine/src/components/Workflow.vue?f621","webpack://nextcloud/./apps/workflowengine/src/components/Workflow.vue?17b8","webpack:///nextcloud/apps/workflowengine/src/helpers/validators.js","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileMimeType.vue?f663","webpack:///nextcloud/apps/workflowengine/src/mixins/valueMixin.js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileMimeType.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileMimeType.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileMimeType.vue?d88a","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileMimeType.vue?c385","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileSystemTag.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileSystemTag.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileSystemTag.vue?2d3e","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileSystemTag.vue?acab","webpack:///nextcloud/apps/workflowengine/src/components/Checks/file.js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserAgent.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserAgent.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserAgent.vue?011c","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserAgent.vue?81d6","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserAgent.vue?80f0","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestTime.vue?1af1","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestTime.vue","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestTime.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestTime.vue?244e","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestTime.vue?a55a","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestURL.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestURL.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestURL.vue?3730","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestURL.vue?eee5","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestURL.vue?b56e","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserGroup.vue?f1ec","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserGroup.vue","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserGroup.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserGroup.vue?ee45","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserGroup.vue?f6d3","webpack:///nextcloud/apps/workflowengine/src/components/Checks/index.js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/request.js","webpack:///nextcloud/apps/workflowengine/src/workflowengine.js","webpack:///nextcloud/apps/workflowengine/src/components/Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css","webpack:///nextcloud/node_modules/moment-timezone/index.js","webpack:///nextcloud/node_modules/moment-timezone/moment-timezone.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/vue-click-outside/index.js","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 * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst scopeValue = loadState('workflowengine', 'scope') === 0 ? 'global' : 'user'\n\nconst getApiUrl = (url) => {\n\treturn generateOcsUrl('apps/workflowengine/api/v1/workflows/{scopeValue}', { scopeValue }) + url + '?format=json'\n}\n\nexport {\n\tgetApiUrl,\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Kesselberg <mail@danielkesselberg.de>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport axios from '@nextcloud/axios'\nimport { getApiUrl } from './helpers/api.js'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\nimport { loadState } from '@nextcloud/initial-state'\n\nVue.use(Vuex)\n\nconst store = new Store({\n\tstate: {\n\t\trules: [],\n\t\tscope: loadState('workflowengine', 'scope'),\n\t\tappstoreEnabled: loadState('workflowengine', 'appstoreenabled'),\n\t\toperations: loadState('workflowengine', 'operators'),\n\n\t\tplugins: Vue.observable({\n\t\t\tchecks: {},\n\t\t\toperators: {},\n\t\t}),\n\n\t\tentities: loadState('workflowengine', 'entities'),\n\t\tevents: loadState('workflowengine', 'entities')\n\t\t\t.map((entity) => entity.events.map(event => {\n\t\t\t\treturn {\n\t\t\t\t\tid: `${entity.id}::${event.eventName}`,\n\t\t\t\t\tentity,\n\t\t\t\t\t...event,\n\t\t\t\t}\n\t\t\t})).flat(),\n\t\tchecks: loadState('workflowengine', 'checks'),\n\t},\n\tmutations: {\n\t\taddRule(state, rule) {\n\t\t\tstate.rules.push({ ...rule, valid: true })\n\t\t},\n\t\tupdateRule(state, rule) {\n\t\t\tconst index = state.rules.findIndex((item) => rule.id === item.id)\n\t\t\tconst newRule = Object.assign({}, rule)\n\t\t\tVue.set(state.rules, index, newRule)\n\t\t},\n\t\tremoveRule(state, rule) {\n\t\t\tconst index = state.rules.findIndex((item) => rule.id === item.id)\n\t\t\tstate.rules.splice(index, 1)\n\t\t},\n\t\taddPluginCheck(state, plugin) {\n\t\t\tVue.set(state.plugins.checks, plugin.class, plugin)\n\t\t},\n\t\taddPluginOperator(state, plugin) {\n\t\t\tplugin = Object.assign(\n\t\t\t\t{ color: 'var(--color-primary-element)' },\n\t\t\t\tplugin, state.operations[plugin.id] || {})\n\t\t\tif (typeof state.operations[plugin.id] !== 'undefined') {\n\t\t\t\tVue.set(state.operations, plugin.id, plugin)\n\t\t\t}\n\t\t},\n\t},\n\tactions: {\n\t\tasync fetchRules(context) {\n\t\t\tconst { data } = await axios.get(getApiUrl(''))\n\t\t\tObject.values(data.ocs.data).flat().forEach((rule) => {\n\t\t\t\tcontext.commit('addRule', rule)\n\t\t\t})\n\t\t},\n\t\tcreateNewRule(context, rule) {\n\t\t\tlet entity = null\n\t\t\tlet events = []\n\t\t\tif (rule.isComplex === false && rule.fixedEntity === '') {\n\t\t\t\tentity = context.state.entities.find((item) => rule.entities && rule.entities[0] === item.id)\n\t\t\t\tentity = entity || Object.values(context.state.entities)[0]\n\t\t\t\tevents = [entity.events[0].eventName]\n\t\t\t}\n\n\t\t\tcontext.commit('addRule', {\n\t\t\t\tid: -(new Date().getTime()),\n\t\t\t\tclass: rule.id,\n\t\t\t\tentity: entity ? entity.id : rule.fixedEntity,\n\t\t\t\tevents,\n\t\t\t\tname: '', // unused in the new ui, there for legacy reasons\n\t\t\t\tchecks: [\n\t\t\t\t\t{ class: null, operator: null, value: '' },\n\t\t\t\t],\n\t\t\t\toperation: rule.operation || '',\n\t\t\t})\n\t\t},\n\t\tupdateRule(context, rule) {\n\t\t\tcontext.commit('updateRule', {\n\t\t\t\t...rule,\n\t\t\t\tevents: typeof rule.events === 'string' ? JSON.parse(rule.events) : rule.events,\n\t\t\t})\n\t\t},\n\t\tremoveRule(context, rule) {\n\t\t\tcontext.commit('removeRule', rule)\n\t\t},\n\t\tasync pushUpdateRule(context, rule) {\n\t\t\tif (context.state.scope === 0) {\n\t\t\t\tawait confirmPassword()\n\t\t\t}\n\t\t\tlet result\n\t\t\tif (rule.id < 0) {\n\t\t\t\tresult = await axios.post(getApiUrl(''), rule)\n\t\t\t} else {\n\t\t\t\tresult = await axios.put(getApiUrl(`/${rule.id}`), rule)\n\t\t\t}\n\t\t\tVue.set(rule, 'id', result.data.ocs.data.id)\n\t\t\tcontext.commit('updateRule', rule)\n\t\t},\n\t\tasync deleteRule(context, rule) {\n\t\t\tawait confirmPassword()\n\t\t\tawait axios.delete(getApiUrl(`/${rule.id}`))\n\t\t\tcontext.commit('removeRule', rule)\n\t\t},\n\t\tsetValid(context, { rule, valid }) {\n\t\t\trule.valid = valid\n\t\t\tcontext.commit('updateRule', rule)\n\t\t},\n\t},\n\tgetters: {\n\t\tgetRules(state) {\n\t\t\treturn state.rules.filter((rule) => typeof state.operations[rule.class] !== 'undefined').sort((rule1, rule2) => {\n\t\t\t\treturn rule1.id - rule2.id || rule2.class - rule1.class\n\t\t\t})\n\t\t},\n\t\tgetOperationForRule(state) {\n\t\t\treturn (rule) => state.operations[rule.class]\n\t\t},\n\t\tgetEntityForOperation(state) {\n\t\t\treturn (operation) => state.entities.find((entity) => operation.fixedEntity === entity.id)\n\t\t},\n\t\tgetEventsForOperation(state) {\n\t\t\treturn (operation) => state.events\n\t\t},\n\n\t\t/**\n\t\t * Return all available checker plugins for a given entity class\n\t\t *\n\t\t * @param {object} state the store state\n\t\t * @return {Function} the available plugins\n\t\t */\n\t\tgetChecksForEntity(state) {\n\t\t\treturn (entity) => {\n\t\t\t\treturn Object.values(state.checks)\n\t\t\t\t\t.filter((check) => check.supportedEntities.indexOf(entity) > -1 || check.supportedEntities.length === 0)\n\t\t\t\t\t.map((check) => state.plugins.checks[check.id])\n\t\t\t\t\t.reduce((obj, item) => {\n\t\t\t\t\t\tobj[item.class] = item\n\t\t\t\t\t\treturn obj\n\t\t\t\t\t}, {})\n\t\t\t}\n\t\t},\n\t},\n})\n\nexport default store\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"workflowengine\"}},[_c('NcSettingsSection',{attrs:{\"name\":_vm.t('workflowengine', 'Available flows'),\"doc-url\":_vm.workflowDocUrl}},[(_vm.isAdminScope)?_c('p',{staticClass:\"settings-hint\"},[_c('a',{attrs:{\"href\":\"https://nextcloud.com/developer/\"}},[_vm._v(_vm._s(_vm.t('workflowengine', 'For details on how to write your own flow, check out the development documentation.')))])]):_vm._e(),_vm._v(\" \"),(!_vm.isUserAdmin && _vm.mainOperations.length === 0)?_c('NcEmptyContent',{attrs:{\"name\":_vm.t('workflowengine', 'No flows installed'),\"description\":!_vm.isUserAdmin ? _vm.t('workflowengine', 'Ask your administrator to install new flows.') : undefined},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.WorkflowOffSvg,\"size\":20}})]},proxy:true}],null,false,233236213)}):_c('transition-group',{staticClass:\"actions\",attrs:{\"name\":\"slide\",\"tag\":\"div\"}},[_vm._l((_vm.mainOperations),function(operation){return _c('Operation',{key:operation.id,attrs:{\"operation\":operation},nativeOn:{\"click\":function($event){return _vm.createNewRule(operation)}}})}),_vm._v(\" \"),(_vm.showAppStoreHint)?_c('a',{key:\"add\",staticClass:\"actions__item colored more\",attrs:{\"href\":_vm.appstoreUrl}},[_c('div',{staticClass:\"icon icon-add\"}),_vm._v(\" \"),_c('div',{staticClass:\"actions__item__description\"},[_c('h3',[_vm._v(_vm._s(_vm.t('workflowengine', 'More flows')))]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.t('workflowengine', 'Browse the App Store')))])])]):_vm._e()],2),_vm._v(\" \"),(_vm.hasMoreOperations)?_c('div',{staticClass:\"actions__more\"},[_c('NcButton',{on:{\"click\":function($event){_vm.showMoreOperations = !_vm.showMoreOperations}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.showMoreOperations)?_c('MenuUp',{attrs:{\"size\":20}}):_c('MenuDown',{attrs:{\"size\":20}})]},proxy:true}],null,false,3801522717)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.showMoreOperations ? _vm.t('workflowengine', 'Show less') : _vm.t('workflowengine', 'Show more'))+\"\\n\\t\\t\\t\")])],1):_vm._e()],1),_vm._v(\" \"),(_vm.mainOperations.length > 0)?_c('NcSettingsSection',{attrs:{\"name\":_vm.isAdminScope ? _vm.t('workflowengine', 'Configured flows') : _vm.t('workflowengine', 'Your flows')}},[(_vm.rules.length > 0)?_c('transition-group',{attrs:{\"name\":\"slide\"}},_vm._l((_vm.rules),function(rule){return _c('Rule',{key:rule.id,attrs:{\"rule\":rule}})}),1):_c('NcEmptyContent',{attrs:{\"name\":_vm.t('workflowengine', 'No flows configured')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.WorkflowOffSvg,\"size\":20}})]},proxy:true}],null,false,233236213)})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=75d4151a\"\nimport script from \"./Close.vue?vue&type=script&lang=js\"\nexport * from \"./Close.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"event\"},[(_vm.operation.isComplex && _vm.operation.fixedEntity !== '')?_c('div',{staticClass:\"isComplex\"},[_c('img',{staticClass:\"option__icon\",attrs:{\"src\":_vm.entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"option__title option__title_single\"},[_vm._v(_vm._s(_vm.operation.triggerHint))])]):_c('NcSelect',{staticClass:\"event__trigger\",attrs:{\"disabled\":_vm.allEvents.length <= 1,\"multiple\":true,\"options\":_vm.allEvents,\"value\":_vm.currentEvent,\"placeholder\":_vm.placeholderString,\"label\":\"displayName\"},on:{\"input\":_vm.updateEvent},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('img',{staticClass:\"option__icon\",attrs:{\"src\":option.entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_vm._v(_vm._s(option.displayName))])]}},{key:\"selected-option\",fn:function(option){return [_c('img',{staticClass:\"option__icon\",attrs:{\"src\":option.entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_vm._v(_vm._s(option.displayName))])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"event\">\n\t\t<div v-if=\"operation.isComplex && operation.fixedEntity !== ''\" class=\"isComplex\">\n\t\t\t<img class=\"option__icon\" :src=\"entity.icon\" alt=\"\">\n\t\t\t<span class=\"option__title option__title_single\">{{ operation.triggerHint }}</span>\n\t\t</div>\n\t\t<NcSelect v-else\n\t\t\t:disabled=\"allEvents.length <= 1\"\n\t\t\t:multiple=\"true\"\n\t\t\t:options=\"allEvents\"\n\t\t\t:value=\"currentEvent\"\n\t\t\t:placeholder=\"placeholderString\"\n\t\t\tclass=\"event__trigger\"\n\t\t\tlabel=\"displayName\"\n\t\t\t@input=\"updateEvent\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<img class=\"option__icon\" :src=\"option.entity.icon\" alt=\"\">\n\t\t\t\t<span class=\"option__title\">{{ option.displayName }}</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"option\">\n\t\t\t\t<img class=\"option__icon\" :src=\"option.entity.icon\" alt=\"\">\n\t\t\t\t<span class=\"option__title\">{{ option.displayName }}</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport { showWarning } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'Event',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\trule: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\tentity() {\n\t\t\treturn this.$store.getters.getEntityForOperation(this.operation)\n\t\t},\n\t\toperation() {\n\t\t\treturn this.$store.getters.getOperationForRule(this.rule)\n\t\t},\n\t\tallEvents() {\n\t\t\treturn this.$store.getters.getEventsForOperation(this.operation)\n\t\t},\n\t\tcurrentEvent() {\n\t\t\treturn this.allEvents.filter(event => event.entity.id === this.rule.entity && this.rule.events.indexOf(event.eventName) !== -1)\n\t\t},\n\t\tplaceholderString() {\n\t\t\t// TRANSLATORS: Users should select a trigger for a workflow action\n\t\t\treturn t('workflowengine', 'Select a trigger')\n\t\t},\n\t},\n\tmethods: {\n\t\tupdateEvent(events) {\n\t\t\tif (events.length === 0) {\n\t\t\t\t// TRANSLATORS: Users must select an event as of \"happening\" or \"incident\" which triggers an action\n\t\t\t\tshowWarning(t('workflowengine', 'At least one event must be selected'))\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst existingEntity = this.rule.entity\n\t\t\tconst newEntities = events.map(event => event.entity.id).filter((value, index, self) => self.indexOf(value) === index)\n\t\t\tlet newEntity = null\n\t\t\tif (newEntities.length > 1) {\n\t\t\t\tnewEntity = newEntities.filter(entity => entity !== existingEntity)[0]\n\t\t\t} else {\n\t\t\t\tnewEntity = newEntities[0]\n\t\t\t}\n\n\t\t\tthis.$set(this.rule, 'entity', newEntity)\n\t\t\tthis.$set(this.rule, 'events', events.filter(event => event.entity.id === newEntity).map(event => event.eventName))\n\t\t\tthis.$emit('update', this.rule)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.event {\n\t\tmargin-bottom: 5px;\n\n\t\t&__trigger {\n\t\t\tmax-width: 550px;\n\t\t}\n\t}\n\t.isComplex {\n\t\timg {\n\t\t\tvertical-align: text-top;\n\t\t}\n\t\tspan {\n\t\t\tpadding-top: 2px;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t.option__title {\n\t\tmargin-left: 5px;\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t.option__icon {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Event.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!./Event.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!./Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss\";\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!./Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Event.vue?vue&type=template&id=d4892b64&scoped=true\"\nimport script from \"./Event.vue?vue&type=script&lang=js\"\nexport * from \"./Event.vue?vue&type=script&lang=js\"\nimport style0 from \"./Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss\"\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 \"d4892b64\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideDelete),expression:\"hideDelete\"}],staticClass:\"check\",on:{\"click\":_vm.showDelete}},[_c('NcSelect',{ref:\"checkSelector\",attrs:{\"options\":_vm.options,\"label\":\"name\",\"clearable\":false,\"placeholder\":_vm.t('workflowengine', 'Select a filter')},on:{\"input\":_vm.updateCheck},model:{value:(_vm.currentOption),callback:function ($$v) {_vm.currentOption=$$v},expression:\"currentOption\"}}),_vm._v(\" \"),_c('NcSelect',{staticClass:\"comparator\",attrs:{\"disabled\":!_vm.currentOption,\"options\":_vm.operators,\"label\":\"name\",\"clearable\":false,\"placeholder\":_vm.t('workflowengine', 'Select a comparator')},on:{\"input\":_vm.updateCheck},model:{value:(_vm.currentOperator),callback:function ($$v) {_vm.currentOperator=$$v},expression:\"currentOperator\"}}),_vm._v(\" \"),(_vm.currentOperator && _vm.currentComponent)?_c(_vm.currentOption.component,{tag:\"component\",staticClass:\"option\",attrs:{\"disabled\":!_vm.currentOption,\"check\":_vm.check},on:{\"input\":_vm.updateCheck,\"valid\":function($event){(_vm.valid=true) && _vm.validate()},\"invalid\":function($event){!(_vm.valid=false) && _vm.validate()}},model:{value:(_vm.check.value),callback:function ($$v) {_vm.$set(_vm.check, \"value\", $$v)},expression:\"check.value\"}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.check.value),expression:\"check.value\"}],staticClass:\"option\",class:{ invalid: !_vm.valid },attrs:{\"type\":\"text\",\"disabled\":!_vm.currentOption,\"placeholder\":_vm.valuePlaceholder},domProps:{\"value\":(_vm.check.value)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.check, \"value\", $event.target.value)},_vm.updateCheck]}}),_vm._v(\" \"),(_vm.deleteVisible || !_vm.currentOption)?_c('NcActions',[_c('NcActionButton',{attrs:{\"title\":_vm.t('workflowengine', 'Remove filter')},on:{\"click\":function($event){return _vm.$emit('remove')}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-click-outside=\"hideDelete\" class=\"check\" @click=\"showDelete\">\n\t\t<NcSelect ref=\"checkSelector\"\n\t\t\tv-model=\"currentOption\"\n\t\t\t:options=\"options\"\n\t\t\tlabel=\"name\"\n\t\t\t:clearable=\"false\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a filter')\"\n\t\t\t@input=\"updateCheck\" />\n\t\t<NcSelect v-model=\"currentOperator\"\n\t\t\t:disabled=\"!currentOption\"\n\t\t\t:options=\"operators\"\n\t\t\tclass=\"comparator\"\n\t\t\tlabel=\"name\"\n\t\t\t:clearable=\"false\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a comparator')\"\n\t\t\t@input=\"updateCheck\" />\n\t\t<component :is=\"currentOption.component\"\n\t\t\tv-if=\"currentOperator && currentComponent\"\n\t\t\tv-model=\"check.value\"\n\t\t\t:disabled=\"!currentOption\"\n\t\t\t:check=\"check\"\n\t\t\tclass=\"option\"\n\t\t\t@input=\"updateCheck\"\n\t\t\t@valid=\"(valid=true) && validate()\"\n\t\t\t@invalid=\"!(valid=false) && validate()\" />\n\t\t<input v-else\n\t\t\tv-model=\"check.value\"\n\t\t\ttype=\"text\"\n\t\t\t:class=\"{ invalid: !valid }\"\n\t\t\t:disabled=\"!currentOption\"\n\t\t\t:placeholder=\"valuePlaceholder\"\n\t\t\tclass=\"option\"\n\t\t\t@input=\"updateCheck\">\n\t\t<NcActions v-if=\"deleteVisible || !currentOption\">\n\t\t\t<NcActionButton :title=\"t('workflowengine', 'Remove filter')\" @click=\"$emit('remove')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</div>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\n\nimport ClickOutside from 'vue-click-outside'\n\nexport default {\n\tname: 'Check',\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcSelect,\n\n\t\t// Icons\n\t\tCloseIcon,\n\t},\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\tprops: {\n\t\tcheck: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\trule: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdeleteVisible: false,\n\t\t\tcurrentOption: null,\n\t\t\tcurrentOperator: null,\n\t\t\toptions: [],\n\t\t\tvalid: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tchecks() {\n\t\t\treturn this.$store.getters.getChecksForEntity(this.rule.entity)\n\t\t},\n\t\toperators() {\n\t\t\tif (!this.currentOption) { return [] }\n\t\t\tconst operators = this.checks[this.currentOption.class].operators\n\t\t\tif (typeof operators === 'function') {\n\t\t\t\treturn operators(this.check)\n\t\t\t}\n\t\t\treturn operators\n\t\t},\n\t\tcurrentComponent() {\n\t\t\tif (!this.currentOption) { return [] }\n\t\t\treturn this.checks[this.currentOption.class].component\n\t\t},\n\t\tvaluePlaceholder() {\n\t\t\tif (this.currentOption && this.currentOption.placeholder) {\n\t\t\t\treturn this.currentOption.placeholder(this.check)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t},\n\twatch: {\n\t\t'check.operator'() {\n\t\t\tthis.validate()\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.options = Object.values(this.checks)\n\t\tthis.currentOption = this.checks[this.check.class]\n\t\tthis.currentOperator = this.operators.find((operator) => operator.operator === this.check.operator)\n\n\t\tif (this.check.class === null) {\n\t\t\tthis.$nextTick(() => this.$refs.checkSelector.$el.focus())\n\t\t}\n\t\tthis.validate()\n\t},\n\tmethods: {\n\t\tshowDelete() {\n\t\t\tthis.deleteVisible = true\n\t\t},\n\t\thideDelete() {\n\t\t\tthis.deleteVisible = false\n\t\t},\n\t\tvalidate() {\n\t\t\tthis.valid = true\n\t\t\tif (this.currentOption && this.currentOption.validate) {\n\t\t\t\tthis.valid = !!this.currentOption.validate(this.check)\n\t\t\t}\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.check.invalid = !this.valid\n\t\t\tthis.$emit('validate', this.valid)\n\t\t},\n\t\tupdateCheck() {\n\t\t\tconst matchingOperator = this.operators.findIndex((operator) => this.check.operator === operator.operator)\n\t\t\tif (this.check.class !== this.currentOption.class || matchingOperator === -1) {\n\t\t\t\tthis.currentOperator = this.operators[0]\n\t\t\t}\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.check.class = this.currentOption.class\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.check.operator = this.currentOperator.operator\n\n\t\t\tthis.validate()\n\n\t\t\tthis.$emit('update', this.check)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.check {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\talign-items: flex-start; // to not stretch components vertically\n\t\twidth: 100%;\n\t\tpadding-right: 20px;\n\n\t\t& > *:not(.close) {\n\t\t\twidth: 180px;\n\t\t}\n\t\t& > .comparator {\n\t\t\tmin-width: 200px;\n\t\t\twidth: 200px;\n\t\t}\n\t\t& > .option {\n\t\t\tmin-width: 260px;\n\t\t\twidth: 260px;\n\t\t\tmin-height: 48px;\n\n\t\t\t& > input[type=text] {\n\t\t\t\tmin-height: 48px;\n\t\t\t}\n\t\t}\n\t\t& > .v-select,\n\t\t& > .button-vue,\n\t\t& > input[type=text] {\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\tinput[type=text] {\n\t\tmargin: 0;\n\t}\n\t.invalid {\n\t\tborder-color: var(--color-error) !important;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Check.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!./Check.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!./Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss\";\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!./Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Check.vue?vue&type=template&id=07a2739b&scoped=true\"\nimport script from \"./Check.vue?vue&type=script&lang=js\"\nexport * from \"./Check.vue?vue&type=script&lang=js\"\nimport style0 from \"./Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss\"\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 \"07a2739b\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Operation.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!./Operation.vue?vue&type=script&lang=js\"","<template>\n\t<div class=\"actions__item\" :class=\"{'colored': colored}\" :style=\"{ backgroundColor: colored ? operation.color : 'transparent' }\">\n\t\t<div class=\"icon\" :class=\"operation.iconClass\" :style=\"{ backgroundImage: operation.iconClass ? '' : `url(${operation.icon})` }\" />\n\t\t<div class=\"actions__item__description\">\n\t\t\t<h3>{{ operation.name }}</h3>\n\t\t\t<small>{{ operation.description }}</small>\n\t\t\t<NcButton v-if=\"colored\">\n\t\t\t\t{{ t('workflowengine', 'Add new flow') }}\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<div class=\"actions__item_options\">\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\n\nexport default {\n\tname: 'Operation',\n\tcomponents: {\n\t\tNcButton,\n\t},\n\tprops: {\n\t\toperation: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tcolored: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t@import \"./../styles/operation\";\n</style>\n","\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!./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss\";\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!./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Operation.vue?vue&type=template&id=a0480332&scoped=true\"\nimport script from \"./Operation.vue?vue&type=script&lang=js\"\nexport * from \"./Operation.vue?vue&type=script&lang=js\"\nimport style0 from \"./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss\"\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 \"a0480332\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"actions__item\",class:{'colored': _vm.colored},style:({ backgroundColor: _vm.colored ? _vm.operation.color : 'transparent' })},[_c('div',{staticClass:\"icon\",class:_vm.operation.iconClass,style:({ backgroundImage: _vm.operation.iconClass ? '' : `url(${_vm.operation.icon})` })}),_vm._v(\" \"),_c('div',{staticClass:\"actions__item__description\"},[_c('h3',[_vm._v(_vm._s(_vm.operation.name))]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.operation.description))]),_vm._v(\" \"),(_vm.colored)?_c('NcButton',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Add new flow'))+\"\\n\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"actions__item_options\"},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-if=\"operation\" class=\"section rule\" :style=\"{ borderLeftColor: operation.color || '' }\">\n\t\t<div class=\"trigger\">\n\t\t\t<p>\n\t\t\t\t<span>{{ t('workflowengine', 'When') }}</span>\n\t\t\t\t<Event :rule=\"rule\" @update=\"updateRule\" />\n\t\t\t</p>\n\t\t\t<p v-for=\"(check, index) in rule.checks\" :key=\"index\">\n\t\t\t\t<span>{{ t('workflowengine', 'and') }}</span>\n\t\t\t\t<Check :check=\"check\"\n\t\t\t\t\t:rule=\"rule\"\n\t\t\t\t\t@update=\"updateRule\"\n\t\t\t\t\t@validate=\"validate\"\n\t\t\t\t\t@remove=\"removeCheck(check)\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<span />\n\t\t\t\t<input v-if=\"lastCheckComplete\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"check--add\"\n\t\t\t\t\t:value=\"t('workflowengine', 'Add a new filter')\"\n\t\t\t\t\t@click=\"onAddFilter\">\n\t\t\t</p>\n\t\t</div>\n\t\t<div class=\"flow-icon icon-confirm\" />\n\t\t<div class=\"action\">\n\t\t\t<Operation :operation=\"operation\" :colored=\"false\">\n\t\t\t\t<component :is=\"operation.options\"\n\t\t\t\t\tv-if=\"operation.options\"\n\t\t\t\t\tv-model=\"rule.operation\"\n\t\t\t\t\t@input=\"updateOperation\" />\n\t\t\t</Operation>\n\t\t\t<div class=\"buttons\">\n\t\t\t\t<NcButton v-if=\"rule.id < -1 || dirty\" @click=\"cancelRule\">\n\t\t\t\t\t{{ t('workflowengine', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton v-else-if=\"!dirty\" @click=\"deleteRule\">\n\t\t\t\t\t{{ t('workflowengine', 'Delete') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton :type=\"ruleStatus.type\"\n\t\t\t\t\t@click=\"saveRule\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<component :is=\"ruleStatus.icon\" :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ ruleStatus.title }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<p v-if=\"error\" class=\"error-message\">\n\t\t\t\t{{ error }}\n\t\t\t</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport CheckMark from 'vue-material-design-icons/Check.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nimport Event from './Event.vue'\nimport Check from './Check.vue'\nimport Operation from './Operation.vue'\n\nexport default {\n\tname: 'Rule',\n\tcomponents: {\n\t\tArrowRight,\n\t\tCheck,\n\t\tCheckMark,\n\t\tClose,\n\t\tEvent,\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcButton,\n\t\tOperation,\n\t},\n\tdirectives: {\n\t\tTooltip,\n\t},\n\tprops: {\n\t\trule: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tediting: false,\n\t\t\tchecks: [],\n\t\t\terror: null,\n\t\t\tdirty: this.rule.id < 0,\n\t\t\toriginalRule: null,\n\t\t}\n\t},\n\tcomputed: {\n\t\toperation() {\n\t\t\treturn this.$store.getters.getOperationForRule(this.rule)\n\t\t},\n\t\truleStatus() {\n\t\t\tif (this.error || !this.rule.valid || this.rule.checks.length === 0 || this.rule.checks.some((check) => check.invalid === true)) {\n\t\t\t\treturn {\n\t\t\t\t\ttitle: t('workflowengine', 'The configuration is invalid'),\n\t\t\t\t\ticon: 'Close',\n\t\t\t\t\ttype: 'warning',\n\t\t\t\t\ttooltip: { placement: 'bottom', show: true, content: this.error },\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!this.dirty) {\n\t\t\t\treturn { title: t('workflowengine', 'Active'), icon: 'CheckMark', type: 'success' }\n\t\t\t}\n\t\t\treturn { title: t('workflowengine', 'Save'), icon: 'ArrowRight', type: 'primary' }\n\n\t\t},\n\t\tlastCheckComplete() {\n\t\t\tconst lastCheck = this.rule.checks[this.rule.checks.length - 1]\n\t\t\treturn typeof lastCheck === 'undefined' || lastCheck.class !== null\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t},\n\tmethods: {\n\t\tasync updateOperation(operation) {\n\t\t\tthis.$set(this.rule, 'operation', operation)\n\t\t\tawait this.updateRule()\n\t\t},\n\t\tvalidate(state) {\n\t\t\tthis.error = null\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\t\tupdateRule() {\n\t\t\tif (!this.dirty) {\n\t\t\t\tthis.dirty = true\n\t\t\t}\n\n\t\t\tthis.error = null\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\t\tasync saveRule() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('pushUpdateRule', this.rule)\n\t\t\t\tthis.dirty = false\n\t\t\t\tthis.error = null\n\t\t\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to save operation')\n\t\t\t\tthis.error = e.response.data.ocs.meta.message\n\t\t\t}\n\t\t},\n\t\tasync deleteRule() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('deleteRule', this.rule)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to delete operation')\n\t\t\t\tthis.error = e.response.data.ocs.meta.message\n\t\t\t}\n\t\t},\n\t\tcancelRule() {\n\t\t\tif (this.rule.id < 0) {\n\t\t\t\tthis.$store.dispatch('removeRule', this.rule)\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('updateRule', this.originalRule)\n\t\t\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t\t\t\tthis.dirty = false\n\t\t\t}\n\t\t},\n\n\t\tasync removeCheck(check) {\n\t\t\tconst index = this.rule.checks.findIndex(item => item === check)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.$delete(this.rule.checks, index)\n\t\t\t}\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\n\t\tonAddFilter() {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.rule.checks.push({ class: null, operator: null, value: '' })\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n\t.buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: end;\n\n\t\tbutton {\n\t\t\tmargin-left: 5px;\n\t\t}\n\t\tbutton:last-child{\n\t\t\tmargin-right: 10px;\n\t\t}\n\t}\n\n\t.error-message {\n\t\tfloat: right;\n\t\tmargin-right: 10px;\n\t}\n\n\t.flow-icon {\n\t\twidth: 44px;\n\t}\n\n\t.rule {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tborder-left: 5px solid var(--color-primary-element);\n\n\t\t.trigger,\n\t\t.action {\n\t\t\tflex-grow: 1;\n\t\t\tmin-height: 100px;\n\t\t\tmax-width: 920px;\n\t\t}\n\t\t.action {\n\t\t\tmax-width: 400px;\n\t\t\tposition: relative;\n\t\t}\n\t\t.icon-confirm {\n\t\t\tbackground-position: right 27px;\n\t\t\tpadding-right: 20px;\n\t\t\tmargin-right: 20px;\n\t\t}\n\t}\n\t.trigger p, .action p {\n\t\tmin-height: 34px;\n\t\tdisplay: flex;\n\n\t\t& > span {\n\t\t\tmin-width: 50px;\n\t\t\ttext-align: right;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tpadding-right: 10px;\n\t\t\tpadding-top: 6px;\n\t\t}\n\t\t.multiselect {\n\t\t\tflex-grow: 1;\n\t\t\tmax-width: 300px;\n\t\t}\n\t}\n\t.trigger p:first-child span {\n\t\t\tpadding-top: 3px;\n\t}\n\t.trigger p:last-child {\n\t\t\tpadding-top: 8px;\n\t}\n\n\t.check--add {\n\t\tbackground-position: 7px center;\n\t\tbackground-color: transparent;\n\t\tpadding-left: 6px;\n\t\tmargin: 0;\n\t\twidth: 180px;\n\t\tborder-radius: var(--border-radius);\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tfont-weight: normal;\n\t\ttext-align: left;\n\t\tfont-size: 1em;\n\t}\n\n\t@media (max-width:1400px) {\n\t\t.rule {\n\t\t\t&, .trigger, .action {\n\t\t\t\twidth: 100%;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t.flow-icon {\n\t\t\t\tdisplay: none;\n\t\t\t}\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!./Rule.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!./Rule.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!./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss\";\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!./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Rule.vue?vue&type=template&id=3def8966&scoped=true\"\nimport script from \"./Rule.vue?vue&type=script&lang=js\"\nexport * from \"./Rule.vue?vue&type=script&lang=js\"\nimport style0 from \"./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss\"\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 \"3def8966\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.operation)?_c('div',{staticClass:\"section rule\",style:({ borderLeftColor: _vm.operation.color || '' })},[_c('div',{staticClass:\"trigger\"},[_c('p',[_c('span',[_vm._v(_vm._s(_vm.t('workflowengine', 'When')))]),_vm._v(\" \"),_c('Event',{attrs:{\"rule\":_vm.rule},on:{\"update\":_vm.updateRule}})],1),_vm._v(\" \"),_vm._l((_vm.rule.checks),function(check,index){return _c('p',{key:index},[_c('span',[_vm._v(_vm._s(_vm.t('workflowengine', 'and')))]),_vm._v(\" \"),_c('Check',{attrs:{\"check\":check,\"rule\":_vm.rule},on:{\"update\":_vm.updateRule,\"validate\":_vm.validate,\"remove\":function($event){return _vm.removeCheck(check)}}})],1)}),_vm._v(\" \"),_c('p',[_c('span'),_vm._v(\" \"),(_vm.lastCheckComplete)?_c('input',{staticClass:\"check--add\",attrs:{\"type\":\"button\",\"value\":_vm.t('workflowengine', 'Add a new filter')},on:{\"click\":_vm.onAddFilter}}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"flow-icon icon-confirm\"}),_vm._v(\" \"),_c('div',{staticClass:\"action\"},[_c('Operation',{attrs:{\"operation\":_vm.operation,\"colored\":false}},[(_vm.operation.options)?_c(_vm.operation.options,{tag:\"component\",on:{\"input\":_vm.updateOperation},model:{value:(_vm.rule.operation),callback:function ($$v) {_vm.$set(_vm.rule, \"operation\", $$v)},expression:\"rule.operation\"}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.rule.id < -1 || _vm.dirty)?_c('NcButton',{on:{\"click\":_vm.cancelRule}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Cancel'))+\"\\n\\t\\t\\t\")]):(!_vm.dirty)?_c('NcButton',{on:{\"click\":_vm.deleteRule}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Delete'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":_vm.ruleStatus.type},on:{\"click\":_vm.saveRule},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.ruleStatus.icon,{tag:\"component\",attrs:{\"size\":20}})]},proxy:true}],null,false,2383918876)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.ruleStatus.title)+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.error)?_c('p',{staticClass:\"error-message\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.error)+\"\\n\\t\\t\")]):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-up-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M7,15L12,10L17,15H7Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuUpIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MenuUp.vue?vue&type=template&id=52b567ec\"\nimport script from \"./MenuUp.vue?vue&type=script&lang=js\"\nexport * from \"./MenuUp.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-up-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,15L12,10L17,15H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workflow.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!./Workflow.vue?vue&type=script&lang=js\"","<template>\n\t<div id=\"workflowengine\">\n\t\t<NcSettingsSection :name=\"t('workflowengine', 'Available flows')\"\n\t\t\t:doc-url=\"workflowDocUrl\">\n\t\t\t<p v-if=\"isAdminScope\" class=\"settings-hint\">\n\t\t\t\t<a href=\"https://nextcloud.com/developer/\">{{ t('workflowengine', 'For details on how to write your own flow, check out the development documentation.') }}</a>\n\t\t\t</p>\n\n\t\t\t<NcEmptyContent v-if=\"!isUserAdmin && mainOperations.length === 0\"\n\t\t\t\t:name=\"t('workflowengine', 'No flows installed')\"\n\t\t\t\t:description=\"!isUserAdmin ? t('workflowengine', 'Ask your administrator to install new flows.') : undefined\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper :svg=\"WorkflowOffSvg\" :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t\t<transition-group v-else\n\t\t\t\tname=\"slide\"\n\t\t\t\ttag=\"div\"\n\t\t\t\tclass=\"actions\">\n\t\t\t\t<Operation v-for=\"operation in mainOperations\"\n\t\t\t\t\t:key=\"operation.id\"\n\t\t\t\t\t:operation=\"operation\"\n\t\t\t\t\t@click.native=\"createNewRule(operation)\" />\n\t\t\t\t<a v-if=\"showAppStoreHint\"\n\t\t\t\t\tkey=\"add\"\n\t\t\t\t\t:href=\"appstoreUrl\"\n\t\t\t\t\tclass=\"actions__item colored more\">\n\t\t\t\t\t<div class=\"icon icon-add\" />\n\t\t\t\t\t<div class=\"actions__item__description\">\n\t\t\t\t\t\t<h3>{{ t('workflowengine', 'More flows') }}</h3>\n\t\t\t\t\t\t<small>{{ t('workflowengine', 'Browse the App Store') }}</small>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</transition-group>\n\n\t\t\t<div v-if=\"hasMoreOperations\" class=\"actions__more\">\n\t\t\t\t<NcButton @click=\"showMoreOperations = !showMoreOperations\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<MenuUp v-if=\"showMoreOperations\" :size=\"20\" />\n\t\t\t\t\t\t<MenuDown v-else :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ showMoreOperations ? t('workflowengine', 'Show less') : t('workflowengine', 'Show more') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection v-if=\"mainOperations.length > 0\"\n\t\t\t:name=\"isAdminScope ? t('workflowengine', 'Configured flows') : t('workflowengine', 'Your flows')\">\n\t\t\t<transition-group v-if=\"rules.length > 0\" name=\"slide\">\n\t\t\t\t<Rule v-for=\"rule in rules\" :key=\"rule.id\" :rule=\"rule\" />\n\t\t\t</transition-group>\n\t\t\t<NcEmptyContent v-else :name=\"t('workflowengine', 'No flows configured')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper :svg=\"WorkflowOffSvg\" :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n\n<script>\nimport Rule from './Rule.vue'\nimport Operation from './Operation.vue'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport { mapGetters, mapState } from 'vuex'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport MenuUp from 'vue-material-design-icons/MenuUp.vue'\nimport MenuDown from 'vue-material-design-icons/MenuDown.vue'\nimport WorkflowOffSvg from '../../img/workflow-off.svg?raw'\n\nconst ACTION_LIMIT = 3\nconst ADMIN_SCOPE = 0\n// const PERSONAL_SCOPE = 1\n\nexport default {\n\tname: 'Workflow',\n\tcomponents: {\n\t\tMenuDown,\n\t\tMenuUp,\n\t\tNcButton,\n\t\tNcEmptyContent,\n\t\tNcIconSvgWrapper,\n\t\tNcSettingsSection,\n\t\tOperation,\n\t\tRule,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowMoreOperations: false,\n\t\t\tappstoreUrl: generateUrl('settings/apps/workflow'),\n\t\t\tworkflowDocUrl: loadState('workflowengine', 'doc-url'),\n\t\t\tWorkflowOffSvg,\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapGetters({\n\t\t\trules: 'getRules',\n\t\t}),\n\t\t...mapState({\n\t\t\tappstoreEnabled: 'appstoreEnabled',\n\t\t\tscope: 'scope',\n\t\t\toperations: 'operations',\n\t\t}),\n\t\thasMoreOperations() {\n\t\t\treturn Object.keys(this.operations).length > ACTION_LIMIT\n\t\t},\n\t\tmainOperations() {\n\t\t\tif (this.showMoreOperations) {\n\t\t\t\treturn Object.values(this.operations)\n\t\t\t}\n\t\t\treturn Object.values(this.operations).slice(0, ACTION_LIMIT)\n\t\t},\n\t\tshowAppStoreHint() {\n\t\t\treturn this.appstoreEnabled && OC.isUserAdmin()\n\t\t},\n\t\tisUserAdmin() {\n\t\t\treturn OC.isUserAdmin()\n\t\t},\n\t\tisAdminScope() {\n\t\t\treturn this.scope === ADMIN_SCOPE\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$store.dispatch('fetchRules')\n\t},\n\tmethods: {\n\t\tcreateNewRule(operation) {\n\t\t\tthis.$store.dispatch('createNewRule', operation)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t#workflowengine {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\t.section {\n\t\tmax-width: 100vw;\n\n\t\th2.configured-flows {\n\t\t\tmargin-top: 50px;\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\t.actions {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmax-width: 1200px;\n\t\t.actions__item {\n\t\t\tmax-width: 280px;\n\t\t\tflex-basis: 250px;\n\t\t}\n\t}\n\t.actions__more {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t.slide-enter-active {\n\t\t-moz-transition-duration: 0.3s;\n\t\t-webkit-transition-duration: 0.3s;\n\t\t-o-transition-duration: 0.3s;\n\t\ttransition-duration: 0.3s;\n\t\t-moz-transition-timing-function: ease-in;\n\t\t-webkit-transition-timing-function: ease-in;\n\t\t-o-transition-timing-function: ease-in;\n\t\ttransition-timing-function: ease-in;\n\t}\n\n\t.slide-leave-active {\n\t\t-moz-transition-duration: 0.3s;\n\t\t-webkit-transition-duration: 0.3s;\n\t\t-o-transition-duration: 0.3s;\n\t\ttransition-duration: 0.3s;\n\t\t-moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t\t-webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t\t-o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t\ttransition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t}\n\n\t.slide-enter-to, .slide-leave {\n\t\tmax-height: 500px;\n\t\toverflow: hidden;\n\t}\n\n\t.slide-enter, .slide-leave-to {\n\t\toverflow: hidden;\n\t\tmax-height: 0;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t}\n\n\t@import \"./../styles/operation\";\n\n\t.actions__item.more {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n</style>\n","\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!./Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss\";\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!./Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Workflow.vue?vue&type=template&id=16a5974e&scoped=true\"\nimport script from \"./Workflow.vue?vue&type=script&lang=js\"\nexport * from \"./Workflow.vue?vue&type=script&lang=js\"\nimport style0 from \"./Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss\"\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 \"16a5974e\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\nconst regexIPv4 = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\/(3[0-2]|[1-2][0-9]|[1-9])$/\nconst regexIPv6 = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9])$/\n\nconst validateRegex = function(string) {\n\tif (!string) {\n\t\treturn false\n\t}\n\treturn regexRegex.exec(string) !== null\n}\n\nconst validateIPv4 = function(string) {\n\tif (!string) {\n\t\treturn false\n\t}\n\treturn regexIPv4.exec(string) !== null\n}\n\nconst validateIPv6 = function(string) {\n\tif (!string) {\n\t\treturn false\n\t}\n\treturn regexIPv6.exec(string) !== null\n}\n\nconst stringValidator = (check) => {\n\tif (check.operator === 'matches' || check.operator === '!matches') {\n\t\treturn validateRegex(check.value)\n\t}\n\treturn true\n}\n\nexport { validateRegex, stringValidator, validateIPv4, validateIPv6 }\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a file type'),\"label\":\"label\",\"options\":_vm.options,\"clearable\":false},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [(option.icon)?_c('span',{staticClass:\"option__icon\",class:option.icon}):_c('span',{staticClass:\"option__icon-img\"},[_c('img',{attrs:{\"src\":option.iconUrl,\"alt\":\"\"}})]),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [(selectedOption.icon)?_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}):_c('span',{staticClass:\"option__icon-img\"},[_c('img',{attrs:{\"src\":selectedOption.iconUrl,\"alt\":\"\"}})]),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\",\"placeholder\":_vm.t('workflowengine', 'e.g. httpd/unix-directory')},domProps:{\"value\":_vm.currentValue.id},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst valueMixin = {\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tcheck: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t}\n\t},\n\twatch: {\n\t\tvalue: {\n\t\t\timmediate: true,\n\t\t\thandler(value) {\n\t\t\t\tthis.updateInternalValue(value)\n\t\t\t},\n\t\t},\n\t},\n\tmethods: {\n\t\tupdateInternalValue(value) {\n\t\t\tthis.newValue = value\n\t\t},\n\t},\n}\n\nexport default valueMixin\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileMimeType.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!./FileMimeType.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a file type')\"\n\t\t\tlabel=\"label\"\n\t\t\t:options=\"options\"\n\t\t\t:clearable=\"false\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span v-if=\"option.icon\" class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span v-else class=\"option__icon-img\">\n\t\t\t\t\t<img :src=\"option.iconUrl\" alt=\"\">\n\t\t\t\t</span>\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span v-if=\"selectedOption.icon\" class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span v-else class=\"option__icon-img\">\n\t\t\t\t\t<img :src=\"selectedOption.iconUrl\" alt=\"\">\n\t\t\t\t</span>\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.id\"\n\t\t\t:placeholder=\"t('workflowengine', 'e.g. httpd/unix-directory')\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from './../../mixins/valueMixin.js'\nimport { imagePath } from '@nextcloud/router'\n\nexport default {\n\tname: 'FileMimeType',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tpredefinedTypes: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-folder',\n\t\t\t\t\tlabel: t('workflowengine', 'Folder'),\n\t\t\t\t\tid: 'httpd/unix-directory',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-picture',\n\t\t\t\t\tlabel: t('workflowengine', 'Images'),\n\t\t\t\t\tid: '/image\\\\/.*/',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticonUrl: imagePath('core', 'filetypes/x-office-document'),\n\t\t\t\t\tlabel: t('workflowengine', 'Office documents'),\n\t\t\t\t\tid: '/(vnd\\\\.(ms-|openxmlformats-|oasis\\\\.opendocument).*)$/',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticonUrl: imagePath('core', 'filetypes/application-pdf'),\n\t\t\t\t\tlabel: t('workflowengine', 'PDF documents'),\n\t\t\t\t\tid: 'application/pdf',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tisPredefined() {\n\t\t\tconst matchingPredefined = this.predefinedTypes.find((type) => this.newValue === type.id)\n\t\t\tif (matchingPredefined) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom MIME type'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tconst matchingPredefined = this.predefinedTypes.find((type) => this.newValue === type.id)\n\t\t\tif (matchingPredefined) {\n\t\t\t\treturn matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom mimetype'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped lang=\"scss\">\n.v-select,\ninput[type='text'] {\n\twidth: 100%;\n}\n\ninput[type=text] {\n\tmin-height: 48px;\n}\n\n.option__icon,\n.option__icon-img {\n\tdisplay: inline-block;\n\tmin-width: 30px;\n\tbackground-position: center;\n\tvertical-align: middle;\n}\n\n.option__icon-img {\n\ttext-align: center;\n}\n\n.option__title {\n\tdisplay: inline-flex;\n\twidth: calc(100% - 36px);\n\tvertical-align: middle;\n}\n</style>\n","\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!./FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss\";\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!./FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileMimeType.vue?vue&type=template&id=1a11f354&scoped=true\"\nimport script from \"./FileMimeType.vue?vue&type=script&lang=js\"\nexport * from \"./FileMimeType.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss\"\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 \"1a11f354\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileSystemTag.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!./FileSystemTag.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<NcSelectTags v-model=\"newValue\"\n\t\t:multiple=\"false\"\n\t\t@input=\"update\" />\n</template>\n\n<script>\nimport NcSelectTags from '@nextcloud/vue/dist/Components/NcSelectTags.js'\n\nexport default {\n\tname: 'FileSystemTag',\n\tcomponents: {\n\t\tNcSelectTags,\n\t},\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: [],\n\t\t}\n\t},\n\twatch: {\n\t\tvalue() {\n\t\t\tthis.updateValue()\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.updateValue()\n\t},\n\tmethods: {\n\t\tupdateValue() {\n\t\t\tif (this.value !== '') {\n\t\t\t\tthis.newValue = parseInt(this.value)\n\t\t\t} else {\n\t\t\t\tthis.newValue = null\n\t\t\t}\n\t\t},\n\t\tupdate() {\n\t\t\tthis.$emit('input', this.newValue || '')\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render, staticRenderFns } from \"./FileSystemTag.vue?vue&type=template&id=3bb09106&scoped=true\"\nimport script from \"./FileSystemTag.vue?vue&type=script&lang=js\"\nexport * from \"./FileSystemTag.vue?vue&type=script&lang=js\"\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 \"3bb09106\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSelectTags',{attrs:{\"multiple\":false},on:{\"input\":_vm.update},model:{value:(_vm.newValue),callback:function ($$v) {_vm.newValue=$$v},expression:\"newValue\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { stringValidator, validateIPv4, validateIPv6 } from '../../helpers/validators.js'\nimport FileMimeType from './FileMimeType.vue'\nimport FileSystemTag from './FileSystemTag.vue'\n\nconst stringOrRegexOperators = () => {\n\treturn [\n\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t]\n}\n\nconst FileChecks = [\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileName',\n\t\tname: t('workflowengine', 'File name'),\n\t\toperators: stringOrRegexOperators,\n\t\tplaceholder: (check) => {\n\t\t\tif (check.operator === 'matches' || check.operator === '!matches') {\n\t\t\t\treturn '/^dummy-.+$/i'\n\t\t\t}\n\t\t\treturn 'filename.txt'\n\t\t},\n\t\tvalidate: stringValidator,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileMimeType',\n\t\tname: t('workflowengine', 'File MIME type'),\n\t\toperators: stringOrRegexOperators,\n\t\tcomponent: FileMimeType,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileSize',\n\t\tname: t('workflowengine', 'File size (upload)'),\n\t\toperators: [\n\t\t\t{ operator: 'less', name: t('workflowengine', 'less') },\n\t\t\t{ operator: '!greater', name: t('workflowengine', 'less or equals') },\n\t\t\t{ operator: '!less', name: t('workflowengine', 'greater or equals') },\n\t\t\t{ operator: 'greater', name: t('workflowengine', 'greater') },\n\t\t],\n\t\tplaceholder: (check) => '5 MB',\n\t\tvalidate: (check) => check.value ? check.value.match(/^[0-9]+[ ]?[kmgt]?b$/i) !== null : false,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestRemoteAddress',\n\t\tname: t('workflowengine', 'Request remote address'),\n\t\toperators: [\n\t\t\t{ operator: 'matchesIPv4', name: t('workflowengine', 'matches IPv4') },\n\t\t\t{ operator: '!matchesIPv4', name: t('workflowengine', 'does not match IPv4') },\n\t\t\t{ operator: 'matchesIPv6', name: t('workflowengine', 'matches IPv6') },\n\t\t\t{ operator: '!matchesIPv6', name: t('workflowengine', 'does not match IPv6') },\n\t\t],\n\t\tplaceholder: (check) => {\n\t\t\tif (check.operator === 'matchesIPv6' || check.operator === '!matchesIPv6') {\n\t\t\t\treturn '::1/128'\n\t\t\t}\n\t\t\treturn '127.0.0.1/32'\n\t\t},\n\t\tvalidate: (check) => {\n\t\t\tif (check.operator === 'matchesIPv6' || check.operator === '!matchesIPv6') {\n\t\t\t\treturn validateIPv6(check.value)\n\t\t\t}\n\t\t\treturn validateIPv4(check.value)\n\t\t},\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileSystemTags',\n\t\tname: t('workflowengine', 'File system tag'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is tagged with') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not tagged with') },\n\t\t],\n\t\tcomponent: FileSystemTag,\n\t},\n]\n\nexport default FileChecks\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.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!./RequestUserAgent.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a user agent')\"\n\t\t\tlabel=\"label\"\n\t\t\t:options=\"options\"\n\t\t\t:clearable=\"false\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.pattern\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nexport default {\n\tname: 'RequestUserAgent',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t\tpredefinedTypes: [\n\t\t\t\t{ id: 'android', label: t('workflowengine', 'Android client'), icon: 'icon-phone' },\n\t\t\t\t{ id: 'ios', label: t('workflowengine', 'iOS client'), icon: 'icon-phone' },\n\t\t\t\t{ id: 'desktop', label: t('workflowengine', 'Desktop client'), icon: 'icon-desktop' },\n\t\t\t\t{ id: 'mail', label: t('workflowengine', 'Thunderbird & Outlook addons'), icon: 'icon-mail' },\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tmatchingPredefined() {\n\t\t\treturn this.predefinedTypes\n\t\t\t\t.find((type) => this.newValue === type.id)\n\t\t},\n\t\tisPredefined() {\n\t\t\treturn !!this.matchingPredefined\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom user agent'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tif (this.matchingPredefined) {\n\t\t\t\treturn this.matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom user agent'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\t// TODO: check if value requires a regex and set the check operator according to that\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n\t.v-select,\n\tinput[type='text'] {\n\t\twidth: 100%;\n\t}\n\tinput[type='text'] {\n\t\tmin-height: 48px;\n\t}\n\n\t.option__icon {\n\t\tdisplay: inline-block;\n\t\tmin-width: 30px;\n\t\tbackground-position: center;\n\t\tvertical-align: middle;\n\t}\n\n\t.option__title {\n\t\tdisplay: inline-flex;\n\t\twidth: calc(100% - 36px);\n\t\tvertical-align: middle;\n\t}\n</style>\n","\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/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css\";\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/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestUserAgent.vue?vue&type=template&id=003881d4&scoped=true\"\nimport script from \"./RequestUserAgent.vue?vue&type=script&lang=js\"\nexport * from \"./RequestUserAgent.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css\"\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 \"003881d4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a user agent'),\"label\":\"label\",\"options\":_vm.options,\"clearable\":false},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span',{staticClass:\"option__icon\",class:option.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.currentValue.pattern},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"timeslot\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newValue.startTime),expression:\"newValue.startTime\"}],staticClass:\"timeslot--start\",attrs:{\"type\":\"text\",\"placeholder\":\"e.g. 08:00\"},domProps:{\"value\":(_vm.newValue.startTime)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.newValue, \"startTime\", $event.target.value)},_vm.update]}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newValue.endTime),expression:\"newValue.endTime\"}],attrs:{\"type\":\"text\",\"placeholder\":\"e.g. 18:00\"},domProps:{\"value\":(_vm.newValue.endTime)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.newValue, \"endTime\", $event.target.value)},_vm.update]}}),_vm._v(\" \"),(!_vm.valid)?_c('p',{staticClass:\"invalid-hint\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Please enter a valid time span'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcSelect',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.valid),expression:\"valid\"}],attrs:{\"clearable\":false,\"options\":_vm.timezones},on:{\"input\":_vm.update},model:{value:(_vm.newValue.timezone),callback:function ($$v) {_vm.$set(_vm.newValue, \"timezone\", $$v)},expression:\"newValue.timezone\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"timeslot\">\n\t\t<input v-model=\"newValue.startTime\"\n\t\t\ttype=\"text\"\n\t\t\tclass=\"timeslot--start\"\n\t\t\tplaceholder=\"e.g. 08:00\"\n\t\t\t@input=\"update\">\n\t\t<input v-model=\"newValue.endTime\"\n\t\t\ttype=\"text\"\n\t\t\tplaceholder=\"e.g. 18:00\"\n\t\t\t@input=\"update\">\n\t\t<p v-if=\"!valid\" class=\"invalid-hint\">\n\t\t\t{{ t('workflowengine', 'Please enter a valid time span') }}\n\t\t</p>\n\t\t<NcSelect v-show=\"valid\"\n\t\t\tv-model=\"newValue.timezone\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"timezones\"\n\t\t\t@input=\"update\" />\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport moment from 'moment-timezone'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nconst zones = moment.tz.names()\nexport default {\n\tname: 'RequestTime',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttimezones: zones,\n\t\t\tvalid: false,\n\t\t\tnewValue: {\n\t\t\t\tstartTime: null,\n\t\t\t\tendTime: null,\n\t\t\t\ttimezone: moment.tz.guess(),\n\t\t\t},\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.validate()\n\t},\n\tmethods: {\n\t\tupdateInternalValue(value) {\n\t\t\ttry {\n\t\t\t\tconst data = JSON.parse(value)\n\t\t\t\tif (data.length === 2) {\n\t\t\t\t\tthis.newValue = {\n\t\t\t\t\t\tstartTime: data[0].split(' ', 2)[0],\n\t\t\t\t\t\tendTime: data[1].split(' ', 2)[0],\n\t\t\t\t\t\ttimezone: data[0].split(' ', 2)[1],\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t// ignore invalid values\n\t\t\t}\n\t\t},\n\t\tvalidate() {\n\t\t\tthis.valid = this.newValue.startTime && this.newValue.startTime.match(/^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$/i) !== null\n\t\t\t\t&& this.newValue.endTime && this.newValue.endTime.match(/^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$/i) !== null\n\t\t\t\t&& moment.tz.zone(this.newValue.timezone) !== null\n\t\t\tif (this.valid) {\n\t\t\t\tthis.$emit('valid')\n\t\t\t} else {\n\t\t\t\tthis.$emit('invalid')\n\t\t\t}\n\t\t\treturn this.valid\n\t\t},\n\t\tupdate() {\n\t\t\tif (this.newValue.timezone === null) {\n\t\t\t\tthis.newValue.timezone = moment.tz.guess()\n\t\t\t}\n\t\t\tif (this.validate()) {\n\t\t\t\tconst output = `[\"${this.newValue.startTime} ${this.newValue.timezone}\",\"${this.newValue.endTime} ${this.newValue.timezone}\"]`\n\t\t\t\tthis.$emit('input', output)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.timeslot {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-wrap: wrap;\n\t\tmax-width: 180px;\n\n\t\t.multiselect {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\n\t\t.multiselect::v-deep .multiselect__tags:not(:hover):not(:focus):not(:active) {\n\t\t\tborder: 1px solid transparent;\n\t\t}\n\n\t\tinput[type=text] {\n\t\t\twidth: 50%;\n\t\t\tmargin: 0;\n\t\t\tmargin-bottom: 5px;\n\t\t\tmin-height: 48px;\n\n\t\t\t&.timeslot--start {\n\t\t\t\tmargin-right: 5px;\n\t\t\t\twidth: calc(50% - 5px);\n\t\t\t}\n\t\t}\n\n\t\t.invalid-hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestTime.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!./RequestTime.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!./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss\";\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!./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestTime.vue?vue&type=template&id=7a2ecc67&scoped=true\"\nimport script from \"./RequestTime.vue?vue&type=script&lang=js\"\nexport * from \"./RequestTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss\"\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 \"7a2ecc67\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestURL.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!./RequestURL.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a request URL')\"\n\t\t\tlabel=\"label\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"options\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.id\"\n\t\t\t:placeholder=\"placeholder\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nexport default {\n\tname: 'RequestURL',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t\tpredefinedTypes: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-files-dark',\n\t\t\t\t\tid: 'webdav',\n\t\t\t\t\tlabel: t('workflowengine', 'Files WebDAV'),\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tplaceholder() {\n\t\t\tif (this.check.operator === 'matches' || this.check.operator === '!matches') {\n\t\t\t\treturn '/^https\\\\:\\\\/\\\\/localhost\\\\/index\\\\.php$/i'\n\t\t\t}\n\t\t\treturn 'https://localhost/index.php'\n\t\t},\n\t\tmatchingPredefined() {\n\t\t\treturn this.predefinedTypes\n\t\t\t\t.find((type) => this.newValue === type.id)\n\t\t},\n\t\tisPredefined() {\n\t\t\treturn !!this.matchingPredefined\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom URL'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tif (this.matchingPredefined) {\n\t\t\t\treturn this.matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom URL'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\t// TODO: check if value requires a regex and set the check operator according to that\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped lang=\"scss\">\n\t.v-select,\n\tinput[type='text'] {\n\t\twidth: 100%;\n\t}\n\tinput[type='text'] {\n\t\tmin-height: 48px;\n\t}\n\n\t.option__icon {\n\t\tdisplay: inline-block;\n\t\tmin-width: 30px;\n\t\tbackground-position: center;\n\t\tvertical-align: middle;\n\t}\n\n\t.option__title {\n\t\tdisplay: inline-flex;\n\t\twidth: calc(100% - 36px);\n\t\tvertical-align: middle;\n\t}\n</style>\n","\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!./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss\";\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!./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestURL.vue?vue&type=template&id=1a72d97f&scoped=true\"\nimport script from \"./RequestURL.vue?vue&type=script&lang=js\"\nexport * from \"./RequestURL.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss\"\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 \"1a72d97f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a request URL'),\"label\":\"label\",\"clearable\":false,\"options\":_vm.options},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span',{staticClass:\"option__icon\",class:option.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.currentValue.id},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"loading\":_vm.status.isLoading && _vm.groups.length === 0,\"options\":_vm.groups,\"clearable\":false,\"label\":\"displayname\"},on:{\"search-change\":_vm.searchAsync,\"input\":(value) => _vm.$emit('input', value.id)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:loading=\"status.isLoading && groups.length === 0\"\n\t\t\t:options=\"groups\"\n\t\t\t:clearable=\"false\"\n\t\t\tlabel=\"displayname\"\n\t\t\t@search-change=\"searchAsync\"\n\t\t\t@input=\"(value) => $emit('input', value.id)\" />\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst groups = []\nconst status = {\n\tisLoading: false,\n}\n\nexport default {\n\tname: 'RequestUserGroup',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tcheck: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroups,\n\t\t\tstatus,\n\t\t}\n\t},\n\tcomputed: {\n\t\tcurrentValue() {\n\t\t\treturn this.groups.find(group => group.id === this.value) || null\n\t\t},\n\t},\n\tasync mounted() {\n\t\tif (this.groups.length === 0) {\n\t\t\tawait this.searchAsync('')\n\t\t}\n\t\tif (this.currentValue === null) {\n\t\t\tawait this.searchAsync(this.value)\n\t\t}\n\t},\n\tmethods: {\n\t\tsearchAsync(searchQuery) {\n\t\t\tif (this.status.isLoading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.status.isLoading = true\n\t\t\treturn axios.get(generateOcsUrl('cloud/groups/details?limit=20&search={searchQuery}', { searchQuery })).then((response) => {\n\t\t\t\tresponse.data.ocs.data.groups.forEach((group) => {\n\t\t\t\t\tthis.addGroup({\n\t\t\t\t\t\tid: group.id,\n\t\t\t\t\t\tdisplayname: group.displayname,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tthis.status.isLoading = false\n\t\t\t}, (error) => {\n\t\t\t\tconsole.error('Error while loading group list', error.response)\n\t\t\t})\n\t\t},\n\t\taddGroup(group) {\n\t\t\tconst index = this.groups.findIndex((item) => item.id === group.id)\n\t\t\tif (index === -1) {\n\t\t\t\tthis.groups.push(group)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n.v-select {\n\twidth: 100%;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.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!./RequestUserGroup.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/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css\";\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/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestUserGroup.vue?vue&type=template&id=16d8123e&scoped=true\"\nimport script from \"./RequestUserGroup.vue?vue&type=script&lang=js\"\nexport * from \"./RequestUserGroup.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css\"\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 \"16d8123e\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport FileChecks from './file.js'\nimport RequestChecks from './request.js'\n\nexport default [...FileChecks, ...RequestChecks]\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport RequestUserAgent from './RequestUserAgent.vue'\nimport RequestTime from './RequestTime.vue'\nimport RequestURL from './RequestURL.vue'\nimport RequestUserGroup from './RequestUserGroup.vue'\n\nconst RequestChecks = [\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestURL',\n\t\tname: t('workflowengine', 'Request URL'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t],\n\t\tcomponent: RequestURL,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestTime',\n\t\tname: t('workflowengine', 'Request time'),\n\t\toperators: [\n\t\t\t{ operator: 'in', name: t('workflowengine', 'between') },\n\t\t\t{ operator: '!in', name: t('workflowengine', 'not between') },\n\t\t],\n\t\tcomponent: RequestTime,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestUserAgent',\n\t\tname: t('workflowengine', 'Request user agent'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t],\n\t\tcomponent: RequestUserAgent,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\UserGroupMembership',\n\t\tname: t('workflowengine', 'User group membership'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is member of') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not member of') },\n\t\t],\n\t\tcomponent: RequestUserGroup,\n\t},\n]\n\nexport default RequestChecks\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport store from './store.js'\nimport Settings from './components/Workflow.vue'\nimport ShippedChecks from './components/Checks/index.js'\n\n/**\n * A plugin for displaying a custom value field for checks\n *\n * @typedef {object} CheckPlugin\n * @property {string} class - The PHP class name of the check\n * @property {Comparison[]} operators - A list of possible comparison operations running on the check\n * @property {Vue} component - A vue component to handle the rendering of options\n * The component should handle the v-model directive properly,\n * so it needs a value property to receive data and emit an input\n * event once the data has changed\n * @property {Function} placeholder - Return a placeholder of no custom component is used\n * @property {Function} validate - validate a check if no custom component is used\n */\n\n/**\n * A plugin for extending the admin page representation of an operator\n *\n * @typedef {object} OperatorPlugin\n * @property {string} id - The PHP class name of the check\n * @property {string} operation - Default value for the operation field\n * @property {string} color - Custom color code to be applied for the operator selector\n * @property {Vue} component - A vue component to handle the rendering of options\n * The component should handle the v-model directive properly,\n * so it needs a value property to receive data and emit an input\n * event once the data has changed\n */\n\n/**\n * @typedef {object} Comparison\n * @property {string} operator - value the comparison should have, e.g. !less, greater\n * @property {string} name - Translated readable text, e.g. less or equals\n */\n\n/**\n * Public javascript api for apps to register custom plugins\n */\nwindow.OCA.WorkflowEngine = Object.assign({}, OCA.WorkflowEngine, {\n\n\t/**\n\t *\n\t * @param {CheckPlugin} Plugin the plugin to register\n\t */\n\tregisterCheck(Plugin) {\n\t\tstore.commit('addPluginCheck', Plugin)\n\t},\n\t/**\n\t *\n\t * @param {OperatorPlugin} Plugin the plugin to register\n\t */\n\tregisterOperator(Plugin) {\n\t\tstore.commit('addPluginOperator', Plugin)\n\t},\n})\n\n// Register shipped checks\nShippedChecks.forEach((checkPlugin) => window.OCA.WorkflowEngine.registerCheck(checkPlugin))\n\nVue.use(Vuex)\nVue.prototype.t = t\n\nconst View = Vue.extend(Settings)\nconst workflowengine = new View({\n\tstore,\n})\nworkflowengine.$mount('#workflowengine')\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, `.check[data-v-07a2739b]{display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;padding-right:20px}.check>*[data-v-07a2739b]:not(.close){width:180px}.check>.comparator[data-v-07a2739b]{min-width:200px;width:200px}.check>.option[data-v-07a2739b]{min-width:260px;width:260px;min-height:48px}.check>.option>input[type=text][data-v-07a2739b]{min-height:48px}.check>.v-select[data-v-07a2739b],.check>.button-vue[data-v-07a2739b],.check>input[type=text][data-v-07a2739b]{margin-right:5px;margin-bottom:5px}input[type=text][data-v-07a2739b]{margin:0}.invalid[data-v-07a2739b]{border-color:var(--color-error) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Check.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,YAAA,CACA,cAAA,CACA,sBAAA,CACA,UAAA,CACA,kBAAA,CAEA,sCACC,WAAA,CAED,oCACC,eAAA,CACA,WAAA,CAED,gCACC,eAAA,CACA,WAAA,CACA,eAAA,CAEA,iDACC,eAAA,CAGF,+GAGC,gBAAA,CACA,iBAAA,CAGF,kCACC,QAAA,CAED,0BACC,0CAAA\",\"sourcesContent\":[\"\\n.check {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start; // to not stretch components vertically\\n\\twidth: 100%;\\n\\tpadding-right: 20px;\\n\\n\\t& > *:not(.close) {\\n\\t\\twidth: 180px;\\n\\t}\\n\\t& > .comparator {\\n\\t\\tmin-width: 200px;\\n\\t\\twidth: 200px;\\n\\t}\\n\\t& > .option {\\n\\t\\tmin-width: 260px;\\n\\t\\twidth: 260px;\\n\\t\\tmin-height: 48px;\\n\\n\\t\\t& > input[type=text] {\\n\\t\\t\\tmin-height: 48px;\\n\\t\\t}\\n\\t}\\n\\t& > .v-select,\\n\\t& > .button-vue,\\n\\t& > input[type=text] {\\n\\t\\tmargin-right: 5px;\\n\\t\\tmargin-bottom: 5px;\\n\\t}\\n}\\ninput[type=text] {\\n\\tmargin: 0;\\n}\\n.invalid {\\n\\tborder-color: var(--color-error) !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.v-select[data-v-1a11f354],input[type=text][data-v-1a11f354]{width:100%}input[type=text][data-v-1a11f354]{min-height:48px}.option__icon[data-v-1a11f354],.option__icon-img[data-v-1a11f354]{display:inline-block;min-width:30px;background-position:center;vertical-align:middle}.option__icon-img[data-v-1a11f354]{text-align:center}.option__title[data-v-1a11f354]{display:inline-flex;width:calc(100% - 36px);vertical-align:middle}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/FileMimeType.vue\"],\"names\":[],\"mappings\":\"AACA,6DAEC,UAAA,CAGD,kCACC,eAAA,CAGD,kEAEC,oBAAA,CACA,cAAA,CACA,0BAAA,CACA,qBAAA,CAGD,mCACC,iBAAA,CAGD,gCACC,mBAAA,CACA,uBAAA,CACA,qBAAA\",\"sourcesContent\":[\"\\n.v-select,\\ninput[type='text'] {\\n\\twidth: 100%;\\n}\\n\\ninput[type=text] {\\n\\tmin-height: 48px;\\n}\\n\\n.option__icon,\\n.option__icon-img {\\n\\tdisplay: inline-block;\\n\\tmin-width: 30px;\\n\\tbackground-position: center;\\n\\tvertical-align: middle;\\n}\\n\\n.option__icon-img {\\n\\ttext-align: center;\\n}\\n\\n.option__title {\\n\\tdisplay: inline-flex;\\n\\twidth: calc(100% - 36px);\\n\\tvertical-align: middle;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.timeslot[data-v-7a2ecc67]{display:flex;flex-grow:1;flex-wrap:wrap;max-width:180px}.timeslot .multiselect[data-v-7a2ecc67]{width:100%;margin-bottom:5px}.timeslot .multiselect[data-v-7a2ecc67] .multiselect__tags:not(:hover):not(:focus):not(:active){border:1px solid rgba(0,0,0,0)}.timeslot input[type=text][data-v-7a2ecc67]{width:50%;margin:0;margin-bottom:5px;min-height:48px}.timeslot input[type=text].timeslot--start[data-v-7a2ecc67]{margin-right:5px;width:calc(50% - 5px)}.timeslot .invalid-hint[data-v-7a2ecc67]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestTime.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,YAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CAEA,wCACC,UAAA,CACA,iBAAA,CAGD,gGACC,8BAAA,CAGD,4CACC,SAAA,CACA,QAAA,CACA,iBAAA,CACA,eAAA,CAEA,4DACC,gBAAA,CACA,qBAAA,CAIF,yCACC,mCAAA\",\"sourcesContent\":[\"\\n.timeslot {\\n\\tdisplay: flex;\\n\\tflex-grow: 1;\\n\\tflex-wrap: wrap;\\n\\tmax-width: 180px;\\n\\n\\t.multiselect {\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 5px;\\n\\t}\\n\\n\\t.multiselect::v-deep .multiselect__tags:not(:hover):not(:focus):not(:active) {\\n\\t\\tborder: 1px solid transparent;\\n\\t}\\n\\n\\tinput[type=text] {\\n\\t\\twidth: 50%;\\n\\t\\tmargin: 0;\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmin-height: 48px;\\n\\n\\t\\t&.timeslot--start {\\n\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\twidth: calc(50% - 5px);\\n\\t\\t}\\n\\t}\\n\\n\\t.invalid-hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.v-select[data-v-1a72d97f],input[type=text][data-v-1a72d97f]{width:100%}input[type=text][data-v-1a72d97f]{min-height:48px}.option__icon[data-v-1a72d97f]{display:inline-block;min-width:30px;background-position:center;vertical-align:middle}.option__title[data-v-1a72d97f]{display:inline-flex;width:calc(100% - 36px);vertical-align:middle}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestURL.vue\"],\"names\":[],\"mappings\":\"AACA,6DAEC,UAAA,CAED,kCACC,eAAA,CAGD,+BACC,oBAAA,CACA,cAAA,CACA,0BAAA,CACA,qBAAA,CAGD,gCACC,mBAAA,CACA,uBAAA,CACA,qBAAA\",\"sourcesContent\":[\"\\n.v-select,\\ninput[type='text'] {\\n\\twidth: 100%;\\n}\\ninput[type='text'] {\\n\\tmin-height: 48px;\\n}\\n\\n.option__icon {\\n\\tdisplay: inline-block;\\n\\tmin-width: 30px;\\n\\tbackground-position: center;\\n\\tvertical-align: middle;\\n}\\n\\n.option__title {\\n\\tdisplay: inline-flex;\\n\\twidth: calc(100% - 36px);\\n\\tvertical-align: middle;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.event[data-v-d4892b64]{margin-bottom:5px}.event__trigger[data-v-d4892b64]{max-width:550px}.isComplex img[data-v-d4892b64]{vertical-align:text-top}.isComplex span[data-v-d4892b64]{padding-top:2px;display:inline-block}.option__title[data-v-d4892b64]{margin-left:5px;color:var(--color-main-text)}.option__icon[data-v-d4892b64]{width:16px;height:16px;filter:var(--background-invert-if-dark)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Event.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,iBAAA,CAEA,iCACC,eAAA,CAID,gCACC,uBAAA,CAED,iCACC,eAAA,CACA,oBAAA,CAIF,gCACC,eAAA,CACA,4BAAA,CAGD,+BACC,UAAA,CACA,WAAA,CACA,uCAAA\",\"sourcesContent\":[\"\\n.event {\\n\\tmargin-bottom: 5px;\\n\\n\\t&__trigger {\\n\\t\\tmax-width: 550px;\\n\\t}\\n}\\n.isComplex {\\n\\timg {\\n\\t\\tvertical-align: text-top;\\n\\t}\\n\\tspan {\\n\\t\\tpadding-top: 2px;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.option__title {\\n\\tmargin-left: 5px;\\n\\tcolor: var(--color-main-text);\\n}\\n\\n.option__icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tfilter: var(--background-invert-if-dark);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.actions__item[data-v-a0480332]{display:flex;flex-wrap:wrap;flex-direction:column;flex-grow:1;margin-left:-1px;padding:10px;border-radius:var(--border-radius-large);margin-right:20px;margin-bottom:20px}.actions__item .icon[data-v-a0480332]{display:block;width:100%;height:50px;background-size:50px 50px;background-position:center center;margin-top:10px;margin-bottom:10px;background-repeat:no-repeat}.actions__item__description[data-v-a0480332]{text-align:center;flex-grow:1;display:flex;flex-direction:column;align-items:center}.actions__item_options[data-v-a0480332]{width:100%;margin-top:10px;padding-left:60px}h3[data-v-a0480332],small[data-v-a0480332]{padding:6px;display:block}h3[data-v-a0480332]{margin:0;padding:0;font-weight:600}small[data-v-a0480332]{font-size:10pt;flex-grow:1}.colored[data-v-a0480332]:not(.more){background-color:var(--color-primary-element)}.colored:not(.more) h3[data-v-a0480332],.colored:not(.more) small[data-v-a0480332]{color:var(--color-primary-element-text)}.actions__item[data-v-a0480332]:not(.colored){flex-direction:row}.actions__item:not(.colored) .actions__item__description[data-v-a0480332]{padding-top:5px;text-align:left;width:calc(100% - 105px)}.actions__item:not(.colored) .actions__item__description small[data-v-a0480332]{padding:0}.actions__item:not(.colored) .icon[data-v-a0480332]{width:50px;margin:0;margin-right:10px}.actions__item:not(.colored) .icon[data-v-a0480332]:not(.icon-invert){filter:var(--background-invert-if-bright)}.colored .icon-invert[data-v-a0480332]{filter:var(--background-invert-if-bright)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/styles/operation.scss\"],\"names\":[],\"mappings\":\"AAAA,gCACC,YAAA,CACA,cAAA,CACA,qBAAA,CACA,WAAA,CACA,gBAAA,CACA,YAAA,CACA,wCAAA,CACA,iBAAA,CACA,kBAAA,CAED,sCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,yBAAA,CACA,iCAAA,CACA,eAAA,CACA,kBAAA,CACA,2BAAA,CAED,6CACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CAED,wCACC,UAAA,CACA,eAAA,CACA,iBAAA,CAED,2CACC,WAAA,CACA,aAAA,CAED,oBACC,QAAA,CACA,SAAA,CACA,eAAA,CAED,uBACC,cAAA,CACA,WAAA,CAGD,qCACC,6CAAA,CACA,mFACC,uCAAA,CAIF,8CACC,kBAAA,CAEA,0EACC,eAAA,CACA,eAAA,CACA,wBAAA,CACA,gFACC,SAAA,CAGF,oDACC,UAAA,CACA,QAAA,CACA,iBAAA,CACA,sEACC,yCAAA,CAKH,uCACC,yCAAA\",\"sourcesContent\":[\".actions__item {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex-direction: column;\\n\\tflex-grow: 1;\\n\\tmargin-left: -1px;\\n\\tpadding: 10px;\\n\\tborder-radius: var(--border-radius-large);\\n\\tmargin-right: 20px;\\n\\tmargin-bottom: 20px;\\n}\\n.actions__item .icon {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 50px;\\n\\tbackground-size: 50px 50px;\\n\\tbackground-position: center center;\\n\\tmargin-top: 10px;\\n\\tmargin-bottom: 10px;\\n\\tbackground-repeat: no-repeat;\\n}\\n.actions__item__description {\\n\\ttext-align: center;\\n\\tflex-grow: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n}\\n.actions__item_options {\\n\\twidth: 100%;\\n\\tmargin-top: 10px;\\n\\tpadding-left: 60px;\\n}\\nh3, small {\\n\\tpadding: 6px;\\n\\tdisplay: block;\\n}\\nh3 {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tfont-weight: 600;\\n}\\nsmall {\\n\\tfont-size: 10pt;\\n\\tflex-grow: 1;\\n}\\n\\n.colored:not(.more) {\\n\\tbackground-color: var(--color-primary-element);\\n\\th3, small {\\n\\t\\tcolor: var(--color-primary-element-text)\\n\\t}\\n}\\n\\n.actions__item:not(.colored) {\\n\\tflex-direction: row;\\n\\n\\t.actions__item__description {\\n\\t\\tpadding-top: 5px;\\n\\t\\ttext-align: left;\\n\\t\\twidth: calc(100% - 105px);\\n\\t\\tsmall {\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\t.icon {\\n\\t\\twidth: 50px;\\n\\t\\tmargin: 0;\\n\\t\\tmargin-right: 10px;\\n\\t\\t&:not(.icon-invert) {\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n}\\n\\n.colored .icon-invert {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.buttons[data-v-3def8966]{display:flex;justify-content:end}.buttons button[data-v-3def8966]{margin-left:5px}.buttons button[data-v-3def8966]:last-child{margin-right:10px}.error-message[data-v-3def8966]{float:right;margin-right:10px}.flow-icon[data-v-3def8966]{width:44px}.rule[data-v-3def8966]{display:flex;flex-wrap:wrap;border-left:5px solid var(--color-primary-element)}.rule .trigger[data-v-3def8966],.rule .action[data-v-3def8966]{flex-grow:1;min-height:100px;max-width:920px}.rule .action[data-v-3def8966]{max-width:400px;position:relative}.rule .icon-confirm[data-v-3def8966]{background-position:right 27px;padding-right:20px;margin-right:20px}.trigger p[data-v-3def8966],.action p[data-v-3def8966]{min-height:34px;display:flex}.trigger p>span[data-v-3def8966],.action p>span[data-v-3def8966]{min-width:50px;text-align:right;color:var(--color-text-maxcontrast);padding-right:10px;padding-top:6px}.trigger p .multiselect[data-v-3def8966],.action p .multiselect[data-v-3def8966]{flex-grow:1;max-width:300px}.trigger p:first-child span[data-v-3def8966]{padding-top:3px}.trigger p[data-v-3def8966]:last-child{padding-top:8px}.check--add[data-v-3def8966]{background-position:7px center;background-color:rgba(0,0,0,0);padding-left:6px;margin:0;width:180px;border-radius:var(--border-radius);color:var(--color-text-maxcontrast);font-weight:normal;text-align:left;font-size:1em}@media(max-width: 1400px){.rule[data-v-3def8966],.rule .trigger[data-v-3def8966],.rule .action[data-v-3def8966]{width:100%;max-width:100%}.rule .flow-icon[data-v-3def8966]{display:none}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Rule.vue\"],\"names\":[],\"mappings\":\"AAEA,0BACC,YAAA,CACA,mBAAA,CAEA,iCACC,eAAA,CAED,4CACC,iBAAA,CAIF,gCACC,WAAA,CACA,iBAAA,CAGD,4BACC,UAAA,CAGD,uBACC,YAAA,CACA,cAAA,CACA,kDAAA,CAEA,+DAEC,WAAA,CACA,gBAAA,CACA,eAAA,CAED,+BACC,eAAA,CACA,iBAAA,CAED,qCACC,8BAAA,CACA,kBAAA,CACA,iBAAA,CAGF,uDACC,eAAA,CACA,YAAA,CAEA,iEACC,cAAA,CACA,gBAAA,CACA,mCAAA,CACA,kBAAA,CACA,eAAA,CAED,iFACC,WAAA,CACA,eAAA,CAGF,6CACE,eAAA,CAEF,uCACE,eAAA,CAGF,6BACC,8BAAA,CACA,8BAAA,CACA,gBAAA,CACA,QAAA,CACA,WAAA,CACA,kCAAA,CACA,mCAAA,CACA,kBAAA,CACA,eAAA,CACA,aAAA,CAGD,0BAEE,sFACC,UAAA,CACA,cAAA,CAED,kCACC,YAAA,CAAA\",\"sourcesContent\":[\"\\n\\n.buttons {\\n\\tdisplay: flex;\\n\\tjustify-content: end;\\n\\n\\tbutton {\\n\\t\\tmargin-left: 5px;\\n\\t}\\n\\tbutton:last-child{\\n\\t\\tmargin-right: 10px;\\n\\t}\\n}\\n\\n.error-message {\\n\\tfloat: right;\\n\\tmargin-right: 10px;\\n}\\n\\n.flow-icon {\\n\\twidth: 44px;\\n}\\n\\n.rule {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tborder-left: 5px solid var(--color-primary-element);\\n\\n\\t.trigger,\\n\\t.action {\\n\\t\\tflex-grow: 1;\\n\\t\\tmin-height: 100px;\\n\\t\\tmax-width: 920px;\\n\\t}\\n\\t.action {\\n\\t\\tmax-width: 400px;\\n\\t\\tposition: relative;\\n\\t}\\n\\t.icon-confirm {\\n\\t\\tbackground-position: right 27px;\\n\\t\\tpadding-right: 20px;\\n\\t\\tmargin-right: 20px;\\n\\t}\\n}\\n.trigger p, .action p {\\n\\tmin-height: 34px;\\n\\tdisplay: flex;\\n\\n\\t& > span {\\n\\t\\tmin-width: 50px;\\n\\t\\ttext-align: right;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-right: 10px;\\n\\t\\tpadding-top: 6px;\\n\\t}\\n\\t.multiselect {\\n\\t\\tflex-grow: 1;\\n\\t\\tmax-width: 300px;\\n\\t}\\n}\\n.trigger p:first-child span {\\n\\t\\tpadding-top: 3px;\\n}\\n.trigger p:last-child {\\n\\t\\tpadding-top: 8px;\\n}\\n\\n.check--add {\\n\\tbackground-position: 7px center;\\n\\tbackground-color: transparent;\\n\\tpadding-left: 6px;\\n\\tmargin: 0;\\n\\twidth: 180px;\\n\\tborder-radius: var(--border-radius);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tfont-weight: normal;\\n\\ttext-align: left;\\n\\tfont-size: 1em;\\n}\\n\\n@media (max-width:1400px) {\\n\\t.rule {\\n\\t\\t&, .trigger, .action {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t\\t.flow-icon {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `#workflowengine[data-v-16a5974e]{border-bottom:1px solid var(--color-border)}.section[data-v-16a5974e]{max-width:100vw}.section h2.configured-flows[data-v-16a5974e]{margin-top:50px;margin-bottom:0}.actions[data-v-16a5974e]{display:flex;flex-wrap:wrap;max-width:1200px}.actions .actions__item[data-v-16a5974e]{max-width:280px;flex-basis:250px}.actions__more[data-v-16a5974e]{margin-bottom:10px}.slide-enter-active[data-v-16a5974e]{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-in;-webkit-transition-timing-function:ease-in;-o-transition-timing-function:ease-in;transition-timing-function:ease-in}.slide-leave-active[data-v-16a5974e]{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:cubic-bezier(0, 1, 0.5, 1);-webkit-transition-timing-function:cubic-bezier(0, 1, 0.5, 1);-o-transition-timing-function:cubic-bezier(0, 1, 0.5, 1);transition-timing-function:cubic-bezier(0, 1, 0.5, 1)}.slide-enter-to[data-v-16a5974e],.slide-leave[data-v-16a5974e]{max-height:500px;overflow:hidden}.slide-enter[data-v-16a5974e],.slide-leave-to[data-v-16a5974e]{overflow:hidden;max-height:0;padding-top:0;padding-bottom:0}.actions__item[data-v-16a5974e]{display:flex;flex-wrap:wrap;flex-direction:column;flex-grow:1;margin-left:-1px;padding:10px;border-radius:var(--border-radius-large);margin-right:20px;margin-bottom:20px}.actions__item .icon[data-v-16a5974e]{display:block;width:100%;height:50px;background-size:50px 50px;background-position:center center;margin-top:10px;margin-bottom:10px;background-repeat:no-repeat}.actions__item__description[data-v-16a5974e]{text-align:center;flex-grow:1;display:flex;flex-direction:column;align-items:center}.actions__item_options[data-v-16a5974e]{width:100%;margin-top:10px;padding-left:60px}h3[data-v-16a5974e],small[data-v-16a5974e]{padding:6px;display:block}h3[data-v-16a5974e]{margin:0;padding:0;font-weight:600}small[data-v-16a5974e]{font-size:10pt;flex-grow:1}.colored[data-v-16a5974e]:not(.more){background-color:var(--color-primary-element)}.colored:not(.more) h3[data-v-16a5974e],.colored:not(.more) small[data-v-16a5974e]{color:var(--color-primary-element-text)}.actions__item[data-v-16a5974e]:not(.colored){flex-direction:row}.actions__item:not(.colored) .actions__item__description[data-v-16a5974e]{padding-top:5px;text-align:left;width:calc(100% - 105px)}.actions__item:not(.colored) .actions__item__description small[data-v-16a5974e]{padding:0}.actions__item:not(.colored) .icon[data-v-16a5974e]{width:50px;margin:0;margin-right:10px}.actions__item:not(.colored) .icon[data-v-16a5974e]:not(.icon-invert){filter:var(--background-invert-if-bright)}.colored .icon-invert[data-v-16a5974e]{filter:var(--background-invert-if-bright)}.actions__item.more[data-v-16a5974e]{background-color:var(--color-background-dark)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Workflow.vue\",\"webpack://./apps/workflowengine/src/styles/operation.scss\"],\"names\":[],\"mappings\":\"AACA,iCACC,2CAAA,CAED,0BACC,eAAA,CAEA,8CACC,eAAA,CACA,eAAA,CAGF,0BACC,YAAA,CACA,cAAA,CACA,gBAAA,CACA,yCACC,eAAA,CACA,gBAAA,CAGF,gCACC,kBAAA,CAGD,qCACC,4BAAA,CACA,+BAAA,CACA,0BAAA,CACA,uBAAA,CACA,uCAAA,CACA,0CAAA,CACA,qCAAA,CACA,kCAAA,CAGD,qCACC,4BAAA,CACA,+BAAA,CACA,0BAAA,CACA,uBAAA,CACA,0DAAA,CACA,6DAAA,CACA,wDAAA,CACA,qDAAA,CAGD,+DACC,gBAAA,CACA,eAAA,CAGD,+DACC,eAAA,CACA,YAAA,CACA,aAAA,CACA,gBAAA,CCxDD,gCACC,YAAA,CACA,cAAA,CACA,qBAAA,CACA,WAAA,CACA,gBAAA,CACA,YAAA,CACA,wCAAA,CACA,iBAAA,CACA,kBAAA,CAED,sCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,yBAAA,CACA,iCAAA,CACA,eAAA,CACA,kBAAA,CACA,2BAAA,CAED,6CACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CAED,wCACC,UAAA,CACA,eAAA,CACA,iBAAA,CAED,2CACC,WAAA,CACA,aAAA,CAED,oBACC,QAAA,CACA,SAAA,CACA,eAAA,CAED,uBACC,cAAA,CACA,WAAA,CAGD,qCACC,6CAAA,CACA,mFACC,uCAAA,CAIF,8CACC,kBAAA,CAEA,0EACC,eAAA,CACA,eAAA,CACA,wBAAA,CACA,gFACC,SAAA,CAGF,oDACC,UAAA,CACA,QAAA,CACA,iBAAA,CACA,sEACC,yCAAA,CAKH,uCACC,yCAAA,CDfD,qCACC,6CAAA\",\"sourcesContent\":[\"\\n#workflowengine {\\n\\tborder-bottom: 1px solid var(--color-border);\\n}\\n.section {\\n\\tmax-width: 100vw;\\n\\n\\th2.configured-flows {\\n\\t\\tmargin-top: 50px;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n}\\n.actions {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tmax-width: 1200px;\\n\\t.actions__item {\\n\\t\\tmax-width: 280px;\\n\\t\\tflex-basis: 250px;\\n\\t}\\n}\\n.actions__more {\\n\\tmargin-bottom: 10px;\\n}\\n\\n.slide-enter-active {\\n\\t-moz-transition-duration: 0.3s;\\n\\t-webkit-transition-duration: 0.3s;\\n\\t-o-transition-duration: 0.3s;\\n\\ttransition-duration: 0.3s;\\n\\t-moz-transition-timing-function: ease-in;\\n\\t-webkit-transition-timing-function: ease-in;\\n\\t-o-transition-timing-function: ease-in;\\n\\ttransition-timing-function: ease-in;\\n}\\n\\n.slide-leave-active {\\n\\t-moz-transition-duration: 0.3s;\\n\\t-webkit-transition-duration: 0.3s;\\n\\t-o-transition-duration: 0.3s;\\n\\ttransition-duration: 0.3s;\\n\\t-moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n\\t-webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n\\t-o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n\\ttransition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n}\\n\\n.slide-enter-to, .slide-leave {\\n\\tmax-height: 500px;\\n\\toverflow: hidden;\\n}\\n\\n.slide-enter, .slide-leave-to {\\n\\toverflow: hidden;\\n\\tmax-height: 0;\\n\\tpadding-top: 0;\\n\\tpadding-bottom: 0;\\n}\\n\\n@import \\\"./../styles/operation\\\";\\n\\n.actions__item.more {\\n\\tbackground-color: var(--color-background-dark);\\n}\\n\",\".actions__item {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex-direction: column;\\n\\tflex-grow: 1;\\n\\tmargin-left: -1px;\\n\\tpadding: 10px;\\n\\tborder-radius: var(--border-radius-large);\\n\\tmargin-right: 20px;\\n\\tmargin-bottom: 20px;\\n}\\n.actions__item .icon {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 50px;\\n\\tbackground-size: 50px 50px;\\n\\tbackground-position: center center;\\n\\tmargin-top: 10px;\\n\\tmargin-bottom: 10px;\\n\\tbackground-repeat: no-repeat;\\n}\\n.actions__item__description {\\n\\ttext-align: center;\\n\\tflex-grow: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n}\\n.actions__item_options {\\n\\twidth: 100%;\\n\\tmargin-top: 10px;\\n\\tpadding-left: 60px;\\n}\\nh3, small {\\n\\tpadding: 6px;\\n\\tdisplay: block;\\n}\\nh3 {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tfont-weight: 600;\\n}\\nsmall {\\n\\tfont-size: 10pt;\\n\\tflex-grow: 1;\\n}\\n\\n.colored:not(.more) {\\n\\tbackground-color: var(--color-primary-element);\\n\\th3, small {\\n\\t\\tcolor: var(--color-primary-element-text)\\n\\t}\\n}\\n\\n.actions__item:not(.colored) {\\n\\tflex-direction: row;\\n\\n\\t.actions__item__description {\\n\\t\\tpadding-top: 5px;\\n\\t\\ttext-align: left;\\n\\t\\twidth: calc(100% - 105px);\\n\\t\\tsmall {\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\t.icon {\\n\\t\\twidth: 50px;\\n\\t\\tmargin: 0;\\n\\t\\tmargin-right: 10px;\\n\\t\\t&:not(.icon-invert) {\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n}\\n\\n.colored .icon-invert {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `\n.v-select[data-v-003881d4],\ninput[type='text'][data-v-003881d4] {\n\twidth: 100%;\n}\ninput[type='text'][data-v-003881d4] {\n\tmin-height: 48px;\n}\n.option__icon[data-v-003881d4] {\n\tdisplay: inline-block;\n\tmin-width: 30px;\n\tbackground-position: center;\n\tvertical-align: middle;\n}\n.option__title[data-v-003881d4] {\n\tdisplay: inline-flex;\n\twidth: calc(100% - 36px);\n\tvertical-align: middle;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestUserAgent.vue\"],\"names\":[],\"mappings\":\";AAmJA;;CAEA,WAAA;AACA;AACA;CACA,gBAAA;AACA;AAEA;CACA,qBAAA;CACA,eAAA;CACA,2BAAA;CACA,sBAAA;AACA;AAEA;CACA,oBAAA;CACA,wBAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<div>\\n\\t\\t<NcSelect :value=\\\"currentValue\\\"\\n\\t\\t\\t:placeholder=\\\"t('workflowengine', 'Select a user agent')\\\"\\n\\t\\t\\tlabel=\\\"label\\\"\\n\\t\\t\\t:options=\\\"options\\\"\\n\\t\\t\\t:clearable=\\\"false\\\"\\n\\t\\t\\t@input=\\\"setValue\\\">\\n\\t\\t\\t<template #option=\\\"option\\\">\\n\\t\\t\\t\\t<span class=\\\"option__icon\\\" :class=\\\"option.icon\\\" />\\n\\t\\t\\t\\t<span class=\\\"option__title\\\">\\n\\t\\t\\t\\t\\t<NcEllipsisedOption :name=\\\"String(option.label)\\\" />\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</template>\\n\\t\\t\\t<template #selected-option=\\\"selectedOption\\\">\\n\\t\\t\\t\\t<span class=\\\"option__icon\\\" :class=\\\"selectedOption.icon\\\" />\\n\\t\\t\\t\\t<span class=\\\"option__title\\\">\\n\\t\\t\\t\\t\\t<NcEllipsisedOption :name=\\\"String(selectedOption.label)\\\" />\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</template>\\n\\t\\t</NcSelect>\\n\\t\\t<input v-if=\\\"!isPredefined\\\"\\n\\t\\t\\ttype=\\\"text\\\"\\n\\t\\t\\t:value=\\\"currentValue.pattern\\\"\\n\\t\\t\\t@input=\\\"updateCustom\\\">\\n\\t</div>\\n</template>\\n\\n<script>\\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\\nimport valueMixin from '../../mixins/valueMixin.js'\\n\\nexport default {\\n\\tname: 'RequestUserAgent',\\n\\tcomponents: {\\n\\t\\tNcEllipsisedOption,\\n\\t\\tNcSelect,\\n\\t},\\n\\tmixins: [\\n\\t\\tvalueMixin,\\n\\t],\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tnewValue: '',\\n\\t\\t\\tpredefinedTypes: [\\n\\t\\t\\t\\t{ id: 'android', label: t('workflowengine', 'Android client'), icon: 'icon-phone' },\\n\\t\\t\\t\\t{ id: 'ios', label: t('workflowengine', 'iOS client'), icon: 'icon-phone' },\\n\\t\\t\\t\\t{ id: 'desktop', label: t('workflowengine', 'Desktop client'), icon: 'icon-desktop' },\\n\\t\\t\\t\\t{ id: 'mail', label: t('workflowengine', 'Thunderbird & Outlook addons'), icon: 'icon-mail' },\\n\\t\\t\\t],\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\toptions() {\\n\\t\\t\\treturn [...this.predefinedTypes, this.customValue]\\n\\t\\t},\\n\\t\\tmatchingPredefined() {\\n\\t\\t\\treturn this.predefinedTypes\\n\\t\\t\\t\\t.find((type) => this.newValue === type.id)\\n\\t\\t},\\n\\t\\tisPredefined() {\\n\\t\\t\\treturn !!this.matchingPredefined\\n\\t\\t},\\n\\t\\tcustomValue() {\\n\\t\\t\\treturn {\\n\\t\\t\\t\\ticon: 'icon-settings-dark',\\n\\t\\t\\t\\tlabel: t('workflowengine', 'Custom user agent'),\\n\\t\\t\\t\\tid: '',\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tcurrentValue() {\\n\\t\\t\\tif (this.matchingPredefined) {\\n\\t\\t\\t\\treturn this.matchingPredefined\\n\\t\\t\\t}\\n\\t\\t\\treturn {\\n\\t\\t\\t\\ticon: 'icon-settings-dark',\\n\\t\\t\\t\\tlabel: t('workflowengine', 'Custom user agent'),\\n\\t\\t\\t\\tid: this.newValue,\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\tvalidateRegex(string) {\\n\\t\\t\\tconst regexRegex = /^\\\\/(.*)\\\\/([gui]{0,3})$/\\n\\t\\t\\tconst result = regexRegex.exec(string)\\n\\t\\t\\treturn result !== null\\n\\t\\t},\\n\\t\\tsetValue(value) {\\n\\t\\t\\t// TODO: check if value requires a regex and set the check operator according to that\\n\\t\\t\\tif (value !== null) {\\n\\t\\t\\t\\tthis.newValue = value.id\\n\\t\\t\\t\\tthis.$emit('input', this.newValue)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tupdateCustom(event) {\\n\\t\\t\\tthis.newValue = event.target.value\\n\\t\\t\\tthis.$emit('input', this.newValue)\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style scoped>\\n\\t.v-select,\\n\\tinput[type='text'] {\\n\\t\\twidth: 100%;\\n\\t}\\n\\tinput[type='text'] {\\n\\t\\tmin-height: 48px;\\n\\t}\\n\\n\\t.option__icon {\\n\\t\\tdisplay: inline-block;\\n\\t\\tmin-width: 30px;\\n\\t\\tbackground-position: center;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\n\\t.option__title {\\n\\t\\tdisplay: inline-flex;\\n\\t\\twidth: calc(100% - 36px);\\n\\t\\tvertical-align: middle;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `\n.v-select[data-v-16d8123e] {\n\twidth: 100%;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestUserGroup.vue\"],\"names\":[],\"mappings\":\";AA2GA;CACA,WAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<div>\\n\\t\\t<NcSelect :value=\\\"currentValue\\\"\\n\\t\\t\\t:loading=\\\"status.isLoading && groups.length === 0\\\"\\n\\t\\t\\t:options=\\\"groups\\\"\\n\\t\\t\\t:clearable=\\\"false\\\"\\n\\t\\t\\tlabel=\\\"displayname\\\"\\n\\t\\t\\t@search-change=\\\"searchAsync\\\"\\n\\t\\t\\t@input=\\\"(value) => $emit('input', value.id)\\\" />\\n\\t</div>\\n</template>\\n\\n<script>\\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\\nimport axios from '@nextcloud/axios'\\nimport { generateOcsUrl } from '@nextcloud/router'\\n\\nconst groups = []\\nconst status = {\\n\\tisLoading: false,\\n}\\n\\nexport default {\\n\\tname: 'RequestUserGroup',\\n\\tcomponents: {\\n\\t\\tNcSelect,\\n\\t},\\n\\tprops: {\\n\\t\\tvalue: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\tdefault: '',\\n\\t\\t},\\n\\t\\tcheck: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => { return {} },\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tgroups,\\n\\t\\t\\tstatus,\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\tcurrentValue() {\\n\\t\\t\\treturn this.groups.find(group => group.id === this.value) || null\\n\\t\\t},\\n\\t},\\n\\tasync mounted() {\\n\\t\\tif (this.groups.length === 0) {\\n\\t\\t\\tawait this.searchAsync('')\\n\\t\\t}\\n\\t\\tif (this.currentValue === null) {\\n\\t\\t\\tawait this.searchAsync(this.value)\\n\\t\\t}\\n\\t},\\n\\tmethods: {\\n\\t\\tsearchAsync(searchQuery) {\\n\\t\\t\\tif (this.status.isLoading) {\\n\\t\\t\\t\\treturn\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis.status.isLoading = true\\n\\t\\t\\treturn axios.get(generateOcsUrl('cloud/groups/details?limit=20&search={searchQuery}', { searchQuery })).then((response) => {\\n\\t\\t\\t\\tresponse.data.ocs.data.groups.forEach((group) => {\\n\\t\\t\\t\\t\\tthis.addGroup({\\n\\t\\t\\t\\t\\t\\tid: group.id,\\n\\t\\t\\t\\t\\t\\tdisplayname: group.displayname,\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\tthis.status.isLoading = false\\n\\t\\t\\t}, (error) => {\\n\\t\\t\\t\\tconsole.error('Error while loading group list', error.response)\\n\\t\\t\\t})\\n\\t\\t},\\n\\t\\taddGroup(group) {\\n\\t\\t\\tconst index = this.groups.findIndex((item) => item.id === group.id)\\n\\t\\t\\tif (index === -1) {\\n\\t\\t\\t\\tthis.groups.push(group)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style scoped>\\n.v-select {\\n\\twidth: 100%;\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment-timezone.js\n//! version : 0.5.43\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.43\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","function validate(binding) {\n if (typeof binding.value !== 'function') {\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\n return false\n }\n\n return true\n}\n\nfunction isPopup(popupItem, elements) {\n if (!popupItem || !elements)\n return false\n\n for (var i = 0, len = elements.length; i < len; i++) {\n try {\n if (popupItem.contains(elements[i])) {\n return true\n }\n if (elements[i].contains(popupItem)) {\n return false\n }\n } catch(e) {\n return false\n }\n }\n\n return false\n}\n\nfunction isServer(vNode) {\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\n}\n\nexports = module.exports = {\n bind: function (el, binding, vNode) {\n if (!validate(binding)) return\n\n // Define Handler and cache it on the element\n function handler(e) {\n if (!vNode.context) return\n\n // some components may have related popup item, on which we shall prevent the click outside event handler.\n var elements = e.path || (e.composedPath && e.composedPath())\n elements && elements.length > 0 && elements.unshift(e.target)\n\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\n\n el.__vueClickOutside__.callback(e)\n }\n\n // add Event Listeners\n el.__vueClickOutside__ = {\n handler: handler,\n callback: binding.value\n }\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && document.addEventListener(clickHandler, handler)\n },\n\n update: function (el, binding) {\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\n },\n\n unbind: function (el, binding, vNode) {\n // Remove Event Listeners\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && el.__vueClickOutside__ && document.removeEventListener(clickHandler, el.__vueClickOutside__.handler)\n delete el.__vueClickOutside__\n }\n}\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=\" + {\"3240\":\"29c327d1e4e42959b82f\",\"3998\":\"a49373c9d79e30e60f7b\",\"9064\":\"f6243754beec9d78de45\"}[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 = 8318;","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) 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\t8318: 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, [7874], () => (__webpack_require__(664)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","scopeValue","loadState","getApiUrl","url","generateOcsUrl","Vue","use","Vuex","Store","state","rules","scope","appstoreEnabled","operations","plugins","observable","checks","operators","entities","events","map","entity","event","id","eventName","flat","mutations","addRule","rule","push","valid","updateRule","index","findIndex","item","newRule","Object","assign","removeRule","splice","addPluginCheck","plugin","class","addPluginOperator","color","actions","fetchRules","context","data","axios","get","values","ocs","forEach","commit","createNewRule","isComplex","fixedEntity","find","Date","getTime","name","operator","value","operation","JSON","parse","pushUpdateRule","result","confirmPassword","post","put","deleteRule","delete","setValid","_ref","getters","getRules","filter","sort","rule1","rule2","getOperationForRule","getEntityForOperation","getEventsForOperation","getChecksForEntity","check","supportedEntities","indexOf","length","reduce","obj","components","NcSelect","props","type","required","computed","$store","allEvents","currentEvent","placeholderString","t","methods","updateEvent","showWarning","existingEntity","newEntities","self","newEntity","$set","$emit","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","attrs","icon","_v","_s","triggerHint","on","scopedSlots","_u","key","fn","option","displayName","NcActionButton","NcActions","CloseIcon","directives","ClickOutside","deleteVisible","currentOption","currentOperator","currentComponent","component","valuePlaceholder","placeholder","watch","validate","mounted","$nextTick","$refs","checkSelector","$el","focus","showDelete","hideDelete","invalid","updateCheck","matchingOperator","rawName","expression","ref","model","callback","$$v","tag","$event","domProps","target","composing","proxy","_e","NcButton","colored","Boolean","default","style","backgroundColor","iconClass","backgroundImage","description","_t","ArrowRight","Check","CheckMark","Close","Event","Operation","Tooltip","editing","error","dirty","originalRule","ruleStatus","some","title","tooltip","placement","show","content","lastCheckComplete","lastCheck","stringify","updateOperation","dispatch","saveRule","e","console","response","meta","message","cancelRule","removeCheck","$delete","onAddFilter","borderLeftColor","_l","emits","String","fillColor","size","Number","_b","$attrs","MenuDown","MenuUp","NcEmptyContent","NcIconSvgWrapper","NcSettingsSection","Rule","showMoreOperations","appstoreUrl","generateUrl","workflowDocUrl","WorkflowOffSvg","mapGetters","mapState","hasMoreOperations","keys","mainOperations","slice","showAppStoreHint","OC","isUserAdmin","isAdminScope","nativeOn","undefined","regexRegex","regexIPv4","regexIPv6","newValue","immediate","handler","updateInternalValue","NcEllipsisedOption","mixins","valueMixin","predefinedTypes","label","iconUrl","imagePath","customValue","isPredefined","currentValue","validateRegex","string","exec","setValue","updateCustom","selectedOption","NcSelectTags","updateValue","beforeMount","parseInt","update","stringOrRegexOperators","FileMimeType","match","validateIPv4","FileSystemTag","matchingPredefined","pattern","zones","moment","names","timezones","startTime","endTime","timezone","guess","split","zone","output","groups","status","isLoading","group","searchAsync","searchQuery","then","addGroup","displayname","FileChecks","RequestURL","RequestTime","RequestUserAgent","RequestUserGroup","window","OCA","WorkflowEngine","registerCheck","Plugin","store","registerOperator","ShippedChecks","checkPlugin","prototype","extend","Settings","$mount","___CSS_LOADER_EXPORT___","module","exports","tz","load","root","factory","version","cachedGuess","links","countries","guesses","logError","momentVersion","major","minor","charCodeToInt","charCode","unpackBase60","i","parts","whole","fractional","multiplier","out","sign","charCodeAt","arrayToInt","array","mapIndices","source","indices","unpack","offsets","untils","Math","round","Infinity","intToUntil","abbrs","population","Zone","packedString","_set","Country","country_name","zone_names","OffsetAt","at","timeString","toTimeString","abbr","join","offset","getTimezoneOffset","ZoneScore","offsetScore","abbrScore","findChange","low","high","mid","diff","sortZoneScores","a","b","localeCompare","addToGuesses","guessesForUserOffsets","j","guessesOffset","offsetsLength","filteredGuesses","hasOwnProperty","normalizeName","toLowerCase","replace","addZone","packed","normalized","getZone","caller","link","addLink","aliases","alias","normal0","normal1","needsOffset","m","isUnixTimestamp","_f","_a","_tzm","input","args","Array","call","arguments","utc","apply","isMoment","add","unpacked","_index","timestamp","zone_name","country_code","offsetNext","offsetPrev","max","moveAmbiguousForward","moveInvalidForward","mom","utcOffset","scoreOffsetAt","offsetAt","abs","dataVersion","_zones","_links","_names","_countries","country_zones","toUpperCase","addCountries","zoneExists","didShowError","ignoreCache","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","zoneScore","change","next","startYear","getFullYear","last","userOffsets","zoneScores","rebuildGuess","zonesForCountry","country","with_offset","old","abbrWrap","_z","resetZoneWrap","defaultZone","updateOffset","keepTime","_isUTC","_d","z","Error","zoneName","zoneAbbr","local","setDefault","momentProperties","toString","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","binding","warn","isServer","vNode","componentInstance","$isServer","bind","el","elements","path","composedPath","unshift","contains","popupItem","len","isPopup","__vueClickOutside__","clickHandler","document","documentElement","addEventListener","unbind","removeEventListener","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","fulfilled","every","r","n","getter","__esModule","d","definition","defineProperty","enumerable","f","chunkId","Promise","all","promises","u","g","globalThis","Function","prop","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","p","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"workflowengine-workflowengine.js?v=283e5dce1d2c7abb62c6","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/workflowengine/src/helpers/api.js","webpack:///nextcloud/apps/workflowengine/src/store.js","webpack://nextcloud/./apps/workflowengine/src/components/Workflow.vue?de47","webpack://nextcloud/./node_modules/vue-material-design-icons/Close.vue?c1a9","webpack://nextcloud/./apps/workflowengine/src/components/Event.vue?3d5a","webpack:///nextcloud/apps/workflowengine/src/components/Event.vue","webpack:///nextcloud/apps/workflowengine/src/components/Event.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Event.vue?f7d0","webpack://nextcloud/./apps/workflowengine/src/components/Event.vue?5115","webpack://nextcloud/./apps/workflowengine/src/components/Check.vue?bf90","webpack:///nextcloud/apps/workflowengine/src/components/Check.vue","webpack:///nextcloud/apps/workflowengine/src/components/Check.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Check.vue?289e","webpack://nextcloud/./apps/workflowengine/src/components/Check.vue?3fb8","webpack:///nextcloud/apps/workflowengine/src/components/Operation.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Operation.vue","webpack://nextcloud/./apps/workflowengine/src/components/Operation.vue?bc50","webpack://nextcloud/./apps/workflowengine/src/components/Operation.vue?3526","webpack://nextcloud/./apps/workflowengine/src/components/Operation.vue?86d2","webpack:///nextcloud/apps/workflowengine/src/components/Rule.vue","webpack:///nextcloud/apps/workflowengine/src/components/Rule.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Rule.vue?8707","webpack://nextcloud/./apps/workflowengine/src/components/Rule.vue?e711","webpack://nextcloud/./apps/workflowengine/src/components/Rule.vue?6c53","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/MenuUp.vue?1ade","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue?vue&type=template&id=52b567ec","webpack:///nextcloud/apps/workflowengine/src/components/Workflow.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Workflow.vue","webpack://nextcloud/./apps/workflowengine/src/components/Workflow.vue?f621","webpack://nextcloud/./apps/workflowengine/src/components/Workflow.vue?17b8","webpack:///nextcloud/apps/workflowengine/src/helpers/validators.js","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileMimeType.vue?f663","webpack:///nextcloud/apps/workflowengine/src/mixins/valueMixin.js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileMimeType.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileMimeType.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileMimeType.vue?d88a","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileMimeType.vue?c385","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileSystemTag.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileSystemTag.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileSystemTag.vue?2d3e","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileSystemTag.vue?acab","webpack:///nextcloud/apps/workflowengine/src/components/Checks/file.js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserAgent.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserAgent.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserAgent.vue?011c","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserAgent.vue?81d6","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserAgent.vue?80f0","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestTime.vue?1af1","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestTime.vue","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestTime.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestTime.vue?244e","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestTime.vue?a55a","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestURL.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestURL.vue","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestURL.vue?3730","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestURL.vue?eee5","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestURL.vue?b56e","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserGroup.vue?f1ec","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserGroup.vue","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserGroup.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserGroup.vue?ee45","webpack://nextcloud/./apps/workflowengine/src/components/Checks/RequestUserGroup.vue?f6d3","webpack:///nextcloud/apps/workflowengine/src/components/Checks/index.js","webpack:///nextcloud/apps/workflowengine/src/components/Checks/request.js","webpack:///nextcloud/apps/workflowengine/src/workflowengine.js","webpack:///nextcloud/apps/workflowengine/src/components/Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css","webpack:///nextcloud/apps/workflowengine/src/components/Checks/RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css","webpack:///nextcloud/node_modules/moment-timezone/index.js","webpack:///nextcloud/node_modules/moment-timezone/moment-timezone.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/vue-click-outside/index.js","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 * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst scopeValue = loadState('workflowengine', 'scope') === 0 ? 'global' : 'user'\n\nconst getApiUrl = (url) => {\n\treturn generateOcsUrl('apps/workflowengine/api/v1/workflows/{scopeValue}', { scopeValue }) + url + '?format=json'\n}\n\nexport {\n\tgetApiUrl,\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Kesselberg <mail@danielkesselberg.de>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport axios from '@nextcloud/axios'\nimport { getApiUrl } from './helpers/api.js'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\nimport { loadState } from '@nextcloud/initial-state'\n\nVue.use(Vuex)\n\nconst store = new Store({\n\tstate: {\n\t\trules: [],\n\t\tscope: loadState('workflowengine', 'scope'),\n\t\tappstoreEnabled: loadState('workflowengine', 'appstoreenabled'),\n\t\toperations: loadState('workflowengine', 'operators'),\n\n\t\tplugins: Vue.observable({\n\t\t\tchecks: {},\n\t\t\toperators: {},\n\t\t}),\n\n\t\tentities: loadState('workflowengine', 'entities'),\n\t\tevents: loadState('workflowengine', 'entities')\n\t\t\t.map((entity) => entity.events.map(event => {\n\t\t\t\treturn {\n\t\t\t\t\tid: `${entity.id}::${event.eventName}`,\n\t\t\t\t\tentity,\n\t\t\t\t\t...event,\n\t\t\t\t}\n\t\t\t})).flat(),\n\t\tchecks: loadState('workflowengine', 'checks'),\n\t},\n\tmutations: {\n\t\taddRule(state, rule) {\n\t\t\tstate.rules.push({ ...rule, valid: true })\n\t\t},\n\t\tupdateRule(state, rule) {\n\t\t\tconst index = state.rules.findIndex((item) => rule.id === item.id)\n\t\t\tconst newRule = Object.assign({}, rule)\n\t\t\tVue.set(state.rules, index, newRule)\n\t\t},\n\t\tremoveRule(state, rule) {\n\t\t\tconst index = state.rules.findIndex((item) => rule.id === item.id)\n\t\t\tstate.rules.splice(index, 1)\n\t\t},\n\t\taddPluginCheck(state, plugin) {\n\t\t\tVue.set(state.plugins.checks, plugin.class, plugin)\n\t\t},\n\t\taddPluginOperator(state, plugin) {\n\t\t\tplugin = Object.assign(\n\t\t\t\t{ color: 'var(--color-primary-element)' },\n\t\t\t\tplugin, state.operations[plugin.id] || {})\n\t\t\tif (typeof state.operations[plugin.id] !== 'undefined') {\n\t\t\t\tVue.set(state.operations, plugin.id, plugin)\n\t\t\t}\n\t\t},\n\t},\n\tactions: {\n\t\tasync fetchRules(context) {\n\t\t\tconst { data } = await axios.get(getApiUrl(''))\n\t\t\tObject.values(data.ocs.data).flat().forEach((rule) => {\n\t\t\t\tcontext.commit('addRule', rule)\n\t\t\t})\n\t\t},\n\t\tcreateNewRule(context, rule) {\n\t\t\tlet entity = null\n\t\t\tlet events = []\n\t\t\tif (rule.isComplex === false && rule.fixedEntity === '') {\n\t\t\t\tentity = context.state.entities.find((item) => rule.entities && rule.entities[0] === item.id)\n\t\t\t\tentity = entity || Object.values(context.state.entities)[0]\n\t\t\t\tevents = [entity.events[0].eventName]\n\t\t\t}\n\n\t\t\tcontext.commit('addRule', {\n\t\t\t\tid: -(new Date().getTime()),\n\t\t\t\tclass: rule.id,\n\t\t\t\tentity: entity ? entity.id : rule.fixedEntity,\n\t\t\t\tevents,\n\t\t\t\tname: '', // unused in the new ui, there for legacy reasons\n\t\t\t\tchecks: [\n\t\t\t\t\t{ class: null, operator: null, value: '' },\n\t\t\t\t],\n\t\t\t\toperation: rule.operation || '',\n\t\t\t})\n\t\t},\n\t\tupdateRule(context, rule) {\n\t\t\tcontext.commit('updateRule', {\n\t\t\t\t...rule,\n\t\t\t\tevents: typeof rule.events === 'string' ? JSON.parse(rule.events) : rule.events,\n\t\t\t})\n\t\t},\n\t\tremoveRule(context, rule) {\n\t\t\tcontext.commit('removeRule', rule)\n\t\t},\n\t\tasync pushUpdateRule(context, rule) {\n\t\t\tif (context.state.scope === 0) {\n\t\t\t\tawait confirmPassword()\n\t\t\t}\n\t\t\tlet result\n\t\t\tif (rule.id < 0) {\n\t\t\t\tresult = await axios.post(getApiUrl(''), rule)\n\t\t\t} else {\n\t\t\t\tresult = await axios.put(getApiUrl(`/${rule.id}`), rule)\n\t\t\t}\n\t\t\tVue.set(rule, 'id', result.data.ocs.data.id)\n\t\t\tcontext.commit('updateRule', rule)\n\t\t},\n\t\tasync deleteRule(context, rule) {\n\t\t\tawait confirmPassword()\n\t\t\tawait axios.delete(getApiUrl(`/${rule.id}`))\n\t\t\tcontext.commit('removeRule', rule)\n\t\t},\n\t\tsetValid(context, { rule, valid }) {\n\t\t\trule.valid = valid\n\t\t\tcontext.commit('updateRule', rule)\n\t\t},\n\t},\n\tgetters: {\n\t\tgetRules(state) {\n\t\t\treturn state.rules.filter((rule) => typeof state.operations[rule.class] !== 'undefined').sort((rule1, rule2) => {\n\t\t\t\treturn rule1.id - rule2.id || rule2.class - rule1.class\n\t\t\t})\n\t\t},\n\t\tgetOperationForRule(state) {\n\t\t\treturn (rule) => state.operations[rule.class]\n\t\t},\n\t\tgetEntityForOperation(state) {\n\t\t\treturn (operation) => state.entities.find((entity) => operation.fixedEntity === entity.id)\n\t\t},\n\t\tgetEventsForOperation(state) {\n\t\t\treturn (operation) => state.events\n\t\t},\n\n\t\t/**\n\t\t * Return all available checker plugins for a given entity class\n\t\t *\n\t\t * @param {object} state the store state\n\t\t * @return {Function} the available plugins\n\t\t */\n\t\tgetChecksForEntity(state) {\n\t\t\treturn (entity) => {\n\t\t\t\treturn Object.values(state.checks)\n\t\t\t\t\t.filter((check) => check.supportedEntities.indexOf(entity) > -1 || check.supportedEntities.length === 0)\n\t\t\t\t\t.map((check) => state.plugins.checks[check.id])\n\t\t\t\t\t.reduce((obj, item) => {\n\t\t\t\t\t\tobj[item.class] = item\n\t\t\t\t\t\treturn obj\n\t\t\t\t\t}, {})\n\t\t\t}\n\t\t},\n\t},\n})\n\nexport default store\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"workflowengine\"}},[_c('NcSettingsSection',{attrs:{\"name\":_vm.t('workflowengine', 'Available flows'),\"doc-url\":_vm.workflowDocUrl}},[(_vm.isAdminScope)?_c('p',{staticClass:\"settings-hint\"},[_c('a',{attrs:{\"href\":\"https://nextcloud.com/developer/\"}},[_vm._v(_vm._s(_vm.t('workflowengine', 'For details on how to write your own flow, check out the development documentation.')))])]):_vm._e(),_vm._v(\" \"),(!_vm.isUserAdmin && _vm.mainOperations.length === 0)?_c('NcEmptyContent',{attrs:{\"name\":_vm.t('workflowengine', 'No flows installed'),\"description\":!_vm.isUserAdmin ? _vm.t('workflowengine', 'Ask your administrator to install new flows.') : undefined},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.WorkflowOffSvg,\"size\":20}})]},proxy:true}],null,false,233236213)}):_c('transition-group',{staticClass:\"actions\",attrs:{\"name\":\"slide\",\"tag\":\"div\"}},[_vm._l((_vm.mainOperations),function(operation){return _c('Operation',{key:operation.id,attrs:{\"operation\":operation},nativeOn:{\"click\":function($event){return _vm.createNewRule(operation)}}})}),_vm._v(\" \"),(_vm.showAppStoreHint)?_c('a',{key:\"add\",staticClass:\"actions__item colored more\",attrs:{\"href\":_vm.appstoreUrl}},[_c('div',{staticClass:\"icon icon-add\"}),_vm._v(\" \"),_c('div',{staticClass:\"actions__item__description\"},[_c('h3',[_vm._v(_vm._s(_vm.t('workflowengine', 'More flows')))]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.t('workflowengine', 'Browse the App Store')))])])]):_vm._e()],2),_vm._v(\" \"),(_vm.hasMoreOperations)?_c('div',{staticClass:\"actions__more\"},[_c('NcButton',{on:{\"click\":function($event){_vm.showMoreOperations = !_vm.showMoreOperations}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.showMoreOperations)?_c('MenuUp',{attrs:{\"size\":20}}):_c('MenuDown',{attrs:{\"size\":20}})]},proxy:true}],null,false,3801522717)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.showMoreOperations ? _vm.t('workflowengine', 'Show less') : _vm.t('workflowengine', 'Show more'))+\"\\n\\t\\t\\t\")])],1):_vm._e()],1),_vm._v(\" \"),(_vm.mainOperations.length > 0)?_c('NcSettingsSection',{attrs:{\"name\":_vm.isAdminScope ? _vm.t('workflowengine', 'Configured flows') : _vm.t('workflowengine', 'Your flows')}},[(_vm.rules.length > 0)?_c('transition-group',{attrs:{\"name\":\"slide\"}},_vm._l((_vm.rules),function(rule){return _c('Rule',{key:rule.id,attrs:{\"rule\":rule}})}),1):_c('NcEmptyContent',{attrs:{\"name\":_vm.t('workflowengine', 'No flows configured')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.WorkflowOffSvg,\"size\":20}})]},proxy:true}],null,false,233236213)})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=75d4151a\"\nimport script from \"./Close.vue?vue&type=script&lang=js\"\nexport * from \"./Close.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"event\"},[(_vm.operation.isComplex && _vm.operation.fixedEntity !== '')?_c('div',{staticClass:\"isComplex\"},[_c('img',{staticClass:\"option__icon\",attrs:{\"src\":_vm.entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"option__title option__title_single\"},[_vm._v(_vm._s(_vm.operation.triggerHint))])]):_c('NcSelect',{staticClass:\"event__trigger\",attrs:{\"disabled\":_vm.allEvents.length <= 1,\"multiple\":true,\"options\":_vm.allEvents,\"value\":_vm.currentEvent,\"placeholder\":_vm.placeholderString,\"label\":\"displayName\"},on:{\"input\":_vm.updateEvent},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('img',{staticClass:\"option__icon\",attrs:{\"src\":option.entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_vm._v(_vm._s(option.displayName))])]}},{key:\"selected-option\",fn:function(option){return [_c('img',{staticClass:\"option__icon\",attrs:{\"src\":option.entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_vm._v(_vm._s(option.displayName))])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"event\">\n\t\t<div v-if=\"operation.isComplex && operation.fixedEntity !== ''\" class=\"isComplex\">\n\t\t\t<img class=\"option__icon\" :src=\"entity.icon\" alt=\"\">\n\t\t\t<span class=\"option__title option__title_single\">{{ operation.triggerHint }}</span>\n\t\t</div>\n\t\t<NcSelect v-else\n\t\t\t:disabled=\"allEvents.length <= 1\"\n\t\t\t:multiple=\"true\"\n\t\t\t:options=\"allEvents\"\n\t\t\t:value=\"currentEvent\"\n\t\t\t:placeholder=\"placeholderString\"\n\t\t\tclass=\"event__trigger\"\n\t\t\tlabel=\"displayName\"\n\t\t\t@input=\"updateEvent\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<img class=\"option__icon\" :src=\"option.entity.icon\" alt=\"\">\n\t\t\t\t<span class=\"option__title\">{{ option.displayName }}</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"option\">\n\t\t\t\t<img class=\"option__icon\" :src=\"option.entity.icon\" alt=\"\">\n\t\t\t\t<span class=\"option__title\">{{ option.displayName }}</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport { showWarning } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'Event',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\trule: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\tentity() {\n\t\t\treturn this.$store.getters.getEntityForOperation(this.operation)\n\t\t},\n\t\toperation() {\n\t\t\treturn this.$store.getters.getOperationForRule(this.rule)\n\t\t},\n\t\tallEvents() {\n\t\t\treturn this.$store.getters.getEventsForOperation(this.operation)\n\t\t},\n\t\tcurrentEvent() {\n\t\t\treturn this.allEvents.filter(event => event.entity.id === this.rule.entity && this.rule.events.indexOf(event.eventName) !== -1)\n\t\t},\n\t\tplaceholderString() {\n\t\t\t// TRANSLATORS: Users should select a trigger for a workflow action\n\t\t\treturn t('workflowengine', 'Select a trigger')\n\t\t},\n\t},\n\tmethods: {\n\t\tupdateEvent(events) {\n\t\t\tif (events.length === 0) {\n\t\t\t\t// TRANSLATORS: Users must select an event as of \"happening\" or \"incident\" which triggers an action\n\t\t\t\tshowWarning(t('workflowengine', 'At least one event must be selected'))\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst existingEntity = this.rule.entity\n\t\t\tconst newEntities = events.map(event => event.entity.id).filter((value, index, self) => self.indexOf(value) === index)\n\t\t\tlet newEntity = null\n\t\t\tif (newEntities.length > 1) {\n\t\t\t\tnewEntity = newEntities.filter(entity => entity !== existingEntity)[0]\n\t\t\t} else {\n\t\t\t\tnewEntity = newEntities[0]\n\t\t\t}\n\n\t\t\tthis.$set(this.rule, 'entity', newEntity)\n\t\t\tthis.$set(this.rule, 'events', events.filter(event => event.entity.id === newEntity).map(event => event.eventName))\n\t\t\tthis.$emit('update', this.rule)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.event {\n\t\tmargin-bottom: 5px;\n\n\t\t&__trigger {\n\t\t\tmax-width: 550px;\n\t\t}\n\t}\n\t.isComplex {\n\t\timg {\n\t\t\tvertical-align: text-top;\n\t\t}\n\t\tspan {\n\t\t\tpadding-top: 2px;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t.option__title {\n\t\tmargin-left: 5px;\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t.option__icon {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Event.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!./Event.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!./Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss\";\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!./Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Event.vue?vue&type=template&id=d4892b64&scoped=true\"\nimport script from \"./Event.vue?vue&type=script&lang=js\"\nexport * from \"./Event.vue?vue&type=script&lang=js\"\nimport style0 from \"./Event.vue?vue&type=style&index=0&id=d4892b64&prod&scoped=true&lang=scss\"\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 \"d4892b64\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideDelete),expression:\"hideDelete\"}],staticClass:\"check\",on:{\"click\":_vm.showDelete}},[_c('NcSelect',{ref:\"checkSelector\",attrs:{\"options\":_vm.options,\"label\":\"name\",\"clearable\":false,\"placeholder\":_vm.t('workflowengine', 'Select a filter')},on:{\"input\":_vm.updateCheck},model:{value:(_vm.currentOption),callback:function ($$v) {_vm.currentOption=$$v},expression:\"currentOption\"}}),_vm._v(\" \"),_c('NcSelect',{staticClass:\"comparator\",attrs:{\"disabled\":!_vm.currentOption,\"options\":_vm.operators,\"label\":\"name\",\"clearable\":false,\"placeholder\":_vm.t('workflowengine', 'Select a comparator')},on:{\"input\":_vm.updateCheck},model:{value:(_vm.currentOperator),callback:function ($$v) {_vm.currentOperator=$$v},expression:\"currentOperator\"}}),_vm._v(\" \"),(_vm.currentOperator && _vm.currentComponent)?_c(_vm.currentOption.component,{tag:\"component\",staticClass:\"option\",attrs:{\"disabled\":!_vm.currentOption,\"check\":_vm.check},on:{\"input\":_vm.updateCheck,\"valid\":function($event){(_vm.valid=true) && _vm.validate()},\"invalid\":function($event){!(_vm.valid=false) && _vm.validate()}},model:{value:(_vm.check.value),callback:function ($$v) {_vm.$set(_vm.check, \"value\", $$v)},expression:\"check.value\"}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.check.value),expression:\"check.value\"}],staticClass:\"option\",class:{ invalid: !_vm.valid },attrs:{\"type\":\"text\",\"disabled\":!_vm.currentOption,\"placeholder\":_vm.valuePlaceholder},domProps:{\"value\":(_vm.check.value)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.check, \"value\", $event.target.value)},_vm.updateCheck]}}),_vm._v(\" \"),(_vm.deleteVisible || !_vm.currentOption)?_c('NcActions',[_c('NcActionButton',{attrs:{\"title\":_vm.t('workflowengine', 'Remove filter')},on:{\"click\":function($event){return _vm.$emit('remove')}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-click-outside=\"hideDelete\" class=\"check\" @click=\"showDelete\">\n\t\t<NcSelect ref=\"checkSelector\"\n\t\t\tv-model=\"currentOption\"\n\t\t\t:options=\"options\"\n\t\t\tlabel=\"name\"\n\t\t\t:clearable=\"false\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a filter')\"\n\t\t\t@input=\"updateCheck\" />\n\t\t<NcSelect v-model=\"currentOperator\"\n\t\t\t:disabled=\"!currentOption\"\n\t\t\t:options=\"operators\"\n\t\t\tclass=\"comparator\"\n\t\t\tlabel=\"name\"\n\t\t\t:clearable=\"false\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a comparator')\"\n\t\t\t@input=\"updateCheck\" />\n\t\t<component :is=\"currentOption.component\"\n\t\t\tv-if=\"currentOperator && currentComponent\"\n\t\t\tv-model=\"check.value\"\n\t\t\t:disabled=\"!currentOption\"\n\t\t\t:check=\"check\"\n\t\t\tclass=\"option\"\n\t\t\t@input=\"updateCheck\"\n\t\t\t@valid=\"(valid=true) && validate()\"\n\t\t\t@invalid=\"!(valid=false) && validate()\" />\n\t\t<input v-else\n\t\t\tv-model=\"check.value\"\n\t\t\ttype=\"text\"\n\t\t\t:class=\"{ invalid: !valid }\"\n\t\t\t:disabled=\"!currentOption\"\n\t\t\t:placeholder=\"valuePlaceholder\"\n\t\t\tclass=\"option\"\n\t\t\t@input=\"updateCheck\">\n\t\t<NcActions v-if=\"deleteVisible || !currentOption\">\n\t\t\t<NcActionButton :title=\"t('workflowengine', 'Remove filter')\" @click=\"$emit('remove')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\t</div>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\n\nimport ClickOutside from 'vue-click-outside'\n\nexport default {\n\tname: 'Check',\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcSelect,\n\n\t\t// Icons\n\t\tCloseIcon,\n\t},\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\tprops: {\n\t\tcheck: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\trule: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdeleteVisible: false,\n\t\t\tcurrentOption: null,\n\t\t\tcurrentOperator: null,\n\t\t\toptions: [],\n\t\t\tvalid: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tchecks() {\n\t\t\treturn this.$store.getters.getChecksForEntity(this.rule.entity)\n\t\t},\n\t\toperators() {\n\t\t\tif (!this.currentOption) { return [] }\n\t\t\tconst operators = this.checks[this.currentOption.class].operators\n\t\t\tif (typeof operators === 'function') {\n\t\t\t\treturn operators(this.check)\n\t\t\t}\n\t\t\treturn operators\n\t\t},\n\t\tcurrentComponent() {\n\t\t\tif (!this.currentOption) { return [] }\n\t\t\treturn this.checks[this.currentOption.class].component\n\t\t},\n\t\tvaluePlaceholder() {\n\t\t\tif (this.currentOption && this.currentOption.placeholder) {\n\t\t\t\treturn this.currentOption.placeholder(this.check)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t},\n\twatch: {\n\t\t'check.operator'() {\n\t\t\tthis.validate()\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.options = Object.values(this.checks)\n\t\tthis.currentOption = this.checks[this.check.class]\n\t\tthis.currentOperator = this.operators.find((operator) => operator.operator === this.check.operator)\n\n\t\tif (this.check.class === null) {\n\t\t\tthis.$nextTick(() => this.$refs.checkSelector.$el.focus())\n\t\t}\n\t\tthis.validate()\n\t},\n\tmethods: {\n\t\tshowDelete() {\n\t\t\tthis.deleteVisible = true\n\t\t},\n\t\thideDelete() {\n\t\t\tthis.deleteVisible = false\n\t\t},\n\t\tvalidate() {\n\t\t\tthis.valid = true\n\t\t\tif (this.currentOption && this.currentOption.validate) {\n\t\t\t\tthis.valid = !!this.currentOption.validate(this.check)\n\t\t\t}\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.check.invalid = !this.valid\n\t\t\tthis.$emit('validate', this.valid)\n\t\t},\n\t\tupdateCheck() {\n\t\t\tconst matchingOperator = this.operators.findIndex((operator) => this.check.operator === operator.operator)\n\t\t\tif (this.check.class !== this.currentOption.class || matchingOperator === -1) {\n\t\t\t\tthis.currentOperator = this.operators[0]\n\t\t\t}\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.check.class = this.currentOption.class\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.check.operator = this.currentOperator.operator\n\n\t\t\tthis.validate()\n\n\t\t\tthis.$emit('update', this.check)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.check {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\talign-items: flex-start; // to not stretch components vertically\n\t\twidth: 100%;\n\t\tpadding-right: 20px;\n\n\t\t& > *:not(.close) {\n\t\t\twidth: 180px;\n\t\t}\n\t\t& > .comparator {\n\t\t\tmin-width: 200px;\n\t\t\twidth: 200px;\n\t\t}\n\t\t& > .option {\n\t\t\tmin-width: 260px;\n\t\t\twidth: 260px;\n\t\t\tmin-height: 48px;\n\n\t\t\t& > input[type=text] {\n\t\t\t\tmin-height: 48px;\n\t\t\t}\n\t\t}\n\t\t& > .v-select,\n\t\t& > .button-vue,\n\t\t& > input[type=text] {\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\tinput[type=text] {\n\t\tmargin: 0;\n\t}\n\t.invalid {\n\t\tborder-color: var(--color-error) !important;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Check.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!./Check.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!./Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss\";\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!./Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Check.vue?vue&type=template&id=07a2739b&scoped=true\"\nimport script from \"./Check.vue?vue&type=script&lang=js\"\nexport * from \"./Check.vue?vue&type=script&lang=js\"\nimport style0 from \"./Check.vue?vue&type=style&index=0&id=07a2739b&prod&scoped=true&lang=scss\"\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 \"07a2739b\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Operation.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!./Operation.vue?vue&type=script&lang=js\"","<template>\n\t<div class=\"actions__item\" :class=\"{'colored': colored}\" :style=\"{ backgroundColor: colored ? operation.color : 'transparent' }\">\n\t\t<div class=\"icon\" :class=\"operation.iconClass\" :style=\"{ backgroundImage: operation.iconClass ? '' : `url(${operation.icon})` }\" />\n\t\t<div class=\"actions__item__description\">\n\t\t\t<h3>{{ operation.name }}</h3>\n\t\t\t<small>{{ operation.description }}</small>\n\t\t\t<NcButton v-if=\"colored\">\n\t\t\t\t{{ t('workflowengine', 'Add new flow') }}\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<div class=\"actions__item_options\">\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\n\nexport default {\n\tname: 'Operation',\n\tcomponents: {\n\t\tNcButton,\n\t},\n\tprops: {\n\t\toperation: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tcolored: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t@import \"./../styles/operation\";\n</style>\n","\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!./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss\";\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!./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Operation.vue?vue&type=template&id=a0480332&scoped=true\"\nimport script from \"./Operation.vue?vue&type=script&lang=js\"\nexport * from \"./Operation.vue?vue&type=script&lang=js\"\nimport style0 from \"./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss\"\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 \"a0480332\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"actions__item\",class:{'colored': _vm.colored},style:({ backgroundColor: _vm.colored ? _vm.operation.color : 'transparent' })},[_c('div',{staticClass:\"icon\",class:_vm.operation.iconClass,style:({ backgroundImage: _vm.operation.iconClass ? '' : `url(${_vm.operation.icon})` })}),_vm._v(\" \"),_c('div',{staticClass:\"actions__item__description\"},[_c('h3',[_vm._v(_vm._s(_vm.operation.name))]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.operation.description))]),_vm._v(\" \"),(_vm.colored)?_c('NcButton',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Add new flow'))+\"\\n\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"actions__item_options\"},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-if=\"operation\" class=\"section rule\" :style=\"{ borderLeftColor: operation.color || '' }\">\n\t\t<div class=\"trigger\">\n\t\t\t<p>\n\t\t\t\t<span>{{ t('workflowengine', 'When') }}</span>\n\t\t\t\t<Event :rule=\"rule\" @update=\"updateRule\" />\n\t\t\t</p>\n\t\t\t<p v-for=\"(check, index) in rule.checks\" :key=\"index\">\n\t\t\t\t<span>{{ t('workflowengine', 'and') }}</span>\n\t\t\t\t<Check :check=\"check\"\n\t\t\t\t\t:rule=\"rule\"\n\t\t\t\t\t@update=\"updateRule\"\n\t\t\t\t\t@validate=\"validate\"\n\t\t\t\t\t@remove=\"removeCheck(check)\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<span />\n\t\t\t\t<input v-if=\"lastCheckComplete\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"check--add\"\n\t\t\t\t\t:value=\"t('workflowengine', 'Add a new filter')\"\n\t\t\t\t\t@click=\"onAddFilter\">\n\t\t\t</p>\n\t\t</div>\n\t\t<div class=\"flow-icon icon-confirm\" />\n\t\t<div class=\"action\">\n\t\t\t<Operation :operation=\"operation\" :colored=\"false\">\n\t\t\t\t<component :is=\"operation.options\"\n\t\t\t\t\tv-if=\"operation.options\"\n\t\t\t\t\tv-model=\"rule.operation\"\n\t\t\t\t\t@input=\"updateOperation\" />\n\t\t\t</Operation>\n\t\t\t<div class=\"buttons\">\n\t\t\t\t<NcButton v-if=\"rule.id < -1 || dirty\" @click=\"cancelRule\">\n\t\t\t\t\t{{ t('workflowengine', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton v-else-if=\"!dirty\" @click=\"deleteRule\">\n\t\t\t\t\t{{ t('workflowengine', 'Delete') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton :type=\"ruleStatus.type\"\n\t\t\t\t\t@click=\"saveRule\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<component :is=\"ruleStatus.icon\" :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ ruleStatus.title }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<p v-if=\"error\" class=\"error-message\">\n\t\t\t\t{{ error }}\n\t\t\t</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport CheckMark from 'vue-material-design-icons/Check.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nimport Event from './Event.vue'\nimport Check from './Check.vue'\nimport Operation from './Operation.vue'\n\nexport default {\n\tname: 'Rule',\n\tcomponents: {\n\t\tArrowRight,\n\t\tCheck,\n\t\tCheckMark,\n\t\tClose,\n\t\tEvent,\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcButton,\n\t\tOperation,\n\t},\n\tdirectives: {\n\t\tTooltip,\n\t},\n\tprops: {\n\t\trule: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tediting: false,\n\t\t\tchecks: [],\n\t\t\terror: null,\n\t\t\tdirty: this.rule.id < 0,\n\t\t\toriginalRule: null,\n\t\t}\n\t},\n\tcomputed: {\n\t\toperation() {\n\t\t\treturn this.$store.getters.getOperationForRule(this.rule)\n\t\t},\n\t\truleStatus() {\n\t\t\tif (this.error || !this.rule.valid || this.rule.checks.length === 0 || this.rule.checks.some((check) => check.invalid === true)) {\n\t\t\t\treturn {\n\t\t\t\t\ttitle: t('workflowengine', 'The configuration is invalid'),\n\t\t\t\t\ticon: 'Close',\n\t\t\t\t\ttype: 'warning',\n\t\t\t\t\ttooltip: { placement: 'bottom', show: true, content: this.error },\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!this.dirty) {\n\t\t\t\treturn { title: t('workflowengine', 'Active'), icon: 'CheckMark', type: 'success' }\n\t\t\t}\n\t\t\treturn { title: t('workflowengine', 'Save'), icon: 'ArrowRight', type: 'primary' }\n\n\t\t},\n\t\tlastCheckComplete() {\n\t\t\tconst lastCheck = this.rule.checks[this.rule.checks.length - 1]\n\t\t\treturn typeof lastCheck === 'undefined' || lastCheck.class !== null\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t},\n\tmethods: {\n\t\tasync updateOperation(operation) {\n\t\t\tthis.$set(this.rule, 'operation', operation)\n\t\t\tawait this.updateRule()\n\t\t},\n\t\tvalidate(state) {\n\t\t\tthis.error = null\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\t\tupdateRule() {\n\t\t\tif (!this.dirty) {\n\t\t\t\tthis.dirty = true\n\t\t\t}\n\n\t\t\tthis.error = null\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\t\tasync saveRule() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('pushUpdateRule', this.rule)\n\t\t\t\tthis.dirty = false\n\t\t\t\tthis.error = null\n\t\t\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to save operation')\n\t\t\t\tthis.error = e.response.data.ocs.meta.message\n\t\t\t}\n\t\t},\n\t\tasync deleteRule() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('deleteRule', this.rule)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to delete operation')\n\t\t\t\tthis.error = e.response.data.ocs.meta.message\n\t\t\t}\n\t\t},\n\t\tcancelRule() {\n\t\t\tif (this.rule.id < 0) {\n\t\t\t\tthis.$store.dispatch('removeRule', this.rule)\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('updateRule', this.originalRule)\n\t\t\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t\t\t\tthis.dirty = false\n\t\t\t}\n\t\t},\n\n\t\tasync removeCheck(check) {\n\t\t\tconst index = this.rule.checks.findIndex(item => item === check)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.$delete(this.rule.checks, index)\n\t\t\t}\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\n\t\tonAddFilter() {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.rule.checks.push({ class: null, operator: null, value: '' })\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n\t.buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: end;\n\n\t\tbutton {\n\t\t\tmargin-left: 5px;\n\t\t}\n\t\tbutton:last-child{\n\t\t\tmargin-right: 10px;\n\t\t}\n\t}\n\n\t.error-message {\n\t\tfloat: right;\n\t\tmargin-right: 10px;\n\t}\n\n\t.flow-icon {\n\t\twidth: 44px;\n\t}\n\n\t.rule {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tborder-left: 5px solid var(--color-primary-element);\n\n\t\t.trigger,\n\t\t.action {\n\t\t\tflex-grow: 1;\n\t\t\tmin-height: 100px;\n\t\t\tmax-width: 920px;\n\t\t}\n\t\t.action {\n\t\t\tmax-width: 400px;\n\t\t\tposition: relative;\n\t\t}\n\t\t.icon-confirm {\n\t\t\tbackground-position: right 27px;\n\t\t\tpadding-right: 20px;\n\t\t\tmargin-right: 20px;\n\t\t}\n\t}\n\t.trigger p, .action p {\n\t\tmin-height: 34px;\n\t\tdisplay: flex;\n\n\t\t& > span {\n\t\t\tmin-width: 50px;\n\t\t\ttext-align: right;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tpadding-right: 10px;\n\t\t\tpadding-top: 6px;\n\t\t}\n\t\t.multiselect {\n\t\t\tflex-grow: 1;\n\t\t\tmax-width: 300px;\n\t\t}\n\t}\n\t.trigger p:first-child span {\n\t\t\tpadding-top: 3px;\n\t}\n\t.trigger p:last-child {\n\t\t\tpadding-top: 8px;\n\t}\n\n\t.check--add {\n\t\tbackground-position: 7px center;\n\t\tbackground-color: transparent;\n\t\tpadding-left: 6px;\n\t\tmargin: 0;\n\t\twidth: 180px;\n\t\tborder-radius: var(--border-radius);\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tfont-weight: normal;\n\t\ttext-align: left;\n\t\tfont-size: 1em;\n\t}\n\n\t@media (max-width:1400px) {\n\t\t.rule {\n\t\t\t&, .trigger, .action {\n\t\t\t\twidth: 100%;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t.flow-icon {\n\t\t\t\tdisplay: none;\n\t\t\t}\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!./Rule.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!./Rule.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!./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss\";\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!./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Rule.vue?vue&type=template&id=3def8966&scoped=true\"\nimport script from \"./Rule.vue?vue&type=script&lang=js\"\nexport * from \"./Rule.vue?vue&type=script&lang=js\"\nimport style0 from \"./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss\"\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 \"3def8966\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.operation)?_c('div',{staticClass:\"section rule\",style:({ borderLeftColor: _vm.operation.color || '' })},[_c('div',{staticClass:\"trigger\"},[_c('p',[_c('span',[_vm._v(_vm._s(_vm.t('workflowengine', 'When')))]),_vm._v(\" \"),_c('Event',{attrs:{\"rule\":_vm.rule},on:{\"update\":_vm.updateRule}})],1),_vm._v(\" \"),_vm._l((_vm.rule.checks),function(check,index){return _c('p',{key:index},[_c('span',[_vm._v(_vm._s(_vm.t('workflowengine', 'and')))]),_vm._v(\" \"),_c('Check',{attrs:{\"check\":check,\"rule\":_vm.rule},on:{\"update\":_vm.updateRule,\"validate\":_vm.validate,\"remove\":function($event){return _vm.removeCheck(check)}}})],1)}),_vm._v(\" \"),_c('p',[_c('span'),_vm._v(\" \"),(_vm.lastCheckComplete)?_c('input',{staticClass:\"check--add\",attrs:{\"type\":\"button\",\"value\":_vm.t('workflowengine', 'Add a new filter')},on:{\"click\":_vm.onAddFilter}}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"flow-icon icon-confirm\"}),_vm._v(\" \"),_c('div',{staticClass:\"action\"},[_c('Operation',{attrs:{\"operation\":_vm.operation,\"colored\":false}},[(_vm.operation.options)?_c(_vm.operation.options,{tag:\"component\",on:{\"input\":_vm.updateOperation},model:{value:(_vm.rule.operation),callback:function ($$v) {_vm.$set(_vm.rule, \"operation\", $$v)},expression:\"rule.operation\"}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.rule.id < -1 || _vm.dirty)?_c('NcButton',{on:{\"click\":_vm.cancelRule}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Cancel'))+\"\\n\\t\\t\\t\")]):(!_vm.dirty)?_c('NcButton',{on:{\"click\":_vm.deleteRule}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Delete'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":_vm.ruleStatus.type},on:{\"click\":_vm.saveRule},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.ruleStatus.icon,{tag:\"component\",attrs:{\"size\":20}})]},proxy:true}],null,false,2383918876)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.ruleStatus.title)+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.error)?_c('p',{staticClass:\"error-message\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.error)+\"\\n\\t\\t\")]):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon menu-up-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M7,15L12,10L17,15H7Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MenuUpIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MenuUp.vue?vue&type=template&id=52b567ec\"\nimport script from \"./MenuUp.vue?vue&type=script&lang=js\"\nexport * from \"./MenuUp.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-up-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,15L12,10L17,15H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workflow.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!./Workflow.vue?vue&type=script&lang=js\"","<template>\n\t<div id=\"workflowengine\">\n\t\t<NcSettingsSection :name=\"t('workflowengine', 'Available flows')\"\n\t\t\t:doc-url=\"workflowDocUrl\">\n\t\t\t<p v-if=\"isAdminScope\" class=\"settings-hint\">\n\t\t\t\t<a href=\"https://nextcloud.com/developer/\">{{ t('workflowengine', 'For details on how to write your own flow, check out the development documentation.') }}</a>\n\t\t\t</p>\n\n\t\t\t<NcEmptyContent v-if=\"!isUserAdmin && mainOperations.length === 0\"\n\t\t\t\t:name=\"t('workflowengine', 'No flows installed')\"\n\t\t\t\t:description=\"!isUserAdmin ? t('workflowengine', 'Ask your administrator to install new flows.') : undefined\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper :svg=\"WorkflowOffSvg\" :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t\t<transition-group v-else\n\t\t\t\tname=\"slide\"\n\t\t\t\ttag=\"div\"\n\t\t\t\tclass=\"actions\">\n\t\t\t\t<Operation v-for=\"operation in mainOperations\"\n\t\t\t\t\t:key=\"operation.id\"\n\t\t\t\t\t:operation=\"operation\"\n\t\t\t\t\t@click.native=\"createNewRule(operation)\" />\n\t\t\t\t<a v-if=\"showAppStoreHint\"\n\t\t\t\t\tkey=\"add\"\n\t\t\t\t\t:href=\"appstoreUrl\"\n\t\t\t\t\tclass=\"actions__item colored more\">\n\t\t\t\t\t<div class=\"icon icon-add\" />\n\t\t\t\t\t<div class=\"actions__item__description\">\n\t\t\t\t\t\t<h3>{{ t('workflowengine', 'More flows') }}</h3>\n\t\t\t\t\t\t<small>{{ t('workflowengine', 'Browse the App Store') }}</small>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</transition-group>\n\n\t\t\t<div v-if=\"hasMoreOperations\" class=\"actions__more\">\n\t\t\t\t<NcButton @click=\"showMoreOperations = !showMoreOperations\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<MenuUp v-if=\"showMoreOperations\" :size=\"20\" />\n\t\t\t\t\t\t<MenuDown v-else :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ showMoreOperations ? t('workflowengine', 'Show less') : t('workflowengine', 'Show more') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection v-if=\"mainOperations.length > 0\"\n\t\t\t:name=\"isAdminScope ? t('workflowengine', 'Configured flows') : t('workflowengine', 'Your flows')\">\n\t\t\t<transition-group v-if=\"rules.length > 0\" name=\"slide\">\n\t\t\t\t<Rule v-for=\"rule in rules\" :key=\"rule.id\" :rule=\"rule\" />\n\t\t\t</transition-group>\n\t\t\t<NcEmptyContent v-else :name=\"t('workflowengine', 'No flows configured')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcIconSvgWrapper :svg=\"WorkflowOffSvg\" :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n\n<script>\nimport Rule from './Rule.vue'\nimport Operation from './Operation.vue'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport { mapGetters, mapState } from 'vuex'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport MenuUp from 'vue-material-design-icons/MenuUp.vue'\nimport MenuDown from 'vue-material-design-icons/MenuDown.vue'\nimport WorkflowOffSvg from '../../img/workflow-off.svg?raw'\n\nconst ACTION_LIMIT = 3\nconst ADMIN_SCOPE = 0\n// const PERSONAL_SCOPE = 1\n\nexport default {\n\tname: 'Workflow',\n\tcomponents: {\n\t\tMenuDown,\n\t\tMenuUp,\n\t\tNcButton,\n\t\tNcEmptyContent,\n\t\tNcIconSvgWrapper,\n\t\tNcSettingsSection,\n\t\tOperation,\n\t\tRule,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowMoreOperations: false,\n\t\t\tappstoreUrl: generateUrl('settings/apps/workflow'),\n\t\t\tworkflowDocUrl: loadState('workflowengine', 'doc-url'),\n\t\t\tWorkflowOffSvg,\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapGetters({\n\t\t\trules: 'getRules',\n\t\t}),\n\t\t...mapState({\n\t\t\tappstoreEnabled: 'appstoreEnabled',\n\t\t\tscope: 'scope',\n\t\t\toperations: 'operations',\n\t\t}),\n\t\thasMoreOperations() {\n\t\t\treturn Object.keys(this.operations).length > ACTION_LIMIT\n\t\t},\n\t\tmainOperations() {\n\t\t\tif (this.showMoreOperations) {\n\t\t\t\treturn Object.values(this.operations)\n\t\t\t}\n\t\t\treturn Object.values(this.operations).slice(0, ACTION_LIMIT)\n\t\t},\n\t\tshowAppStoreHint() {\n\t\t\treturn this.appstoreEnabled && OC.isUserAdmin()\n\t\t},\n\t\tisUserAdmin() {\n\t\t\treturn OC.isUserAdmin()\n\t\t},\n\t\tisAdminScope() {\n\t\t\treturn this.scope === ADMIN_SCOPE\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$store.dispatch('fetchRules')\n\t},\n\tmethods: {\n\t\tcreateNewRule(operation) {\n\t\t\tthis.$store.dispatch('createNewRule', operation)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t#workflowengine {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\t.section {\n\t\tmax-width: 100vw;\n\n\t\th2.configured-flows {\n\t\t\tmargin-top: 50px;\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\t.actions {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmax-width: 1200px;\n\t\t.actions__item {\n\t\t\tmax-width: 280px;\n\t\t\tflex-basis: 250px;\n\t\t}\n\t}\n\t.actions__more {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t.slide-enter-active {\n\t\t-moz-transition-duration: 0.3s;\n\t\t-webkit-transition-duration: 0.3s;\n\t\t-o-transition-duration: 0.3s;\n\t\ttransition-duration: 0.3s;\n\t\t-moz-transition-timing-function: ease-in;\n\t\t-webkit-transition-timing-function: ease-in;\n\t\t-o-transition-timing-function: ease-in;\n\t\ttransition-timing-function: ease-in;\n\t}\n\n\t.slide-leave-active {\n\t\t-moz-transition-duration: 0.3s;\n\t\t-webkit-transition-duration: 0.3s;\n\t\t-o-transition-duration: 0.3s;\n\t\ttransition-duration: 0.3s;\n\t\t-moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t\t-webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t\t-o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t\ttransition-timing-function: cubic-bezier(0, 1, 0.5, 1);\n\t}\n\n\t.slide-enter-to, .slide-leave {\n\t\tmax-height: 500px;\n\t\toverflow: hidden;\n\t}\n\n\t.slide-enter, .slide-leave-to {\n\t\toverflow: hidden;\n\t\tmax-height: 0;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t}\n\n\t@import \"./../styles/operation\";\n\n\t.actions__item.more {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n</style>\n","\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!./Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss\";\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!./Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Workflow.vue?vue&type=template&id=16a5974e&scoped=true\"\nimport script from \"./Workflow.vue?vue&type=script&lang=js\"\nexport * from \"./Workflow.vue?vue&type=script&lang=js\"\nimport style0 from \"./Workflow.vue?vue&type=style&index=0&id=16a5974e&prod&scoped=true&lang=scss\"\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 \"16a5974e\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\nconst regexIPv4 = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\/(3[0-2]|[1-2][0-9]|[1-9])$/\nconst regexIPv6 = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9])$/\n\nconst validateRegex = function(string) {\n\tif (!string) {\n\t\treturn false\n\t}\n\treturn regexRegex.exec(string) !== null\n}\n\nconst validateIPv4 = function(string) {\n\tif (!string) {\n\t\treturn false\n\t}\n\treturn regexIPv4.exec(string) !== null\n}\n\nconst validateIPv6 = function(string) {\n\tif (!string) {\n\t\treturn false\n\t}\n\treturn regexIPv6.exec(string) !== null\n}\n\nconst stringValidator = (check) => {\n\tif (check.operator === 'matches' || check.operator === '!matches') {\n\t\treturn validateRegex(check.value)\n\t}\n\treturn true\n}\n\nexport { validateRegex, stringValidator, validateIPv4, validateIPv6 }\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a file type'),\"label\":\"label\",\"options\":_vm.options,\"clearable\":false},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [(option.icon)?_c('span',{staticClass:\"option__icon\",class:option.icon}):_c('span',{staticClass:\"option__icon-img\"},[_c('img',{attrs:{\"src\":option.iconUrl,\"alt\":\"\"}})]),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [(selectedOption.icon)?_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}):_c('span',{staticClass:\"option__icon-img\"},[_c('img',{attrs:{\"src\":selectedOption.iconUrl,\"alt\":\"\"}})]),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\",\"placeholder\":_vm.t('workflowengine', 'e.g. httpd/unix-directory')},domProps:{\"value\":_vm.currentValue.id},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst valueMixin = {\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tcheck: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t}\n\t},\n\twatch: {\n\t\tvalue: {\n\t\t\timmediate: true,\n\t\t\thandler(value) {\n\t\t\t\tthis.updateInternalValue(value)\n\t\t\t},\n\t\t},\n\t},\n\tmethods: {\n\t\tupdateInternalValue(value) {\n\t\t\tthis.newValue = value\n\t\t},\n\t},\n}\n\nexport default valueMixin\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileMimeType.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!./FileMimeType.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a file type')\"\n\t\t\tlabel=\"label\"\n\t\t\t:options=\"options\"\n\t\t\t:clearable=\"false\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span v-if=\"option.icon\" class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span v-else class=\"option__icon-img\">\n\t\t\t\t\t<img :src=\"option.iconUrl\" alt=\"\">\n\t\t\t\t</span>\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span v-if=\"selectedOption.icon\" class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span v-else class=\"option__icon-img\">\n\t\t\t\t\t<img :src=\"selectedOption.iconUrl\" alt=\"\">\n\t\t\t\t</span>\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.id\"\n\t\t\t:placeholder=\"t('workflowengine', 'e.g. httpd/unix-directory')\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from './../../mixins/valueMixin.js'\nimport { imagePath } from '@nextcloud/router'\n\nexport default {\n\tname: 'FileMimeType',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tpredefinedTypes: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-folder',\n\t\t\t\t\tlabel: t('workflowengine', 'Folder'),\n\t\t\t\t\tid: 'httpd/unix-directory',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-picture',\n\t\t\t\t\tlabel: t('workflowengine', 'Images'),\n\t\t\t\t\tid: '/image\\\\/.*/',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticonUrl: imagePath('core', 'filetypes/x-office-document'),\n\t\t\t\t\tlabel: t('workflowengine', 'Office documents'),\n\t\t\t\t\tid: '/(vnd\\\\.(ms-|openxmlformats-|oasis\\\\.opendocument).*)$/',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticonUrl: imagePath('core', 'filetypes/application-pdf'),\n\t\t\t\t\tlabel: t('workflowengine', 'PDF documents'),\n\t\t\t\t\tid: 'application/pdf',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tisPredefined() {\n\t\t\tconst matchingPredefined = this.predefinedTypes.find((type) => this.newValue === type.id)\n\t\t\tif (matchingPredefined) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom MIME type'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tconst matchingPredefined = this.predefinedTypes.find((type) => this.newValue === type.id)\n\t\t\tif (matchingPredefined) {\n\t\t\t\treturn matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom mimetype'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped lang=\"scss\">\n.v-select,\ninput[type='text'] {\n\twidth: 100%;\n}\n\ninput[type=text] {\n\tmin-height: 48px;\n}\n\n.option__icon,\n.option__icon-img {\n\tdisplay: inline-block;\n\tmin-width: 30px;\n\tbackground-position: center;\n\tvertical-align: middle;\n}\n\n.option__icon-img {\n\ttext-align: center;\n}\n\n.option__title {\n\tdisplay: inline-flex;\n\twidth: calc(100% - 36px);\n\tvertical-align: middle;\n}\n</style>\n","\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!./FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss\";\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!./FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileMimeType.vue?vue&type=template&id=1a11f354&scoped=true\"\nimport script from \"./FileMimeType.vue?vue&type=script&lang=js\"\nexport * from \"./FileMimeType.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileMimeType.vue?vue&type=style&index=0&id=1a11f354&prod&scoped=true&lang=scss\"\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 \"1a11f354\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileSystemTag.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!./FileSystemTag.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<NcSelectTags v-model=\"newValue\"\n\t\t:multiple=\"false\"\n\t\t@input=\"update\" />\n</template>\n\n<script>\nimport NcSelectTags from '@nextcloud/vue/dist/Components/NcSelectTags.js'\n\nexport default {\n\tname: 'FileSystemTag',\n\tcomponents: {\n\t\tNcSelectTags,\n\t},\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: [],\n\t\t}\n\t},\n\twatch: {\n\t\tvalue() {\n\t\t\tthis.updateValue()\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.updateValue()\n\t},\n\tmethods: {\n\t\tupdateValue() {\n\t\t\tif (this.value !== '') {\n\t\t\t\tthis.newValue = parseInt(this.value)\n\t\t\t} else {\n\t\t\t\tthis.newValue = null\n\t\t\t}\n\t\t},\n\t\tupdate() {\n\t\t\tthis.$emit('input', this.newValue || '')\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render, staticRenderFns } from \"./FileSystemTag.vue?vue&type=template&id=3bb09106&scoped=true\"\nimport script from \"./FileSystemTag.vue?vue&type=script&lang=js\"\nexport * from \"./FileSystemTag.vue?vue&type=script&lang=js\"\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 \"3bb09106\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSelectTags',{attrs:{\"multiple\":false},on:{\"input\":_vm.update},model:{value:(_vm.newValue),callback:function ($$v) {_vm.newValue=$$v},expression:\"newValue\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { stringValidator, validateIPv4, validateIPv6 } from '../../helpers/validators.js'\nimport FileMimeType from './FileMimeType.vue'\nimport FileSystemTag from './FileSystemTag.vue'\n\nconst stringOrRegexOperators = () => {\n\treturn [\n\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t]\n}\n\nconst FileChecks = [\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileName',\n\t\tname: t('workflowengine', 'File name'),\n\t\toperators: stringOrRegexOperators,\n\t\tplaceholder: (check) => {\n\t\t\tif (check.operator === 'matches' || check.operator === '!matches') {\n\t\t\t\treturn '/^dummy-.+$/i'\n\t\t\t}\n\t\t\treturn 'filename.txt'\n\t\t},\n\t\tvalidate: stringValidator,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileMimeType',\n\t\tname: t('workflowengine', 'File MIME type'),\n\t\toperators: stringOrRegexOperators,\n\t\tcomponent: FileMimeType,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileSize',\n\t\tname: t('workflowengine', 'File size (upload)'),\n\t\toperators: [\n\t\t\t{ operator: 'less', name: t('workflowengine', 'less') },\n\t\t\t{ operator: '!greater', name: t('workflowengine', 'less or equals') },\n\t\t\t{ operator: '!less', name: t('workflowengine', 'greater or equals') },\n\t\t\t{ operator: 'greater', name: t('workflowengine', 'greater') },\n\t\t],\n\t\tplaceholder: (check) => '5 MB',\n\t\tvalidate: (check) => check.value ? check.value.match(/^[0-9]+[ ]?[kmgt]?b$/i) !== null : false,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestRemoteAddress',\n\t\tname: t('workflowengine', 'Request remote address'),\n\t\toperators: [\n\t\t\t{ operator: 'matchesIPv4', name: t('workflowengine', 'matches IPv4') },\n\t\t\t{ operator: '!matchesIPv4', name: t('workflowengine', 'does not match IPv4') },\n\t\t\t{ operator: 'matchesIPv6', name: t('workflowengine', 'matches IPv6') },\n\t\t\t{ operator: '!matchesIPv6', name: t('workflowengine', 'does not match IPv6') },\n\t\t],\n\t\tplaceholder: (check) => {\n\t\t\tif (check.operator === 'matchesIPv6' || check.operator === '!matchesIPv6') {\n\t\t\t\treturn '::1/128'\n\t\t\t}\n\t\t\treturn '127.0.0.1/32'\n\t\t},\n\t\tvalidate: (check) => {\n\t\t\tif (check.operator === 'matchesIPv6' || check.operator === '!matchesIPv6') {\n\t\t\t\treturn validateIPv6(check.value)\n\t\t\t}\n\t\t\treturn validateIPv4(check.value)\n\t\t},\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileSystemTags',\n\t\tname: t('workflowengine', 'File system tag'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is tagged with') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not tagged with') },\n\t\t],\n\t\tcomponent: FileSystemTag,\n\t},\n]\n\nexport default FileChecks\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.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!./RequestUserAgent.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a user agent')\"\n\t\t\tlabel=\"label\"\n\t\t\t:options=\"options\"\n\t\t\t:clearable=\"false\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.pattern\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nexport default {\n\tname: 'RequestUserAgent',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t\tpredefinedTypes: [\n\t\t\t\t{ id: 'android', label: t('workflowengine', 'Android client'), icon: 'icon-phone' },\n\t\t\t\t{ id: 'ios', label: t('workflowengine', 'iOS client'), icon: 'icon-phone' },\n\t\t\t\t{ id: 'desktop', label: t('workflowengine', 'Desktop client'), icon: 'icon-desktop' },\n\t\t\t\t{ id: 'mail', label: t('workflowengine', 'Thunderbird & Outlook addons'), icon: 'icon-mail' },\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tmatchingPredefined() {\n\t\t\treturn this.predefinedTypes\n\t\t\t\t.find((type) => this.newValue === type.id)\n\t\t},\n\t\tisPredefined() {\n\t\t\treturn !!this.matchingPredefined\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom user agent'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tif (this.matchingPredefined) {\n\t\t\t\treturn this.matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom user agent'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\t// TODO: check if value requires a regex and set the check operator according to that\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n\t.v-select,\n\tinput[type='text'] {\n\t\twidth: 100%;\n\t}\n\tinput[type='text'] {\n\t\tmin-height: 48px;\n\t}\n\n\t.option__icon {\n\t\tdisplay: inline-block;\n\t\tmin-width: 30px;\n\t\tbackground-position: center;\n\t\tvertical-align: middle;\n\t}\n\n\t.option__title {\n\t\tdisplay: inline-flex;\n\t\twidth: calc(100% - 36px);\n\t\tvertical-align: middle;\n\t}\n</style>\n","\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/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css\";\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/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestUserAgent.vue?vue&type=template&id=003881d4&scoped=true\"\nimport script from \"./RequestUserAgent.vue?vue&type=script&lang=js\"\nexport * from \"./RequestUserAgent.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css\"\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 \"003881d4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a user agent'),\"label\":\"label\",\"options\":_vm.options,\"clearable\":false},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span',{staticClass:\"option__icon\",class:option.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.currentValue.pattern},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"timeslot\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newValue.startTime),expression:\"newValue.startTime\"}],staticClass:\"timeslot--start\",attrs:{\"type\":\"text\",\"placeholder\":\"e.g. 08:00\"},domProps:{\"value\":(_vm.newValue.startTime)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.newValue, \"startTime\", $event.target.value)},_vm.update]}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newValue.endTime),expression:\"newValue.endTime\"}],attrs:{\"type\":\"text\",\"placeholder\":\"e.g. 18:00\"},domProps:{\"value\":(_vm.newValue.endTime)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.newValue, \"endTime\", $event.target.value)},_vm.update]}}),_vm._v(\" \"),(!_vm.valid)?_c('p',{staticClass:\"invalid-hint\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Please enter a valid time span'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcSelect',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.valid),expression:\"valid\"}],attrs:{\"clearable\":false,\"options\":_vm.timezones},on:{\"input\":_vm.update},model:{value:(_vm.newValue.timezone),callback:function ($$v) {_vm.$set(_vm.newValue, \"timezone\", $$v)},expression:\"newValue.timezone\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"timeslot\">\n\t\t<input v-model=\"newValue.startTime\"\n\t\t\ttype=\"text\"\n\t\t\tclass=\"timeslot--start\"\n\t\t\tplaceholder=\"e.g. 08:00\"\n\t\t\t@input=\"update\">\n\t\t<input v-model=\"newValue.endTime\"\n\t\t\ttype=\"text\"\n\t\t\tplaceholder=\"e.g. 18:00\"\n\t\t\t@input=\"update\">\n\t\t<p v-if=\"!valid\" class=\"invalid-hint\">\n\t\t\t{{ t('workflowengine', 'Please enter a valid time span') }}\n\t\t</p>\n\t\t<NcSelect v-show=\"valid\"\n\t\t\tv-model=\"newValue.timezone\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"timezones\"\n\t\t\t@input=\"update\" />\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport moment from 'moment-timezone'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nconst zones = moment.tz.names()\nexport default {\n\tname: 'RequestTime',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttimezones: zones,\n\t\t\tvalid: false,\n\t\t\tnewValue: {\n\t\t\t\tstartTime: null,\n\t\t\t\tendTime: null,\n\t\t\t\ttimezone: moment.tz.guess(),\n\t\t\t},\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.validate()\n\t},\n\tmethods: {\n\t\tupdateInternalValue(value) {\n\t\t\ttry {\n\t\t\t\tconst data = JSON.parse(value)\n\t\t\t\tif (data.length === 2) {\n\t\t\t\t\tthis.newValue = {\n\t\t\t\t\t\tstartTime: data[0].split(' ', 2)[0],\n\t\t\t\t\t\tendTime: data[1].split(' ', 2)[0],\n\t\t\t\t\t\ttimezone: data[0].split(' ', 2)[1],\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t// ignore invalid values\n\t\t\t}\n\t\t},\n\t\tvalidate() {\n\t\t\tthis.valid = this.newValue.startTime && this.newValue.startTime.match(/^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$/i) !== null\n\t\t\t\t&& this.newValue.endTime && this.newValue.endTime.match(/^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$/i) !== null\n\t\t\t\t&& moment.tz.zone(this.newValue.timezone) !== null\n\t\t\tif (this.valid) {\n\t\t\t\tthis.$emit('valid')\n\t\t\t} else {\n\t\t\t\tthis.$emit('invalid')\n\t\t\t}\n\t\t\treturn this.valid\n\t\t},\n\t\tupdate() {\n\t\t\tif (this.newValue.timezone === null) {\n\t\t\t\tthis.newValue.timezone = moment.tz.guess()\n\t\t\t}\n\t\t\tif (this.validate()) {\n\t\t\t\tconst output = `[\"${this.newValue.startTime} ${this.newValue.timezone}\",\"${this.newValue.endTime} ${this.newValue.timezone}\"]`\n\t\t\t\tthis.$emit('input', output)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.timeslot {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-wrap: wrap;\n\t\tmax-width: 180px;\n\n\t\t.multiselect {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\n\t\t.multiselect::v-deep .multiselect__tags:not(:hover):not(:focus):not(:active) {\n\t\t\tborder: 1px solid transparent;\n\t\t}\n\n\t\tinput[type=text] {\n\t\t\twidth: 50%;\n\t\t\tmargin: 0;\n\t\t\tmargin-bottom: 5px;\n\t\t\tmin-height: 48px;\n\n\t\t\t&.timeslot--start {\n\t\t\t\tmargin-right: 5px;\n\t\t\t\twidth: calc(50% - 5px);\n\t\t\t}\n\t\t}\n\n\t\t.invalid-hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestTime.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!./RequestTime.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!./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss\";\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!./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestTime.vue?vue&type=template&id=7a2ecc67&scoped=true\"\nimport script from \"./RequestTime.vue?vue&type=script&lang=js\"\nexport * from \"./RequestTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss\"\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 \"7a2ecc67\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestURL.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!./RequestURL.vue?vue&type=script&lang=js\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a request URL')\"\n\t\t\tlabel=\"label\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"options\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.id\"\n\t\t\t:placeholder=\"placeholder\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nexport default {\n\tname: 'RequestURL',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t\tpredefinedTypes: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-files-dark',\n\t\t\t\t\tid: 'webdav',\n\t\t\t\t\tlabel: t('workflowengine', 'Files WebDAV'),\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tplaceholder() {\n\t\t\tif (this.check.operator === 'matches' || this.check.operator === '!matches') {\n\t\t\t\treturn '/^https\\\\:\\\\/\\\\/localhost\\\\/index\\\\.php$/i'\n\t\t\t}\n\t\t\treturn 'https://localhost/index.php'\n\t\t},\n\t\tmatchingPredefined() {\n\t\t\treturn this.predefinedTypes\n\t\t\t\t.find((type) => this.newValue === type.id)\n\t\t},\n\t\tisPredefined() {\n\t\t\treturn !!this.matchingPredefined\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom URL'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tif (this.matchingPredefined) {\n\t\t\t\treturn this.matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom URL'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\t// TODO: check if value requires a regex and set the check operator according to that\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped lang=\"scss\">\n\t.v-select,\n\tinput[type='text'] {\n\t\twidth: 100%;\n\t}\n\tinput[type='text'] {\n\t\tmin-height: 48px;\n\t}\n\n\t.option__icon {\n\t\tdisplay: inline-block;\n\t\tmin-width: 30px;\n\t\tbackground-position: center;\n\t\tvertical-align: middle;\n\t}\n\n\t.option__title {\n\t\tdisplay: inline-flex;\n\t\twidth: calc(100% - 36px);\n\t\tvertical-align: middle;\n\t}\n</style>\n","\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!./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss\";\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!./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestURL.vue?vue&type=template&id=1a72d97f&scoped=true\"\nimport script from \"./RequestURL.vue?vue&type=script&lang=js\"\nexport * from \"./RequestURL.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss\"\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 \"1a72d97f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a request URL'),\"label\":\"label\",\"clearable\":false,\"options\":_vm.options},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span',{staticClass:\"option__icon\",class:option.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.currentValue.id},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"loading\":_vm.status.isLoading && _vm.groups.length === 0,\"options\":_vm.groups,\"clearable\":false,\"label\":\"displayname\"},on:{\"search-change\":_vm.searchAsync,\"input\":(value) => _vm.$emit('input', value.id)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:loading=\"status.isLoading && groups.length === 0\"\n\t\t\t:options=\"groups\"\n\t\t\t:clearable=\"false\"\n\t\t\tlabel=\"displayname\"\n\t\t\t@search-change=\"searchAsync\"\n\t\t\t@input=\"(value) => $emit('input', value.id)\" />\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst groups = []\nconst status = {\n\tisLoading: false,\n}\n\nexport default {\n\tname: 'RequestUserGroup',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tcheck: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroups,\n\t\t\tstatus,\n\t\t}\n\t},\n\tcomputed: {\n\t\tcurrentValue() {\n\t\t\treturn this.groups.find(group => group.id === this.value) || null\n\t\t},\n\t},\n\tasync mounted() {\n\t\tif (this.groups.length === 0) {\n\t\t\tawait this.searchAsync('')\n\t\t}\n\t\tif (this.currentValue === null) {\n\t\t\tawait this.searchAsync(this.value)\n\t\t}\n\t},\n\tmethods: {\n\t\tsearchAsync(searchQuery) {\n\t\t\tif (this.status.isLoading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.status.isLoading = true\n\t\t\treturn axios.get(generateOcsUrl('cloud/groups/details?limit=20&search={searchQuery}', { searchQuery })).then((response) => {\n\t\t\t\tresponse.data.ocs.data.groups.forEach((group) => {\n\t\t\t\t\tthis.addGroup({\n\t\t\t\t\t\tid: group.id,\n\t\t\t\t\t\tdisplayname: group.displayname,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tthis.status.isLoading = false\n\t\t\t}, (error) => {\n\t\t\t\tconsole.error('Error while loading group list', error.response)\n\t\t\t})\n\t\t},\n\t\taddGroup(group) {\n\t\t\tconst index = this.groups.findIndex((item) => item.id === group.id)\n\t\t\tif (index === -1) {\n\t\t\t\tthis.groups.push(group)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n.v-select {\n\twidth: 100%;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.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!./RequestUserGroup.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/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css\";\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/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestUserGroup.vue?vue&type=template&id=16d8123e&scoped=true\"\nimport script from \"./RequestUserGroup.vue?vue&type=script&lang=js\"\nexport * from \"./RequestUserGroup.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestUserGroup.vue?vue&type=style&index=0&id=16d8123e&prod&scoped=true&lang=css\"\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 \"16d8123e\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport FileChecks from './file.js'\nimport RequestChecks from './request.js'\n\nexport default [...FileChecks, ...RequestChecks]\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport RequestUserAgent from './RequestUserAgent.vue'\nimport RequestTime from './RequestTime.vue'\nimport RequestURL from './RequestURL.vue'\nimport RequestUserGroup from './RequestUserGroup.vue'\n\nconst RequestChecks = [\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestURL',\n\t\tname: t('workflowengine', 'Request URL'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t],\n\t\tcomponent: RequestURL,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestTime',\n\t\tname: t('workflowengine', 'Request time'),\n\t\toperators: [\n\t\t\t{ operator: 'in', name: t('workflowengine', 'between') },\n\t\t\t{ operator: '!in', name: t('workflowengine', 'not between') },\n\t\t],\n\t\tcomponent: RequestTime,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestUserAgent',\n\t\tname: t('workflowengine', 'Request user agent'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t],\n\t\tcomponent: RequestUserAgent,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\UserGroupMembership',\n\t\tname: t('workflowengine', 'User group membership'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is member of') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not member of') },\n\t\t],\n\t\tcomponent: RequestUserGroup,\n\t},\n]\n\nexport default RequestChecks\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport store from './store.js'\nimport Settings from './components/Workflow.vue'\nimport ShippedChecks from './components/Checks/index.js'\n\n/**\n * A plugin for displaying a custom value field for checks\n *\n * @typedef {object} CheckPlugin\n * @property {string} class - The PHP class name of the check\n * @property {Comparison[]} operators - A list of possible comparison operations running on the check\n * @property {Vue} component - A vue component to handle the rendering of options\n * The component should handle the v-model directive properly,\n * so it needs a value property to receive data and emit an input\n * event once the data has changed\n * @property {Function} placeholder - Return a placeholder of no custom component is used\n * @property {Function} validate - validate a check if no custom component is used\n */\n\n/**\n * A plugin for extending the admin page representation of an operator\n *\n * @typedef {object} OperatorPlugin\n * @property {string} id - The PHP class name of the check\n * @property {string} operation - Default value for the operation field\n * @property {string} color - Custom color code to be applied for the operator selector\n * @property {Vue} component - A vue component to handle the rendering of options\n * The component should handle the v-model directive properly,\n * so it needs a value property to receive data and emit an input\n * event once the data has changed\n */\n\n/**\n * @typedef {object} Comparison\n * @property {string} operator - value the comparison should have, e.g. !less, greater\n * @property {string} name - Translated readable text, e.g. less or equals\n */\n\n/**\n * Public javascript api for apps to register custom plugins\n */\nwindow.OCA.WorkflowEngine = Object.assign({}, OCA.WorkflowEngine, {\n\n\t/**\n\t *\n\t * @param {CheckPlugin} Plugin the plugin to register\n\t */\n\tregisterCheck(Plugin) {\n\t\tstore.commit('addPluginCheck', Plugin)\n\t},\n\t/**\n\t *\n\t * @param {OperatorPlugin} Plugin the plugin to register\n\t */\n\tregisterOperator(Plugin) {\n\t\tstore.commit('addPluginOperator', Plugin)\n\t},\n})\n\n// Register shipped checks\nShippedChecks.forEach((checkPlugin) => window.OCA.WorkflowEngine.registerCheck(checkPlugin))\n\nVue.use(Vuex)\nVue.prototype.t = t\n\nconst View = Vue.extend(Settings)\nconst workflowengine = new View({\n\tstore,\n})\nworkflowengine.$mount('#workflowengine')\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, `.check[data-v-07a2739b]{display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;padding-right:20px}.check>*[data-v-07a2739b]:not(.close){width:180px}.check>.comparator[data-v-07a2739b]{min-width:200px;width:200px}.check>.option[data-v-07a2739b]{min-width:260px;width:260px;min-height:48px}.check>.option>input[type=text][data-v-07a2739b]{min-height:48px}.check>.v-select[data-v-07a2739b],.check>.button-vue[data-v-07a2739b],.check>input[type=text][data-v-07a2739b]{margin-right:5px;margin-bottom:5px}input[type=text][data-v-07a2739b]{margin:0}.invalid[data-v-07a2739b]{border-color:var(--color-error) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Check.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,YAAA,CACA,cAAA,CACA,sBAAA,CACA,UAAA,CACA,kBAAA,CAEA,sCACC,WAAA,CAED,oCACC,eAAA,CACA,WAAA,CAED,gCACC,eAAA,CACA,WAAA,CACA,eAAA,CAEA,iDACC,eAAA,CAGF,+GAGC,gBAAA,CACA,iBAAA,CAGF,kCACC,QAAA,CAED,0BACC,0CAAA\",\"sourcesContent\":[\"\\n.check {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start; // to not stretch components vertically\\n\\twidth: 100%;\\n\\tpadding-right: 20px;\\n\\n\\t& > *:not(.close) {\\n\\t\\twidth: 180px;\\n\\t}\\n\\t& > .comparator {\\n\\t\\tmin-width: 200px;\\n\\t\\twidth: 200px;\\n\\t}\\n\\t& > .option {\\n\\t\\tmin-width: 260px;\\n\\t\\twidth: 260px;\\n\\t\\tmin-height: 48px;\\n\\n\\t\\t& > input[type=text] {\\n\\t\\t\\tmin-height: 48px;\\n\\t\\t}\\n\\t}\\n\\t& > .v-select,\\n\\t& > .button-vue,\\n\\t& > input[type=text] {\\n\\t\\tmargin-right: 5px;\\n\\t\\tmargin-bottom: 5px;\\n\\t}\\n}\\ninput[type=text] {\\n\\tmargin: 0;\\n}\\n.invalid {\\n\\tborder-color: var(--color-error) !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.v-select[data-v-1a11f354],input[type=text][data-v-1a11f354]{width:100%}input[type=text][data-v-1a11f354]{min-height:48px}.option__icon[data-v-1a11f354],.option__icon-img[data-v-1a11f354]{display:inline-block;min-width:30px;background-position:center;vertical-align:middle}.option__icon-img[data-v-1a11f354]{text-align:center}.option__title[data-v-1a11f354]{display:inline-flex;width:calc(100% - 36px);vertical-align:middle}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/FileMimeType.vue\"],\"names\":[],\"mappings\":\"AACA,6DAEC,UAAA,CAGD,kCACC,eAAA,CAGD,kEAEC,oBAAA,CACA,cAAA,CACA,0BAAA,CACA,qBAAA,CAGD,mCACC,iBAAA,CAGD,gCACC,mBAAA,CACA,uBAAA,CACA,qBAAA\",\"sourcesContent\":[\"\\n.v-select,\\ninput[type='text'] {\\n\\twidth: 100%;\\n}\\n\\ninput[type=text] {\\n\\tmin-height: 48px;\\n}\\n\\n.option__icon,\\n.option__icon-img {\\n\\tdisplay: inline-block;\\n\\tmin-width: 30px;\\n\\tbackground-position: center;\\n\\tvertical-align: middle;\\n}\\n\\n.option__icon-img {\\n\\ttext-align: center;\\n}\\n\\n.option__title {\\n\\tdisplay: inline-flex;\\n\\twidth: calc(100% - 36px);\\n\\tvertical-align: middle;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.timeslot[data-v-7a2ecc67]{display:flex;flex-grow:1;flex-wrap:wrap;max-width:180px}.timeslot .multiselect[data-v-7a2ecc67]{width:100%;margin-bottom:5px}.timeslot .multiselect[data-v-7a2ecc67] .multiselect__tags:not(:hover):not(:focus):not(:active){border:1px solid rgba(0,0,0,0)}.timeslot input[type=text][data-v-7a2ecc67]{width:50%;margin:0;margin-bottom:5px;min-height:48px}.timeslot input[type=text].timeslot--start[data-v-7a2ecc67]{margin-right:5px;width:calc(50% - 5px)}.timeslot .invalid-hint[data-v-7a2ecc67]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestTime.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,YAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CAEA,wCACC,UAAA,CACA,iBAAA,CAGD,gGACC,8BAAA,CAGD,4CACC,SAAA,CACA,QAAA,CACA,iBAAA,CACA,eAAA,CAEA,4DACC,gBAAA,CACA,qBAAA,CAIF,yCACC,mCAAA\",\"sourcesContent\":[\"\\n.timeslot {\\n\\tdisplay: flex;\\n\\tflex-grow: 1;\\n\\tflex-wrap: wrap;\\n\\tmax-width: 180px;\\n\\n\\t.multiselect {\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 5px;\\n\\t}\\n\\n\\t.multiselect::v-deep .multiselect__tags:not(:hover):not(:focus):not(:active) {\\n\\t\\tborder: 1px solid transparent;\\n\\t}\\n\\n\\tinput[type=text] {\\n\\t\\twidth: 50%;\\n\\t\\tmargin: 0;\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmin-height: 48px;\\n\\n\\t\\t&.timeslot--start {\\n\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\twidth: calc(50% - 5px);\\n\\t\\t}\\n\\t}\\n\\n\\t.invalid-hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.v-select[data-v-1a72d97f],input[type=text][data-v-1a72d97f]{width:100%}input[type=text][data-v-1a72d97f]{min-height:48px}.option__icon[data-v-1a72d97f]{display:inline-block;min-width:30px;background-position:center;vertical-align:middle}.option__title[data-v-1a72d97f]{display:inline-flex;width:calc(100% - 36px);vertical-align:middle}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestURL.vue\"],\"names\":[],\"mappings\":\"AACA,6DAEC,UAAA,CAED,kCACC,eAAA,CAGD,+BACC,oBAAA,CACA,cAAA,CACA,0BAAA,CACA,qBAAA,CAGD,gCACC,mBAAA,CACA,uBAAA,CACA,qBAAA\",\"sourcesContent\":[\"\\n.v-select,\\ninput[type='text'] {\\n\\twidth: 100%;\\n}\\ninput[type='text'] {\\n\\tmin-height: 48px;\\n}\\n\\n.option__icon {\\n\\tdisplay: inline-block;\\n\\tmin-width: 30px;\\n\\tbackground-position: center;\\n\\tvertical-align: middle;\\n}\\n\\n.option__title {\\n\\tdisplay: inline-flex;\\n\\twidth: calc(100% - 36px);\\n\\tvertical-align: middle;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.event[data-v-d4892b64]{margin-bottom:5px}.event__trigger[data-v-d4892b64]{max-width:550px}.isComplex img[data-v-d4892b64]{vertical-align:text-top}.isComplex span[data-v-d4892b64]{padding-top:2px;display:inline-block}.option__title[data-v-d4892b64]{margin-left:5px;color:var(--color-main-text)}.option__icon[data-v-d4892b64]{width:16px;height:16px;filter:var(--background-invert-if-dark)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Event.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,iBAAA,CAEA,iCACC,eAAA,CAID,gCACC,uBAAA,CAED,iCACC,eAAA,CACA,oBAAA,CAIF,gCACC,eAAA,CACA,4BAAA,CAGD,+BACC,UAAA,CACA,WAAA,CACA,uCAAA\",\"sourcesContent\":[\"\\n.event {\\n\\tmargin-bottom: 5px;\\n\\n\\t&__trigger {\\n\\t\\tmax-width: 550px;\\n\\t}\\n}\\n.isComplex {\\n\\timg {\\n\\t\\tvertical-align: text-top;\\n\\t}\\n\\tspan {\\n\\t\\tpadding-top: 2px;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.option__title {\\n\\tmargin-left: 5px;\\n\\tcolor: var(--color-main-text);\\n}\\n\\n.option__icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tfilter: var(--background-invert-if-dark);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.actions__item[data-v-a0480332]{display:flex;flex-wrap:wrap;flex-direction:column;flex-grow:1;margin-left:-1px;padding:10px;border-radius:var(--border-radius-large);margin-right:20px;margin-bottom:20px}.actions__item .icon[data-v-a0480332]{display:block;width:100%;height:50px;background-size:50px 50px;background-position:center center;margin-top:10px;margin-bottom:10px;background-repeat:no-repeat}.actions__item__description[data-v-a0480332]{text-align:center;flex-grow:1;display:flex;flex-direction:column;align-items:center}.actions__item_options[data-v-a0480332]{width:100%;margin-top:10px;padding-left:60px}h3[data-v-a0480332],small[data-v-a0480332]{padding:6px;display:block}h3[data-v-a0480332]{margin:0;padding:0;font-weight:600}small[data-v-a0480332]{font-size:10pt;flex-grow:1}.colored[data-v-a0480332]:not(.more){background-color:var(--color-primary-element)}.colored:not(.more) h3[data-v-a0480332],.colored:not(.more) small[data-v-a0480332]{color:var(--color-primary-element-text)}.actions__item[data-v-a0480332]:not(.colored){flex-direction:row}.actions__item:not(.colored) .actions__item__description[data-v-a0480332]{padding-top:5px;text-align:left;width:calc(100% - 105px)}.actions__item:not(.colored) .actions__item__description small[data-v-a0480332]{padding:0}.actions__item:not(.colored) .icon[data-v-a0480332]{width:50px;margin:0;margin-right:10px}.actions__item:not(.colored) .icon[data-v-a0480332]:not(.icon-invert){filter:var(--background-invert-if-bright)}.colored .icon-invert[data-v-a0480332]{filter:var(--background-invert-if-bright)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/styles/operation.scss\"],\"names\":[],\"mappings\":\"AAAA,gCACC,YAAA,CACA,cAAA,CACA,qBAAA,CACA,WAAA,CACA,gBAAA,CACA,YAAA,CACA,wCAAA,CACA,iBAAA,CACA,kBAAA,CAED,sCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,yBAAA,CACA,iCAAA,CACA,eAAA,CACA,kBAAA,CACA,2BAAA,CAED,6CACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CAED,wCACC,UAAA,CACA,eAAA,CACA,iBAAA,CAED,2CACC,WAAA,CACA,aAAA,CAED,oBACC,QAAA,CACA,SAAA,CACA,eAAA,CAED,uBACC,cAAA,CACA,WAAA,CAGD,qCACC,6CAAA,CACA,mFACC,uCAAA,CAIF,8CACC,kBAAA,CAEA,0EACC,eAAA,CACA,eAAA,CACA,wBAAA,CACA,gFACC,SAAA,CAGF,oDACC,UAAA,CACA,QAAA,CACA,iBAAA,CACA,sEACC,yCAAA,CAKH,uCACC,yCAAA\",\"sourcesContent\":[\".actions__item {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex-direction: column;\\n\\tflex-grow: 1;\\n\\tmargin-left: -1px;\\n\\tpadding: 10px;\\n\\tborder-radius: var(--border-radius-large);\\n\\tmargin-right: 20px;\\n\\tmargin-bottom: 20px;\\n}\\n.actions__item .icon {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 50px;\\n\\tbackground-size: 50px 50px;\\n\\tbackground-position: center center;\\n\\tmargin-top: 10px;\\n\\tmargin-bottom: 10px;\\n\\tbackground-repeat: no-repeat;\\n}\\n.actions__item__description {\\n\\ttext-align: center;\\n\\tflex-grow: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n}\\n.actions__item_options {\\n\\twidth: 100%;\\n\\tmargin-top: 10px;\\n\\tpadding-left: 60px;\\n}\\nh3, small {\\n\\tpadding: 6px;\\n\\tdisplay: block;\\n}\\nh3 {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tfont-weight: 600;\\n}\\nsmall {\\n\\tfont-size: 10pt;\\n\\tflex-grow: 1;\\n}\\n\\n.colored:not(.more) {\\n\\tbackground-color: var(--color-primary-element);\\n\\th3, small {\\n\\t\\tcolor: var(--color-primary-element-text)\\n\\t}\\n}\\n\\n.actions__item:not(.colored) {\\n\\tflex-direction: row;\\n\\n\\t.actions__item__description {\\n\\t\\tpadding-top: 5px;\\n\\t\\ttext-align: left;\\n\\t\\twidth: calc(100% - 105px);\\n\\t\\tsmall {\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\t.icon {\\n\\t\\twidth: 50px;\\n\\t\\tmargin: 0;\\n\\t\\tmargin-right: 10px;\\n\\t\\t&:not(.icon-invert) {\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n}\\n\\n.colored .icon-invert {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.buttons[data-v-3def8966]{display:flex;justify-content:end}.buttons button[data-v-3def8966]{margin-left:5px}.buttons button[data-v-3def8966]:last-child{margin-right:10px}.error-message[data-v-3def8966]{float:right;margin-right:10px}.flow-icon[data-v-3def8966]{width:44px}.rule[data-v-3def8966]{display:flex;flex-wrap:wrap;border-left:5px solid var(--color-primary-element)}.rule .trigger[data-v-3def8966],.rule .action[data-v-3def8966]{flex-grow:1;min-height:100px;max-width:920px}.rule .action[data-v-3def8966]{max-width:400px;position:relative}.rule .icon-confirm[data-v-3def8966]{background-position:right 27px;padding-right:20px;margin-right:20px}.trigger p[data-v-3def8966],.action p[data-v-3def8966]{min-height:34px;display:flex}.trigger p>span[data-v-3def8966],.action p>span[data-v-3def8966]{min-width:50px;text-align:right;color:var(--color-text-maxcontrast);padding-right:10px;padding-top:6px}.trigger p .multiselect[data-v-3def8966],.action p .multiselect[data-v-3def8966]{flex-grow:1;max-width:300px}.trigger p:first-child span[data-v-3def8966]{padding-top:3px}.trigger p[data-v-3def8966]:last-child{padding-top:8px}.check--add[data-v-3def8966]{background-position:7px center;background-color:rgba(0,0,0,0);padding-left:6px;margin:0;width:180px;border-radius:var(--border-radius);color:var(--color-text-maxcontrast);font-weight:normal;text-align:left;font-size:1em}@media(max-width: 1400px){.rule[data-v-3def8966],.rule .trigger[data-v-3def8966],.rule .action[data-v-3def8966]{width:100%;max-width:100%}.rule .flow-icon[data-v-3def8966]{display:none}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Rule.vue\"],\"names\":[],\"mappings\":\"AAEA,0BACC,YAAA,CACA,mBAAA,CAEA,iCACC,eAAA,CAED,4CACC,iBAAA,CAIF,gCACC,WAAA,CACA,iBAAA,CAGD,4BACC,UAAA,CAGD,uBACC,YAAA,CACA,cAAA,CACA,kDAAA,CAEA,+DAEC,WAAA,CACA,gBAAA,CACA,eAAA,CAED,+BACC,eAAA,CACA,iBAAA,CAED,qCACC,8BAAA,CACA,kBAAA,CACA,iBAAA,CAGF,uDACC,eAAA,CACA,YAAA,CAEA,iEACC,cAAA,CACA,gBAAA,CACA,mCAAA,CACA,kBAAA,CACA,eAAA,CAED,iFACC,WAAA,CACA,eAAA,CAGF,6CACE,eAAA,CAEF,uCACE,eAAA,CAGF,6BACC,8BAAA,CACA,8BAAA,CACA,gBAAA,CACA,QAAA,CACA,WAAA,CACA,kCAAA,CACA,mCAAA,CACA,kBAAA,CACA,eAAA,CACA,aAAA,CAGD,0BAEE,sFACC,UAAA,CACA,cAAA,CAED,kCACC,YAAA,CAAA\",\"sourcesContent\":[\"\\n\\n.buttons {\\n\\tdisplay: flex;\\n\\tjustify-content: end;\\n\\n\\tbutton {\\n\\t\\tmargin-left: 5px;\\n\\t}\\n\\tbutton:last-child{\\n\\t\\tmargin-right: 10px;\\n\\t}\\n}\\n\\n.error-message {\\n\\tfloat: right;\\n\\tmargin-right: 10px;\\n}\\n\\n.flow-icon {\\n\\twidth: 44px;\\n}\\n\\n.rule {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tborder-left: 5px solid var(--color-primary-element);\\n\\n\\t.trigger,\\n\\t.action {\\n\\t\\tflex-grow: 1;\\n\\t\\tmin-height: 100px;\\n\\t\\tmax-width: 920px;\\n\\t}\\n\\t.action {\\n\\t\\tmax-width: 400px;\\n\\t\\tposition: relative;\\n\\t}\\n\\t.icon-confirm {\\n\\t\\tbackground-position: right 27px;\\n\\t\\tpadding-right: 20px;\\n\\t\\tmargin-right: 20px;\\n\\t}\\n}\\n.trigger p, .action p {\\n\\tmin-height: 34px;\\n\\tdisplay: flex;\\n\\n\\t& > span {\\n\\t\\tmin-width: 50px;\\n\\t\\ttext-align: right;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-right: 10px;\\n\\t\\tpadding-top: 6px;\\n\\t}\\n\\t.multiselect {\\n\\t\\tflex-grow: 1;\\n\\t\\tmax-width: 300px;\\n\\t}\\n}\\n.trigger p:first-child span {\\n\\t\\tpadding-top: 3px;\\n}\\n.trigger p:last-child {\\n\\t\\tpadding-top: 8px;\\n}\\n\\n.check--add {\\n\\tbackground-position: 7px center;\\n\\tbackground-color: transparent;\\n\\tpadding-left: 6px;\\n\\tmargin: 0;\\n\\twidth: 180px;\\n\\tborder-radius: var(--border-radius);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tfont-weight: normal;\\n\\ttext-align: left;\\n\\tfont-size: 1em;\\n}\\n\\n@media (max-width:1400px) {\\n\\t.rule {\\n\\t\\t&, .trigger, .action {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t\\t.flow-icon {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `#workflowengine[data-v-16a5974e]{border-bottom:1px solid var(--color-border)}.section[data-v-16a5974e]{max-width:100vw}.section h2.configured-flows[data-v-16a5974e]{margin-top:50px;margin-bottom:0}.actions[data-v-16a5974e]{display:flex;flex-wrap:wrap;max-width:1200px}.actions .actions__item[data-v-16a5974e]{max-width:280px;flex-basis:250px}.actions__more[data-v-16a5974e]{margin-bottom:10px}.slide-enter-active[data-v-16a5974e]{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-in;-webkit-transition-timing-function:ease-in;-o-transition-timing-function:ease-in;transition-timing-function:ease-in}.slide-leave-active[data-v-16a5974e]{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:cubic-bezier(0, 1, 0.5, 1);-webkit-transition-timing-function:cubic-bezier(0, 1, 0.5, 1);-o-transition-timing-function:cubic-bezier(0, 1, 0.5, 1);transition-timing-function:cubic-bezier(0, 1, 0.5, 1)}.slide-enter-to[data-v-16a5974e],.slide-leave[data-v-16a5974e]{max-height:500px;overflow:hidden}.slide-enter[data-v-16a5974e],.slide-leave-to[data-v-16a5974e]{overflow:hidden;max-height:0;padding-top:0;padding-bottom:0}.actions__item[data-v-16a5974e]{display:flex;flex-wrap:wrap;flex-direction:column;flex-grow:1;margin-left:-1px;padding:10px;border-radius:var(--border-radius-large);margin-right:20px;margin-bottom:20px}.actions__item .icon[data-v-16a5974e]{display:block;width:100%;height:50px;background-size:50px 50px;background-position:center center;margin-top:10px;margin-bottom:10px;background-repeat:no-repeat}.actions__item__description[data-v-16a5974e]{text-align:center;flex-grow:1;display:flex;flex-direction:column;align-items:center}.actions__item_options[data-v-16a5974e]{width:100%;margin-top:10px;padding-left:60px}h3[data-v-16a5974e],small[data-v-16a5974e]{padding:6px;display:block}h3[data-v-16a5974e]{margin:0;padding:0;font-weight:600}small[data-v-16a5974e]{font-size:10pt;flex-grow:1}.colored[data-v-16a5974e]:not(.more){background-color:var(--color-primary-element)}.colored:not(.more) h3[data-v-16a5974e],.colored:not(.more) small[data-v-16a5974e]{color:var(--color-primary-element-text)}.actions__item[data-v-16a5974e]:not(.colored){flex-direction:row}.actions__item:not(.colored) .actions__item__description[data-v-16a5974e]{padding-top:5px;text-align:left;width:calc(100% - 105px)}.actions__item:not(.colored) .actions__item__description small[data-v-16a5974e]{padding:0}.actions__item:not(.colored) .icon[data-v-16a5974e]{width:50px;margin:0;margin-right:10px}.actions__item:not(.colored) .icon[data-v-16a5974e]:not(.icon-invert){filter:var(--background-invert-if-bright)}.colored .icon-invert[data-v-16a5974e]{filter:var(--background-invert-if-bright)}.actions__item.more[data-v-16a5974e]{background-color:var(--color-background-dark)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Workflow.vue\",\"webpack://./apps/workflowengine/src/styles/operation.scss\"],\"names\":[],\"mappings\":\"AACA,iCACC,2CAAA,CAED,0BACC,eAAA,CAEA,8CACC,eAAA,CACA,eAAA,CAGF,0BACC,YAAA,CACA,cAAA,CACA,gBAAA,CACA,yCACC,eAAA,CACA,gBAAA,CAGF,gCACC,kBAAA,CAGD,qCACC,4BAAA,CACA,+BAAA,CACA,0BAAA,CACA,uBAAA,CACA,uCAAA,CACA,0CAAA,CACA,qCAAA,CACA,kCAAA,CAGD,qCACC,4BAAA,CACA,+BAAA,CACA,0BAAA,CACA,uBAAA,CACA,0DAAA,CACA,6DAAA,CACA,wDAAA,CACA,qDAAA,CAGD,+DACC,gBAAA,CACA,eAAA,CAGD,+DACC,eAAA,CACA,YAAA,CACA,aAAA,CACA,gBAAA,CCxDD,gCACC,YAAA,CACA,cAAA,CACA,qBAAA,CACA,WAAA,CACA,gBAAA,CACA,YAAA,CACA,wCAAA,CACA,iBAAA,CACA,kBAAA,CAED,sCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,yBAAA,CACA,iCAAA,CACA,eAAA,CACA,kBAAA,CACA,2BAAA,CAED,6CACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CAED,wCACC,UAAA,CACA,eAAA,CACA,iBAAA,CAED,2CACC,WAAA,CACA,aAAA,CAED,oBACC,QAAA,CACA,SAAA,CACA,eAAA,CAED,uBACC,cAAA,CACA,WAAA,CAGD,qCACC,6CAAA,CACA,mFACC,uCAAA,CAIF,8CACC,kBAAA,CAEA,0EACC,eAAA,CACA,eAAA,CACA,wBAAA,CACA,gFACC,SAAA,CAGF,oDACC,UAAA,CACA,QAAA,CACA,iBAAA,CACA,sEACC,yCAAA,CAKH,uCACC,yCAAA,CDfD,qCACC,6CAAA\",\"sourcesContent\":[\"\\n#workflowengine {\\n\\tborder-bottom: 1px solid var(--color-border);\\n}\\n.section {\\n\\tmax-width: 100vw;\\n\\n\\th2.configured-flows {\\n\\t\\tmargin-top: 50px;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n}\\n.actions {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tmax-width: 1200px;\\n\\t.actions__item {\\n\\t\\tmax-width: 280px;\\n\\t\\tflex-basis: 250px;\\n\\t}\\n}\\n.actions__more {\\n\\tmargin-bottom: 10px;\\n}\\n\\n.slide-enter-active {\\n\\t-moz-transition-duration: 0.3s;\\n\\t-webkit-transition-duration: 0.3s;\\n\\t-o-transition-duration: 0.3s;\\n\\ttransition-duration: 0.3s;\\n\\t-moz-transition-timing-function: ease-in;\\n\\t-webkit-transition-timing-function: ease-in;\\n\\t-o-transition-timing-function: ease-in;\\n\\ttransition-timing-function: ease-in;\\n}\\n\\n.slide-leave-active {\\n\\t-moz-transition-duration: 0.3s;\\n\\t-webkit-transition-duration: 0.3s;\\n\\t-o-transition-duration: 0.3s;\\n\\ttransition-duration: 0.3s;\\n\\t-moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n\\t-webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n\\t-o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n\\ttransition-timing-function: cubic-bezier(0, 1, 0.5, 1);\\n}\\n\\n.slide-enter-to, .slide-leave {\\n\\tmax-height: 500px;\\n\\toverflow: hidden;\\n}\\n\\n.slide-enter, .slide-leave-to {\\n\\toverflow: hidden;\\n\\tmax-height: 0;\\n\\tpadding-top: 0;\\n\\tpadding-bottom: 0;\\n}\\n\\n@import \\\"./../styles/operation\\\";\\n\\n.actions__item.more {\\n\\tbackground-color: var(--color-background-dark);\\n}\\n\",\".actions__item {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex-direction: column;\\n\\tflex-grow: 1;\\n\\tmargin-left: -1px;\\n\\tpadding: 10px;\\n\\tborder-radius: var(--border-radius-large);\\n\\tmargin-right: 20px;\\n\\tmargin-bottom: 20px;\\n}\\n.actions__item .icon {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 50px;\\n\\tbackground-size: 50px 50px;\\n\\tbackground-position: center center;\\n\\tmargin-top: 10px;\\n\\tmargin-bottom: 10px;\\n\\tbackground-repeat: no-repeat;\\n}\\n.actions__item__description {\\n\\ttext-align: center;\\n\\tflex-grow: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n}\\n.actions__item_options {\\n\\twidth: 100%;\\n\\tmargin-top: 10px;\\n\\tpadding-left: 60px;\\n}\\nh3, small {\\n\\tpadding: 6px;\\n\\tdisplay: block;\\n}\\nh3 {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tfont-weight: 600;\\n}\\nsmall {\\n\\tfont-size: 10pt;\\n\\tflex-grow: 1;\\n}\\n\\n.colored:not(.more) {\\n\\tbackground-color: var(--color-primary-element);\\n\\th3, small {\\n\\t\\tcolor: var(--color-primary-element-text)\\n\\t}\\n}\\n\\n.actions__item:not(.colored) {\\n\\tflex-direction: row;\\n\\n\\t.actions__item__description {\\n\\t\\tpadding-top: 5px;\\n\\t\\ttext-align: left;\\n\\t\\twidth: calc(100% - 105px);\\n\\t\\tsmall {\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\t.icon {\\n\\t\\twidth: 50px;\\n\\t\\tmargin: 0;\\n\\t\\tmargin-right: 10px;\\n\\t\\t&:not(.icon-invert) {\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n}\\n\\n.colored .icon-invert {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `\n.v-select[data-v-003881d4],\ninput[type='text'][data-v-003881d4] {\n\twidth: 100%;\n}\ninput[type='text'][data-v-003881d4] {\n\tmin-height: 48px;\n}\n.option__icon[data-v-003881d4] {\n\tdisplay: inline-block;\n\tmin-width: 30px;\n\tbackground-position: center;\n\tvertical-align: middle;\n}\n.option__title[data-v-003881d4] {\n\tdisplay: inline-flex;\n\twidth: calc(100% - 36px);\n\tvertical-align: middle;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestUserAgent.vue\"],\"names\":[],\"mappings\":\";AAmJA;;CAEA,WAAA;AACA;AACA;CACA,gBAAA;AACA;AAEA;CACA,qBAAA;CACA,eAAA;CACA,2BAAA;CACA,sBAAA;AACA;AAEA;CACA,oBAAA;CACA,wBAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<div>\\n\\t\\t<NcSelect :value=\\\"currentValue\\\"\\n\\t\\t\\t:placeholder=\\\"t('workflowengine', 'Select a user agent')\\\"\\n\\t\\t\\tlabel=\\\"label\\\"\\n\\t\\t\\t:options=\\\"options\\\"\\n\\t\\t\\t:clearable=\\\"false\\\"\\n\\t\\t\\t@input=\\\"setValue\\\">\\n\\t\\t\\t<template #option=\\\"option\\\">\\n\\t\\t\\t\\t<span class=\\\"option__icon\\\" :class=\\\"option.icon\\\" />\\n\\t\\t\\t\\t<span class=\\\"option__title\\\">\\n\\t\\t\\t\\t\\t<NcEllipsisedOption :name=\\\"String(option.label)\\\" />\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</template>\\n\\t\\t\\t<template #selected-option=\\\"selectedOption\\\">\\n\\t\\t\\t\\t<span class=\\\"option__icon\\\" :class=\\\"selectedOption.icon\\\" />\\n\\t\\t\\t\\t<span class=\\\"option__title\\\">\\n\\t\\t\\t\\t\\t<NcEllipsisedOption :name=\\\"String(selectedOption.label)\\\" />\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</template>\\n\\t\\t</NcSelect>\\n\\t\\t<input v-if=\\\"!isPredefined\\\"\\n\\t\\t\\ttype=\\\"text\\\"\\n\\t\\t\\t:value=\\\"currentValue.pattern\\\"\\n\\t\\t\\t@input=\\\"updateCustom\\\">\\n\\t</div>\\n</template>\\n\\n<script>\\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\\nimport valueMixin from '../../mixins/valueMixin.js'\\n\\nexport default {\\n\\tname: 'RequestUserAgent',\\n\\tcomponents: {\\n\\t\\tNcEllipsisedOption,\\n\\t\\tNcSelect,\\n\\t},\\n\\tmixins: [\\n\\t\\tvalueMixin,\\n\\t],\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tnewValue: '',\\n\\t\\t\\tpredefinedTypes: [\\n\\t\\t\\t\\t{ id: 'android', label: t('workflowengine', 'Android client'), icon: 'icon-phone' },\\n\\t\\t\\t\\t{ id: 'ios', label: t('workflowengine', 'iOS client'), icon: 'icon-phone' },\\n\\t\\t\\t\\t{ id: 'desktop', label: t('workflowengine', 'Desktop client'), icon: 'icon-desktop' },\\n\\t\\t\\t\\t{ id: 'mail', label: t('workflowengine', 'Thunderbird & Outlook addons'), icon: 'icon-mail' },\\n\\t\\t\\t],\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\toptions() {\\n\\t\\t\\treturn [...this.predefinedTypes, this.customValue]\\n\\t\\t},\\n\\t\\tmatchingPredefined() {\\n\\t\\t\\treturn this.predefinedTypes\\n\\t\\t\\t\\t.find((type) => this.newValue === type.id)\\n\\t\\t},\\n\\t\\tisPredefined() {\\n\\t\\t\\treturn !!this.matchingPredefined\\n\\t\\t},\\n\\t\\tcustomValue() {\\n\\t\\t\\treturn {\\n\\t\\t\\t\\ticon: 'icon-settings-dark',\\n\\t\\t\\t\\tlabel: t('workflowengine', 'Custom user agent'),\\n\\t\\t\\t\\tid: '',\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tcurrentValue() {\\n\\t\\t\\tif (this.matchingPredefined) {\\n\\t\\t\\t\\treturn this.matchingPredefined\\n\\t\\t\\t}\\n\\t\\t\\treturn {\\n\\t\\t\\t\\ticon: 'icon-settings-dark',\\n\\t\\t\\t\\tlabel: t('workflowengine', 'Custom user agent'),\\n\\t\\t\\t\\tid: this.newValue,\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\tvalidateRegex(string) {\\n\\t\\t\\tconst regexRegex = /^\\\\/(.*)\\\\/([gui]{0,3})$/\\n\\t\\t\\tconst result = regexRegex.exec(string)\\n\\t\\t\\treturn result !== null\\n\\t\\t},\\n\\t\\tsetValue(value) {\\n\\t\\t\\t// TODO: check if value requires a regex and set the check operator according to that\\n\\t\\t\\tif (value !== null) {\\n\\t\\t\\t\\tthis.newValue = value.id\\n\\t\\t\\t\\tthis.$emit('input', this.newValue)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tupdateCustom(event) {\\n\\t\\t\\tthis.newValue = event.target.value\\n\\t\\t\\tthis.$emit('input', this.newValue)\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style scoped>\\n\\t.v-select,\\n\\tinput[type='text'] {\\n\\t\\twidth: 100%;\\n\\t}\\n\\tinput[type='text'] {\\n\\t\\tmin-height: 48px;\\n\\t}\\n\\n\\t.option__icon {\\n\\t\\tdisplay: inline-block;\\n\\t\\tmin-width: 30px;\\n\\t\\tbackground-position: center;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\n\\t.option__title {\\n\\t\\tdisplay: inline-flex;\\n\\t\\twidth: calc(100% - 36px);\\n\\t\\tvertical-align: middle;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `\n.v-select[data-v-16d8123e] {\n\twidth: 100%;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestUserGroup.vue\"],\"names\":[],\"mappings\":\";AA2GA;CACA,WAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<div>\\n\\t\\t<NcSelect :value=\\\"currentValue\\\"\\n\\t\\t\\t:loading=\\\"status.isLoading && groups.length === 0\\\"\\n\\t\\t\\t:options=\\\"groups\\\"\\n\\t\\t\\t:clearable=\\\"false\\\"\\n\\t\\t\\tlabel=\\\"displayname\\\"\\n\\t\\t\\t@search-change=\\\"searchAsync\\\"\\n\\t\\t\\t@input=\\\"(value) => $emit('input', value.id)\\\" />\\n\\t</div>\\n</template>\\n\\n<script>\\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\\nimport axios from '@nextcloud/axios'\\nimport { generateOcsUrl } from '@nextcloud/router'\\n\\nconst groups = []\\nconst status = {\\n\\tisLoading: false,\\n}\\n\\nexport default {\\n\\tname: 'RequestUserGroup',\\n\\tcomponents: {\\n\\t\\tNcSelect,\\n\\t},\\n\\tprops: {\\n\\t\\tvalue: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\tdefault: '',\\n\\t\\t},\\n\\t\\tcheck: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => { return {} },\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tgroups,\\n\\t\\t\\tstatus,\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\tcurrentValue() {\\n\\t\\t\\treturn this.groups.find(group => group.id === this.value) || null\\n\\t\\t},\\n\\t},\\n\\tasync mounted() {\\n\\t\\tif (this.groups.length === 0) {\\n\\t\\t\\tawait this.searchAsync('')\\n\\t\\t}\\n\\t\\tif (this.currentValue === null) {\\n\\t\\t\\tawait this.searchAsync(this.value)\\n\\t\\t}\\n\\t},\\n\\tmethods: {\\n\\t\\tsearchAsync(searchQuery) {\\n\\t\\t\\tif (this.status.isLoading) {\\n\\t\\t\\t\\treturn\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis.status.isLoading = true\\n\\t\\t\\treturn axios.get(generateOcsUrl('cloud/groups/details?limit=20&search={searchQuery}', { searchQuery })).then((response) => {\\n\\t\\t\\t\\tresponse.data.ocs.data.groups.forEach((group) => {\\n\\t\\t\\t\\t\\tthis.addGroup({\\n\\t\\t\\t\\t\\t\\tid: group.id,\\n\\t\\t\\t\\t\\t\\tdisplayname: group.displayname,\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\tthis.status.isLoading = false\\n\\t\\t\\t}, (error) => {\\n\\t\\t\\t\\tconsole.error('Error while loading group list', error.response)\\n\\t\\t\\t})\\n\\t\\t},\\n\\t\\taddGroup(group) {\\n\\t\\t\\tconst index = this.groups.findIndex((item) => item.id === group.id)\\n\\t\\t\\tif (index === -1) {\\n\\t\\t\\t\\tthis.groups.push(group)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style scoped>\\n.v-select {\\n\\twidth: 100%;\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment-timezone.js\n//! version : 0.5.43\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.43\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","function validate(binding) {\n if (typeof binding.value !== 'function') {\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\n return false\n }\n\n return true\n}\n\nfunction isPopup(popupItem, elements) {\n if (!popupItem || !elements)\n return false\n\n for (var i = 0, len = elements.length; i < len; i++) {\n try {\n if (popupItem.contains(elements[i])) {\n return true\n }\n if (elements[i].contains(popupItem)) {\n return false\n }\n } catch(e) {\n return false\n }\n }\n\n return false\n}\n\nfunction isServer(vNode) {\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\n}\n\nexports = module.exports = {\n bind: function (el, binding, vNode) {\n if (!validate(binding)) return\n\n // Define Handler and cache it on the element\n function handler(e) {\n if (!vNode.context) return\n\n // some components may have related popup item, on which we shall prevent the click outside event handler.\n var elements = e.path || (e.composedPath && e.composedPath())\n elements && elements.length > 0 && elements.unshift(e.target)\n\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\n\n el.__vueClickOutside__.callback(e)\n }\n\n // add Event Listeners\n el.__vueClickOutside__ = {\n handler: handler,\n callback: binding.value\n }\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && document.addEventListener(clickHandler, handler)\n },\n\n update: function (el, binding) {\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\n },\n\n unbind: function (el, binding, vNode) {\n // Remove Event Listeners\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && el.__vueClickOutside__ && document.removeEventListener(clickHandler, el.__vueClickOutside__.handler)\n delete el.__vueClickOutside__\n }\n}\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=\" + {\"3240\":\"29c327d1e4e42959b82f\",\"3998\":\"a49373c9d79e30e60f7b\",\"9064\":\"8552ff7551ed1b088266\"}[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 = 8318;","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) 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\t8318: 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, [7874], () => (__webpack_require__(664)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","scopeValue","loadState","getApiUrl","url","generateOcsUrl","Vue","use","Vuex","Store","state","rules","scope","appstoreEnabled","operations","plugins","observable","checks","operators","entities","events","map","entity","event","id","eventName","flat","mutations","addRule","rule","push","valid","updateRule","index","findIndex","item","newRule","Object","assign","removeRule","splice","addPluginCheck","plugin","class","addPluginOperator","color","actions","fetchRules","context","data","axios","get","values","ocs","forEach","commit","createNewRule","isComplex","fixedEntity","find","Date","getTime","name","operator","value","operation","JSON","parse","pushUpdateRule","result","confirmPassword","post","put","deleteRule","delete","setValid","_ref","getters","getRules","filter","sort","rule1","rule2","getOperationForRule","getEntityForOperation","getEventsForOperation","getChecksForEntity","check","supportedEntities","indexOf","length","reduce","obj","components","NcSelect","props","type","required","computed","$store","allEvents","currentEvent","placeholderString","t","methods","updateEvent","showWarning","existingEntity","newEntities","self","newEntity","$set","$emit","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","attrs","icon","_v","_s","triggerHint","on","scopedSlots","_u","key","fn","option","displayName","NcActionButton","NcActions","CloseIcon","directives","ClickOutside","deleteVisible","currentOption","currentOperator","currentComponent","component","valuePlaceholder","placeholder","watch","validate","mounted","$nextTick","$refs","checkSelector","$el","focus","showDelete","hideDelete","invalid","updateCheck","matchingOperator","rawName","expression","ref","model","callback","$$v","tag","$event","domProps","target","composing","proxy","_e","NcButton","colored","Boolean","default","style","backgroundColor","iconClass","backgroundImage","description","_t","ArrowRight","Check","CheckMark","Close","Event","Operation","Tooltip","editing","error","dirty","originalRule","ruleStatus","some","title","tooltip","placement","show","content","lastCheckComplete","lastCheck","stringify","updateOperation","dispatch","saveRule","e","console","response","meta","message","cancelRule","removeCheck","$delete","onAddFilter","borderLeftColor","_l","emits","String","fillColor","size","Number","_b","$attrs","MenuDown","MenuUp","NcEmptyContent","NcIconSvgWrapper","NcSettingsSection","Rule","showMoreOperations","appstoreUrl","generateUrl","workflowDocUrl","WorkflowOffSvg","mapGetters","mapState","hasMoreOperations","keys","mainOperations","slice","showAppStoreHint","OC","isUserAdmin","isAdminScope","nativeOn","undefined","regexRegex","regexIPv4","regexIPv6","newValue","immediate","handler","updateInternalValue","NcEllipsisedOption","mixins","valueMixin","predefinedTypes","label","iconUrl","imagePath","customValue","isPredefined","currentValue","validateRegex","string","exec","setValue","updateCustom","selectedOption","NcSelectTags","updateValue","beforeMount","parseInt","update","stringOrRegexOperators","FileMimeType","match","validateIPv4","FileSystemTag","matchingPredefined","pattern","zones","moment","names","timezones","startTime","endTime","timezone","guess","split","zone","output","groups","status","isLoading","group","searchAsync","searchQuery","then","addGroup","displayname","FileChecks","RequestURL","RequestTime","RequestUserAgent","RequestUserGroup","window","OCA","WorkflowEngine","registerCheck","Plugin","store","registerOperator","ShippedChecks","checkPlugin","prototype","extend","Settings","$mount","___CSS_LOADER_EXPORT___","module","exports","tz","load","root","factory","version","cachedGuess","links","countries","guesses","logError","momentVersion","major","minor","charCodeToInt","charCode","unpackBase60","i","parts","whole","fractional","multiplier","out","sign","charCodeAt","arrayToInt","array","mapIndices","source","indices","unpack","offsets","untils","Math","round","Infinity","intToUntil","abbrs","population","Zone","packedString","_set","Country","country_name","zone_names","OffsetAt","at","timeString","toTimeString","abbr","join","offset","getTimezoneOffset","ZoneScore","offsetScore","abbrScore","findChange","low","high","mid","diff","sortZoneScores","a","b","localeCompare","addToGuesses","guessesForUserOffsets","j","guessesOffset","offsetsLength","filteredGuesses","hasOwnProperty","normalizeName","toLowerCase","replace","addZone","packed","normalized","getZone","caller","link","addLink","aliases","alias","normal0","normal1","needsOffset","m","isUnixTimestamp","_f","_a","_tzm","input","args","Array","call","arguments","utc","apply","isMoment","add","unpacked","_index","timestamp","zone_name","country_code","offsetNext","offsetPrev","max","moveAmbiguousForward","moveInvalidForward","mom","utcOffset","scoreOffsetAt","offsetAt","abs","dataVersion","_zones","_links","_names","_countries","country_zones","toUpperCase","addCountries","zoneExists","didShowError","ignoreCache","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","zoneScore","change","next","startYear","getFullYear","last","userOffsets","zoneScores","rebuildGuess","zonesForCountry","country","with_offset","old","abbrWrap","_z","resetZoneWrap","defaultZone","updateOffset","keepTime","_isUTC","_d","z","Error","zoneName","zoneAbbr","local","setDefault","momentProperties","toString","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","binding","warn","isServer","vNode","componentInstance","$isServer","bind","el","elements","path","composedPath","unshift","contains","popupItem","len","isPopup","__vueClickOutside__","clickHandler","document","documentElement","addEventListener","unbind","removeEventListener","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","fulfilled","every","r","n","getter","__esModule","d","definition","defineProperty","enumerable","f","chunkId","Promise","all","promises","u","g","globalThis","Function","prop","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","p","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file |