diff --git a/client/web/compose/src/components/ModuleFields/Configurator/Record.vue b/client/web/compose/src/components/ModuleFields/Configurator/Record.vue index 8cc135e93..738b1fe5e 100644 --- a/client/web/compose/src/components/ModuleFields/Configurator/Record.vue +++ b/client/web/compose/src/components/ModuleFields/Configurator/Record.vue @@ -66,17 +66,16 @@ v-model="f.options.prefilter" :placeholder="$t('kind.record.prefilterPlaceholder')" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + diff --git a/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue b/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue index 1551a8f77..c8ce9c3b9 100644 --- a/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue @@ -51,17 +51,16 @@ :placeholder="$t('recordList.record.prefilterPlaceholder')" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + + + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + @@ -62,6 +73,17 @@ /> + + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + diff --git a/client/web/compose/src/components/PageBlocks/ContentBase.vue b/client/web/compose/src/components/PageBlocks/ContentBase.vue index 3dc0e0664..01f432995 100644 --- a/client/web/compose/src/components/PageBlocks/ContentBase.vue +++ b/client/web/compose/src/components/PageBlocks/ContentBase.vue @@ -23,24 +23,14 @@ export default { computed: { contentBody () { - const { body } = this.options + const { body = '' } = this.options - // Regular expression to match ${} tokens - const tokenRegex = /\${(.*?)}/g - - // Replace each token with its prefiltered content - const prefilteredBody = body.replace(tokenRegex, (match, tokenContent) => { - const reconstructedToken = '${' + tokenContent + '}' - - return evaluatePrefilter(reconstructedToken, { - record: this.record, - recordID: (this.record || {}).recordID || NoID, - ownerID: (this.record || {}).ownedBy || NoID, - userID: (this.$auth.user || {}).userID || NoID, - }) + return evaluatePrefilter(body, { + record: this.record, + recordID: (this.record || {}).recordID || NoID, + ownerID: (this.record || {}).ownedBy || NoID, + userID: (this.$auth.user || {}).userID || NoID, }) - - return prefilteredBody }, }, } diff --git a/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue b/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue index 1faa11f1f..2fa56701d 100644 --- a/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue @@ -9,6 +9,17 @@ openLinkInNewTab: $t('content.openLinkInNewTab'), }" /> + + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + diff --git a/client/web/compose/src/components/PageBlocks/IFrameBase.vue b/client/web/compose/src/components/PageBlocks/IFrameBase.vue index 11810f045..2bfd3508d 100644 --- a/client/web/compose/src/components/PageBlocks/IFrameBase.vue +++ b/client/web/compose/src/components/PageBlocks/IFrameBase.vue @@ -24,21 +24,22 @@ export default { src () { const { srcField, src } = this.options const blank = 'about:blank' + let url = src if (this.options.srcField) { if (this.record) { - return this.record.values[srcField] || blank + url = this.record.values[srcField] } } - const prefilteredSource = evaluatePrefilter(src, { + const interpolatedURL = evaluatePrefilter(url, { record: this.record, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, }) - return prefilteredSource || blank + return interpolatedURL || blank }, }, diff --git a/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue b/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue index 12018e17a..9190f340f 100644 --- a/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue @@ -22,6 +22,16 @@ v-model="options.src" type="url" /> + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + diff --git a/client/web/compose/src/components/PageBlocks/MetricBase.vue b/client/web/compose/src/components/PageBlocks/MetricBase.vue index cd67381d0..22af33337 100644 --- a/client/web/compose/src/components/PageBlocks/MetricBase.vue +++ b/client/web/compose/src/components/PageBlocks/MetricBase.vue @@ -166,6 +166,15 @@ export default { }) } + if (auxM.transformFx) { + auxM.transformFx = evaluatePrefilter(auxM.transformFx, { + record: this.record, + recordID: (this.record || {}).recordID || NoID, + ownerID: (this.record || {}).ownedBy || NoID, + userID: (this.$auth.user || {}).userID || NoID, + }) + } + const vals = await this.block.fetch({ m: auxM }, reporter) rtr.push(vals) } diff --git a/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue b/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue index 9455ee8be..2ba9cbf3d 100644 --- a/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue +++ b/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue @@ -153,17 +153,16 @@ class="mb-1" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + @@ -208,21 +207,19 @@ v-model="edit.transformFx" placeholder="v" class="mb-1" - @change="evaluateTransformation" /> {{ $t('metric.edit.transformFunctionDescription') }} - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + diff --git a/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue b/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue index d4e09c131..888de08dd 100644 --- a/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue @@ -57,17 +57,16 @@ placeholder="(A > B) OR (A < C)" class="mb-1" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + @@ -169,17 +168,16 @@ placeholder="(A > B) OR (A < C)" class="mb-1" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + @@ -281,17 +279,16 @@ placeholder="(A > B) OR (A < C)" class="mb-1" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + diff --git a/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue b/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue index 3385a831e..e454a7df3 100644 --- a/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue @@ -263,17 +263,16 @@ :placeholder="$t('recordList.record.prefilterPlaceholder')" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + diff --git a/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue b/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue index cb8b05311..470c0aeaf 100644 --- a/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue @@ -50,17 +50,16 @@ :value="true" :placeholder="$t('recordList.record.prefilterPlaceholder')" /> - - - ${record.values.fieldName} - ${recordID} - ${ownerID} - ${userID} - - + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + - {{ handleButtonLabel(b.label) || '-' }} + {{ buttonLabel(b.label) || '-' }} @@ -183,7 +183,7 @@ export default { } }, - handleButtonLabel (label) { + buttonLabel (label = '') { return evaluatePrefilter(label, { record: this.record, recordID: (this.record || {}).recordID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue b/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue index c1283a04d..658921927 100644 --- a/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue +++ b/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue @@ -7,11 +7,19 @@ :label="$t('buttonLabel')" label-class="text-primary" > - - - + + + ${record.values.fieldName} + ${recordID} + ${ownerID} + ${userID} + - + {{ $t('tabs.table.columns.title.label') }} + - {{ block.description }} + {{ blockDescription }} diff --git a/client/web/compose/src/components/PageBlocks/Wrap/Plain.vue b/client/web/compose/src/components/PageBlocks/Wrap/Plain.vue index d9c3143b6..9abf74ab0 100644 --- a/client/web/compose/src/components/PageBlocks/Wrap/Plain.vue +++ b/client/web/compose/src/components/PageBlocks/Wrap/Plain.vue @@ -50,10 +50,10 @@ - {{ block.description }} + {{ blockDescription }} diff --git a/client/web/compose/src/components/PageBlocks/Wrap/base.vue b/client/web/compose/src/components/PageBlocks/Wrap/base.vue index 7eab476c1..eca8d2de4 100644 --- a/client/web/compose/src/components/PageBlocks/Wrap/base.vue +++ b/client/web/compose/src/components/PageBlocks/Wrap/base.vue @@ -89,6 +89,15 @@ export default { userID: (this.$auth.user || {}).userID || NoID, }) }, + + blockDescription () { + return evaluatePrefilter(this.block.description, { + record: this.$attrs.record, + recordID: (this.$attrs.record || {}).recordID || NoID, + ownerID: (this.$attrs.record || {}).ownedBy || NoID, + userID: (this.$auth.user || {}).userID || NoID, + }) + }, }, } diff --git a/client/web/compose/src/views/Admin/Pages/Edit.vue b/client/web/compose/src/views/Admin/Pages/Edit.vue index 16bb76578..06f25b039 100644 --- a/client/web/compose/src/views/Admin/Pages/Edit.vue +++ b/client/web/compose/src/views/Admin/Pages/Edit.vue @@ -506,31 +506,31 @@ - - - record.values.fieldName - user.(userID/email...) - screen.(width/height) - isView/isCreate/isEdit - user.userID == record.values.createdBy - screen.width < 1024 - + + record.values.fieldName + user.(userID/email...) + screen.(width/height) + isView/isCreate/isEdit + user.userID == record.values.createdBy + screen.width < 1024 + - - user.(userID/email...) - screen.(width/height) - user.email == "test@mail.com" - screen.width < 1024 - - + + user.(userID/email...) + screen.(width/height) + user.email == "test@mail.com" + screen.width < 1024 +