plain-design 1.0.0-beta.50 → 1.0.0-beta.52

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plain-design",
3
- "version": "1.0.0-beta.50",
3
+ "version": "1.0.0-beta.52",
4
4
  "description": "",
5
5
  "main": "dist/plain-design.min.js",
6
6
  "module": "dist/plain-design.commonjs.min.js",
@@ -236,7 +236,7 @@ export const FilterFormMultiple = designComponent({
236
236
  width={100}
237
237
  >
238
238
  {filter.state.list.map((handler) => (
239
- <SelectOption label={handler!.label} val={handler!.name} key={handler!.name}/>
239
+ <SelectOption label={handler!.label()} val={handler!.name} key={handler!.name}/>
240
240
  ))}
241
241
  </Select>
242
242
  {handler.render({ formData: state.formData, option: filterOption, confirm: methods.search })}
@@ -155,7 +155,7 @@ export const FilterFormSingle = designComponent({
155
155
  {!props.hideHandlerSelector && (
156
156
  <Select width={90} modelValue={state.filterHandler} onUpdateModelValue={handler.onUpdateHandler} inputAttrs={inputAttrs}>
157
157
  {(FilterService.touch(usingFilterOption.value.filterType)).state.list.map((handler) => (
158
- <SelectOption label={handler.label} val={handler.name} key={handler.name}/>
158
+ <SelectOption label={handler.label()} val={handler.name} key={handler.name}/>
159
159
  ))}
160
160
  </Select>
161
161
  )}
@@ -22,7 +22,7 @@ export function installFilterCity(
22
22
  }: iFilterService) {
23
23
  touch('city')
24
24
  .setHandler('like', {
25
- label: i18n.$it('base.filter.like').d('约等于'),
25
+ label: () => i18n.$it('base.filter.like').d('约等于'),
26
26
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} onEnter={confirm}/>),
27
27
  getQueryParam: async ({ formData, option }) => {
28
28
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -33,7 +33,7 @@ export function installFilterCity(
33
33
  },
34
34
  })
35
35
  .setHandler('eq', {
36
- label: i18n.$it('base.filter.equal').d('等于'),
36
+ label: () => i18n.$it('base.filter.equal').d('等于'),
37
37
  getDescription: ({ formData, option }: { formData: PlainObject, option: iFilterOption }) => {
38
38
  const val = formData[option.field]?.city;
39
39
  const service = $configuration.get('address')!;
@@ -60,7 +60,7 @@ export function installFilterCity(
60
60
  },
61
61
  })
62
62
  .setHandler('in', {
63
- label: i18n.$it('base.filter.include').d('包含'),
63
+ label: () => i18n.$it('base.filter.include').d('包含'),
64
64
  getDescription: createAddressDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
65
65
  render: ({ formData, option }) => (<AddressCascade v-model={formData[option.field!]} types="pc" multiple valueType="arraystring"/>),
66
66
  getQueryParam: async ({ formData, option }) => {
@@ -70,7 +70,7 @@ export function installFilterCity(
70
70
  },
71
71
  })
72
72
  .setHandler('not_in', {
73
- label: i18n.$it('base.filter.notInclude').d('不包含'),
73
+ label: () => i18n.$it('base.filter.notInclude').d('不包含'),
74
74
  getDescription: createAddressDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
75
75
  render: ({ formData, option }) => (<AddressCascade v-model={formData[option.field!]} types="pc" multiple valueType="arraystring"/>),
76
76
  getQueryParam: async ({ formData, option }) => {
@@ -23,7 +23,7 @@ export function installFilterDate(
23
23
  }: iFilterService) {
24
24
  touch<iFilterConfigDate>('date')
25
25
  .setHandler('range', {
26
- label: i18n.$it('base.filter.range').d('范围'),
26
+ label: () => i18n.$it('base.filter.range').d('范围'),
27
27
  getDescription: defaultRangeGetDescription,
28
28
  ...defaultRangeHandlerAttrs,
29
29
  render: ({ formData, option }) => <DatePicker
@@ -54,7 +54,7 @@ export function installFilterDate(
54
54
  },
55
55
  })
56
56
  .setHandler('eq', {
57
- label: i18n.$it('base.filter.equal').d('等于'),
57
+ label: () => i18n.$it('base.filter.equal').d('等于'),
58
58
  render: ({ formData, option }) => <DatePicker v-model={formData[option.field!]}/>,
59
59
  getQueryParam: ({ formData, option }) => {
60
60
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -63,7 +63,7 @@ export function installFilterDate(
63
63
  },
64
64
  })
65
65
  .setHandler('in', {
66
- label: i18n.$it('base.filter.include').d('包含'),
66
+ label: () => i18n.$it('base.filter.include').d('包含'),
67
67
  render: ({ formData, option }) => <DatePicker v-model={formData[option.field!]} multiple valueType="arraystring"/>,
68
68
  getQueryParam: ({ formData, option }) => {
69
69
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -72,7 +72,7 @@ export function installFilterDate(
72
72
  },
73
73
  })
74
74
  .setHandler('not_in', {
75
- label: i18n.$it('base.filter.notInclude').d('不包含'),
75
+ label: () => i18n.$it('base.filter.notInclude').d('不包含'),
76
76
  render: ({ formData, option }) => <DatePicker v-model={formData[option.field!]} multiple valueType="arraystring"/>,
77
77
  getQueryParam: ({ formData, option }) => {
78
78
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -23,7 +23,7 @@ export function installFilterDatetime(
23
23
  }: iFilterService) {
24
24
  touch<iFilterConfigDate>('datetime')
25
25
  .setHandler('range', {
26
- label: i18n.$it('base.filter.range').d('范围'),
26
+ label: () => i18n.$it('base.filter.range').d('范围'),
27
27
  getDescription: defaultRangeGetDescription,
28
28
  ...defaultRangeHandlerAttrs,
29
29
  render: ({ formData, option }) => <DatePicker
@@ -55,7 +55,7 @@ export function installFilterDatetime(
55
55
  },
56
56
  })
57
57
  .setHandler('eq', {
58
- label: i18n.$it('base.filter.equal').d('等于'),
58
+ label: () => i18n.$it('base.filter.equal').d('等于'),
59
59
  render: ({ formData, option }) => <DatePicker v-model={formData[option.field!]} datetime/>,
60
60
  getQueryParam: ({ formData, option }) => {
61
61
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -22,7 +22,7 @@ export function installFilterDistrict(
22
22
  }: iFilterService) {
23
23
  touch('district')
24
24
  .setHandler('like', {
25
- label: i18n.$it('base.filter.like').d('约等于'),
25
+ label: () => i18n.$it('base.filter.like').d('约等于'),
26
26
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} onEnter={confirm}/>),
27
27
  getQueryParam: async ({ formData, option }) => {
28
28
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -33,7 +33,7 @@ export function installFilterDistrict(
33
33
  },
34
34
  })
35
35
  .setHandler('eq', {
36
- label: i18n.$it('base.filter.equal').d('等于'),
36
+ label: () => i18n.$it('base.filter.equal').d('等于'),
37
37
  getDescription: ({ formData, option }: { formData: PlainObject, option: iFilterOption }) => {
38
38
  const val = formData[option.field]?.district;
39
39
  const service = $configuration.get('address')!;
@@ -61,7 +61,7 @@ export function installFilterDistrict(
61
61
  },
62
62
  })
63
63
  .setHandler('in', {
64
- label: i18n.$it('base.filter.include').d('包含'),
64
+ label: () => i18n.$it('base.filter.include').d('包含'),
65
65
  getDescription: createAddressDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
66
66
  render: ({ formData, option }) => (<AddressCascade v-model={formData[option.field!]} types="pcd" multiple valueType="arraystring"/>),
67
67
  getQueryParam: async ({ formData, option }) => {
@@ -71,7 +71,7 @@ export function installFilterDistrict(
71
71
  },
72
72
  })
73
73
  .setHandler('not_in', {
74
- label: i18n.$it('base.filter.notInclude').d('不包含'),
74
+ label: () => i18n.$it('base.filter.notInclude').d('不包含'),
75
75
  getDescription: createAddressDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
76
76
  render: ({ formData, option }) => (<AddressCascade v-model={formData[option.field!]} types="pcd" multiple valueType="arraystring"/>),
77
77
  getQueryParam: async ({ formData, option }) => {
@@ -23,7 +23,7 @@ export function installFilterNumber(
23
23
 
24
24
  touch<iFilterConfigNumber>('number')
25
25
  .setHandler('range', {
26
- label: i18n.$it('base.filter.range').d('范围'),
26
+ label: () => i18n.$it('base.filter.range').d('范围'),
27
27
  ...defaultRangeHandlerAttrs,
28
28
  getDescription: defaultRangeGetDescription,
29
29
  render: ({ formData, option, confirm }) => (
@@ -46,7 +46,7 @@ export function installFilterProvince(
46
46
  }: iFilterService) {
47
47
  touch('province')
48
48
  .setHandler('like', {
49
- label: i18n.$it('base.filter.like').d('约等于'),
49
+ label: () => i18n.$it('base.filter.like').d('约等于'),
50
50
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} onEnter={confirm}/>),
51
51
  getQueryParam: async ({ formData, option }) => {
52
52
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -57,7 +57,7 @@ export function installFilterProvince(
57
57
  },
58
58
  })
59
59
  .setHandler('eq', {
60
- label: i18n.$it('base.filter.equal').d('等于'),
60
+ label: () => i18n.$it('base.filter.equal').d('等于'),
61
61
  getDescription: createAddressDescriptionGetter({ multiple: false, valueType: undefined }),
62
62
  render: ({ formData, option }) => (<AddressCascade v-model:province={formData[option.field!]} types="p"/>),
63
63
  getQueryParam: async ({ formData, option }) => {
@@ -67,7 +67,7 @@ export function installFilterProvince(
67
67
  },
68
68
  })
69
69
  .setHandler('in', {
70
- label: i18n.$it('base.filter.include').d('包含'),
70
+ label: () => i18n.$it('base.filter.include').d('包含'),
71
71
  getDescription: createAddressDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
72
72
  render: ({ formData, option }) => (<AddressCascade v-model={formData[option.field!]} types="p" multiple valueType="arraystring"/>),
73
73
  getQueryParam: async ({ formData, option }) => {
@@ -77,7 +77,7 @@ export function installFilterProvince(
77
77
  },
78
78
  })
79
79
  .setHandler('not_in', {
80
- label: i18n.$it('base.filter.notInclude').d('不包含'),
80
+ label: () => i18n.$it('base.filter.notInclude').d('不包含'),
81
81
  getDescription: createAddressDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
82
82
  render: ({ formData, option }) => (<AddressCascade v-model={formData[option.field!]} types="p" multiple valueType="arraystring"/>),
83
83
  getQueryParam: async ({ formData, option }) => {
@@ -32,7 +32,7 @@ export function installFilterSelect(
32
32
  }: iFilterService) {
33
33
  touch<iFilterConfigSelect>('select')
34
34
  .setHandler('eq', {
35
- label: i18n.$it('base.filter.equal').d('等于'),
35
+ label: () => i18n.$it('base.filter.equal').d('等于'),
36
36
  getDescription: createDescriptionGetter({ multiple: false, valueType: undefined }),
37
37
  render: ({ formData, option }) => (<Select v-model={formData[option.field]}>{option.filterConfig.renderOptions()}</Select>),
38
38
  getQueryParam: ({ formData, option }) => {
@@ -42,7 +42,7 @@ export function installFilterSelect(
42
42
  },
43
43
  })
44
44
  .setHandler('in', {
45
- label: i18n.$it('base.filter.include').d('包含'),
45
+ label: () => i18n.$it('base.filter.include').d('包含'),
46
46
  getDescription: createDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
47
47
  render: ({ formData, option }) => (<Select v-model={formData[option.field]} multiple valueType="arraystring">{option.filterConfig.renderOptions()}</Select>),
48
48
  getQueryParam: ({ formData, option }) => {
@@ -52,7 +52,7 @@ export function installFilterSelect(
52
52
  },
53
53
  })
54
54
  .setHandler('not_in', {
55
- label: i18n.$it('base.filter.notInclude').d('不包含'),
55
+ label: () => i18n.$it('base.filter.notInclude').d('不包含'),
56
56
  getDescription: createDescriptionGetter({ multiple: true, valueType: 'arraystring' }),
57
57
  render: ({ formData, option }) => (<Select v-model={formData[option.field]} multiple valueType="arraystring">{option.filterConfig.renderOptions()}</Select>),
58
58
  getQueryParam: ({ formData, option }) => {
@@ -17,7 +17,7 @@ export function installFilterText(
17
17
  }: iFilterService) {
18
18
  touch('text')
19
19
  .setHandler('like', {
20
- label: i18n.$it('base.filter.like').d('约等于'),
20
+ label: () => i18n.$it('base.filter.like').d('约等于'),
21
21
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} onEnter={confirm}/>),
22
22
  getQueryParam: ({ formData, option }) => {
23
23
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -26,7 +26,7 @@ export function installFilterText(
26
26
  },
27
27
  })
28
28
  .setHandler('eq', {
29
- label: i18n.$it('base.filter.equal').d('等于'),
29
+ label: () => i18n.$it('base.filter.equal').d('等于'),
30
30
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} onEnter={confirm}/>),
31
31
  getQueryParam: ({ formData, option }) => {
32
32
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -35,7 +35,7 @@ export function installFilterText(
35
35
  },
36
36
  })
37
37
  .setHandler('in_like', {
38
- label: i18n.$it('base.filter.include').d('包含'),
38
+ label: () => i18n.$it('base.filter.include').d('包含'),
39
39
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} multiple valueType="arraystring"/>),
40
40
  getQueryParam: ({ formData, option }) => {
41
41
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -44,7 +44,7 @@ export function installFilterText(
44
44
  },
45
45
  })
46
46
  .setHandler('not_in_like', {
47
- label: i18n.$it('base.filter.notInclude').d('不包含'),
47
+ label: () => i18n.$it('base.filter.notInclude').d('不包含'),
48
48
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} multiple valueType="arraystring"/>),
49
49
  getQueryParam: ({ formData, option }) => {
50
50
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -40,7 +40,7 @@ export function installFilterObject(
40
40
  }: iFilterService) {
41
41
  touch<iFilterConfigObject>('object')
42
42
  .setHandler('like', {
43
- label: i18n.$it('base.filter.like').d('约等于'),
43
+ label: () => i18n.$it('base.filter.like').d('约等于'),
44
44
  render: ({ formData, option, confirm }) => (<Input v-model={formData[option.field!]} onEnter={confirm}/>),
45
45
  getQueryParam: async ({ formData, option }) => {
46
46
  const { isEmpty, value, field } = checkEmpty(formData, option);
@@ -49,7 +49,7 @@ export function installFilterObject(
49
49
  },
50
50
  })
51
51
  .setHandler('eq', {
52
- label: i18n.$it('base.filter.equal').d('等于'),
52
+ label: () => i18n.$it('base.filter.equal').d('等于'),
53
53
  render: ({ formData, option, confirm }) => (
54
54
  <_Object
55
55
  v-model={formData[option.field]}
@@ -69,7 +69,7 @@ export function installFilterObject(
69
69
  },
70
70
  })
71
71
  .setHandler('in', {
72
- label: i18n.$it('base.filter.include').d('包含'),
72
+ label: () => i18n.$it('base.filter.include').d('包含'),
73
73
  getDescription: createDescriptionGetter(),
74
74
  render: ({ formData, option, confirm }) => (
75
75
  <_Object
@@ -90,7 +90,7 @@ export function installFilterObject(
90
90
  },
91
91
  })
92
92
  .setHandler('not_in', {
93
- label: i18n.$it('base.filter.notInclude').d('不包含'),
93
+ label: () => i18n.$it('base.filter.notInclude').d('不包含'),
94
94
  getDescription: createDescriptionGetter(),
95
95
  render: ({ formData, option, confirm }) => (
96
96
  <_Object
@@ -168,7 +168,7 @@ export const FilterService = (() => {
168
168
  const defaultNullHandler: Parameters<iFilterType<any>['setHandler']> = [
169
169
  'is_null',
170
170
  {
171
- label: i18n.$it('base.isEmpty').d('为空'),
171
+ label: () => i18n.$it('base.isEmpty').d('为空'),
172
172
  getDescription: () => undefined,
173
173
  render: () => (<Input placeholder={i18n.$it('base.isEmpty').d('为空')} disabled/>),
174
174
  getQueryParam: ({ formData, option }) => {
@@ -182,7 +182,7 @@ export const FilterService = (() => {
182
182
  const defaultNotnullHandler: Parameters<iFilterType<any>['setHandler']> = [
183
183
  'is_not_null',
184
184
  {
185
- label: i18n.$it('base.isNotEmpty').d('不为空'),
185
+ label: () => i18n.$it('base.isNotEmpty').d('不为空'),
186
186
  getDescription: () => undefined,
187
187
  render: () => (<Input placeholder={i18n.$it('base.isNotEmpty').d('不为空')} disabled/>),
188
188
  getQueryParam: ({ formData, option }) => {
@@ -82,7 +82,7 @@ export interface iFilterHandler<FilterConfig = PlainObject> {
82
82
  /*唯一标识*/
83
83
  name: string;
84
84
  /*显示名称*/
85
- label: string,
85
+ label: () => string,
86
86
  /*排序*/
87
87
  seq: number,
88
88
  /*渲染内容*/
@@ -132,7 +132,7 @@ export const i18n = (() => {
132
132
  */
133
133
  const use = (lang: string, locale: any) => {
134
134
  state.currentLang = lang;
135
- state.langs[lang] = locale;
135
+ state.langs[lang] = deepmerge(state.langs[lang], locale);
136
136
  hooks.onChangeLang.exec(undefined);
137
137
  };
138
138
  /**