plain-design 1.0.0-beta.77 → 1.0.0-beta.78

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.77",
3
+ "version": "1.0.0-beta.78",
4
4
  "description": "",
5
5
  "main": "dist/plain-design.min.js",
6
6
  "module": "dist/plain-design.commonjs.min.js",
@@ -1,6 +1,7 @@
1
1
  import {eAddressTypeEnum, iAddressLazyMeta, iAddressSyncMeta} from "./address.utils";
2
2
  import {defer, DFD} from "plain-utils/utils/defer";
3
3
  import {reactive} from "plain-design-composition";
4
+ import i18n from "../i18n";
4
5
 
5
6
  export function createAddressService(
6
7
  config: {
@@ -126,13 +127,14 @@ export function createAddressService(
126
127
  };
127
128
  })();
128
129
 
130
+ let dfd: DFD<iAddressSyncMeta[]> | null = null;
131
+
129
132
  /**
130
133
  * 带缓存地查询所有地址数据
131
134
  * @author 韦胜健
132
135
  * @date 2022.12.16 23:20
133
136
  */
134
137
  const getAddress = (() => {
135
- let dfd: DFD<iAddressSyncMeta[]> | null = null;
136
138
  return () => {
137
139
  if (!dfd) {
138
140
  dfd = defer<iAddressSyncMeta[]>();
@@ -142,6 +144,15 @@ export function createAddressService(
142
144
  };
143
145
  })();
144
146
 
147
+ /**
148
+ * 清理缓存
149
+ * @author 韦胜健
150
+ * @date 2024.6.18 15:34
151
+ */
152
+ const clear = () => {
153
+ dfd = null;
154
+ };
155
+
145
156
  const getAddressByCodesComputed = (() => {
146
157
 
147
158
  const state = reactive({
@@ -171,6 +182,13 @@ export function createAddressService(
171
182
  return getter;
172
183
  })();
173
184
 
185
+ /**
186
+ * 切换多语言的时候清理缓存
187
+ * @author 韦胜健
188
+ * @date 2024.6.18 15:35
189
+ */
190
+ i18n.hooks.onChangeLang.use(() => clear());
191
+
174
192
  return {
175
193
  config,
176
194
  getAddressByLabel,
@@ -178,6 +196,7 @@ export function createAddressService(
178
196
  getAddressByParentCodes,
179
197
  getAddress,
180
198
  getAddressByCodesComputed,
199
+ clear,
181
200
  };
182
201
  }
183
202
 
@@ -35,6 +35,7 @@ export function createAddressCascadeMultiple(
35
35
 
36
36
  effects.push(hooks.onRender.use({
37
37
  processor: ({ list, render }) => {list.push({ render, key: '1', seq: 1 });},
38
+ separate: false,
38
39
  render: () => (
39
40
  <Cascade
40
41
  modelValue={state.modelMetas}
@@ -58,6 +58,7 @@ export function createAddressCascadeSingle(
58
58
 
59
59
  effects.push(hooks.onRender.use({
60
60
  processor: ({ list, render }) => {list.push({ render, key: '1', seq: 1 });},
61
+ separate: false,
61
62
  render: () => (
62
63
  <Cascade
63
64
  modelValue={metaArray.value}
@@ -8,6 +8,7 @@ import {createAddressCascadeHooks} from "./createAddressCascade.hooks";
8
8
  import {useWatchAutoClear} from "../../utils/watchEffectAutoClear";
9
9
  import {createAddressCascadeMultiple} from "./createAddressCascade.multiple";
10
10
  import {createAddressCascadeSingle} from "./createAddressCascade.single";
11
+ import {useEdit} from "../../uses/useEdit";
11
12
 
12
13
  export const AddressCascade = designComponent({
13
14
  name: 'address-cascade',
@@ -17,6 +18,7 @@ export const AddressCascade = designComponent({
17
18
  setup({ props, event }) {
18
19
 
19
20
  useStyle();
21
+ useEdit();
20
22
 
21
23
  const hooks = createAddressCascadeHooks();
22
24
 
@@ -94,6 +94,7 @@ export function createSingleCascadeRender(
94
94
  ref={onRef.input}
95
95
  className={classes.value}
96
96
  suffixIcon="pi-mind-mapping"
97
+ customReadonly={props.disableFilter || props.lazy}
97
98
  {...mergeAttrs(
98
99
  { class: classes.value, },
99
100
  {
@@ -107,7 +108,6 @@ export function createSingleCascadeRender(
107
108
  }
108
109
  }
109
110
  )}
110
- customReadonly={props.disableFilter || props.lazy}
111
111
  />
112
112
  )));
113
113
 
@@ -55,6 +55,7 @@
55
55
  cursor: pointer;
56
56
  transition: background-color linear 300ms;
57
57
  border-radius: plv(box-size-small-border-radius);
58
+ word-break: break-all;
58
59
 
59
60
  @include comp(checkbox) {
60
61
  line-height: 1.4em;