diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2025-03-25 11:59:48 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2025-04-03 12:40:48 +0200 |
commit | c24ead810de180727ffbb9122bfe027e94fdd964 (patch) | |
tree | b6af47866a0b0ee7bddd116bca0972e41a2242bd | |
parent | 5fbe00870b9c99d0214e008412cea9e7f1611034 (diff) | |
download | nextcloud-server-c24ead810de180727ffbb9122bfe027e94fdd964.tar.gz nextcloud-server-c24ead810de180727ffbb9122bfe027e94fdd964.zip |
fix(workflowengine): adapt check operator RequestURL to use web component
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
-rw-r--r-- | apps/workflowengine/src/components/Check.vue | 5 | ||||
-rw-r--r-- | apps/workflowengine/src/components/Checks/RequestURL.vue | 20 | ||||
-rw-r--r-- | apps/workflowengine/src/components/Checks/request.js | 3 |
3 files changed, 22 insertions, 6 deletions
diff --git a/apps/workflowengine/src/components/Check.vue b/apps/workflowengine/src/components/Check.vue index 612a177c8c2..136f6d21280 100644 --- a/apps/workflowengine/src/components/Check.vue +++ b/apps/workflowengine/src/components/Check.vue @@ -23,7 +23,7 @@ v-if="currentElement" ref="checkComponent" :disabled="!currentOption" - :check="check" + :operator="check.operator" :model-value="check.value" class="option" @update:model-value="updateCheck" @@ -166,7 +166,8 @@ export default { this.$emit('validate', this.valid) }, updateCheck(event) { - const matchingOperator = this.operators.findIndex((operator) => this.check.operator === operator.operator) + const selectedOperator = event?.operator || this.currentOperator?.operator || this.check.operator + const matchingOperator = this.operators.findIndex((operator) => selectedOperator === operator.operator) if (this.check.class !== this.currentOption.class || matchingOperator === -1) { this.currentOperator = this.operators[0] } diff --git a/apps/workflowengine/src/components/Checks/RequestURL.vue b/apps/workflowengine/src/components/Checks/RequestURL.vue index 9fb3d70178c..8f34da84fec 100644 --- a/apps/workflowengine/src/components/Checks/RequestURL.vue +++ b/apps/workflowengine/src/components/Checks/RequestURL.vue @@ -5,6 +5,7 @@ <template> <div> <NcSelect :value="currentValue" + v-model="newValue" :placeholder="t('workflowengine', 'Select a request URL')" label="label" :clearable="false" @@ -45,6 +46,9 @@ export default { mixins: [ valueMixin, ], + + emits: ['update:model-value'], + data() { return { newValue: '', @@ -57,12 +61,22 @@ export default { ], } }, + props: { + modelValue: { + type: String, + default: '', + }, + operator: { + type: String, + default: '', + }, + }, computed: { options() { return [...this.predefinedTypes, this.customValue] }, placeholder() { - if (this.check.operator === 'matches' || this.check.operator === '!matches') { + if (this.operator === 'matches' || this.operator === '!matches') { return '/^https\\:\\/\\/localhost\\/index\\.php$/i' } return 'https://localhost/index.php' @@ -102,12 +116,12 @@ export default { // TODO: check if value requires a regex and set the check operator according to that if (value !== null) { this.newValue = value.id - this.$emit('input', this.newValue) + this.$emit('update:model-value', this.newValue) } }, updateCustom(event) { this.newValue = event.target.value - this.$emit('input', this.newValue) + this.$emit('update:model-value', this.newValue) }, }, } diff --git a/apps/workflowengine/src/components/Checks/request.js b/apps/workflowengine/src/components/Checks/request.js index 3bbf464adb5..88d2072beae 100644 --- a/apps/workflowengine/src/components/Checks/request.js +++ b/apps/workflowengine/src/components/Checks/request.js @@ -3,6 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ +import { registerCustomElement } from '../../helpers/window.js' import RequestUserAgent from './RequestUserAgent.vue' import RequestTime from './RequestTime.vue' import RequestURL from './RequestURL.vue' @@ -18,7 +19,7 @@ const RequestChecks = [ { operator: 'matches', name: t('workflowengine', 'matches') }, { operator: '!matches', name: t('workflowengine', 'does not match') }, ], - component: RequestURL, + element: registerCustomElement(RequestURL, 'oca-workflowengine-checks-request_url'), }, { class: 'OCA\\WorkflowEngine\\Check\\RequestTime', |