English
flow.approval.opinion.page.render.before
About 389 wordsAbout 1 min
2025-11-24
This hook is used before the edit approval opinion dialog is rendered. It supports operations such as hiding or displaying after-add-sign and customizing copywriting.
Note: This hook is used before the edit approval opinion dialog is rendered and supports operations such as hiding/displaying after-add-sign and customizing copywriting.
isSupportAfterTag
Hide or display the after-add-sign feature.
Note: When approval does not include a form, you must use the flow.approval.opinion.page.render.before event for showing or hiding after-add-sign to take effect.
Parameters
| Parameter | Description | Type |
|---|---|---|
| isSupportAfterTag | Whether the after-add-sign feature is supported true: show after-add-sign false: hide after-add-sign | Boolean |
Parameter Code Example
arg.isSupportAfterTag = falseCode Example
module.exports = function (context, pluginService, pluginParam) {
return {
apply() {
let self = this;
return [
{
// event: "flow.edit.form.parser.render.befor",
event: "flow.approval.opinion.page.render.before",
functional: async function (context, options) {
let arg = options && options.arg;
arg.isSupportAfterTag = false;
return Promise.resolve({
arg: arg
});
}
}
];
}
};
};
Notes
Note: When approval does not include a form, you must use the flow.approval.opinion.page.render.before event for showing or hiding after-add-sign to take effect.
2. arg.title/rejectOpinionTitle etc.
Feature Description
Customize the copywriting on the approval opinion confirmation/rejection page in the approval detail page.
Parameters
| Parameter | Description | Type |
|---|---|---|
| arg | Some data rendered on the approval opinion page | Object |
| pageData | Passed-through button data | Object |

Parameter Code Example
let arg = options && options.arg;
arg.title = "Plugin Customized Title";
arg.rejectOpinionTitle = "Plugin Customized Opinion Input Prompt Title";
arg.rejectWayTitle = "Plugin Reject Method Title";
arg.rejectNodeTitle = "Plugin Reject Node";
arg.yesText = "Reliable";
arg.noText = "No Way";Code Example
module.exports = function (context, pluginService, pluginParam) {
return {
apply() {
let self = this;
return [
{
/**
* Override the approval/rejection page
*/
event: "flow.approval.opinion.page.render.before",
functional: async function (context, options) {
let arg = options && options.arg;
arg.title = "Plugin Customized Title";
arg.rejectOpinionTitle = "Plugin Customized Opinion Input Prompt Title";
arg.rejectWayTitle = "Plugin Reject Method Title";
arg.rejectNodeTitle = "Plugin Reject Node";
arg.yesText = "Reliable";
arg.noText = "No Way";
return Promise.resolve({
arg: arg
});
}
}
];
}
};
};
