@hkyhy/marsun-components-core 0.1.135 → 0.1.137
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/README.md +2 -0
- package/dist/components/Tools/Inbox/InboxBell/inboxItemActions.js +49 -47
- package/dist/components/Tools/Inbox/InboxBell/inboxItemActions.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js +70 -64
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.d.ts +9 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.js +96 -93
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.js.map +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/index.d.ts +1 -1
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.d.ts +14 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js.map +1 -1
- package/dist/components/Tools/MessageCenter/index.d.ts +1 -1
- package/dist/components/Tools/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.tsx"],"sourcesContent":["import { FormInfo, FormModal, Input, InputNumber, Select } from '@/components/FormInfo';\nimport { Alert } from '@/components/Alert';\nimport { Empty } from '@/components/Empty';\nimport { PageSpin } from '@/components/Layout';\nimport { Table } from '@/components/Table';\nimport { Button, Modal, Space, Switch, message } from 'antd';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport type {\n MessageAudienceRoleOption,\n MessageAudienceUserOption,\n MessageCrudFlags,\n MessageEventCatalogItem,\n MessageTemplateAdminItem,\n PushRuleAdminItem,\n} from '../types';\nimport {\n AUDIENCE_SLOT_OPTIONS,\n ORG_TENANT_SLOT,\n hasAudienceSelection,\n normalizeAudienceSlots,\n} from '../audienceSlots';\nimport { resolveTemplateCodeAfterEventChange } from '../../utils/adminGuards';\nimport { buildAudienceUserSelectGroups } from '../../utils/audienceUserSelectOptions';\nimport styles from '../style.module.scss';\n\n/** CI tsc:kne Select 重载与 FieldProps 交叉时误匹配 FormItem children;宽化为任意 props */\nconst FiSelect = Select as unknown as React.ComponentType<Record<string, unknown>>;\nconst FiInput = Input as unknown as React.ComponentType<Record<string, unknown>>;\nconst FiInputNumber = InputNumber as unknown as React.ComponentType<Record<string, unknown>>;\n\n/** ReactModal zIndex≈1100;Select 默认 1050 会钻到 footer 后面。挂 body + 抬高弹出层 */\nconst selectInModalPopupProps = {\n getPopupContainer: () => document.body,\n styles: { popup: { root: { zIndex: 2000 } } },\n} as const;\n\nexport type PushRulesPanelProps = {\n crud: MessageCrudFlags;\n catalog: MessageEventCatalogItem[];\n templates: MessageTemplateAdminItem[];\n roleOptions: MessageAudienceRoleOption[];\n userOptions?: MessageAudienceUserOption[];\n /** 角色 options 加载失败短文案(勿静默空列表) */\n audienceRolesError?: string;\n /** 例外抄送(静态 userIds)options 加载失败短文案 */\n audienceUsersError?: string;\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 createNonce?: number;\n};\n\ntype FormShape = {\n label?: string;\n eventKey?: string;\n templateCode?: string;\n levels?: string[];\n audienceRoles?: string[];\n audienceUserIds?: string[];\n audienceSlots?: string[];\n slaHours?: number;\n scanLookbackDays?: number;\n};\n\n/**\n * 推送规则 CRUD:必含 eventKey + templateCode;channels 默认 in_app。\n * 受众:角色多选 + 通知范围(audienceSlots)+ 例外抄送;roles∪slots∪userIds 至少一个。\n * 任务当事人/组织槽依赖 emit.audienceContext;禁 Tree 盖壳。\n */\nexport const PushRulesPanel: React.FC<PushRulesPanelProps> = ({\n crud,\n catalog,\n templates,\n roleOptions,\n userOptions = [],\n audienceRolesError = '',\n audienceUsersError = '',\n fetchPushRules,\n savePushRule,\n setPushRuleEnabled,\n deletePushRule,\n createNonce = 0,\n}) => {\n const canCreate = crud.create;\n const canUpdate = crud.update;\n const canDelete = crud.delete;\n const canRead = crud.read;\n const formWritable = (creating: boolean) => (creating ? canCreate : canUpdate);\n\n const [rows, setRows] = useState<PushRuleAdminItem[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState('');\n const [editing, setEditing] = useState<PushRuleAdminItem | null>(null);\n const [isCreate, setIsCreate] = useState(false);\n\n const reload = useCallback(async () => {\n setLoading(true);\n setError('');\n try {\n const list = await fetchPushRules();\n setRows(Array.isArray(list) ? list : []);\n } catch (e) {\n setError(e instanceof Error ? e.message : String(e));\n setRows([]);\n } finally {\n setLoading(false);\n }\n }, [fetchPushRules]);\n\n useEffect(() => {\n void reload();\n }, [reload]);\n\n useEffect(() => {\n if (!createNonce || !canCreate) return;\n const first = catalog[0];\n const tplForEvent = templates.find((t) => t.eventKey === first?.eventKey);\n setIsCreate(true);\n setEditing({\n label: first?.label || '新建推送规则',\n eventKey: first?.eventKey || '',\n templateCode: tplForEvent?.code || '',\n levels: ['L2'],\n audienceRoles: [],\n audienceUserIds: [],\n audienceSlots: [],\n channels: ['in_app'],\n slaHours: 36,\n scanLookbackDays: 7,\n enabled: true,\n });\n }, [createNonce, canCreate, catalog, templates]);\n\n const templatesForEvent = useCallback(\n (eventKey?: string) =>\n templates\n .filter((t) => !eventKey || t.eventKey === eventKey)\n .map((t) => ({\n value: String(t.code || ''),\n label: `${t.label || t.code || ''}(${t.code || ''})`,\n }))\n .filter((o) => o.value),\n [templates],\n );\n\n const tplOptions = useMemo(\n () => templatesForEvent(editing?.eventKey),\n [templatesForEvent, editing?.eventKey],\n );\n const scenarioLabel = useMemo(() => {\n const ek = editing?.eventKey;\n return catalog.find((c) => c.eventKey === ek)?.label || ek || '当前场景';\n }, [catalog, editing?.eventKey]);\n const noTplForEvent = Boolean(editing) && tplOptions.length === 0;\n\n const audienceUserSelectGroups = useMemo(\n () => buildAudienceUserSelectGroups(userOptions),\n [userOptions],\n );\n\n const formData = useMemo(\n () => ({\n label: editing?.label,\n eventKey: editing?.eventKey,\n templateCode: editing?.templateCode,\n levels: editing?.levels || [],\n audienceRoles: editing?.audienceRoles || [],\n audienceUserIds: editing?.audienceUserIds || [],\n audienceSlots: editing?.audienceSlots || [],\n slaHours: editing?.slaHours ?? 0,\n scanLookbackDays: editing?.scanLookbackDays ?? 0,\n }),\n [editing],\n );\n\n const formProps = useMemo(\n () => ({\n data: formData,\n onSubmit: async (data: FormShape) => {\n if (!formWritable(isCreate) || !editing) {\n message.warning('当前为只读');\n return false;\n }\n const eventKey = String(editing.eventKey || data.eventKey || '').trim();\n const templateCode = String(data.templateCode || '').trim();\n if (!eventKey) {\n message.warning('请选择事件');\n return false;\n }\n if (!templateCode) {\n message.warning('请关联模板编号');\n return false;\n }\n if (templatesForEvent(eventKey).length === 0) {\n message.warning('该场景暂无消息模板,请先到「消息模板」新建后再关联');\n return false;\n }\n const audienceRoles = data.audienceRoles || [];\n const audienceUserIds = data.audienceUserIds || [];\n const audienceSlots = normalizeAudienceSlots(data.audienceSlots || []);\n if (\n !hasAudienceSelection({\n roles: audienceRoles,\n slots: audienceSlots,\n userIds: audienceUserIds,\n })\n ) {\n message.warning('请选择受众角色、通知范围或例外抄送(至少一个)');\n return false;\n }\n if (audienceSlots.includes(ORG_TENANT_SLOT)) {\n const ok = await new Promise<boolean>((resolve) => {\n Modal.confirm({\n title: '确认通知本租户全员?',\n content:\n '已选「本租户(全公司)」:将向当前租户内用户展开(≠跨租户)。emit 时按页拉取,可能人数较多。确认保存?',\n okText: '确认保存',\n cancelText: '取消',\n onOk: () => resolve(true),\n onCancel: () => resolve(false),\n });\n });\n if (!ok) return false;\n }\n try {\n await savePushRule({\n ...editing,\n label: String(data.label || editing.label || '').trim() || eventKey,\n eventKey,\n templateCode,\n levels: data.levels || [],\n audienceRoles,\n audienceUserIds,\n audienceSlots,\n channels: ['in_app'],\n slaHours: Number(data.slaHours ?? 0),\n scanLookbackDays: Number(data.scanLookbackDays ?? 0),\n enabled: isCreate ? true : editing.enabled !== false,\n });\n message.success('已保存');\n setEditing(null);\n await reload();\n } catch (e) {\n message.error(e instanceof Error ? e.message : String(e));\n return false;\n }\n },\n }),\n [canCreate, canUpdate, editing, formData, isCreate, reload, savePushRule, templatesForEvent],\n );\n\n const columns = useMemo(\n () => [\n { title: '名称', dataIndex: 'label', key: 'label', ellipsis: true },\n {\n title: '事件',\n dataIndex: 'eventKey',\n key: 'eventKey',\n render: (v: string) => catalog.find((c) => c.eventKey === v)?.label || v || '—',\n },\n { title: '关联模板', dataIndex: 'templateCode', key: 'templateCode', width: 140 },\n {\n title: '级别',\n dataIndex: 'levels',\n key: 'levels',\n width: 100,\n render: (lv: string[] | undefined) => (lv || []).join(',') || '—',\n },\n {\n title: '启用',\n dataIndex: 'enabled',\n key: 'enabled',\n width: 80,\n render: (_: unknown, r: PushRuleAdminItem) => (\n <Switch\n size=\"small\"\n checked={r.enabled !== false}\n disabled={!canUpdate || !setPushRuleEnabled}\n onChange={(checked) => {\n void (async () => {\n try {\n await setPushRuleEnabled?.(r, checked);\n await reload();\n } catch (e) {\n message.error(e instanceof Error ? e.message : String(e));\n }\n })();\n }}\n />\n ),\n },\n {\n title: '操作',\n key: 'actions',\n width: 140,\n render: (_: unknown, r: PushRuleAdminItem) => (\n <Space size=\"small\">\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!canUpdate}\n onClick={() => {\n setIsCreate(false);\n setEditing({\n ...r,\n audienceRoles: r.audienceRoles || [],\n audienceUserIds: r.audienceUserIds || [],\n audienceSlots: r.audienceSlots || [],\n });\n }}\n >\n 编辑\n </Button>\n {canDelete && deletePushRule ? (\n <Button\n type=\"link\"\n size=\"small\"\n danger\n onClick={() => {\n void (async () => {\n try {\n await deletePushRule(r);\n message.success('已删除');\n await reload();\n } catch (e) {\n message.error(e instanceof Error ? e.message : String(e));\n }\n })();\n }}\n >\n 删除\n </Button>\n ) : null}\n </Space>\n ),\n },\n ],\n [canUpdate, canDelete, catalog, deletePushRule, reload, setPushRuleEnabled],\n );\n\n return (\n <div className={styles.pane}>\n {error ? <Alert type=\"error\" showIcon message={error} style={{ marginBottom: 12 }} /> : null}\n <PageSpin spinning={loading}>\n {!canRead ? (\n <Empty description=\"无消息推送读取权限\" />\n ) : rows.length === 0 && !loading ? (\n <Empty description=\"暂无推送规则\" />\n ) : (\n <Table<PushRuleAdminItem>\n rowKey={(r) => r.id || r.code || String(r.eventKey)}\n tableName=\"msg-center-push-rules\"\n columnConfigEnabled={false}\n columnResizeEnabled={false}\n columns={columns}\n dataSource={rows}\n pagination={false}\n size=\"small\"\n />\n )}\n </PageSpin>\n <FormModal\n title={isCreate ? '新建推送规则' : '编辑推送规则'}\n open={Boolean(editing)}\n onCancel={() => setEditing(null)}\n width={560}\n size=\"small\"\n className=\"msg-center-form-modal\"\n okText=\"保存\"\n okButtonProps={{ disabled: noTplForEvent || !formWritable(isCreate) }}\n autoClose={false}\n formProps={formProps}\n >\n {noTplForEvent ? (\n <Alert\n type=\"warning\"\n showIcon\n style={{ marginBottom: 12 }}\n message={`「${scenarioLabel}」暂无消息模板`}\n description=\"请先到「消息模板」Tab 为该场景新建模板,再回来关联。当前无法保存推送规则。\"\n />\n ) : null}\n {audienceRolesError ? (\n <Alert\n type=\"warning\"\n showIcon\n style={{ marginBottom: 12 }}\n message={`受众角色加载失败:${audienceRolesError}`}\n />\n ) : null}\n {audienceUsersError ? (\n <Alert\n type=\"warning\"\n showIcon\n style={{ marginBottom: 12 }}\n message={`例外抄送人员加载失败:${audienceUsersError}`}\n />\n ) : null}\n <FormInfo\n column={1}\n list={[\n <FiSelect\n key=\"eventKey\"\n name=\"eventKey\"\n label=\"适用场景\"\n rule=\"REQ\"\n disabled={!formWritable(isCreate)}\n options={catalog.map((c) => ({\n value: c.eventKey,\n label: c.label || c.eventKey,\n }))}\n optionFilterProp=\"label\"\n placeholder={catalog.length ? '点击下拉选择场景' : '暂无事件目录'}\n notFoundContent=\"暂无场景\"\n onChange={(ek: string) => {\n const next = String(ek || '');\n const opts = templatesForEvent(next);\n setEditing((prev) =>\n prev\n ? {\n ...prev,\n eventKey: next,\n templateCode: resolveTemplateCodeAfterEventChange(prev.templateCode, opts),\n label: catalog.find((c) => c.eventKey === next)?.label || prev.label,\n }\n : prev,\n );\n }}\n {...selectInModalPopupProps}\n />,\n <FiInput\n key=\"label\"\n name=\"label\"\n label=\"名称\"\n rule=\"REQ\"\n disabled={!formWritable(isCreate)}\n />,\n <FiSelect\n key={`tpl-${editing?.eventKey || ''}`}\n name=\"templateCode\"\n label=\"关联模板\"\n rule=\"REQ\"\n disabled={(!canUpdate && !isCreate) || noTplForEvent}\n options={tplOptions}\n optionFilterProp=\"label\"\n placeholder={\n noTplForEvent ? '该场景暂无模板,请先新建消息模板' : '点击下拉选择本场景已有模板'\n }\n notFoundContent=\"该场景暂无模板\"\n labelTips=\"选项来自「消息模板」Tab 中与当前适用场景相同的模板(按模板编号关联)。\"\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"levels\"\n name=\"levels\"\n label=\"级别\"\n mode=\"multiple\"\n disabled={!canUpdate && !isCreate}\n options={['L1', 'L2', 'L3'].map((x) => ({ value: x, label: x }))}\n placeholder=\"点击下拉选择级别(可多选)\"\n notFoundContent=\"无级别选项\"\n labelTips=\"告警/任务级别档:L1 最高、L2 中、L3 较低。规则匹配 emit 时带 level 会对齐这些档。\"\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"audienceRoles\"\n name=\"audienceRoles\"\n label=\"受众角色\"\n mode=\"multiple\"\n disabled={!formWritable(isCreate)}\n options={roleOptions.map((r) => ({ value: r.code, label: r.name || r.code }))}\n optionFilterProp=\"label\"\n placeholder={\n audienceRolesError\n ? '角色加载失败'\n : roleOptions.length\n ? '点击下拉选择角色(可多选)'\n : '暂无角色(请确认本系统已配置角色)'\n }\n notFoundContent={\n audienceRolesError ? `加载失败:${audienceRolesError}` : '暂无角色数据'\n }\n labelTips=\"主路径:本系统 SSO 角色(这类事常驻通知谁)。可与「通知范围」「例外抄送」并存;emit 时与显式 userIds **并集**(不再互相覆盖)。至少填角色/槽位/例外抄送之一。\"\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"audienceSlots\"\n name=\"audienceSlots\"\n label=\"通知范围\"\n mode=\"multiple\"\n disabled={!formWritable(isCreate)}\n options={AUDIENCE_SLOT_OPTIONS.map((o) => ({\n value: o.value,\n label: o.label,\n }))}\n optionFilterProp=\"label\"\n maxTagCount=\"responsive\"\n placeholder=\"可选:本人/领导/部门/分厂/租户或任务当事人\"\n notFoundContent=\"暂无槽位\"\n labelTips=\"相对关系与组织范围依赖业务 emit 的 audienceContext;无上下文的槽不会发出。选「本租户(全公司)」保存前会二次确认。与角色、例外抄送并集送达。\"\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"audienceUserIds\"\n name=\"audienceUserIds\"\n label=\"例外抄送\"\n mode=\"multiple\"\n disabled={!formWritable(isCreate)}\n options={audienceUserSelectGroups}\n optionFilterProp=\"searchText\"\n optionLabelProp=\"label\"\n filterOption={(input: string, option?: { searchText?: string; label?: string }) => {\n const q = String(input || '')\n .trim()\n .toLowerCase();\n if (!q) return true;\n const hay = String(option?.searchText || option?.label || '').toLowerCase();\n return hay.includes(q);\n }}\n optionRender={(ori: {\n data?: { label?: string; description?: string };\n label?: React.ReactNode;\n }) => {\n const label = ori.data?.label ?? ori.label;\n const description = ori.data?.description;\n return (\n <div style={{ lineHeight: 1.35, padding: '2px 0' }}>\n <div>{label}</div>\n {description ? (\n <div style={{ fontSize: 12, color: 'rgba(0,0,0,0.45)' }}>{description}</div>\n ) : null}\n </div>\n );\n }}\n placeholder={\n audienceUsersError\n ? '人员加载失败'\n : userOptions.length\n ? '按部门选择例外抄送人(可多选,日常可留空)'\n : '暂无人员(请确认本租户有用户)'\n }\n notFoundContent={\n audienceUsersError ? `加载失败:${audienceUsersError}` : '暂无人员数据'\n }\n labelTips=\"非常驻名单:仅管理员例外通知等场景。与角色、通知范围并集送达;任务当事人优先用槽位 + emit.audienceContext。\"\n {...selectInModalPopupProps}\n />,\n <FiInputNumber\n key=\"slaHours\"\n name=\"slaHours\"\n label=\"处理时限(小时)\"\n disabled={!canUpdate && !isCreate}\n min={0}\n style={{ width: '100%' }}\n labelTips=\"期望处理完成的时限(小时),默认 36。本期仅存配置,站内信推送暂不自动计时催办。\"\n />,\n <FiInputNumber\n key=\"scanLookbackDays\"\n name=\"scanLookbackDays\"\n label=\"扫描回看(天)\"\n disabled={!canUpdate && !isCreate}\n min={0}\n style={{ width: '100%' }}\n labelTips=\"巡检/匹配规则时往回看多少天的业务数据,默认 7。本期仅存配置,由后续巡检任务消费。\"\n />,\n ]}\n />\n </FormModal>\n </div>\n );\n};\n\nexport default PushRulesPanel;\n"],"names":["FiSelect","Select","FiInput","Input","FiInputNumber","InputNumber","selectInModalPopupProps","PushRulesPanel","crud","catalog","templates","roleOptions","userOptions","audienceRolesError","audienceUsersError","fetchPushRules","savePushRule","setPushRuleEnabled","deletePushRule","createNonce","canCreate","canUpdate","canDelete","canRead","formWritable","creating","rows","setRows","useState","loading","setLoading","error","setError","editing","setEditing","isCreate","setIsCreate","reload","useCallback","list","useEffect","first","tplForEvent","t","templatesForEvent","eventKey","o","tplOptions","useMemo","scenarioLabel","ek","_a","c","noTplForEvent","audienceUserSelectGroups","buildAudienceUserSelectGroups","formData","formProps","data","message","templateCode","audienceRoles","audienceUserIds","audienceSlots","normalizeAudienceSlots","hasAudienceSelection","ORG_TENANT_SLOT","resolve","Modal","e","columns","v","lv","_","r","jsx","Switch","checked","jsxs","Space","Button","styles","Alert","PageSpin","Empty","Table","FormModal","FormInfo","next","opts","prev","resolveTemplateCodeAfterEventChange","x","AUDIENCE_SLOT_OPTIONS","input","option","q","ori","label","description","_b"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.tsx"],"sourcesContent":["import { FormInfo, FormModal, Input, InputNumber, Select } from '@/components/FormInfo';\nimport { Alert } from '@/components/Alert';\nimport { Empty } from '@/components/Empty';\nimport { PageSpin } from '@/components/Layout';\nimport { Table } from '@/components/Table';\nimport { Button, Modal, Space, Switch, message } from 'antd';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport type {\n MessageAudienceRoleOption,\n MessageAudienceUserOption,\n MessageCrudFlags,\n MessageEventCatalogItem,\n MessageLevelOption,\n MessageTemplateAdminItem,\n PushRuleAdminItem,\n} from '../types';\nimport {\n AUDIENCE_SLOT_OPTIONS,\n ORG_TENANT_SLOT,\n hasAudienceSelection,\n normalizeAudienceSlots,\n} from '../audienceSlots';\nimport { resolveTemplateCodeAfterEventChange } from '../../utils/adminGuards';\nimport { buildAudienceUserSelectGroups } from '../../utils/audienceUserSelectOptions';\nimport styles from '../style.module.scss';\n\n/** CI tsc:kne Select 重载与 FieldProps 交叉时误匹配 FormItem children;宽化为任意 props */\nconst FiSelect = Select as unknown as React.ComponentType<Record<string, unknown>>;\nconst FiInput = Input as unknown as React.ComponentType<Record<string, unknown>>;\nconst FiInputNumber = InputNumber as unknown as React.ComponentType<Record<string, unknown>>;\n\n/** ReactModal zIndex≈1100;Select 默认 1050 会钻到 footer 后面。挂 body + 抬高弹出层 */\nconst selectInModalPopupProps = {\n getPopupContainer: () => document.body,\n styles: { popup: { root: { zIndex: 2000 } } },\n} as const;\n\nexport type PushRulesPanelProps = {\n crud: MessageCrudFlags;\n catalog: MessageEventCatalogItem[];\n templates: MessageTemplateAdminItem[];\n roleOptions: MessageAudienceRoleOption[];\n userOptions?: MessageAudienceUserOption[];\n /** 角色 options 加载失败短文案(勿静默空列表) */\n audienceRolesError?: string;\n /** 例外抄送(静态 userIds)options 加载失败短文案 */\n audienceUsersError?: string;\n /**\n * 级别多选 options(业务注入)。未传 / 空 → 下拉无选项;禁 core 写死业务档位。\n */\n levelOptions?: readonly MessageLevelOption[];\n /** 新建规则 levels 初值;未传则 `[]` */\n defaultLevels?: readonly string[];\n /** 级别字段 tip;未传用中性说明 */\n levelFieldTips?: string;\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 createNonce?: number;\n};\n\nconst DEFAULT_LEVEL_FIELD_TIPS =\n '规则匹配 emit 时带 level 会对齐所选档;选项由业务注入(各系统档位不同)。';\n\ntype FormShape = {\n label?: string;\n eventKey?: string;\n templateCode?: string;\n levels?: string[];\n audienceRoles?: string[];\n audienceUserIds?: string[];\n audienceSlots?: string[];\n slaHours?: number;\n scanLookbackDays?: number;\n};\n\n/**\n * 推送规则 CRUD:必含 eventKey + templateCode;channels 默认 in_app。\n * 受众:角色多选 + 通知范围(audienceSlots)+ 例外抄送;roles∪slots∪userIds 至少一个。\n * 任务当事人/组织槽依赖 emit.audienceContext;禁 Tree 盖壳。\n */\nexport const PushRulesPanel: React.FC<PushRulesPanelProps> = ({\n crud,\n catalog,\n templates,\n roleOptions,\n userOptions = [],\n audienceRolesError = '',\n audienceUsersError = '',\n levelOptions = [],\n defaultLevels = [],\n levelFieldTips = DEFAULT_LEVEL_FIELD_TIPS,\n fetchPushRules,\n savePushRule,\n setPushRuleEnabled,\n deletePushRule,\n createNonce = 0,\n}) => {\n const canCreate = crud.create;\n const canUpdate = crud.update;\n const canDelete = crud.delete;\n const canRead = crud.read;\n const formWritable = (creating: boolean) => (creating ? canCreate : canUpdate);\n\n const [rows, setRows] = useState<PushRuleAdminItem[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState('');\n const [editing, setEditing] = useState<PushRuleAdminItem | null>(null);\n const [isCreate, setIsCreate] = useState(false);\n\n const reload = useCallback(async () => {\n setLoading(true);\n setError('');\n try {\n const list = await fetchPushRules();\n setRows(Array.isArray(list) ? list : []);\n } catch (e) {\n setError(e instanceof Error ? e.message : String(e));\n setRows([]);\n } finally {\n setLoading(false);\n }\n }, [fetchPushRules]);\n\n useEffect(() => {\n void reload();\n }, [reload]);\n\n useEffect(() => {\n if (!createNonce || !canCreate) return;\n const first = catalog[0];\n const tplForEvent = templates.find((t) => t.eventKey === first?.eventKey);\n setIsCreate(true);\n setEditing({\n label: first?.label || '新建推送规则',\n eventKey: first?.eventKey || '',\n templateCode: tplForEvent?.code || '',\n levels: Array.isArray(defaultLevels) ? [...defaultLevels] : [],\n audienceRoles: [],\n audienceUserIds: [],\n audienceSlots: [],\n channels: ['in_app'],\n slaHours: 36,\n scanLookbackDays: 7,\n enabled: true,\n });\n // defaultLevels 仅在打开新建时取样;勿列入 deps(业务常传内联数组)\n // eslint-disable-next-line react-hooks/exhaustive-deps -- createNonce 驱动打开\n }, [createNonce, canCreate, catalog, templates]);\n\n const templatesForEvent = useCallback(\n (eventKey?: string) =>\n templates\n .filter((t) => !eventKey || t.eventKey === eventKey)\n .map((t) => ({\n value: String(t.code || ''),\n label: `${t.label || t.code || ''}(${t.code || ''})`,\n }))\n .filter((o) => o.value),\n [templates],\n );\n\n const tplOptions = useMemo(\n () => templatesForEvent(editing?.eventKey),\n [templatesForEvent, editing?.eventKey],\n );\n const scenarioLabel = useMemo(() => {\n const ek = editing?.eventKey;\n return catalog.find((c) => c.eventKey === ek)?.label || ek || '当前场景';\n }, [catalog, editing?.eventKey]);\n const noTplForEvent = Boolean(editing) && tplOptions.length === 0;\n\n const audienceUserSelectGroups = useMemo(\n () => buildAudienceUserSelectGroups(userOptions),\n [userOptions],\n );\n\n const formData = useMemo(\n () => ({\n label: editing?.label,\n eventKey: editing?.eventKey,\n templateCode: editing?.templateCode,\n levels: editing?.levels || [],\n audienceRoles: editing?.audienceRoles || [],\n audienceUserIds: editing?.audienceUserIds || [],\n audienceSlots: editing?.audienceSlots || [],\n slaHours: editing?.slaHours ?? 0,\n scanLookbackDays: editing?.scanLookbackDays ?? 0,\n }),\n [editing],\n );\n\n const formProps = useMemo(\n () => ({\n data: formData,\n onSubmit: async (data: FormShape) => {\n if (!formWritable(isCreate) || !editing) {\n message.warning('当前为只读');\n return false;\n }\n const eventKey = String(editing.eventKey || data.eventKey || '').trim();\n const templateCode = String(data.templateCode || '').trim();\n if (!eventKey) {\n message.warning('请选择事件');\n return false;\n }\n if (!templateCode) {\n message.warning('请关联模板编号');\n return false;\n }\n if (templatesForEvent(eventKey).length === 0) {\n message.warning('该场景暂无消息模板,请先到「消息模板」新建后再关联');\n return false;\n }\n const audienceRoles = data.audienceRoles || [];\n const audienceUserIds = data.audienceUserIds || [];\n const audienceSlots = normalizeAudienceSlots(data.audienceSlots || []);\n if (\n !hasAudienceSelection({\n roles: audienceRoles,\n slots: audienceSlots,\n userIds: audienceUserIds,\n })\n ) {\n message.warning('请选择受众角色、通知范围或例外抄送(至少一个)');\n return false;\n }\n if (audienceSlots.includes(ORG_TENANT_SLOT)) {\n const ok = await new Promise<boolean>((resolve) => {\n Modal.confirm({\n title: '确认通知本租户全员?',\n content:\n '已选「本租户(全公司)」:将向当前租户内用户展开(≠跨租户)。emit 时按页拉取,可能人数较多。确认保存?',\n okText: '确认保存',\n cancelText: '取消',\n onOk: () => resolve(true),\n onCancel: () => resolve(false),\n });\n });\n if (!ok) return false;\n }\n try {\n await savePushRule({\n ...editing,\n label: String(data.label || editing.label || '').trim() || eventKey,\n eventKey,\n templateCode,\n levels: data.levels || [],\n audienceRoles,\n audienceUserIds,\n audienceSlots,\n channels: ['in_app'],\n slaHours: Number(data.slaHours ?? 0),\n scanLookbackDays: Number(data.scanLookbackDays ?? 0),\n enabled: isCreate ? true : editing.enabled !== false,\n });\n message.success('已保存');\n setEditing(null);\n await reload();\n } catch (e) {\n message.error(e instanceof Error ? e.message : String(e));\n return false;\n }\n },\n }),\n [canCreate, canUpdate, editing, formData, isCreate, reload, savePushRule, templatesForEvent],\n );\n\n const columns = useMemo(\n () => [\n { title: '名称', dataIndex: 'label', key: 'label', ellipsis: true },\n {\n title: '事件',\n dataIndex: 'eventKey',\n key: 'eventKey',\n render: (v: string) => catalog.find((c) => c.eventKey === v)?.label || v || '—',\n },\n { title: '关联模板', dataIndex: 'templateCode', key: 'templateCode', width: 140 },\n {\n title: '级别',\n dataIndex: 'levels',\n key: 'levels',\n width: 100,\n render: (lv: string[] | undefined) => (lv || []).join(',') || '—',\n },\n {\n title: '启用',\n dataIndex: 'enabled',\n key: 'enabled',\n width: 80,\n render: (_: unknown, r: PushRuleAdminItem) => (\n <Switch\n size=\"small\"\n checked={r.enabled !== false}\n disabled={!canUpdate || !setPushRuleEnabled}\n onChange={(checked) => {\n void (async () => {\n try {\n await setPushRuleEnabled?.(r, checked);\n await reload();\n } catch (e) {\n message.error(e instanceof Error ? e.message : String(e));\n }\n })();\n }}\n />\n ),\n },\n {\n title: '操作',\n key: 'actions',\n width: 140,\n render: (_: unknown, r: PushRuleAdminItem) => (\n <Space size=\"small\">\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!canUpdate}\n onClick={() => {\n setIsCreate(false);\n setEditing({\n ...r,\n audienceRoles: r.audienceRoles || [],\n audienceUserIds: r.audienceUserIds || [],\n audienceSlots: r.audienceSlots || [],\n });\n }}\n >\n 编辑\n </Button>\n {canDelete && deletePushRule ? (\n <Button\n type=\"link\"\n size=\"small\"\n danger\n onClick={() => {\n void (async () => {\n try {\n await deletePushRule(r);\n message.success('已删除');\n await reload();\n } catch (e) {\n message.error(e instanceof Error ? e.message : String(e));\n }\n })();\n }}\n >\n 删除\n </Button>\n ) : null}\n </Space>\n ),\n },\n ],\n [canUpdate, canDelete, catalog, deletePushRule, reload, setPushRuleEnabled],\n );\n\n return (\n <div className={styles.pane}>\n {error ? <Alert type=\"error\" showIcon message={error} style={{ marginBottom: 12 }} /> : null}\n <PageSpin spinning={loading}>\n {!canRead ? (\n <Empty description=\"无消息推送读取权限\" />\n ) : rows.length === 0 && !loading ? (\n <Empty description=\"暂无推送规则\" />\n ) : (\n <Table<PushRuleAdminItem>\n rowKey={(r) => r.id || r.code || String(r.eventKey)}\n tableName=\"msg-center-push-rules\"\n columnConfigEnabled={false}\n columnResizeEnabled={false}\n columns={columns}\n dataSource={rows}\n pagination={false}\n size=\"small\"\n />\n )}\n </PageSpin>\n <FormModal\n title={isCreate ? '新建推送规则' : '编辑推送规则'}\n open={Boolean(editing)}\n onCancel={() => setEditing(null)}\n width={560}\n size=\"small\"\n className=\"msg-center-form-modal\"\n okText=\"保存\"\n okButtonProps={{ disabled: noTplForEvent || !formWritable(isCreate) }}\n autoClose={false}\n formProps={formProps}\n >\n {noTplForEvent ? (\n <Alert\n type=\"warning\"\n showIcon\n style={{ marginBottom: 12 }}\n message={`「${scenarioLabel}」暂无消息模板`}\n description=\"请先到「消息模板」Tab 为该场景新建模板,再回来关联。当前无法保存推送规则。\"\n />\n ) : null}\n {audienceRolesError ? (\n <Alert\n type=\"warning\"\n showIcon\n style={{ marginBottom: 12 }}\n message={`受众角色加载失败:${audienceRolesError}`}\n />\n ) : null}\n {audienceUsersError ? (\n <Alert\n type=\"warning\"\n showIcon\n style={{ marginBottom: 12 }}\n message={`例外抄送人员加载失败:${audienceUsersError}`}\n />\n ) : null}\n <FormInfo\n column={1}\n list={[\n <FiSelect\n key=\"eventKey\"\n name=\"eventKey\"\n label=\"适用场景\"\n rule=\"REQ\"\n disabled={!formWritable(isCreate)}\n options={catalog.map((c) => ({\n value: c.eventKey,\n label: c.label || c.eventKey,\n }))}\n optionFilterProp=\"label\"\n placeholder={catalog.length ? '点击下拉选择场景' : '暂无事件目录'}\n notFoundContent=\"暂无场景\"\n onChange={(ek: string) => {\n const next = String(ek || '');\n const opts = templatesForEvent(next);\n setEditing((prev) =>\n prev\n ? {\n ...prev,\n eventKey: next,\n templateCode: resolveTemplateCodeAfterEventChange(prev.templateCode, opts),\n label: catalog.find((c) => c.eventKey === next)?.label || prev.label,\n }\n : prev,\n );\n }}\n {...selectInModalPopupProps}\n />,\n <FiInput\n key=\"label\"\n name=\"label\"\n label=\"名称\"\n rule=\"REQ\"\n disabled={!formWritable(isCreate)}\n />,\n <FiSelect\n key={`tpl-${editing?.eventKey || ''}`}\n name=\"templateCode\"\n label=\"关联模板\"\n rule=\"REQ\"\n disabled={(!canUpdate && !isCreate) || noTplForEvent}\n options={tplOptions}\n optionFilterProp=\"label\"\n placeholder={\n noTplForEvent ? '该场景暂无模板,请先新建消息模板' : '点击下拉选择本场景已有模板'\n }\n notFoundContent=\"该场景暂无模板\"\n labelTips=\"选项来自「消息模板」Tab 中与当前适用场景相同的模板(按模板编号关联)。\"\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"levels\"\n name=\"levels\"\n label=\"级别\"\n mode=\"multiple\"\n disabled={!canUpdate && !isCreate}\n options={levelOptions}\n placeholder={\n levelOptions.length\n ? '点击下拉选择级别(可多选)'\n : '未配置级别选项(请业务注入 levelOptions)'\n }\n notFoundContent={\n levelOptions.length\n ? '无级别选项'\n : '未注入 levelOptions(业务档位,勿在 core 写死)'\n }\n labelTips={levelFieldTips}\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"audienceRoles\"\n name=\"audienceRoles\"\n label=\"受众角色\"\n mode=\"multiple\"\n disabled={!formWritable(isCreate)}\n options={roleOptions.map((r) => ({ value: r.code, label: r.name || r.code }))}\n optionFilterProp=\"label\"\n placeholder={\n audienceRolesError\n ? '角色加载失败'\n : roleOptions.length\n ? '点击下拉选择角色(可多选)'\n : '暂无角色(请确认本系统已配置角色)'\n }\n notFoundContent={\n audienceRolesError ? `加载失败:${audienceRolesError}` : '暂无角色数据'\n }\n labelTips=\"主路径:本系统 SSO 角色(这类事常驻通知谁)。可与「通知范围」「例外抄送」并存;emit 时与显式 userIds **并集**(不再互相覆盖)。至少填角色/槽位/例外抄送之一。\"\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"audienceSlots\"\n name=\"audienceSlots\"\n label=\"通知范围\"\n mode=\"multiple\"\n disabled={!formWritable(isCreate)}\n options={AUDIENCE_SLOT_OPTIONS.map((o) => ({\n value: o.value,\n label: o.label,\n }))}\n optionFilterProp=\"label\"\n maxTagCount=\"responsive\"\n placeholder=\"可选:本人/领导/部门/分厂/租户或任务当事人\"\n notFoundContent=\"暂无槽位\"\n labelTips=\"相对关系与组织范围依赖业务 emit 的 audienceContext;无上下文的槽不会发出。选「本租户(全公司)」保存前会二次确认。与角色、例外抄送并集送达。\"\n {...selectInModalPopupProps}\n />,\n <FiSelect\n key=\"audienceUserIds\"\n name=\"audienceUserIds\"\n label=\"例外抄送\"\n mode=\"multiple\"\n disabled={!formWritable(isCreate)}\n options={audienceUserSelectGroups}\n optionFilterProp=\"searchText\"\n optionLabelProp=\"label\"\n filterOption={(input: string, option?: { searchText?: string; label?: string }) => {\n const q = String(input || '')\n .trim()\n .toLowerCase();\n if (!q) return true;\n const hay = String(option?.searchText || option?.label || '').toLowerCase();\n return hay.includes(q);\n }}\n optionRender={(ori: {\n data?: { label?: string; description?: string };\n label?: React.ReactNode;\n }) => {\n const label = ori.data?.label ?? ori.label;\n const description = ori.data?.description;\n return (\n <div style={{ lineHeight: 1.35, padding: '2px 0' }}>\n <div>{label}</div>\n {description ? (\n <div style={{ fontSize: 12, color: 'rgba(0,0,0,0.45)' }}>{description}</div>\n ) : null}\n </div>\n );\n }}\n placeholder={\n audienceUsersError\n ? '人员加载失败'\n : userOptions.length\n ? '按部门选择例外抄送人(可多选,日常可留空)'\n : '暂无人员(请确认本租户有用户)'\n }\n notFoundContent={\n audienceUsersError ? `加载失败:${audienceUsersError}` : '暂无人员数据'\n }\n labelTips=\"非常驻名单:仅管理员例外通知等场景。与角色、通知范围并集送达;任务当事人优先用槽位 + emit.audienceContext。\"\n {...selectInModalPopupProps}\n />,\n <FiInputNumber\n key=\"slaHours\"\n name=\"slaHours\"\n label=\"处理时限(小时)\"\n disabled={!canUpdate && !isCreate}\n min={0}\n style={{ width: '100%' }}\n labelTips=\"期望处理完成的时限(小时),默认 36。本期仅存配置,站内信推送暂不自动计时催办。\"\n />,\n <FiInputNumber\n key=\"scanLookbackDays\"\n name=\"scanLookbackDays\"\n label=\"扫描回看(天)\"\n disabled={!canUpdate && !isCreate}\n min={0}\n style={{ width: '100%' }}\n labelTips=\"巡检/匹配规则时往回看多少天的业务数据,默认 7。本期仅存配置,由后续巡检任务消费。\"\n />,\n ]}\n />\n </FormModal>\n </div>\n );\n};\n\nexport default PushRulesPanel;\n"],"names":["FiSelect","Select","FiInput","Input","FiInputNumber","InputNumber","selectInModalPopupProps","DEFAULT_LEVEL_FIELD_TIPS","PushRulesPanel","crud","catalog","templates","roleOptions","userOptions","audienceRolesError","audienceUsersError","levelOptions","defaultLevels","levelFieldTips","fetchPushRules","savePushRule","setPushRuleEnabled","deletePushRule","createNonce","canCreate","canUpdate","canDelete","canRead","formWritable","creating","rows","setRows","useState","loading","setLoading","error","setError","editing","setEditing","isCreate","setIsCreate","reload","useCallback","list","useEffect","first","tplForEvent","t","templatesForEvent","eventKey","o","tplOptions","useMemo","scenarioLabel","ek","_a","c","noTplForEvent","audienceUserSelectGroups","buildAudienceUserSelectGroups","formData","formProps","data","message","templateCode","audienceRoles","audienceUserIds","audienceSlots","normalizeAudienceSlots","hasAudienceSelection","ORG_TENANT_SLOT","resolve","Modal","e","columns","v","lv","_","r","jsx","Switch","checked","jsxs","Space","Button","styles","Alert","PageSpin","Empty","Table","FormModal","FormInfo","next","opts","prev","resolveTemplateCodeAfterEventChange","AUDIENCE_SLOT_OPTIONS","input","option","q","ori","label","description","_b"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { MessageTemplateAdmin } from './MessageTemplateAdmin';
|
|
2
|
-
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageAudienceUserOption, MessageTemplateVariable, MessageTemplateVariableAdmin, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './types';
|
|
2
|
+
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageAudienceUserOption, MessageTemplateVariable, MessageTemplateVariableAdmin, MessageLevelOption, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './types';
|
|
3
3
|
export { variablesFromCatalog, previewVarsFromVariables, resolveMessageAdminPermissions, } from './types';
|
|
4
4
|
export { AUDIENCE_SLOT_OPTIONS, ORG_TENANT_SLOT, normalizeAudienceSlots, hasAudienceSelection, } from './audienceSlots';
|
|
5
5
|
export type { AudienceSlotOption } from './audienceSlots';
|
|
@@ -101,6 +101,11 @@ export type PushRuleAdminItem = {
|
|
|
101
101
|
scanLookbackDays?: number;
|
|
102
102
|
enabled?: boolean;
|
|
103
103
|
};
|
|
104
|
+
/** 推送规则「级别」多选 option;档位语义因业务而异,须由业务 DI,core 不内置 L1/L2/… */
|
|
105
|
+
export type MessageLevelOption = {
|
|
106
|
+
value: string;
|
|
107
|
+
label: string;
|
|
108
|
+
};
|
|
104
109
|
export type MessageTemplateAdminProps = {
|
|
105
110
|
fetchTemplates: () => Promise<MessageTemplateAdminItem[]>;
|
|
106
111
|
saveTemplate?: (item: MessageTemplateAdminItem) => Promise<void>;
|
|
@@ -121,6 +126,15 @@ export type MessageTemplateAdminProps = {
|
|
|
121
126
|
* 任务认领人/分配人等当事人由业务 emit 传 userIds,勿靠配置面点名。
|
|
122
127
|
*/
|
|
123
128
|
fetchAudienceUsers?: () => Promise<MessageAudienceUserOption[]>;
|
|
129
|
+
/**
|
|
130
|
+
* 推送规则「级别」多选 options(业务注入)。
|
|
131
|
+
* 未传 / 空数组 → 下拉无选项(禁 core 写死 L1/L2/L3);各业务档位不同(如 S3 含 L2+)。
|
|
132
|
+
*/
|
|
133
|
+
levelOptions?: readonly MessageLevelOption[];
|
|
134
|
+
/** 新建推送规则时 levels 初值;未传则 `[]` */
|
|
135
|
+
defaultLevels?: readonly string[];
|
|
136
|
+
/** 级别字段 labelTips;未传用中性说明(不写死「L1 最高」等业务语义) */
|
|
137
|
+
levelFieldTips?: string;
|
|
124
138
|
/**
|
|
125
139
|
* @deprecated 变量须来自 catalog;仅联调 fixture 可传。业务页勿硬编码平行表。
|
|
126
140
|
*/
|
|
@@ -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 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 /** 受众槽位码(与 mc audienceSlots 对齐) */\n audienceSlots?: string[];\n enabled?: boolean;\n channel?: string;\n /**\n * 配置归属:catalog=Agent 内置(可虚拟行);tenant=租户自定义/覆盖。\n * 与 mc list `source` 对齐。\n */\n source?: 'catalog' | 'tenant';\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 /** 受众槽位 options(与 core AUDIENCE_SLOT_OPTIONS 对齐;有则优先) */\n audienceSlotOptions?: { value: string; label: string }[];\n};\n\nexport type MessageAudienceRoleOption = {\n /** 写入模板的角色码 */\n code: string;\n /** 展示名(来自 SSO / fixture) */\n name: string;\n};\n\n/** 推送规则例外抄送选项(SSO 本租户用户;展示名取自接口) */\nexport type MessageAudienceUserOption = {\n id: string;\n /** displayName 优先 */\n name: string;\n /** 工号(SSO employeeId) */\n employeeId?: string;\n /** 主部门 / 首个组织名(SSO orgs) */\n departmentName?: string;\n /** 角色展示名,顿号拼接(SSO roles.name) */\n roleNames?: 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 audienceSlots?: 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 * 推送规则「例外抄送」多选 options(SSO 本租户用户;静态 userIds)。\n * 未传则例外抄送 Select 为空(禁手输 id);展示名须来自接口 displayName。\n * 任务认领人/分配人等当事人由业务 emit 传 userIds,勿靠配置面点名。\n */\n fetchAudienceUsers?: () => Promise<MessageAudienceUserOption[]>;\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 /** 模板受众角色插槽;须保持多选下拉语义,禁止 Tree 盖壳默认 Select */\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;
|
|
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 /** 受众槽位码(与 mc audienceSlots 对齐) */\n audienceSlots?: string[];\n enabled?: boolean;\n channel?: string;\n /**\n * 配置归属:catalog=Agent 内置(可虚拟行);tenant=租户自定义/覆盖。\n * 与 mc list `source` 对齐。\n */\n source?: 'catalog' | 'tenant';\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 /** 受众槽位 options(与 core AUDIENCE_SLOT_OPTIONS 对齐;有则优先) */\n audienceSlotOptions?: { value: string; label: string }[];\n};\n\nexport type MessageAudienceRoleOption = {\n /** 写入模板的角色码 */\n code: string;\n /** 展示名(来自 SSO / fixture) */\n name: string;\n};\n\n/** 推送规则例外抄送选项(SSO 本租户用户;展示名取自接口) */\nexport type MessageAudienceUserOption = {\n id: string;\n /** displayName 优先 */\n name: string;\n /** 工号(SSO employeeId) */\n employeeId?: string;\n /** 主部门 / 首个组织名(SSO orgs) */\n departmentName?: string;\n /** 角色展示名,顿号拼接(SSO roles.name) */\n roleNames?: 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 audienceSlots?: string[];\n channels?: string[];\n slaHours?: number;\n scanLookbackDays?: number;\n enabled?: boolean;\n};\n\n/** 推送规则「级别」多选 option;档位语义因业务而异,须由业务 DI,core 不内置 L1/L2/… */\nexport type MessageLevelOption = {\n value: string;\n label: 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 * 推送规则「例外抄送」多选 options(SSO 本租户用户;静态 userIds)。\n * 未传则例外抄送 Select 为空(禁手输 id);展示名须来自接口 displayName。\n * 任务认领人/分配人等当事人由业务 emit 传 userIds,勿靠配置面点名。\n */\n fetchAudienceUsers?: () => Promise<MessageAudienceUserOption[]>;\n /**\n * 推送规则「级别」多选 options(业务注入)。\n * 未传 / 空数组 → 下拉无选项(禁 core 写死 L1/L2/L3);各业务档位不同(如 S3 含 L2+)。\n */\n levelOptions?: readonly MessageLevelOption[];\n /** 新建推送规则时 levels 初值;未传则 `[]` */\n defaultLevels?: readonly string[];\n /** 级别字段 labelTips;未传用中性说明(不写死「L1 最高」等业务语义) */\n levelFieldTips?: string;\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 /** 模板受众角色插槽;须保持多选下拉语义,禁止 Tree 盖壳默认 Select */\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;AAgKO,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,5 +1,5 @@
|
|
|
1
1
|
export { MessageTemplateAdmin } from './MessageTemplateAdmin';
|
|
2
|
-
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageAudienceUserOption, MessageTemplateVariable, MessageTemplateVariableAdmin, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageTemplateAdmin';
|
|
2
|
+
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageAudienceUserOption, MessageTemplateVariable, MessageTemplateVariableAdmin, MessageLevelOption, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageTemplateAdmin';
|
|
3
3
|
export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, stripHtmlToText, } from './utils/templateCode';
|
|
4
4
|
export { resolveMessageAdminPermissions } from './MessageTemplateAdmin';
|
|
5
5
|
export { MSG_CENTER_APP_SWITCH_STORAGE_KEY, SYSTEM_APP_TO_MSG_CENTER_APP_KEY, MSG_CENTER_SWITCHABLE_APP_KEYS, msgCenterAppKeyFromSystemAppCode, filterMsgCenterSwitchableApps, getMsgCenterAppKey, setMsgCenterAppKey, subscribeMsgCenterAppKey, bindMsgCenterAppKeyStorageSync, resolveMsgCenterSwitchState, } from './msgCenterAppSwitch';
|
|
@@ -7,6 +7,6 @@ export type { ActionTrackingShellProps } from './ActionTracking';
|
|
|
7
7
|
export { CreateActionModal, CreateActionForm, renderPersonOptionLabel, CREATE_ACTION_VARIETY_PAGE_SIZE, PersonRoleCascader, PersonRoleCascaderField, SetFormFields, findPersonCascadePath, cascadePathStillValid, validateCreateActionPersons, createActionPersonWarnMessage, personDisplayName, addDaysYmd, ActionFilterBar, ActionListTable, ActionFollowModal, CancelExecutionModal, CancelExecutionForm, sanitizeActionHtml, isActionExecuteHidden, defaultCreatedRange, normalizeActionFilters, canQueryActionList, resetActionFiltersToDefault, } from './ActionTracking';
|
|
8
8
|
export type { ActionExecuteGateRow, ActionExecuteGateOptions, CreateActionModalProps, CreateActionFormProps, PersonRoleCascaderProps, PersonRoleCascaderFieldProps, CreateActionPrefill, CreateActionScopeLock, CreateActionScopeMode, LockedContextField, ActionPersonCascadeOption, ActionPersonOption, CreateActionPersonCatalog, CreateActionSelectOption, CreateActionDimensionOption, CreateActionLoaders, CreateActionSelectPageQuery, CreateActionSelectPageResult, CreateActionSubmitPayload, CreateActionPersonValidateError, CreateActionPersonValidateResult, ActionFilterBarProps, ActionListTableProps, ActionFollowModalProps, ActionFollowView, CancelExecutionModalProps, ActionListFilters, ActionListRowBase, ActionListSelectOption, ActionListColumns, ActionListEmptyConfig, } from './ActionTracking';
|
|
9
9
|
export { MessageTemplateAdmin } from './MessageCenter';
|
|
10
|
-
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageAudienceUserOption, MessageTemplateVariable, MessageTemplateVariableAdmin, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageCenter';
|
|
10
|
+
export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageAudienceUserOption, MessageTemplateVariable, MessageTemplateVariableAdmin, MessageLevelOption, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageCenter';
|
|
11
11
|
export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, resolveMessageAdminPermissions, MSG_CENTER_APP_SWITCH_STORAGE_KEY, SYSTEM_APP_TO_MSG_CENTER_APP_KEY, MSG_CENTER_SWITCHABLE_APP_KEYS, msgCenterAppKeyFromSystemAppCode, filterMsgCenterSwitchableApps, getMsgCenterAppKey, setMsgCenterAppKey, subscribeMsgCenterAppKey, bindMsgCenterAppKeyStorageSync, resolveMsgCenterSwitchState, useMsgCenterAppKey, MsgCenterAppSwitcher, } from './MessageCenter';
|
|
12
12
|
export type { MsgCenterAppSwitchState, MsgCenterSwitchableApp, MsgCenterSwitchableAppKey, MsgCenterAppSwitcherProps, } from './MessageCenter';
|