workflowengine-workflowengine.js.map 247 KB

1
  1. {"version":3,"file":"workflowengine-workflowengine.js?v=a3aa0203420df154a2e5","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/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/Event.vue?3d5a","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/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?11c3","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=ab7dc37a&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\tasync createNewRule(context, rule) {\n\t\t\tawait confirmPassword()\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\tawait confirmPassword()\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 }","<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',{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 }","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 }","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:{\"aria-label-combobox\":_vm.t('workflowengine', 'Select groups'),\"aria-label-listbox\":_vm.t('workflowengine', 'Groups'),\"clearable\":false,\"loading\":_vm.status.isLoading && _vm.groups.length === 0,\"placeholder\":_vm.t('workflowengine', 'Type to search for group …'),\"options\":_vm.groups,\"value\":_vm.currentValue,\"label\":\"displayname\"},on:{\"search\":_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 :aria-label-combobox=\"t('workflowengine', 'Select groups')\"\n\t\t\t:aria-label-listbox=\"t('workflowengine', 'Groups')\"\n\t\t\t:clearable=\"false\"\n\t\t\t:loading=\"status.isLoading && groups.length === 0\"\n\t\t\t:placeholder=\"t('workflowengine', 'Type to search for group …')\"\n\t\t\t:options=\"groups\"\n\t\t\t:value=\"currentValue\"\n\t\t\tlabel=\"displayname\"\n\t\t\t@search=\"searchAsync\"\n\t\t\t@input=\"(value) => $emit('input', value.id)\" />\n\t</div>\n</template>\n\n<script>\nimport { translate as t } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport axios from '@nextcloud/axios'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\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\t// If empty, load first chunk of groups\n\t\tif (this.groups.length === 0) {\n\t\t\tawait this.searchAsync('')\n\t\t}\n\t\t// If a current group is set but not in our list of groups then search for that group\n\t\tif (this.currentValue === null && this.value) {\n\t\t\tawait this.searchAsync(this.value)\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\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=ab7dc37a&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=ab7dc37a&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=ab7dc37a&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=ab7dc37a&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 \"ab7dc37a\",\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', '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-ab7dc37a] {\n\twidth: 100%;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestUserGroup.vue\"],\"names\":[],\"mappings\":\";AAoHA;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 :aria-label-combobox=\\\"t('workflowengine', 'Select groups')\\\"\\n\\t\\t\\t:aria-label-listbox=\\\"t('workflowengine', 'Groups')\\\"\\n\\t\\t\\t:clearable=\\\"false\\\"\\n\\t\\t\\t:loading=\\\"status.isLoading && groups.length === 0\\\"\\n\\t\\t\\t:placeholder=\\\"t('workflowengine', 'Type to search for group …')\\\"\\n\\t\\t\\t:options=\\\"groups\\\"\\n\\t\\t\\t:value=\\\"currentValue\\\"\\n\\t\\t\\tlabel=\\\"displayname\\\"\\n\\t\\t\\t@search=\\\"searchAsync\\\"\\n\\t\\t\\t@input=\\\"(value) => $emit('input', value.id)\\\" />\\n\\t</div>\\n</template>\\n\\n<script>\\nimport { translate as t } from '@nextcloud/l10n'\\nimport { generateOcsUrl } from '@nextcloud/router'\\n\\nimport axios from '@nextcloud/axios'\\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\\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\\t// If empty, load first chunk of groups\\n\\t\\tif (this.groups.length === 0) {\\n\\t\\t\\tawait this.searchAsync('')\\n\\t\\t}\\n\\t\\t// If a current group is set but not in our list of groups then search for that group\\n\\t\\tif (this.currentValue === null && this.value) {\\n\\t\\t\\tawait this.searchAsync(this.value)\\n\\t\\t}\\n\\t},\\n\\tmethods: {\\n\\t\\tt,\\n\\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.45\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.45\",\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\tfunction closest (num, arr) {\n\t\tvar len = arr.length;\n\t\tif (num < arr[0]) {\n\t\t\treturn 0;\n\t\t} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {\n\t\t\treturn len - 1;\n\t\t} else if (num >= arr[len - 1]) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tvar mid;\n\t\tvar lo = 0;\n\t\tvar hi = len - 1;\n\t\twhile (hi - lo > 1) {\n\t\t\tmid = Math.floor((lo + hi) / 2);\n\t\t\tif (arr[mid] <= num) {\n\t\t\t\tlo = mid;\n\t\t\t} else {\n\t\t\t\thi = mid;\n\t\t\t}\n\t\t}\n\t\treturn hi;\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\ti = closest(target, untils);\n\t\t\tif (i >= 0) {\n\t\t\t\treturn i;\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\tlastOffset = last.offset,\n\t\t\toffsets = [last],\n\t\t\tchange, next, nextOffset, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnextOffset = new Date(startYear, i, 1).getTimezoneOffset();\n\t\t\tif (nextOffset !== lastOffset) {\n\t\t\t\t// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets\n\t\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\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\tlast = next;\n\t\t\t\tlastOffset = nextOffset;\n\t\t\t}\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\tcheckedOffsets = {},\n\t\t\ti, j, offset, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\toffset = offsets[i].offset;\n\t\t\tif (checkedOffsets.hasOwnProperty(offset)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tguessesOffset = guesses[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\tcheckedOffsets[offset] = true;\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\tout = moment.utc.apply(null, args),\n\t\t\tzone;\n\n\t\tif (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {\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 && mom.isValid()) {\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\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 60301,\n\t\"./ar-sa.js\": 60301,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\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 = 35358;","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=\" + {\"1110\":\"a5d6e6f59aa058840a1e\",\"5455\":\"8915a218db5b7bc90f34\"}[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 = 8830;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8830: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(74688)))\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","concat","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","confirmPassword","isComplex","fixedEntity","find","Date","getTime","name","operator","value","operation","JSON","parse","pushUpdateRule","result","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","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","String","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","checkedOffsets","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","num","arr","len","lo","hi","floor","closest","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","nextOffset","startYear","getFullYear","last","lastOffset","userOffsets","zoneScores","rebuildGuess","zonesForCountry","country","with_offset","old","abbrWrap","_z","resetZoneWrap","defaultZone","updateOffset","keepTime","_isUTC","isValid","_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","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","test","p","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}