From 3838793c5050b9cc94d16d4bb5b5432ae2a92800 Mon Sep 17 00:00:00 2001 From: Junyi Date: Tue, 18 Jun 2024 01:11:30 +0800 Subject: [PATCH] feat(plugin-field-sequence): allow to customize date format (#4685) * feat(plugin-field-sequence): allow to customize date format * chore(plugin-sequence): remove debug log --- .../src/client/sequence.tsx | 22 +++++++++++++++++-- .../src/locale/zh-CN.json | 3 +++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-field-sequence/src/client/sequence.tsx b/packages/plugins/@nocobase/plugin-field-sequence/src/client/sequence.tsx index df8d4af4c5..6b796afbeb 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/src/client/sequence.tsx +++ b/packages/plugins/@nocobase/plugin-field-sequence/src/client/sequence.tsx @@ -34,7 +34,8 @@ function RuleTypeSelect(props) { useFormEffects(() => { onFieldValueChange(`patterns.${index}.type`, (field) => { - setValuesIn(`patterns.${index}.options`, {}); + const type = RuleTypes[field.value]; + setValuesIn(`patterns.${index}.options`, type.defaults ? { ...type.defaults } : {}); }); }); @@ -194,6 +195,10 @@ const RuleTypes = { default: null, }, }, + defaults: { + digits: 4, + start: 1, + }, }, date: { title: `{{t("Date", { ns: "${NAMESPACE}" })}}`, @@ -202,6 +207,19 @@ const RuleTypes = { return {options.value}; }, }, + fieldset: { + format: { + type: 'string', + title: `{{t("Date format", { ns: "${NAMESPACE}" })}}`, + description: `{{t('Supports all formats of the Day.js library, such as "YYYYMMDD", "YYYY-MM-DD", etc.', { ns: "${NAMESPACE}" })}}`, + 'x-decorator': 'FormItem', + 'x-component': 'Input', + default: 'YYYYMMDD', + }, + }, + defaults: { + format: 'YYYYMMDD', + }, }, }; @@ -384,7 +402,7 @@ export class SequenceFieldInterface extends CollectionFieldInterface { type: 'void', 'x-component': 'ArrayTable.Addition', 'x-component-props': { - defaultValue: { type: 'integer', options: { digits: 1, start: 0 } }, + defaultValue: { type: 'integer', options: { ...RuleTypes.integer.defaults } }, }, title: `{{t("Add rule", { ns: "${NAMESPACE}" })}}`, }, diff --git a/packages/plugins/@nocobase/plugin-field-sequence/src/locale/zh-CN.json b/packages/plugins/@nocobase/plugin-field-sequence/src/locale/zh-CN.json index 5e913fcddf..d16df9c721 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/src/locale/zh-CN.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/src/locale/zh-CN.json @@ -9,6 +9,9 @@ "Autoincrement": "自增数字", "Fixed text": "固定文本", "Text content": "文本内容", + "Date": "日期", + "Date format": "日期格式", + "Supports all formats of the Day.js library, such as \"YYYYMMDD\", \"YYYY-MM-DD\", etc.": "支持 Day.js 库的所有格式,如“YYYYMMDD”、“YYYY-MM-DD”等。", "Rule content": "规则内容", "{{value}} Digits": "{{value}} 位数字", "Digits": "位数",