@hkyhy/marsun-components-core 0.1.99 → 0.1.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Editor/RichTextEditor/RichTextEditor.js +36 -45
- package/dist/components/Editor/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/components/Editor/msgVarTokenPlugin.js +14 -19
- package/dist/components/Editor/msgVarTokenPlugin.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.d.ts +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js +3 -3
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js +209 -146
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.d.ts +18 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.js +324 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.js.map +1 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/VariablesPanel/index.d.ts +14 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/VariablesPanel/index.js +183 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/VariablesPanel/index.js.map +1 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/index.d.ts +2 -2
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.d.ts +52 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js +47 -17
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js.map +1 -1
- package/dist/components/Tools/MessageCenter/index.d.ts +2 -1
- package/dist/components/Tools/MessageCenter/utils/adminGuards.d.ts +14 -0
- package/dist/components/Tools/MessageCenter/utils/adminGuards.js +12 -0
- package/dist/components/Tools/MessageCenter/utils/adminGuards.js.map +1 -0
- package/dist/components/Tools/index.d.ts +2 -2
- package/dist/index.js +229 -227
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js +0 -301
- package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +0 -1256
- package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js +0 -2107
- package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js +0 -259
- package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +0 -23990
- package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js +0 -249
- package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js +0 -47
- package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js +0 -100
- package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js +0 -31
- package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js +0 -194
- package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js +0 -2042
- package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +0 -9
- package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +0 -167
- package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js +0 -471
- package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js +0 -139
- package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js +0 -755
- package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +0 -7838
- package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js +0 -422
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js +0 -33
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js +0 -47
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js +0 -156
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js +0 -313
- package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +0 -2942
- package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js +0 -892
- package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js.map +0 -1
- package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +0 -1047
- package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js.map +0 -1
- package/dist/node_modules/color-parse/node_modules/color-name/index.js +0 -153
- package/dist/node_modules/color-parse/node_modules/color-name/index.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js +0 -7
- package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js +0 -7
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js +0 -7
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js +0 -16
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js +0 -15
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js +0 -30
- package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js +0 -17
- package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js +0 -13
- package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js +0 -17
- package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/clone.js +0 -102
- package/dist/node_modules/es-toolkit/dist/compat/object/clone.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js +0 -33
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/get.js +0 -39
- package/dist/node_modules/es-toolkit/dist/compat/object/get.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/has.js +0 -21
- package/dist/node_modules/es-toolkit/dist/compat/object/has.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js +0 -33
- package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js +0 -10
- package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/merge.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/object/merge.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js +0 -53
- package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/property.js +0 -10
- package/dist/node_modules/es-toolkit/dist/compat/object/property.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/set.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/object/set.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js +0 -31
- package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js +0 -15
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js +0 -81
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js +0 -16
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +0 -23
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/eq.js +0 -7
- package/dist/node_modules/es-toolkit/dist/compat/util/eq.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js +0 -19
- package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/times.js +0 -11
- package/dist/node_modules/es-toolkit/dist/compat/util/times.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js +0 -9
- package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js +0 -8
- package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js +0 -37
- package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/compat/util/toString.js +0 -15
- package/dist/node_modules/es-toolkit/dist/compat/util/toString.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/function/after.js +0 -11
- package/dist/node_modules/es-toolkit/dist/function/after.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/function/debounce.js +0 -30
- package/dist/node_modules/es-toolkit/dist/function/debounce.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/function/identity.js +0 -7
- package/dist/node_modules/es-toolkit/dist/function/identity.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/function/noop.js +0 -6
- package/dist/node_modules/es-toolkit/dist/function/noop.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/object/clone.js +0 -27
- package/dist/node_modules/es-toolkit/dist/object/clone.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js +0 -8
- package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js +0 -121
- package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/object/mapValues.js +0 -12
- package/dist/node_modules/es-toolkit/dist/object/mapValues.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js +0 -8
- package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js +0 -9
- package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js +0 -110
- package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/predicate/isLength.js +0 -7
- package/dist/node_modules/es-toolkit/dist/predicate/isLength.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js +0 -9
- package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js +0 -7
- package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js.map +0 -1
- package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js +0 -7
- package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js.map +0 -1
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
export type MessageCrudFlags = {
|
|
3
|
+
create: boolean;
|
|
4
|
+
read: boolean;
|
|
5
|
+
update: boolean;
|
|
6
|
+
delete: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type MessageAdminPermissions = {
|
|
9
|
+
template?: Partial<MessageCrudFlags>;
|
|
10
|
+
push?: Partial<MessageCrudFlags>;
|
|
11
|
+
variable?: Partial<MessageCrudFlags>;
|
|
12
|
+
};
|
|
13
|
+
/** 解析 Admin 门禁:有 permissions 用细粒度;否则 canWrite 作 Showcase 全开/全关。 */
|
|
14
|
+
export declare function resolveMessageAdminPermissions(permissions: MessageAdminPermissions | undefined, canWrite: boolean | undefined): {
|
|
15
|
+
template: MessageCrudFlags;
|
|
16
|
+
push: MessageCrudFlags;
|
|
17
|
+
variable: MessageCrudFlags;
|
|
18
|
+
};
|
|
2
19
|
export type MessageTemplateAdminItem = {
|
|
3
20
|
id?: string;
|
|
4
21
|
code?: string;
|
|
@@ -40,6 +57,24 @@ export type MessageTemplateVariable = {
|
|
|
40
57
|
/** 可选中文说明;无则下拉只显示 code */
|
|
41
58
|
label?: string;
|
|
42
59
|
type?: string;
|
|
60
|
+
source?: 'catalog' | 'tenant';
|
|
61
|
+
baseline?: boolean;
|
|
62
|
+
};
|
|
63
|
+
/** 变量管理行 */
|
|
64
|
+
export type MessageTemplateVariableAdmin = MessageTemplateVariable;
|
|
65
|
+
export type PushRuleAdminItem = {
|
|
66
|
+
id?: string;
|
|
67
|
+
code?: string;
|
|
68
|
+
label?: string;
|
|
69
|
+
eventKey?: string;
|
|
70
|
+
levels?: string[];
|
|
71
|
+
templateCode?: string;
|
|
72
|
+
audienceRoles?: string[];
|
|
73
|
+
audienceUserIds?: string[];
|
|
74
|
+
channels?: string[];
|
|
75
|
+
slaHours?: number;
|
|
76
|
+
scanLookbackDays?: number;
|
|
77
|
+
enabled?: boolean;
|
|
43
78
|
};
|
|
44
79
|
export type MessageTemplateAdminProps = {
|
|
45
80
|
fetchTemplates: () => Promise<MessageTemplateAdminItem[]>;
|
|
@@ -61,12 +96,29 @@ export type MessageTemplateAdminProps = {
|
|
|
61
96
|
templateVariables?: MessageTemplateVariable[];
|
|
62
97
|
/** 预览用示例值;未传则按 variables 生成 */
|
|
63
98
|
previewVars?: Record<string, string>;
|
|
99
|
+
/**
|
|
100
|
+
* Showcase 快捷:true→十二项全开,false→全关。
|
|
101
|
+
* 业务仓须传 permissions,禁止只靠 canWrite 当真门禁。
|
|
102
|
+
*/
|
|
64
103
|
canWrite?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* 细粒度 CRUD 门禁(模板 / 推送 / 变量 × create|read|update|delete)。
|
|
106
|
+
* 传入后优先于 canWrite。
|
|
107
|
+
*/
|
|
108
|
+
permissions?: MessageAdminPermissions;
|
|
65
109
|
renderAudienceField?: (ctx: {
|
|
66
110
|
roles: string[];
|
|
67
111
|
onChange: (roles: string[]) => void;
|
|
68
112
|
}) => ReactNode;
|
|
113
|
+
/** @deprecated 优先传 fetchPushRules */
|
|
69
114
|
pushRulesSlot?: ReactNode;
|
|
115
|
+
fetchPushRules?: () => Promise<PushRuleAdminItem[]>;
|
|
116
|
+
savePushRule?: (item: PushRuleAdminItem) => Promise<void>;
|
|
117
|
+
setPushRuleEnabled?: (item: PushRuleAdminItem, enabled: boolean) => Promise<void>;
|
|
118
|
+
deletePushRule?: (item: PushRuleAdminItem) => Promise<void>;
|
|
119
|
+
fetchVariables?: () => Promise<MessageTemplateVariableAdmin[]>;
|
|
120
|
+
saveVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;
|
|
121
|
+
deleteVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;
|
|
70
122
|
emptyText?: string;
|
|
71
123
|
className?: string;
|
|
72
124
|
/** 自动编号前缀,默认 MEQ */
|
|
@@ -1,26 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
const u = {
|
|
2
|
+
create: !1,
|
|
3
|
+
read: !1,
|
|
4
|
+
update: !1,
|
|
5
|
+
delete: !1
|
|
6
|
+
}, c = {
|
|
7
|
+
create: !0,
|
|
8
|
+
read: !0,
|
|
9
|
+
update: !0,
|
|
10
|
+
delete: !0
|
|
11
|
+
};
|
|
12
|
+
function s(e, r) {
|
|
13
|
+
return {
|
|
14
|
+
create: (e == null ? void 0 : e.create) ?? r.create,
|
|
15
|
+
read: (e == null ? void 0 : e.read) ?? r.read,
|
|
16
|
+
update: (e == null ? void 0 : e.update) ?? r.update,
|
|
17
|
+
delete: (e == null ? void 0 : e.delete) ?? r.delete
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function o(e, r) {
|
|
21
|
+
const t = r ? c : u;
|
|
22
|
+
return e ? {
|
|
23
|
+
template: s(e.template, u),
|
|
24
|
+
push: s(e.push, u),
|
|
25
|
+
variable: s(e.variable, u)
|
|
26
|
+
} : { template: t, push: t, variable: t };
|
|
27
|
+
}
|
|
28
|
+
function f(e) {
|
|
29
|
+
if (!e) return [];
|
|
30
|
+
if (Array.isArray(e.variables) && e.variables.length)
|
|
31
|
+
return e.variables.map((t) => ({
|
|
32
|
+
key: String(t.key || "").trim(),
|
|
33
|
+
label: t.label,
|
|
34
|
+
type: t.type,
|
|
35
|
+
source: t.source,
|
|
36
|
+
baseline: t.baseline
|
|
37
|
+
})).filter((t) => t.key);
|
|
38
|
+
const r = e.contextSchema;
|
|
39
|
+
return !r || typeof r != "object" ? [] : Object.entries(r).map(([t, n]) => typeof n == "string" ? { key: t, type: n } : n && typeof n == "object" ? {
|
|
40
|
+
key: t,
|
|
12
41
|
type: n.type || "string",
|
|
13
42
|
label: n.label
|
|
14
|
-
} : { key:
|
|
43
|
+
} : { key: t }).filter((t) => t.key);
|
|
15
44
|
}
|
|
16
|
-
function
|
|
45
|
+
function b(e) {
|
|
17
46
|
const r = {};
|
|
18
|
-
for (const
|
|
19
|
-
r[
|
|
47
|
+
for (const t of e)
|
|
48
|
+
r[t.key] = t.type === "number" ? "1" : t.label || t.key;
|
|
20
49
|
return r;
|
|
21
50
|
}
|
|
22
51
|
export {
|
|
23
|
-
|
|
24
|
-
|
|
52
|
+
b as previewVarsFromVariables,
|
|
53
|
+
o as resolveMessageAdminPermissions,
|
|
54
|
+
f as variablesFromCatalog
|
|
25
55
|
};
|
|
26
56
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/types.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport type MessageTemplateAdminItem = {\n id?: string;\n code?: string;\n eventKey?: string;\n scenario?: string;\n label?: string;\n messageType?: string;\n titleTemplate?: string;\n titlePreview?: string;\n bodyTemplate?: string;\n audienceRoles?: string[];\n roles?: string[];\n enabled?: boolean;\n channel?: string;\n};\n\nexport type MessageEventCatalogItem = {\n eventKey: string;\n label: string;\n messageType?: string;\n};\n\n/** catalog API 完整载荷(含变量 SSOT) */\nexport type MessageEventCatalogPayload = {\n events: MessageEventCatalogItem[];\n /** 原始 schema;优先用 variables */\n contextSchema?: Record<string, string | { type?: string; label?: string }>;\n variables?: MessageTemplateVariable[];\n};\n\nexport type MessageAudienceRoleOption = {\n /** 写入模板的角色码 */\n code: string;\n /** 展示名(来自 SSO / fixture) */\n name: string;\n};\n\nexport type MessageTemplateVariable = {\n key: string;\n /** 可选中文说明;无则下拉只显示 code */\n label?: string;\n type?: string;\n};\n\nexport type MessageTemplateAdminProps = {\n fetchTemplates: () => Promise<MessageTemplateAdminItem[]>;\n saveTemplate?: (item: MessageTemplateAdminItem) => Promise<void>;\n /**\n * 事件目录。可返回数组(仅 events)或完整 payload(含 variables / contextSchema)。\n * 变量优先取 payload.variables,否则从 contextSchema 推导;**禁止** FE 平行 DEFAULT_VARS。\n */\n fetchEventCatalog?: () => Promise<MessageEventCatalogItem[] | MessageEventCatalogPayload>;\n /** 列表行切换启用(不经新建表单) */\n setTemplateEnabled?: (item: MessageTemplateAdminItem, enabled: boolean) => Promise<void>;\n /**\n * 受众角色选项(SSO 本系统角色)。未传且无 renderAudienceField 时用空 Select(禁 tags 手输码)。\n */\n fetchAudienceRoles?: () => Promise<MessageAudienceRoleOption[]>;\n /**\n * @deprecated 变量须来自 catalog;仅联调 fixture 可传。业务页勿硬编码平行表。\n */\n templateVariables?: MessageTemplateVariable[];\n /** 预览用示例值;未传则按 variables 生成 */\n previewVars?: Record<string, string>;\n canWrite?: boolean;\n renderAudienceField?: (ctx: {\n roles: string[];\n onChange: (roles: string[]) => void;\n }) => ReactNode;\n pushRulesSlot?: ReactNode;\n emptyText?: string;\n className?: string;\n /** 自动编号前缀,默认 MEQ */\n codePrefix?: string;\n};\n\nexport function variablesFromCatalog(\n payload: MessageEventCatalogPayload | null | undefined,\n): MessageTemplateVariable[] {\n if (!payload) return [];\n if (Array.isArray(payload.variables) && payload.variables.length) {\n return payload.variables\n .map((v) => ({\n key: String(v.key || '').trim(),\n label: v.label,\n type: v.type,\n }))\n .filter((v) => v.key);\n }\n const schema = payload.contextSchema;\n if (!schema || typeof schema !== 'object') return [];\n return Object.entries(schema)\n .map(([key, raw]) => {\n if (typeof raw === 'string') return { key, type: raw };\n if (raw && typeof raw === 'object') {\n return {\n key,\n type: raw.type || 'string',\n label: raw.label,\n };\n }\n return { key };\n })\n .filter((v) => v.key);\n}\n\nexport function previewVarsFromVariables(vars: MessageTemplateVariable[]): Record<string, string> {\n const out: Record<string, string> = {};\n for (const v of vars) {\n out[v.key] = v.type === 'number' ? '1' : v.label || v.key;\n }\n return out;\n}\n"],"names":["variablesFromCatalog","payload","v","schema","key","raw","previewVarsFromVariables","vars","out"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/types.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport type MessageCrudFlags = {\n create: boolean;\n read: boolean;\n update: boolean;\n delete: boolean;\n};\n\nexport type MessageAdminPermissions = {\n template?: Partial<MessageCrudFlags>;\n push?: Partial<MessageCrudFlags>;\n variable?: Partial<MessageCrudFlags>;\n};\n\nconst ALL_CRUD_OFF: MessageCrudFlags = {\n create: false,\n read: false,\n update: false,\n delete: false,\n};\n\nconst ALL_CRUD_ON: MessageCrudFlags = {\n create: true,\n read: true,\n update: true,\n delete: true,\n};\n\nfunction mergeCrud(\n partial: Partial<MessageCrudFlags> | undefined,\n fallback: MessageCrudFlags,\n): MessageCrudFlags {\n return {\n create: partial?.create ?? fallback.create,\n read: partial?.read ?? fallback.read,\n update: partial?.update ?? fallback.update,\n delete: partial?.delete ?? fallback.delete,\n };\n}\n\n/** 解析 Admin 门禁:有 permissions 用细粒度;否则 canWrite 作 Showcase 全开/全关。 */\nexport function resolveMessageAdminPermissions(\n permissions: MessageAdminPermissions | undefined,\n canWrite: boolean | undefined,\n): { template: MessageCrudFlags; push: MessageCrudFlags; variable: MessageCrudFlags } {\n const fallback = canWrite ? ALL_CRUD_ON : ALL_CRUD_OFF;\n if (!permissions) {\n return { template: fallback, push: fallback, variable: fallback };\n }\n return {\n template: mergeCrud(permissions.template, ALL_CRUD_OFF),\n push: mergeCrud(permissions.push, ALL_CRUD_OFF),\n variable: mergeCrud(permissions.variable, ALL_CRUD_OFF),\n };\n}\n\nexport type MessageTemplateAdminItem = {\n id?: string;\n code?: string;\n eventKey?: string;\n scenario?: string;\n label?: string;\n messageType?: string;\n titleTemplate?: string;\n titlePreview?: string;\n bodyTemplate?: string;\n audienceRoles?: string[];\n roles?: string[];\n enabled?: boolean;\n channel?: string;\n};\n\nexport type MessageEventCatalogItem = {\n eventKey: string;\n label: string;\n messageType?: string;\n};\n\n/** catalog API 完整载荷(含变量 SSOT) */\nexport type MessageEventCatalogPayload = {\n events: MessageEventCatalogItem[];\n /** 原始 schema;优先用 variables */\n contextSchema?: Record<string, string | { type?: string; label?: string }>;\n variables?: MessageTemplateVariable[];\n};\n\nexport type MessageAudienceRoleOption = {\n /** 写入模板的角色码 */\n code: string;\n /** 展示名(来自 SSO / fixture) */\n name: string;\n};\n\nexport type MessageTemplateVariable = {\n key: string;\n /** 可选中文说明;无则下拉只显示 code */\n label?: string;\n type?: string;\n source?: 'catalog' | 'tenant';\n baseline?: boolean;\n};\n\n/** 变量管理行 */\nexport type MessageTemplateVariableAdmin = MessageTemplateVariable;\n\nexport type PushRuleAdminItem = {\n id?: string;\n code?: string;\n label?: string;\n eventKey?: string;\n levels?: string[];\n templateCode?: string;\n audienceRoles?: string[];\n audienceUserIds?: string[];\n channels?: string[];\n slaHours?: number;\n scanLookbackDays?: number;\n enabled?: boolean;\n};\n\nexport type MessageTemplateAdminProps = {\n fetchTemplates: () => Promise<MessageTemplateAdminItem[]>;\n saveTemplate?: (item: MessageTemplateAdminItem) => Promise<void>;\n /**\n * 事件目录。可返回数组(仅 events)或完整 payload(含 variables / contextSchema)。\n * 变量优先取 payload.variables,否则从 contextSchema 推导;**禁止** FE 平行 DEFAULT_VARS。\n */\n fetchEventCatalog?: () => Promise<MessageEventCatalogItem[] | MessageEventCatalogPayload>;\n /** 列表行切换启用(不经新建表单) */\n setTemplateEnabled?: (item: MessageTemplateAdminItem, enabled: boolean) => Promise<void>;\n /**\n * 受众角色选项(SSO 本系统角色)。未传且无 renderAudienceField 时用空 Select(禁 tags 手输码)。\n */\n fetchAudienceRoles?: () => Promise<MessageAudienceRoleOption[]>;\n /**\n * @deprecated 变量须来自 catalog;仅联调 fixture 可传。业务页勿硬编码平行表。\n */\n templateVariables?: MessageTemplateVariable[];\n /** 预览用示例值;未传则按 variables 生成 */\n previewVars?: Record<string, string>;\n /**\n * Showcase 快捷:true→十二项全开,false→全关。\n * 业务仓须传 permissions,禁止只靠 canWrite 当真门禁。\n */\n canWrite?: boolean;\n /**\n * 细粒度 CRUD 门禁(模板 / 推送 / 变量 × create|read|update|delete)。\n * 传入后优先于 canWrite。\n */\n permissions?: MessageAdminPermissions;\n renderAudienceField?: (ctx: {\n roles: string[];\n onChange: (roles: string[]) => void;\n }) => ReactNode;\n /** @deprecated 优先传 fetchPushRules */\n pushRulesSlot?: ReactNode;\n fetchPushRules?: () => Promise<PushRuleAdminItem[]>;\n savePushRule?: (item: PushRuleAdminItem) => Promise<void>;\n setPushRuleEnabled?: (item: PushRuleAdminItem, enabled: boolean) => Promise<void>;\n deletePushRule?: (item: PushRuleAdminItem) => Promise<void>;\n fetchVariables?: () => Promise<MessageTemplateVariableAdmin[]>;\n saveVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;\n deleteVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;\n emptyText?: string;\n className?: string;\n /** 自动编号前缀,默认 MEQ */\n codePrefix?: string;\n};\n\nexport function variablesFromCatalog(\n payload: MessageEventCatalogPayload | null | undefined,\n): MessageTemplateVariable[] {\n if (!payload) return [];\n if (Array.isArray(payload.variables) && payload.variables.length) {\n return payload.variables\n .map((v) => ({\n key: String(v.key || '').trim(),\n label: v.label,\n type: v.type,\n source: v.source,\n baseline: v.baseline,\n }))\n .filter((v) => v.key);\n }\n const schema = payload.contextSchema;\n if (!schema || typeof schema !== 'object') return [];\n return Object.entries(schema)\n .map(([key, raw]) => {\n if (typeof raw === 'string') return { key, type: raw };\n if (raw && typeof raw === 'object') {\n return {\n key,\n type: raw.type || 'string',\n label: raw.label,\n };\n }\n return { key };\n })\n .filter((v) => v.key);\n}\n\nexport function previewVarsFromVariables(vars: MessageTemplateVariable[]): Record<string, string> {\n const out: Record<string, string> = {};\n for (const v of vars) {\n out[v.key] = v.type === 'number' ? '1' : v.label || v.key;\n }\n return out;\n}\n"],"names":["ALL_CRUD_OFF","ALL_CRUD_ON","mergeCrud","partial","fallback","resolveMessageAdminPermissions","permissions","canWrite","variablesFromCatalog","payload","v","schema","key","raw","previewVarsFromVariables","vars","out"],"mappings":"AAeA,MAAMA,IAAiC;AAAA,EACrC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AACV,GAEMC,IAAgC;AAAA,EACpC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AACV;AAEA,SAASC,EACPC,GACAC,GACkB;AAClB,SAAO;AAAA,IACL,SAAQD,KAAA,gBAAAA,EAAS,WAAUC,EAAS;AAAA,IACpC,OAAMD,KAAA,gBAAAA,EAAS,SAAQC,EAAS;AAAA,IAChC,SAAQD,KAAA,gBAAAA,EAAS,WAAUC,EAAS;AAAA,IACpC,SAAQD,KAAA,gBAAAA,EAAS,WAAUC,EAAS;AAAA,EAAA;AAExC;AAGO,SAASC,EACdC,GACAC,GACoF;AACpF,QAAMH,IAAWG,IAAWN,IAAcD;AAC1C,SAAKM,IAGE;AAAA,IACL,UAAUJ,EAAUI,EAAY,UAAUN,CAAY;AAAA,IACtD,MAAME,EAAUI,EAAY,MAAMN,CAAY;AAAA,IAC9C,UAAUE,EAAUI,EAAY,UAAUN,CAAY;AAAA,EAAA,IAL/C,EAAE,UAAUI,GAAU,MAAMA,GAAU,UAAUA,EAAA;AAO3D;AAmHO,SAASI,EACdC,GAC2B;AAC3B,MAAI,CAACA,EAAS,QAAO,CAAA;AACrB,MAAI,MAAM,QAAQA,EAAQ,SAAS,KAAKA,EAAQ,UAAU;AACxD,WAAOA,EAAQ,UACZ,IAAI,CAACC,OAAO;AAAA,MACX,KAAK,OAAOA,EAAE,OAAO,EAAE,EAAE,KAAA;AAAA,MACzB,OAAOA,EAAE;AAAA,MACT,MAAMA,EAAE;AAAA,MACR,QAAQA,EAAE;AAAA,MACV,UAAUA,EAAE;AAAA,IAAA,EACZ,EACD,OAAO,CAACA,MAAMA,EAAE,GAAG;AAExB,QAAMC,IAASF,EAAQ;AACvB,SAAI,CAACE,KAAU,OAAOA,KAAW,WAAiB,CAAA,IAC3C,OAAO,QAAQA,CAAM,EACzB,IAAI,CAAC,CAACC,GAAKC,CAAG,MACT,OAAOA,KAAQ,WAAiB,EAAE,KAAAD,GAAK,MAAMC,EAAA,IAC7CA,KAAO,OAAOA,KAAQ,WACjB;AAAA,IACL,KAAAD;AAAA,IACA,MAAMC,EAAI,QAAQ;AAAA,IAClB,OAAOA,EAAI;AAAA,EAAA,IAGR,EAAE,KAAAD,EAAA,CACV,EACA,OAAO,CAACF,MAAMA,EAAE,GAAG;AACxB;AAEO,SAASI,EAAyBC,GAAyD;AAChG,QAAMC,IAA8B,CAAA;AACpC,aAAWN,KAAKK;AACd,IAAAC,EAAIN,EAAE,GAAG,IAAIA,EAAE,SAAS,WAAW,MAAMA,EAAE,SAASA,EAAE;AAExD,SAAOM;AACT;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { MessageTemplateAdmin } from './MessageTemplateAdmin';
|
|
2
|
-
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageTemplateVariable, } from './MessageTemplateAdmin';
|
|
2
|
+
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageTemplateVariable, MessageTemplateVariableAdmin, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageTemplateAdmin';
|
|
3
3
|
export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, stripHtmlToText, } from './utils/templateCode';
|
|
4
|
+
export { resolveMessageAdminPermissions } from './MessageTemplateAdmin';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 推送规则:切换 eventKey 后解析关联 templateCode(§4.8a 清脏)。
|
|
3
|
+
* 仅当旧 code 仍属于新事件的模板 options 时保留,否则清空。
|
|
4
|
+
*/
|
|
5
|
+
export declare function resolveTemplateCodeAfterEventChange(prevCode: string | undefined, options: Array<{
|
|
6
|
+
value: string;
|
|
7
|
+
}>): string;
|
|
8
|
+
/**
|
|
9
|
+
* 租户变量:基线(catalog / baseline)不可删。
|
|
10
|
+
*/
|
|
11
|
+
export declare function canDeleteTenantVariable(r: {
|
|
12
|
+
source?: string;
|
|
13
|
+
baseline?: boolean;
|
|
14
|
+
}): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
function a(e, n) {
|
|
2
|
+
const t = String(e || "").trim();
|
|
3
|
+
return t && n.some((r) => r.value === t) ? t : "";
|
|
4
|
+
}
|
|
5
|
+
function o(e) {
|
|
6
|
+
return !(e.source === "catalog" || e.baseline);
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
o as canDeleteTenantVariable,
|
|
10
|
+
a as resolveTemplateCodeAfterEventChange
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=adminGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminGuards.js","sources":["../../../../../src/components/Tools/MessageCenter/utils/adminGuards.ts"],"sourcesContent":["/**\n * 推送规则:切换 eventKey 后解析关联 templateCode(§4.8a 清脏)。\n * 仅当旧 code 仍属于新事件的模板 options 时保留,否则清空。\n */\nexport function resolveTemplateCodeAfterEventChange(\n prevCode: string | undefined,\n options: Array<{ value: string }>,\n): string {\n const prev = String(prevCode || '').trim();\n if (prev && options.some((o) => o.value === prev)) return prev;\n return '';\n}\n\n/**\n * 租户变量:基线(catalog / baseline)不可删。\n */\nexport function canDeleteTenantVariable(r: { source?: string; baseline?: boolean }): boolean {\n if (r.source === 'catalog' || r.baseline) return false;\n return true;\n}\n"],"names":["resolveTemplateCodeAfterEventChange","prevCode","options","prev","o","canDeleteTenantVariable","r"],"mappings":"AAIO,SAASA,EACdC,GACAC,GACQ;AACR,QAAMC,IAAO,OAAOF,KAAY,EAAE,EAAE,KAAA;AACpC,SAAIE,KAAQD,EAAQ,KAAK,CAACE,MAAMA,EAAE,UAAUD,CAAI,IAAUA,IACnD;AACT;AAKO,SAASE,EAAwBC,GAAqD;AAC3F,SAAI,EAAAA,EAAE,WAAW,aAAaA,EAAE;AAElC;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { InboxBell } from './Inbox';
|
|
2
2
|
export type { InboxBellItem, InboxBellListResult, InboxBellListParams, InboxBellProps, InboxBellMessageType, } from './Inbox';
|
|
3
3
|
export { MessageTemplateAdmin } from './MessageCenter';
|
|
4
|
-
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageAudienceRoleOption, MessageTemplateVariable, } from './MessageCenter';
|
|
5
|
-
export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, } from './MessageCenter';
|
|
4
|
+
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageTemplateVariable, MessageTemplateVariableAdmin, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageCenter';
|
|
5
|
+
export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, resolveMessageAdminPermissions, } from './MessageCenter';
|