1 |
- {"version":3,"file":"workflowengine-workflowengine.js?v=36374eb3e7c8d56d5827","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","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?5144","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?83b4","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?6918","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?2d87","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","webpack:///nextcloud/apps/workflowengine/src/components/Workflow.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/workflowengine/src/components/Workflow.vue?979d","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?0d3a","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileMimeType.vue?c385","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileSystemTag.vue?acab","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileSystemTag.vue","webpack:///nextcloud/apps/workflowengine/src/components/Checks/FileSystemTag.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/workflowengine/src/components/Checks/FileSystemTag.vue?2d3e","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?f104","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?7391","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?7662","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?a319","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=e3633862&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=1825d70e&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=4e25e34d&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=07a6a476&prod&scoped=true&lang=css&","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","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/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};","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst scopeValue = loadState('workflowengine', 'scope') === 0 ? 'global' : 'user'\n\nconst getApiUrl = (url) => {\n\treturn generateOcsUrl('apps/workflowengine/api/v1/workflows/{scopeValue}', { scopeValue }) + url + '?format=json'\n}\n\nexport {\n\tgetApiUrl,\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Kesselberg <mail@danielkesselberg.de>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport axios from '@nextcloud/axios'\nimport { getApiUrl } from './helpers/api.js'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\nimport { loadState } from '@nextcloud/initial-state'\n\nVue.use(Vuex)\n\nconst store = new Store({\n\tstate: {\n\t\trules: [],\n\t\tscope: loadState('workflowengine', 'scope'),\n\t\tappstoreEnabled: loadState('workflowengine', 'appstoreenabled'),\n\t\toperations: loadState('workflowengine', 'operators'),\n\n\t\tplugins: Vue.observable({\n\t\t\tchecks: {},\n\t\t\toperators: {},\n\t\t}),\n\n\t\tentities: loadState('workflowengine', 'entities'),\n\t\tevents: loadState('workflowengine', 'entities')\n\t\t\t.map((entity) => entity.events.map(event => {\n\t\t\t\treturn {\n\t\t\t\t\tid: `${entity.id}::${event.eventName}`,\n\t\t\t\t\tentity,\n\t\t\t\t\t...event,\n\t\t\t\t}\n\t\t\t})).flat(),\n\t\tchecks: loadState('workflowengine', 'checks'),\n\t},\n\tmutations: {\n\t\taddRule(state, rule) {\n\t\t\tstate.rules.push({ ...rule, valid: true })\n\t\t},\n\t\tupdateRule(state, rule) {\n\t\t\tconst index = state.rules.findIndex((item) => rule.id === item.id)\n\t\t\tconst newRule = Object.assign({}, rule)\n\t\t\tVue.set(state.rules, index, newRule)\n\t\t},\n\t\tremoveRule(state, rule) {\n\t\t\tconst index = state.rules.findIndex((item) => rule.id === item.id)\n\t\t\tstate.rules.splice(index, 1)\n\t\t},\n\t\taddPluginCheck(state, plugin) {\n\t\t\tVue.set(state.plugins.checks, plugin.class, plugin)\n\t\t},\n\t\taddPluginOperator(state, plugin) {\n\t\t\tplugin = Object.assign(\n\t\t\t\t{ color: 'var(--color-primary-element)' },\n\t\t\t\tplugin, state.operations[plugin.id] || {})\n\t\t\tif (typeof state.operations[plugin.id] !== 'undefined') {\n\t\t\t\tVue.set(state.operations, plugin.id, plugin)\n\t\t\t}\n\t\t},\n\t},\n\tactions: {\n\t\tasync fetchRules(context) {\n\t\t\tconst { data } = await axios.get(getApiUrl(''))\n\t\t\tObject.values(data.ocs.data).flat().forEach((rule) => {\n\t\t\t\tcontext.commit('addRule', rule)\n\t\t\t})\n\t\t},\n\t\tcreateNewRule(context, rule) {\n\t\t\tlet entity = null\n\t\t\tlet events = []\n\t\t\tif (rule.isComplex === false && rule.fixedEntity === '') {\n\t\t\t\tentity = context.state.entities.find((item) => rule.entities && rule.entities[0] === item.id)\n\t\t\t\tentity = entity || Object.values(context.state.entities)[0]\n\t\t\t\tevents = [entity.events[0].eventName]\n\t\t\t}\n\n\t\t\tcontext.commit('addRule', {\n\t\t\t\tid: -(new Date().getTime()),\n\t\t\t\tclass: rule.id,\n\t\t\t\tentity: entity ? entity.id : rule.fixedEntity,\n\t\t\t\tevents,\n\t\t\t\tname: '', // unused in the new ui, there for legacy reasons\n\t\t\t\tchecks: [\n\t\t\t\t\t{ class: null, operator: null, value: '' },\n\t\t\t\t],\n\t\t\t\toperation: rule.operation || '',\n\t\t\t})\n\t\t},\n\t\tupdateRule(context, rule) {\n\t\t\tcontext.commit('updateRule', {\n\t\t\t\t...rule,\n\t\t\t\tevents: typeof rule.events === 'string' ? JSON.parse(rule.events) : rule.events,\n\t\t\t})\n\t\t},\n\t\tremoveRule(context, rule) {\n\t\t\tcontext.commit('removeRule', rule)\n\t\t},\n\t\tasync pushUpdateRule(context, rule) {\n\t\t\tif (context.state.scope === 0) {\n\t\t\t\tawait confirmPassword()\n\t\t\t}\n\t\t\tlet result\n\t\t\tif (rule.id < 0) {\n\t\t\t\tresult = await axios.post(getApiUrl(''), rule)\n\t\t\t} else {\n\t\t\t\tresult = await axios.put(getApiUrl(`/${rule.id}`), rule)\n\t\t\t}\n\t\t\tVue.set(rule, 'id', result.data.ocs.data.id)\n\t\t\tcontext.commit('updateRule', rule)\n\t\t},\n\t\tasync deleteRule(context, rule) {\n\t\t\tawait confirmPassword()\n\t\t\tawait axios.delete(getApiUrl(`/${rule.id}`))\n\t\t\tcontext.commit('removeRule', rule)\n\t\t},\n\t\tsetValid(context, { rule, valid }) {\n\t\t\trule.valid = valid\n\t\t\tcontext.commit('updateRule', rule)\n\t\t},\n\t},\n\tgetters: {\n\t\tgetRules(state) {\n\t\t\treturn state.rules.filter((rule) => typeof state.operations[rule.class] !== 'undefined').sort((rule1, rule2) => {\n\t\t\t\treturn rule1.id - rule2.id || rule2.class - rule1.class\n\t\t\t})\n\t\t},\n\t\tgetOperationForRule(state) {\n\t\t\treturn (rule) => state.operations[rule.class]\n\t\t},\n\t\tgetEntityForOperation(state) {\n\t\t\treturn (operation) => state.entities.find((entity) => operation.fixedEntity === entity.id)\n\t\t},\n\t\tgetEventsForOperation(state) {\n\t\t\treturn (operation) => state.events\n\t\t},\n\n\t\t/**\n\t\t * Return all available checker plugins for a given entity class\n\t\t *\n\t\t * @param {object} state the store state\n\t\t * @return {Function} the available plugins\n\t\t */\n\t\tgetChecksForEntity(state) {\n\t\t\treturn (entity) => {\n\t\t\t\treturn Object.values(state.checks)\n\t\t\t\t\t.filter((check) => check.supportedEntities.indexOf(entity) > -1 || check.supportedEntities.length === 0)\n\t\t\t\t\t.map((check) => state.plugins.checks[check.id])\n\t\t\t\t\t.reduce((obj, item) => {\n\t\t\t\t\t\tobj[item.class] = item\n\t\t\t\t\t\treturn obj\n\t\t\t\t\t}, {})\n\t\t\t}\n\t\t},\n\t},\n})\n\nexport default store\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"workflowengine\"}},[_c('NcSettingsSection',{attrs:{\"title\":_vm.t('workflowengine', 'Available flows'),\"doc-url\":_vm.workflowDocUrl}},[(_vm.scope === 0)?_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(\" \"),_c('transition-group',{staticClass:\"actions\",attrs:{\"name\":\"slide\",\"tag\":\"div\"}},[_vm._l((_vm.getMainOperations),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(),_vm._v(\" \"),(_vm.scope === 0)?_c('h2',{staticClass:\"configured-flows\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Configured flows'))+\"\\n\\t\\t\")]):_c('h2',{staticClass:\"configured-flows\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Your flows'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(_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):_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<NcMultiselect v-else\n\t\t\t:value=\"currentEvent\"\n\t\t\t:options=\"allEvents\"\n\t\t\ttrack-by=\"id\"\n\t\t\t:multiple=\"true\"\n\t\t\t:auto-limit=\"false\"\n\t\t\t:disabled=\"allEvents.length <= 1\"\n\t\t\t@input=\"updateEvent\">\n\t\t\t<template slot=\"selection\" slot-scope=\"{ values, isOpen }\">\n\t\t\t\t<div v-if=\"values.length && !isOpen\" class=\"eventlist\">\n\t\t\t\t\t<img class=\"option__icon\" :src=\"values[0].entity.icon\" alt=\"\">\n\t\t\t\t\t<span v-for=\"(value, index) in values\" :key=\"value.id\" class=\"text option__title option__title_single\">{{ value.displayName }} <span v-if=\"index+1 < values.length\">, </span></span>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template slot=\"option\" slot-scope=\"props\">\n\t\t\t\t<img class=\"option__icon\" :src=\"props.option.entity.icon\" alt=\"\">\n\t\t\t\t<span class=\"option__title\">{{ props.option.displayName }}</span>\n\t\t\t</template>\n\t\t</NcMultiselect>\n\t</div>\n</template>\n\n<script>\nimport NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'\nimport { showWarning } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'Event',\n\tcomponents: {\n\t\tNcMultiselect,\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},\n\tmethods: {\n\t\tupdateEvent(events) {\n\t\t\tif (events.length === 0) {\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\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\t.multiselect {\n\t\twidth: 100%;\n\t\tmax-width: 550px;\n\t\tmargin-top: 4px;\n\t}\n\t.multiselect::v-deep .multiselect__single {\n\t\tdisplay: flex;\n\t}\n\t.multiselect:not(.multiselect--active)::v-deep .multiselect__tags {\n\t\tbackground-color: var(--color-main-background) !important;\n\t\tborder: 1px solid transparent;\n\t}\n\n\t.multiselect::v-deep .multiselect__tags {\n\t\tbackground-color: var(--color-main-background) !important;\n\t\theight: auto;\n\t\tmin-height: 34px;\n\t}\n\n\t.multiselect:not(.multiselect--disabled)::v-deep .multiselect__tags .multiselect__single {\n\t\tbackground-image: var(--icon-triangle-s-dark);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: right center;\n\t}\n\n\tinput {\n\t\tborder: 1px solid transparent;\n\t}\n\n\t.option__title {\n\t\tmargin-left: 5px;\n\t\tcolor: var(--color-main-text);\n\t}\n\t.option__title_single {\n\t\tfont-weight: 900;\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\n\t.eventlist img,\n\t.eventlist .text {\n\t\tvertical-align: middle;\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=1825d70e&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=1825d70e&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=1825d70e&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=1825d70e&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 \"1825d70e\",\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('NcMultiselect',{attrs:{\"value\":_vm.currentEvent,\"options\":_vm.allEvents,\"track-by\":\"id\",\"multiple\":true,\"auto-limit\":false,\"disabled\":_vm.allEvents.length <= 1},on:{\"input\":_vm.updateEvent},scopedSlots:_vm._u([{key:\"selection\",fn:function({ values, isOpen }){return [(values.length && !isOpen)?_c('div',{staticClass:\"eventlist\"},[_c('img',{staticClass:\"option__icon\",attrs:{\"src\":values[0].entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_vm._l((values),function(value,index){return _c('span',{key:value.id,staticClass:\"text option__title option__title_single\"},[_vm._v(_vm._s(value.displayName)+\" \"),(index+1 < values.length)?_c('span',[_vm._v(\", \")]):_vm._e()])})],2):_vm._e()]}},{key:\"option\",fn:function(props){return [_c('img',{staticClass:\"option__icon\",attrs:{\"src\":props.option.entity.icon,\"alt\":\"\"}}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_vm._v(_vm._s(props.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\",\"track-by\":\"class\",\"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\",\"track-by\":\"operator\",\"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\ttrack-by=\"class\"\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\ttrack-by=\"operator\"\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=e3633862&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=e3633862&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=e3633862&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=e3633862&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 \"e3633862\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Operation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Operation.vue?vue&type=script&lang=js&\"","<template>\n\t<div class=\"actions__item\" :class=\"{'colored': colored}\" :style=\"{ backgroundColor: colored ? operation.color : 'transparent' }\">\n\t\t<div class=\"icon\" :class=\"operation.iconClass\" :style=\"{ backgroundImage: operation.iconClass ? '' : `url(${operation.icon})` }\" />\n\t\t<div class=\"actions__item__description\">\n\t\t\t<h3>{{ operation.name }}</h3>\n\t\t\t<small>{{ operation.description }}</small>\n\t\t\t<NcButton v-if=\"colored\">\n\t\t\t\t{{ t('workflowengine', 'Add new flow') }}\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<div class=\"actions__item_options\">\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\n\nexport default {\n\tname: 'Operation',\n\tcomponents: {\n\t\tNcButton,\n\t},\n\tprops: {\n\t\toperation: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tcolored: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t@import \"./../styles/operation\";\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Operation.vue?vue&type=template&id=a0480332&scoped=true&\"\nimport script from \"./Operation.vue?vue&type=script&lang=js&\"\nexport * from \"./Operation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Operation.vue?vue&type=style&index=0&id=a0480332&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a0480332\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"actions__item\",class:{'colored': _vm.colored},style:({ backgroundColor: _vm.colored ? _vm.operation.color : 'transparent' })},[_c('div',{staticClass:\"icon\",class:_vm.operation.iconClass,style:({ backgroundImage: _vm.operation.iconClass ? '' : `url(${_vm.operation.icon})` })}),_vm._v(\" \"),_c('div',{staticClass:\"actions__item__description\"},[_c('h3',[_vm._v(_vm._s(_vm.operation.name))]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.operation.description))]),_vm._v(\" \"),(_vm.colored)?_c('NcButton',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Add new flow'))+\"\\n\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"actions__item_options\"},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-if=\"operation\" class=\"section rule\" :style=\"{ borderLeftColor: operation.color || '' }\">\n\t\t<div class=\"trigger\">\n\t\t\t<p>\n\t\t\t\t<span>{{ t('workflowengine', 'When') }}</span>\n\t\t\t\t<Event :rule=\"rule\" @update=\"updateRule\" />\n\t\t\t</p>\n\t\t\t<p v-for=\"(check, index) in rule.checks\" :key=\"index\">\n\t\t\t\t<span>{{ t('workflowengine', 'and') }}</span>\n\t\t\t\t<Check :check=\"check\"\n\t\t\t\t\t:rule=\"rule\"\n\t\t\t\t\t@update=\"updateRule\"\n\t\t\t\t\t@validate=\"validate\"\n\t\t\t\t\t@remove=\"removeCheck(check)\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<span />\n\t\t\t\t<input v-if=\"lastCheckComplete\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"check--add\"\n\t\t\t\t\t:value=\"t('workflowengine', 'Add a new filter')\"\n\t\t\t\t\t@click=\"onAddFilter\">\n\t\t\t</p>\n\t\t</div>\n\t\t<div class=\"flow-icon icon-confirm\" />\n\t\t<div class=\"action\">\n\t\t\t<Operation :operation=\"operation\" :colored=\"false\">\n\t\t\t\t<component :is=\"operation.options\"\n\t\t\t\t\tv-if=\"operation.options\"\n\t\t\t\t\tv-model=\"rule.operation\"\n\t\t\t\t\t@input=\"updateOperation\" />\n\t\t\t</Operation>\n\t\t\t<div class=\"buttons\">\n\t\t\t\t<NcButton v-if=\"rule.id < -1 || dirty\" @click=\"cancelRule\">\n\t\t\t\t\t{{ t('workflowengine', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton v-else-if=\"!dirty\" @click=\"deleteRule\">\n\t\t\t\t\t{{ t('workflowengine', 'Delete') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton :type=\"ruleStatus.type\"\n\t\t\t\t\t@click=\"saveRule\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<component :is=\"ruleStatus.icon\" :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ ruleStatus.title }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<p v-if=\"error\" class=\"error-message\">\n\t\t\t\t{{ error }}\n\t\t\t</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport CheckMark from 'vue-material-design-icons/Check.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nimport Event from './Event.vue'\nimport Check from './Check.vue'\nimport Operation from './Operation.vue'\n\nexport default {\n\tname: 'Rule',\n\tcomponents: {\n\t\tArrowRight,\n\t\tCheck,\n\t\tCheckMark,\n\t\tClose,\n\t\tEvent,\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcButton,\n\t\tOperation,\n\t},\n\tdirectives: {\n\t\tTooltip,\n\t},\n\tprops: {\n\t\trule: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tediting: false,\n\t\t\tchecks: [],\n\t\t\terror: null,\n\t\t\tdirty: this.rule.id < 0,\n\t\t\toriginalRule: null,\n\t\t}\n\t},\n\tcomputed: {\n\t\toperation() {\n\t\t\treturn this.$store.getters.getOperationForRule(this.rule)\n\t\t},\n\t\truleStatus() {\n\t\t\tif (this.error || !this.rule.valid || this.rule.checks.length === 0 || this.rule.checks.some((check) => check.invalid === true)) {\n\t\t\t\treturn {\n\t\t\t\t\ttitle: t('workflowengine', 'The configuration is invalid'),\n\t\t\t\t\ticon: 'Close',\n\t\t\t\t\ttype: 'warning',\n\t\t\t\t\ttooltip: { placement: 'bottom', show: true, content: this.error },\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!this.dirty) {\n\t\t\t\treturn { title: t('workflowengine', 'Active'), icon: 'CheckMark', type: 'success' }\n\t\t\t}\n\t\t\treturn { title: t('workflowengine', 'Save'), icon: 'ArrowRight', type: 'primary' }\n\n\t\t},\n\t\tlastCheckComplete() {\n\t\t\tconst lastCheck = this.rule.checks[this.rule.checks.length - 1]\n\t\t\treturn typeof lastCheck === 'undefined' || lastCheck.class !== null\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t},\n\tmethods: {\n\t\tasync updateOperation(operation) {\n\t\t\tthis.$set(this.rule, 'operation', operation)\n\t\t\tawait this.updateRule()\n\t\t},\n\t\tvalidate(state) {\n\t\t\tthis.error = null\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\t\tupdateRule() {\n\t\t\tif (!this.dirty) {\n\t\t\t\tthis.dirty = true\n\t\t\t}\n\n\t\t\tthis.error = null\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\t\tasync saveRule() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('pushUpdateRule', this.rule)\n\t\t\t\tthis.dirty = false\n\t\t\t\tthis.error = null\n\t\t\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to save operation')\n\t\t\t\tthis.error = e.response.data.ocs.meta.message\n\t\t\t}\n\t\t},\n\t\tasync deleteRule() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('deleteRule', this.rule)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to delete operation')\n\t\t\t\tthis.error = e.response.data.ocs.meta.message\n\t\t\t}\n\t\t},\n\t\tcancelRule() {\n\t\t\tif (this.rule.id < 0) {\n\t\t\t\tthis.$store.dispatch('removeRule', this.rule)\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('updateRule', this.originalRule)\n\t\t\t\tthis.originalRule = JSON.parse(JSON.stringify(this.rule))\n\t\t\t\tthis.dirty = false\n\t\t\t}\n\t\t},\n\n\t\tasync removeCheck(check) {\n\t\t\tconst index = this.rule.checks.findIndex(item => item === check)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.$delete(this.rule.checks, index)\n\t\t\t}\n\t\t\tthis.$store.dispatch('updateRule', this.rule)\n\t\t},\n\n\t\tonAddFilter() {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.rule.checks.push({ class: null, operator: null, value: '' })\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n\t.buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: end;\n\n\t\tbutton {\n\t\t\tmargin-left: 5px;\n\t\t}\n\t\tbutton:last-child{\n\t\t\tmargin-right: 10px;\n\t\t}\n\t}\n\n\t.error-message {\n\t\tfloat: right;\n\t\tmargin-right: 10px;\n\t}\n\n\t.flow-icon {\n\t\twidth: 44px;\n\t}\n\n\t.rule {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tborder-left: 5px solid var(--color-primary-element);\n\n\t\t.trigger,\n\t\t.action {\n\t\t\tflex-grow: 1;\n\t\t\tmin-height: 100px;\n\t\t\tmax-width: 920px;\n\t\t}\n\t\t.action {\n\t\t\tmax-width: 400px;\n\t\t\tposition: relative;\n\t\t}\n\t\t.icon-confirm {\n\t\t\tbackground-position: right 27px;\n\t\t\tpadding-right: 20px;\n\t\t\tmargin-right: 20px;\n\t\t}\n\t}\n\t.trigger p, .action p {\n\t\tmin-height: 34px;\n\t\tdisplay: flex;\n\n\t\t& > span {\n\t\t\tmin-width: 50px;\n\t\t\ttext-align: right;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tpadding-right: 10px;\n\t\t\tpadding-top: 6px;\n\t\t}\n\t\t.multiselect {\n\t\t\tflex-grow: 1;\n\t\t\tmax-width: 300px;\n\t\t}\n\t}\n\t.trigger p:first-child span {\n\t\t\tpadding-top: 3px;\n\t}\n\t.trigger p:last-child {\n\t\t\tpadding-top: 8px;\n\t}\n\n\t.check--add {\n\t\tbackground-position: 7px center;\n\t\tbackground-color: transparent;\n\t\tpadding-left: 6px;\n\t\tmargin: 0;\n\t\twidth: 180px;\n\t\tborder-radius: var(--border-radius);\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tfont-weight: normal;\n\t\ttext-align: left;\n\t\tfont-size: 1em;\n\t}\n\n\t@media (max-width:1400px) {\n\t\t.rule {\n\t\t\t&, .trigger, .action {\n\t\t\t\twidth: 100%;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t.flow-icon {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rule.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rule.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Rule.vue?vue&type=template&id=3def8966&scoped=true&\"\nimport script from \"./Rule.vue?vue&type=script&lang=js&\"\nexport * from \"./Rule.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Rule.vue?vue&type=style&index=0&id=3def8966&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3def8966\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.operation)?_c('div',{staticClass:\"section rule\",style:({ borderLeftColor: _vm.operation.color || '' })},[_c('div',{staticClass:\"trigger\"},[_c('p',[_c('span',[_vm._v(_vm._s(_vm.t('workflowengine', 'When')))]),_vm._v(\" \"),_c('Event',{attrs:{\"rule\":_vm.rule},on:{\"update\":_vm.updateRule}})],1),_vm._v(\" \"),_vm._l((_vm.rule.checks),function(check,index){return _c('p',{key:index},[_c('span',[_vm._v(_vm._s(_vm.t('workflowengine', 'and')))]),_vm._v(\" \"),_c('Check',{attrs:{\"check\":check,\"rule\":_vm.rule},on:{\"update\":_vm.updateRule,\"validate\":_vm.validate,\"remove\":function($event){return _vm.removeCheck(check)}}})],1)}),_vm._v(\" \"),_c('p',[_c('span'),_vm._v(\" \"),(_vm.lastCheckComplete)?_c('input',{staticClass:\"check--add\",attrs:{\"type\":\"button\",\"value\":_vm.t('workflowengine', 'Add a new filter')},on:{\"click\":_vm.onAddFilter}}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"flow-icon icon-confirm\"}),_vm._v(\" \"),_c('div',{staticClass:\"action\"},[_c('Operation',{attrs:{\"operation\":_vm.operation,\"colored\":false}},[(_vm.operation.options)?_c(_vm.operation.options,{tag:\"component\",on:{\"input\":_vm.updateOperation},model:{value:(_vm.rule.operation),callback:function ($$v) {_vm.$set(_vm.rule, \"operation\", $$v)},expression:\"rule.operation\"}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.rule.id < -1 || _vm.dirty)?_c('NcButton',{on:{\"click\":_vm.cancelRule}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Cancel'))+\"\\n\\t\\t\\t\")]):(!_vm.dirty)?_c('NcButton',{on:{\"click\":_vm.deleteRule}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Delete'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":_vm.ruleStatus.type},on:{\"click\":_vm.saveRule},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.ruleStatus.icon,{tag:\"component\",attrs:{\"size\":20}})]},proxy:true}],null,false,2383918876)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.ruleStatus.title)+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.error)?_c('p',{staticClass:\"error-message\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.error)+\"\\n\\t\\t\")]):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"workflowengine\">\n\t\t<NcSettingsSection :title=\"t('workflowengine', 'Available flows')\"\n\t\t\t:doc-url=\"workflowDocUrl\">\n\t\t\t<p v-if=\"scope === 0\" 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<transition-group name=\"slide\" tag=\"div\" class=\"actions\">\n\t\t\t\t<Operation v-for=\"operation in getMainOperations\"\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\n\t\t\t\t<a v-if=\"showAppStoreHint\"\n\t\t\t\t\t:key=\"'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\n\t\t\t<h2 v-if=\"scope === 0\" class=\"configured-flows\">\n\t\t\t\t{{ t('workflowengine', 'Configured flows') }}\n\t\t\t</h2>\n\t\t\t<h2 v-else class=\"configured-flows\">\n\t\t\t\t{{ t('workflowengine', 'Your flows') }}\n\t\t\t</h2>\n\t\t</NcSettingsSection>\n\n\t\t<transition-group v-if=\"rules.length > 0\" name=\"slide\">\n\t\t\t<Rule v-for=\"rule in rules\" :key=\"rule.id\" :rule=\"rule\" />\n\t\t</transition-group>\n\t</div>\n</template>\n\n<script>\nimport Rule from './Rule.vue'\nimport Operation from './Operation.vue'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.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'\n\nconst ACTION_LIMIT = 3\n\nexport default {\n\tname: 'Workflow',\n\tcomponents: {\n\t\tNcButton,\n\t\tMenuDown,\n\t\tMenuUp,\n\t\tOperation,\n\t\tRule,\n\t\tNcSettingsSection,\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}\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\tgetMainOperations() {\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.scope === 0 && this.appstoreEnabled && OC.isUserAdmin()\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","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&\"","\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=4e25e34d&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=4e25e34d&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=4e25e34d&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=4e25e34d&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 \"4e25e34d\",\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","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 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 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&\"","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","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { stringValidator, validateIPv4, validateIPv6 } from '../../helpers/validators.js'\nimport FileMimeType from './FileMimeType.vue'\nimport FileSystemTag from './FileSystemTag.vue'\n\nconst stringOrRegexOperators = () => {\n\treturn [\n\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t]\n}\n\nconst FileChecks = [\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileName',\n\t\tname: t('workflowengine', 'File name'),\n\t\toperators: stringOrRegexOperators,\n\t\tplaceholder: (check) => {\n\t\t\tif (check.operator === 'matches' || check.operator === '!matches') {\n\t\t\t\treturn '/^dummy-.+$/i'\n\t\t\t}\n\t\t\treturn 'filename.txt'\n\t\t},\n\t\tvalidate: stringValidator,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileMimeType',\n\t\tname: t('workflowengine', 'File MIME type'),\n\t\toperators: stringOrRegexOperators,\n\t\tcomponent: FileMimeType,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileSize',\n\t\tname: t('workflowengine', 'File size (upload)'),\n\t\toperators: [\n\t\t\t{ operator: 'less', name: t('workflowengine', 'less') },\n\t\t\t{ operator: '!greater', name: t('workflowengine', 'less or equals') },\n\t\t\t{ operator: '!less', name: t('workflowengine', 'greater or equals') },\n\t\t\t{ operator: 'greater', name: t('workflowengine', 'greater') },\n\t\t],\n\t\tplaceholder: (check) => '5 MB',\n\t\tvalidate: (check) => check.value ? check.value.match(/^[0-9]+[ ]?[kmgt]?b$/i) !== null : false,\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestRemoteAddress',\n\t\tname: t('workflowengine', 'Request remote address'),\n\t\toperators: [\n\t\t\t{ operator: 'matchesIPv4', name: t('workflowengine', 'matches IPv4') },\n\t\t\t{ operator: '!matchesIPv4', name: t('workflowengine', 'does not match IPv4') },\n\t\t\t{ operator: 'matchesIPv6', name: t('workflowengine', 'matches IPv6') },\n\t\t\t{ operator: '!matchesIPv6', name: t('workflowengine', 'does not match IPv6') },\n\t\t],\n\t\tplaceholder: (check) => {\n\t\t\tif (check.operator === 'matchesIPv6' || check.operator === '!matchesIPv6') {\n\t\t\t\treturn '::1/128'\n\t\t\t}\n\t\t\treturn '127.0.0.1/32'\n\t\t},\n\t\tvalidate: (check) => {\n\t\t\tif (check.operator === 'matchesIPv6' || check.operator === '!matchesIPv6') {\n\t\t\t\treturn validateIPv6(check.value)\n\t\t\t}\n\t\t\treturn validateIPv4(check.value)\n\t\t},\n\t},\n\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\FileSystemTags',\n\t\tname: t('workflowengine', 'File system tag'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is tagged with') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not tagged with') },\n\t\t],\n\t\tcomponent: FileSystemTag,\n\t},\n]\n\nexport default FileChecks\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a user agent')\"\n\t\t\tlabel=\"label\"\n\t\t\t:options=\"options\"\n\t\t\t:clearable=\"false\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.pattern\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nexport default {\n\tname: 'RequestUserAgent',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t\tpredefinedTypes: [\n\t\t\t\t{ id: 'android', label: t('workflowengine', 'Android client'), icon: 'icon-phone' },\n\t\t\t\t{ id: 'ios', label: t('workflowengine', 'iOS client'), icon: 'icon-phone' },\n\t\t\t\t{ id: 'desktop', label: t('workflowengine', 'Desktop client'), icon: 'icon-desktop' },\n\t\t\t\t{ id: 'mail', label: t('workflowengine', 'Thunderbird & Outlook addons'), icon: 'icon-mail' },\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tmatchingPredefined() {\n\t\t\treturn this.predefinedTypes\n\t\t\t\t.find((type) => this.newValue === type.id)\n\t\t},\n\t\tisPredefined() {\n\t\t\treturn !!this.matchingPredefined\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom user agent'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tif (this.matchingPredefined) {\n\t\t\t\treturn this.matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom user agent'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\t// TODO: check if value requires a regex and set the check operator according to that\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n\t.v-select,\n\tinput[type='text'] {\n\t\twidth: 100%;\n\t}\n\tinput[type='text'] {\n\t\tmin-height: 48px;\n\t}\n\n\t.option__icon {\n\t\tdisplay: inline-block;\n\t\tmin-width: 30px;\n\t\tbackground-position: center;\n\t\tvertical-align: middle;\n\t}\n\n\t.option__title {\n\t\tdisplay: inline-flex;\n\t\twidth: calc(100% - 36px);\n\t\tvertical-align: middle;\n\t}\n</style>\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestUserAgent.vue?vue&type=template&id=003881d4&scoped=true&\"\nimport script from \"./RequestUserAgent.vue?vue&type=script&lang=js&\"\nexport * from \"./RequestUserAgent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RequestUserAgent.vue?vue&type=style&index=0&id=003881d4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"003881d4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a user agent'),\"label\":\"label\",\"options\":_vm.options,\"clearable\":false},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span',{staticClass:\"option__icon\",class:option.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.currentValue.pattern},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"timeslot\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newValue.startTime),expression:\"newValue.startTime\"}],staticClass:\"timeslot--start\",attrs:{\"type\":\"text\",\"placeholder\":\"e.g. 08:00\"},domProps:{\"value\":(_vm.newValue.startTime)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.newValue, \"startTime\", $event.target.value)},_vm.update]}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newValue.endTime),expression:\"newValue.endTime\"}],attrs:{\"type\":\"text\",\"placeholder\":\"e.g. 18:00\"},domProps:{\"value\":(_vm.newValue.endTime)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.newValue, \"endTime\", $event.target.value)},_vm.update]}}),_vm._v(\" \"),(!_vm.valid)?_c('p',{staticClass:\"invalid-hint\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('workflowengine', 'Please enter a valid time span'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcSelect',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.valid),expression:\"valid\"}],attrs:{\"clearable\":false,\"options\":_vm.timezones},on:{\"input\":_vm.update},model:{value:(_vm.newValue.timezone),callback:function ($$v) {_vm.$set(_vm.newValue, \"timezone\", $$v)},expression:\"newValue.timezone\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"timeslot\">\n\t\t<input v-model=\"newValue.startTime\"\n\t\t\ttype=\"text\"\n\t\t\tclass=\"timeslot--start\"\n\t\t\tplaceholder=\"e.g. 08:00\"\n\t\t\t@input=\"update\">\n\t\t<input v-model=\"newValue.endTime\"\n\t\t\ttype=\"text\"\n\t\t\tplaceholder=\"e.g. 18:00\"\n\t\t\t@input=\"update\">\n\t\t<p v-if=\"!valid\" class=\"invalid-hint\">\n\t\t\t{{ t('workflowengine', 'Please enter a valid time span') }}\n\t\t</p>\n\t\t<NcSelect v-show=\"valid\"\n\t\t\tv-model=\"newValue.timezone\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"timezones\"\n\t\t\t@input=\"update\" />\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport moment from 'moment-timezone'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nconst zones = moment.tz.names()\nexport default {\n\tname: 'RequestTime',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttimezones: zones,\n\t\t\tvalid: false,\n\t\t\tnewValue: {\n\t\t\t\tstartTime: null,\n\t\t\t\tendTime: null,\n\t\t\t\ttimezone: moment.tz.guess(),\n\t\t\t},\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.validate()\n\t},\n\tmethods: {\n\t\tupdateInternalValue(value) {\n\t\t\ttry {\n\t\t\t\tconst data = JSON.parse(value)\n\t\t\t\tif (data.length === 2) {\n\t\t\t\t\tthis.newValue = {\n\t\t\t\t\t\tstartTime: data[0].split(' ', 2)[0],\n\t\t\t\t\t\tendTime: data[1].split(' ', 2)[0],\n\t\t\t\t\t\ttimezone: data[0].split(' ', 2)[1],\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t// ignore invalid values\n\t\t\t}\n\t\t},\n\t\tvalidate() {\n\t\t\tthis.valid = this.newValue.startTime && this.newValue.startTime.match(/^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$/i) !== null\n\t\t\t\t&& this.newValue.endTime && this.newValue.endTime.match(/^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$/i) !== null\n\t\t\t\t&& moment.tz.zone(this.newValue.timezone) !== null\n\t\t\tif (this.valid) {\n\t\t\t\tthis.$emit('valid')\n\t\t\t} else {\n\t\t\t\tthis.$emit('invalid')\n\t\t\t}\n\t\t\treturn this.valid\n\t\t},\n\t\tupdate() {\n\t\t\tif (this.newValue.timezone === null) {\n\t\t\t\tthis.newValue.timezone = moment.tz.guess()\n\t\t\t}\n\t\t\tif (this.validate()) {\n\t\t\t\tconst output = `[\"${this.newValue.startTime} ${this.newValue.timezone}\",\"${this.newValue.endTime} ${this.newValue.timezone}\"]`\n\t\t\t\tthis.$emit('input', output)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.timeslot {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-wrap: wrap;\n\t\tmax-width: 180px;\n\n\t\t.multiselect {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\n\t\t.multiselect::v-deep .multiselect__tags:not(:hover):not(:focus):not(:active) {\n\t\t\tborder: 1px solid transparent;\n\t\t}\n\n\t\tinput[type=text] {\n\t\t\twidth: 50%;\n\t\t\tmargin: 0;\n\t\t\tmargin-bottom: 5px;\n\t\t\tmin-height: 48px;\n\n\t\t\t&.timeslot--start {\n\t\t\t\tmargin-right: 5px;\n\t\t\t\twidth: calc(50% - 5px);\n\t\t\t}\n\t\t}\n\n\t\t.invalid-hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestTime.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestTime.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestTime.vue?vue&type=template&id=7a2ecc67&scoped=true&\"\nimport script from \"./RequestTime.vue?vue&type=script&lang=js&\"\nexport * from \"./RequestTime.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RequestTime.vue?vue&type=style&index=0&id=7a2ecc67&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a2ecc67\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestURL.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestURL.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:placeholder=\"t('workflowengine', 'Select a request URL')\"\n\t\t\tlabel=\"label\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"options\"\n\t\t\t@input=\"setValue\">\n\t\t\t<template #option=\"option\">\n\t\t\t\t<span class=\"option__icon\" :class=\"option.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(option.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t\t<template #selected-option=\"selectedOption\">\n\t\t\t\t<span class=\"option__icon\" :class=\"selectedOption.icon\" />\n\t\t\t\t<span class=\"option__title\">\n\t\t\t\t\t<NcEllipsisedOption :name=\"String(selectedOption.label)\" />\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<input v-if=\"!isPredefined\"\n\t\t\ttype=\"text\"\n\t\t\t:value=\"currentValue.id\"\n\t\t\t:placeholder=\"placeholder\"\n\t\t\t@input=\"updateCustom\">\n\t</div>\n</template>\n\n<script>\nimport NcEllipsisedOption from '@nextcloud/vue/dist/Components/NcEllipsisedOption.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport valueMixin from '../../mixins/valueMixin.js'\n\nexport default {\n\tname: 'RequestURL',\n\tcomponents: {\n\t\tNcEllipsisedOption,\n\t\tNcSelect,\n\t},\n\tmixins: [\n\t\tvalueMixin,\n\t],\n\tdata() {\n\t\treturn {\n\t\t\tnewValue: '',\n\t\t\tpredefinedTypes: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-files-dark',\n\t\t\t\t\tid: 'webdav',\n\t\t\t\t\tlabel: t('workflowengine', 'Files WebDAV'),\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t},\n\tcomputed: {\n\t\toptions() {\n\t\t\treturn [...this.predefinedTypes, this.customValue]\n\t\t},\n\t\tplaceholder() {\n\t\t\tif (this.check.operator === 'matches' || this.check.operator === '!matches') {\n\t\t\t\treturn '/^https\\\\:\\\\/\\\\/localhost\\\\/index\\\\.php$/i'\n\t\t\t}\n\t\t\treturn 'https://localhost/index.php'\n\t\t},\n\t\tmatchingPredefined() {\n\t\t\treturn this.predefinedTypes\n\t\t\t\t.find((type) => this.newValue === type.id)\n\t\t},\n\t\tisPredefined() {\n\t\t\treturn !!this.matchingPredefined\n\t\t},\n\t\tcustomValue() {\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom URL'),\n\t\t\t\tid: '',\n\t\t\t}\n\t\t},\n\t\tcurrentValue() {\n\t\t\tif (this.matchingPredefined) {\n\t\t\t\treturn this.matchingPredefined\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ticon: 'icon-settings-dark',\n\t\t\t\tlabel: t('workflowengine', 'Custom URL'),\n\t\t\t\tid: this.newValue,\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\tvalidateRegex(string) {\n\t\t\tconst regexRegex = /^\\/(.*)\\/([gui]{0,3})$/\n\t\t\tconst result = regexRegex.exec(string)\n\t\t\treturn result !== null\n\t\t},\n\t\tsetValue(value) {\n\t\t\t// TODO: check if value requires a regex and set the check operator according to that\n\t\t\tif (value !== null) {\n\t\t\t\tthis.newValue = value.id\n\t\t\t\tthis.$emit('input', this.newValue)\n\t\t\t}\n\t\t},\n\t\tupdateCustom(event) {\n\t\t\tthis.newValue = event.target.value\n\t\t\tthis.$emit('input', this.newValue)\n\t\t},\n\t},\n}\n</script>\n<style scoped lang=\"scss\">\n\t.v-select,\n\tinput[type='text'] {\n\t\twidth: 100%;\n\t}\n\tinput[type='text'] {\n\t\tmin-height: 48px;\n\t}\n\n\t.option__icon {\n\t\tdisplay: inline-block;\n\t\tmin-width: 30px;\n\t\tbackground-position: center;\n\t\tvertical-align: middle;\n\t}\n\n\t.option__title {\n\t\tdisplay: inline-flex;\n\t\twidth: calc(100% - 36px);\n\t\tvertical-align: middle;\n\t}\n</style>\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RequestURL.vue?vue&type=template&id=1a72d97f&scoped=true&\"\nimport script from \"./RequestURL.vue?vue&type=script&lang=js&\"\nexport * from \"./RequestURL.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RequestURL.vue?vue&type=style&index=0&id=1a72d97f&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a72d97f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"placeholder\":_vm.t('workflowengine', 'Select a request URL'),\"label\":\"label\",\"clearable\":false,\"options\":_vm.options},on:{\"input\":_vm.setValue},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span',{staticClass:\"option__icon\",class:option.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(option.label)}})],1)]}},{key:\"selected-option\",fn:function(selectedOption){return [_c('span',{staticClass:\"option__icon\",class:selectedOption.icon}),_vm._v(\" \"),_c('span',{staticClass:\"option__title\"},[_c('NcEllipsisedOption',{attrs:{\"name\":String(selectedOption.label)}})],1)]}}])}),_vm._v(\" \"),(!_vm.isPredefined)?_c('input',{attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.currentValue.id},on:{\"input\":_vm.updateCustom}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcSelect',{attrs:{\"value\":_vm.currentValue,\"loading\":_vm.status.isLoading && _vm.groups.length === 0,\"options\":_vm.groups,\"clearable\":false,\"label\":\"displayname\",\"track-by\":\"id\"},on:{\"search-change\":_vm.searchAsync,\"input\":(value) => _vm.$emit('input', value.id)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div>\n\t\t<NcSelect :value=\"currentValue\"\n\t\t\t:loading=\"status.isLoading && groups.length === 0\"\n\t\t\t:options=\"groups\"\n\t\t\t:clearable=\"false\"\n\t\t\tlabel=\"displayname\"\n\t\t\ttrack-by=\"id\"\n\t\t\t@search-change=\"searchAsync\"\n\t\t\t@input=\"(value) => $emit('input', value.id)\" />\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst groups = []\nconst status = {\n\tisLoading: false,\n}\n\nexport default {\n\tname: 'RequestUserGroup',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tcheck: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroups,\n\t\t\tstatus,\n\t\t}\n\t},\n\tcomputed: {\n\t\tcurrentValue() {\n\t\t\treturn this.groups.find(group => group.id === this.value) || null\n\t\t},\n\t},\n\tasync mounted() {\n\t\tif (this.groups.length === 0) {\n\t\t\tawait this.searchAsync('')\n\t\t}\n\t\tif (this.currentValue === null) {\n\t\t\tawait this.searchAsync(this.value)\n\t\t}\n\t},\n\tmethods: {\n\t\tsearchAsync(searchQuery) {\n\t\t\tif (this.status.isLoading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.status.isLoading = true\n\t\t\treturn axios.get(generateOcsUrl('cloud/groups/details?limit=20&search={searchQuery}', { searchQuery })).then((response) => {\n\t\t\t\tresponse.data.ocs.data.groups.forEach((group) => {\n\t\t\t\t\tthis.addGroup({\n\t\t\t\t\t\tid: group.id,\n\t\t\t\t\t\tdisplayname: group.displayname,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tthis.status.isLoading = false\n\t\t\t}, (error) => {\n\t\t\t\tconsole.error('Error while loading group list', error.response)\n\t\t\t})\n\t\t},\n\t\taddGroup(group) {\n\t\t\tconst index = this.groups.findIndex((item) => item.id === group.id)\n\t\t\tif (index === -1) {\n\t\t\t\tthis.groups.push(group)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n.v-select {\n\twidth: 100%;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestUserGroup.vue?vue&type=style&index=0&id=07a6a476&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=07a6a476&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=07a6a476&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=07a6a476&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 \"07a6a476\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport FileChecks from './file.js'\nimport RequestChecks from './request.js'\n\nexport default [...FileChecks, ...RequestChecks]\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport RequestUserAgent from './RequestUserAgent.vue'\nimport RequestTime from './RequestTime.vue'\nimport RequestURL from './RequestURL.vue'\nimport RequestUserGroup from './RequestUserGroup.vue'\n\nconst RequestChecks = [\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestURL',\n\t\tname: t('workflowengine', 'Request URL'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t],\n\t\tcomponent: RequestURL,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestTime',\n\t\tname: t('workflowengine', 'Request time'),\n\t\toperators: [\n\t\t\t{ operator: 'in', name: t('workflowengine', 'between') },\n\t\t\t{ operator: '!in', name: t('workflowengine', 'not between') },\n\t\t],\n\t\tcomponent: RequestTime,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\RequestUserAgent',\n\t\tname: t('workflowengine', 'Request user agent'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not') },\n\t\t\t{ operator: 'matches', name: t('workflowengine', 'matches') },\n\t\t\t{ operator: '!matches', name: t('workflowengine', 'does not match') },\n\t\t],\n\t\tcomponent: RequestUserAgent,\n\t},\n\t{\n\t\tclass: 'OCA\\\\WorkflowEngine\\\\Check\\\\UserGroupMembership',\n\t\tname: t('workflowengine', 'User group membership'),\n\t\toperators: [\n\t\t\t{ operator: 'is', name: t('workflowengine', 'is member of') },\n\t\t\t{ operator: '!is', name: t('workflowengine', 'is not member of') },\n\t\t],\n\t\tcomponent: RequestUserGroup,\n\t},\n]\n\nexport default RequestChecks\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport store from './store.js'\nimport Settings from './components/Workflow.vue'\nimport ShippedChecks from './components/Checks/index.js'\n\n/**\n * A plugin for displaying a custom value field for checks\n *\n * @typedef {object} CheckPlugin\n * @property {string} class - The PHP class name of the check\n * @property {Comparison[]} operators - A list of possible comparison operations running on the check\n * @property {Vue} component - A vue component to handle the rendering of options\n * The component should handle the v-model directive properly,\n * so it needs a value property to receive data and emit an input\n * event once the data has changed\n * @property {Function} placeholder - Return a placeholder of no custom component is used\n * @property {Function} validate - validate a check if no custom component is used\n */\n\n/**\n * A plugin for extending the admin page representation of an operator\n *\n * @typedef {object} OperatorPlugin\n * @property {string} id - The PHP class name of the check\n * @property {string} operation - Default value for the operation field\n * @property {string} color - Custom color code to be applied for the operator selector\n * @property {Vue} component - A vue component to handle the rendering of options\n * The component should handle the v-model directive properly,\n * so it needs a value property to receive data and emit an input\n * event once the data has changed\n */\n\n/**\n * @typedef {object} Comparison\n * @property {string} operator - value the comparison should have, e.g. !less, greater\n * @property {string} name - Translated readable text, e.g. less or equals\n */\n\n/**\n * Public javascript api for apps to register custom plugins\n */\nwindow.OCA.WorkflowEngine = Object.assign({}, OCA.WorkflowEngine, {\n\n\t/**\n\t *\n\t * @param {CheckPlugin} Plugin the plugin to register\n\t */\n\tregisterCheck(Plugin) {\n\t\tstore.commit('addPluginCheck', Plugin)\n\t},\n\t/**\n\t *\n\t * @param {OperatorPlugin} Plugin the plugin to register\n\t */\n\tregisterOperator(Plugin) {\n\t\tstore.commit('addPluginOperator', Plugin)\n\t},\n})\n\n// Register shipped checks\nShippedChecks.forEach((checkPlugin) => window.OCA.WorkflowEngine.registerCheck(checkPlugin))\n\nVue.use(Vuex)\nVue.prototype.t = t\n\nconst View = Vue.extend(Settings)\nconst workflowengine = new View({\n\tstore,\n})\nworkflowengine.$mount('#workflowengine')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".check[data-v-e3633862]{display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;padding-right:20px}.check>*[data-v-e3633862]:not(.close){width:180px}.check>.comparator[data-v-e3633862]{min-width:200px;width:200px}.check>.option[data-v-e3633862]{min-width:260px;width:260px;min-height:48px}.check>.option>input[type=text][data-v-e3633862]{min-height:48px}.check>.v-select[data-v-e3633862],.check>.button-vue[data-v-e3633862],.check>input[type=text][data-v-e3633862]{margin-right:5px;margin-bottom:5px}input[type=text][data-v-e3633862]{margin:0}.invalid[data-v-e3633862]{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-1825d70e]{margin-bottom:5px}.isComplex img[data-v-1825d70e]{vertical-align:text-top}.isComplex span[data-v-1825d70e]{padding-top:2px;display:inline-block}.multiselect[data-v-1825d70e]{width:100%;max-width:550px;margin-top:4px}.multiselect[data-v-1825d70e] .multiselect__single{display:flex}.multiselect[data-v-1825d70e]:not(.multiselect--active) .multiselect__tags{background-color:var(--color-main-background) !important;border:1px solid rgba(0,0,0,0)}.multiselect[data-v-1825d70e] .multiselect__tags{background-color:var(--color-main-background) !important;height:auto;min-height:34px}.multiselect[data-v-1825d70e]:not(.multiselect--disabled) .multiselect__tags .multiselect__single{background-image:var(--icon-triangle-s-dark);background-repeat:no-repeat;background-position:right center}input[data-v-1825d70e]{border:1px solid rgba(0,0,0,0)}.option__title[data-v-1825d70e]{margin-left:5px;color:var(--color-main-text)}.option__title_single[data-v-1825d70e]{font-weight:900}.option__icon[data-v-1825d70e]{width:16px;height:16px;filter:var(--background-invert-if-dark)}.eventlist img[data-v-1825d70e],.eventlist .text[data-v-1825d70e]{vertical-align:middle}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Event.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,iBAAA,CAGA,gCACC,uBAAA,CAED,iCACC,eAAA,CACA,oBAAA,CAGF,8BACC,UAAA,CACA,eAAA,CACA,cAAA,CAED,mDACC,YAAA,CAED,2EACC,wDAAA,CACA,8BAAA,CAGD,iDACC,wDAAA,CACA,WAAA,CACA,eAAA,CAGD,kGACC,4CAAA,CACA,2BAAA,CACA,gCAAA,CAGD,uBACC,8BAAA,CAGD,gCACC,eAAA,CACA,4BAAA,CAED,uCACC,eAAA,CAGD,+BACC,UAAA,CACA,WAAA,CACA,uCAAA,CAGD,kEAEC,qBAAA\",\"sourcesContent\":[\"\\n.event {\\n\\tmargin-bottom: 5px;\\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.multiselect {\\n\\twidth: 100%;\\n\\tmax-width: 550px;\\n\\tmargin-top: 4px;\\n}\\n.multiselect::v-deep .multiselect__single {\\n\\tdisplay: flex;\\n}\\n.multiselect:not(.multiselect--active)::v-deep .multiselect__tags {\\n\\tbackground-color: var(--color-main-background) !important;\\n\\tborder: 1px solid transparent;\\n}\\n\\n.multiselect::v-deep .multiselect__tags {\\n\\tbackground-color: var(--color-main-background) !important;\\n\\theight: auto;\\n\\tmin-height: 34px;\\n}\\n\\n.multiselect:not(.multiselect--disabled)::v-deep .multiselect__tags .multiselect__single {\\n\\tbackground-image: var(--icon-triangle-s-dark);\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: right center;\\n}\\n\\ninput {\\n\\tborder: 1px solid transparent;\\n}\\n\\n.option__title {\\n\\tmargin-left: 5px;\\n\\tcolor: var(--color-main-text);\\n}\\n.option__title_single {\\n\\tfont-weight: 900;\\n}\\n\\n.option__icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tfilter: var(--background-invert-if-dark);\\n}\\n\\n.eventlist img,\\n.eventlist .text {\\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, \".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-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,+BAAA,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-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-4e25e34d]{border-bottom:1px solid var(--color-border)}.section[data-v-4e25e34d]{max-width:100vw}.section h2.configured-flows[data-v-4e25e34d]{margin-top:50px;margin-bottom:0}.actions[data-v-4e25e34d]{display:flex;flex-wrap:wrap;max-width:1200px}.actions .actions__item[data-v-4e25e34d]{max-width:280px;flex-basis:250px}.actions__more[data-v-4e25e34d]{margin-bottom:10px}.slide-enter-active[data-v-4e25e34d]{-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-4e25e34d]{-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-4e25e34d],.slide-leave[data-v-4e25e34d]{max-height:500px;overflow:hidden}.slide-enter[data-v-4e25e34d],.slide-leave-to[data-v-4e25e34d]{overflow:hidden;max-height:0;padding-top:0;padding-bottom:0}.actions__item[data-v-4e25e34d]{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-4e25e34d]{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-4e25e34d]{text-align:center;flex-grow:1;display:flex;flex-direction:column;align-items:center}.actions__item_options[data-v-4e25e34d]{width:100%;margin-top:10px;padding-left:60px}h3[data-v-4e25e34d],small[data-v-4e25e34d]{padding:6px;display:block}h3[data-v-4e25e34d]{margin:0;padding:0;font-weight:600}small[data-v-4e25e34d]{font-size:10pt;flex-grow:1}.colored[data-v-4e25e34d]:not(.more){background-color:var(--color-primary-element)}.colored:not(.more) h3[data-v-4e25e34d],.colored:not(.more) small[data-v-4e25e34d]{color:var(--color-primary-text)}.actions__item[data-v-4e25e34d]:not(.colored){flex-direction:row}.actions__item:not(.colored) .actions__item__description[data-v-4e25e34d]{padding-top:5px;text-align:left;width:calc(100% - 105px)}.actions__item:not(.colored) .actions__item__description small[data-v-4e25e34d]{padding:0}.actions__item:not(.colored) .icon[data-v-4e25e34d]{width:50px;margin:0;margin-right:10px}.actions__item:not(.colored) .icon[data-v-4e25e34d]:not(.icon-invert){filter:var(--background-invert-if-bright)}.colored .icon-invert[data-v-4e25e34d]{filter:var(--background-invert-if-bright)}.actions__item.more[data-v-4e25e34d]{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,+BAAA,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-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-07a6a476] {\\n\\twidth: 100%;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/workflowengine/src/components/Checks/RequestUserGroup.vue\"],\"names\":[],\"mappings\":\";AA4GA;CACA,WAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<div>\\n\\t\\t<NcSelect :value=\\\"currentValue\\\"\\n\\t\\t\\t:loading=\\\"status.isLoading && groups.length === 0\\\"\\n\\t\\t\\t:options=\\\"groups\\\"\\n\\t\\t\\t:clearable=\\\"false\\\"\\n\\t\\t\\tlabel=\\\"displayname\\\"\\n\\t\\t\\ttrack-by=\\\"id\\\"\\n\\t\\t\\t@search-change=\\\"searchAsync\\\"\\n\\t\\t\\t@input=\\\"(value) => $emit('input', value.id)\\\" />\\n\\t</div>\\n</template>\\n\\n<script>\\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\\nimport axios from '@nextcloud/axios'\\nimport { generateOcsUrl } from '@nextcloud/router'\\n\\nconst groups = []\\nconst status = {\\n\\tisLoading: false,\\n}\\n\\nexport default {\\n\\tname: 'RequestUserGroup',\\n\\tcomponents: {\\n\\t\\tNcSelect,\\n\\t},\\n\\tprops: {\\n\\t\\tvalue: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\tdefault: '',\\n\\t\\t},\\n\\t\\tcheck: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => { return {} },\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tgroups,\\n\\t\\t\\tstatus,\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\tcurrentValue() {\\n\\t\\t\\treturn this.groups.find(group => group.id === this.value) || null\\n\\t\\t},\\n\\t},\\n\\tasync mounted() {\\n\\t\\tif (this.groups.length === 0) {\\n\\t\\t\\tawait this.searchAsync('')\\n\\t\\t}\\n\\t\\tif (this.currentValue === null) {\\n\\t\\t\\tawait this.searchAsync(this.value)\\n\\t\\t}\\n\\t},\\n\\tmethods: {\\n\\t\\tsearchAsync(searchQuery) {\\n\\t\\t\\tif (this.status.isLoading) {\\n\\t\\t\\t\\treturn\\n\\t\\t\\t}\\n\\n\\t\\t\\tthis.status.isLoading = true\\n\\t\\t\\treturn axios.get(generateOcsUrl('cloud/groups/details?limit=20&search={searchQuery}', { searchQuery })).then((response) => {\\n\\t\\t\\t\\tresponse.data.ocs.data.groups.forEach((group) => {\\n\\t\\t\\t\\t\\tthis.addGroup({\\n\\t\\t\\t\\t\\t\\tid: group.id,\\n\\t\\t\\t\\t\\t\\tdisplayname: group.displayname,\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\tthis.status.isLoading = false\\n\\t\\t\\t}, (error) => {\\n\\t\\t\\t\\tconsole.error('Error while loading group list', error.response)\\n\\t\\t\\t})\\n\\t\\t},\\n\\t\\taddGroup(group) {\\n\\t\\t\\tconst index = this.groups.findIndex((item) => item.id === group.id)\\n\\t\\t\\tif (index === -1) {\\n\\t\\t\\t\\tthis.groups.push(group)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style scoped>\\n.v-select {\\n\\twidth: 100%;\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","// 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__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 8318;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8318: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(71374)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","scopeValue","loadState","getApiUrl","url","generateOcsUrl","Vue","Vuex","Store","state","rules","scope","appstoreEnabled","operations","plugins","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","async","context","data","axios","values","ocs","forEach","commit","createNewRule","isComplex","fixedEntity","find","Date","getTime","name","operator","value","operation","JSON","parse","result","confirmPassword","setValid","_ref","getters","getRules","filter","sort","rule1","rule2","getOperationForRule","getEntityForOperation","getEventsForOperation","getChecksForEntity","check","supportedEntities","indexOf","length","reduce","obj","components","NcMultiselect","props","type","required","computed","$store","allEvents","currentEvent","methods","updateEvent","showWarning","t","existingEntity","newEntities","self","newEntity","$set","$emit","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_c","_self","staticClass","attrs","icon","_v","_s","triggerHint","on","scopedSlots","_u","key","fn","isOpen","_l","displayName","_e","option","NcActionButton","NcActions","NcSelect","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","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","dispatch","e","console","response","meta","message","cancelRule","$delete","onAddFilter","borderLeftColor","removeCheck","updateOperation","deleteRule","saveRule","MenuDown","MenuUp","Rule","NcSettingsSection","showMoreOperations","appstoreUrl","generateUrl","workflowDocUrl","mapGetters","mapState","hasMoreOperations","keys","getMainOperations","slice","showAppStoreHint","OC","isUserAdmin","nativeOn","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","timezones","startTime","endTime","timezone","split","output","groups","status","isLoading","group","searchAsync","searchQuery","then","addGroup","displayname","FileChecks","RequestURL","RequestTime","RequestUserAgent","RequestUserGroup","window","OCA","WorkflowEngine","registerCheck","Plugin","store","registerOperator","ShippedChecks","checkPlugin","Settings","$mount","___CSS_LOADER_EXPORT___","module","webpackContext","req","webpackContextResolve","__webpack_require__","o","Error","code","resolve","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","get","g","globalThis","Function","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","nc","__webpack_exports__"],"sourceRoot":""}
|