@nocobase/flow-engine
Version:
A standalone flow engine for NocoBase, managing workflows, models, and actions.
61 lines (56 loc) • 2.11 kB
JavaScript
/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var set_required_snippet_exports = {};
__export(set_required_snippet_exports, {
default: () => set_required_snippet_default
});
module.exports = __toCommonJS(set_required_snippet_exports);
var set_required_snippet_default = {
contexts: ["*"],
prefix: "sn-link-required",
label: "Set required",
content: `
const targetFieldUid = 'FIELD_UID_OR_NAME';
const required = true;
const items = ctx.model?.subModels?.grid?.subModels?.items;
const candidates: any[] = Array.isArray(items)
? items
: Array.from(items?.values?.() || items || []);
const fieldModel =
candidates.find((item) => item?.uid === targetFieldUid) ||
candidates.find((item) => item?.props?.name === targetFieldUid);
if (!fieldModel) {
ctx.message?.warning?.(ctx.t('Field {{name}} not found', { name: targetFieldUid }));
return;
}
fieldModel.setProps({ required });
ctx.message?.success?.(
ctx.t(required ? 'Set field {{name}} as required' : 'Field {{name}} is optional', {
name: fieldModel?.props?.label || targetFieldUid,
}),
);
`
};