amis 1.9.1-beta.21 → 1.9.1-beta.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. package/lib/components/AssociatedSelection.d.ts +40 -40
  2. package/lib/components/Badge.d.ts +1 -1
  3. package/lib/components/Badge.js.map +1 -1
  4. package/lib/components/ChainedSelection.d.ts +40 -40
  5. package/lib/components/GroupedSelection.d.ts +40 -40
  6. package/lib/components/GroupedSelection.js +2 -3
  7. package/lib/components/GroupedSelection.js.map +2 -2
  8. package/lib/components/PickerContainer.d.ts +0 -1
  9. package/lib/components/PickerContainer.js +4 -4
  10. package/lib/components/PickerContainer.js.map +2 -2
  11. package/lib/components/ResultBox.js +3 -1
  12. package/lib/components/ResultBox.js.map +2 -2
  13. package/lib/components/ResultList.d.ts +53 -43
  14. package/lib/components/ResultList.js +22 -34
  15. package/lib/components/ResultList.js.map +2 -2
  16. package/lib/components/ResultTableList.d.ts +40 -40
  17. package/lib/components/ResultTreeList.d.ts +40 -40
  18. package/lib/components/Select.js +10 -6
  19. package/lib/components/Select.js.map +2 -2
  20. package/lib/components/Selection.d.ts +40 -41
  21. package/lib/components/Selection.js.map +2 -2
  22. package/lib/components/TableSelection.d.ts +40 -40
  23. package/lib/components/TabsTransfer.d.ts +2 -2
  24. package/lib/components/TabsTransfer.js.map +1 -1
  25. package/lib/components/Transfer.d.ts +40 -40
  26. package/lib/components/Transfer.js +1 -1
  27. package/lib/components/Transfer.js.map +2 -2
  28. package/lib/components/TransferDropDown.d.ts +40 -40
  29. package/lib/components/TreeSelection.d.ts +40 -40
  30. package/lib/components/TreeSelection.js +2 -3
  31. package/lib/components/TreeSelection.js.map +2 -2
  32. package/lib/components/formula/Editor.d.ts +45 -45
  33. package/lib/components/formula/Editor.js +16 -11
  34. package/lib/components/formula/Editor.js.map +2 -2
  35. package/lib/components/formula/Picker.d.ts +85 -40
  36. package/lib/components/formula/Picker.js +12 -6
  37. package/lib/components/formula/Picker.js.map +2 -2
  38. package/lib/components/formula/VariableList.d.ts +0 -2
  39. package/lib/components/formula/VariableList.js +5 -15
  40. package/lib/components/formula/VariableList.js.map +2 -2
  41. package/lib/components/index.d.ts +1 -3
  42. package/lib/components/index.js +1 -5
  43. package/lib/components/index.js.map +2 -2
  44. package/lib/components/schema-editor/SchemaVariableList.d.ts +0 -1
  45. package/lib/components/schema-editor/SchemaVariableList.js +2 -2
  46. package/lib/components/schema-editor/SchemaVariableList.js.map +2 -2
  47. package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +0 -1
  48. package/lib/components/schema-editor/SchemaVariableListPicker.js +2 -2
  49. package/lib/components/schema-editor/SchemaVariableListPicker.js.map +2 -2
  50. package/lib/helper.css.map +1 -1
  51. package/lib/index.js +1 -1
  52. package/lib/renderers/CRUD.js +3 -3
  53. package/lib/renderers/CRUD.js.map +2 -2
  54. package/lib/renderers/Form/DiffEditor.d.ts +66 -20
  55. package/lib/renderers/Form/Editor.d.ts +66 -20
  56. package/lib/renderers/Form/Group.js +1 -1
  57. package/lib/renderers/Form/Group.js.map +2 -2
  58. package/lib/renderers/Form/InputFormula.d.ts +5 -5
  59. package/lib/renderers/Form/InputFormula.js +4 -3
  60. package/lib/renderers/Form/InputFormula.js.map +2 -2
  61. package/lib/renderers/Form/InputTag.d.ts +1 -1
  62. package/lib/renderers/Form/InputTag.js.map +1 -1
  63. package/lib/renderers/Form/Options.js +7 -7
  64. package/lib/renderers/Form/Options.js.map +2 -2
  65. package/lib/renderers/Form/Select.d.ts +6 -1
  66. package/lib/renderers/Form/Select.js +3 -1
  67. package/lib/renderers/Form/Select.js.map +2 -2
  68. package/lib/renderers/Form/TreeSelect.d.ts +0 -1
  69. package/lib/renderers/Form/TreeSelect.js +1 -9
  70. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  71. package/lib/renderers/Form/index.js +9 -4
  72. package/lib/renderers/Form/index.js.map +2 -2
  73. package/lib/renderers/Table/exportExcel.js +1 -1
  74. package/lib/renderers/Table/exportExcel.js.map +2 -2
  75. package/lib/renderers/Table/index.d.ts +2 -0
  76. package/lib/renderers/Table/index.js +37 -5
  77. package/lib/renderers/Table/index.js.map +2 -2
  78. package/lib/renderers/Tpl.d.ts +4 -0
  79. package/lib/renderers/Tpl.js +6 -3
  80. package/lib/renderers/Tpl.js.map +2 -2
  81. package/lib/store/combo.d.ts +72 -22
  82. package/lib/store/form.d.ts +30 -9
  83. package/lib/store/form.js +28 -10
  84. package/lib/store/form.js.map +2 -2
  85. package/lib/store/formItem.d.ts +3 -1
  86. package/lib/store/formItem.js +3 -5
  87. package/lib/store/formItem.js.map +2 -2
  88. package/lib/store/table.d.ts +60 -18
  89. package/lib/themes/ang-ie11.css +33 -9
  90. package/lib/themes/ang.css +27 -9
  91. package/lib/themes/ang.css.map +1 -1
  92. package/lib/themes/antd-ie11.css +33 -9
  93. package/lib/themes/antd.css +27 -9
  94. package/lib/themes/antd.css.map +1 -1
  95. package/lib/themes/cxd-ie11.css +35 -15
  96. package/lib/themes/cxd.css +31 -17
  97. package/lib/themes/cxd.css.map +1 -1
  98. package/lib/themes/dark-ie11.css +33 -9
  99. package/lib/themes/dark.css +27 -9
  100. package/lib/themes/dark.css.map +1 -1
  101. package/lib/themes/default-ie11.css +35 -15
  102. package/lib/themes/default.css +31 -17
  103. package/lib/themes/default.css.map +1 -1
  104. package/lib/utils/formula.js +2 -3
  105. package/lib/utils/formula.js.map +2 -2
  106. package/lib/utils/helper.js +1 -1
  107. package/lib/utils/helper.js.map +2 -2
  108. package/package.json +1 -1
  109. package/schema.json +22 -16
  110. package/scss/_mixins.scss +1 -1
  111. package/scss/components/form/_date.scss +9 -10
  112. package/scss/components/form/_select.scss +14 -0
  113. package/scss/components/form/_transfer.scss +1 -2
  114. package/scss/themes/cxd.scss +4 -9
  115. package/sdk/ang-ie11.css +36 -9
  116. package/sdk/ang.css +30 -9
  117. package/sdk/antd-ie11.css +36 -9
  118. package/sdk/antd.css +30 -9
  119. package/sdk/barcode.js +51 -51
  120. package/sdk/charts.js +14 -14
  121. package/sdk/codemirror.js +7 -7
  122. package/sdk/color-picker.js +65 -65
  123. package/sdk/cropperjs.js +2 -2
  124. package/sdk/cxd-ie11.css +38 -16
  125. package/sdk/cxd.css +34 -18
  126. package/sdk/dark-ie11.css +36 -9
  127. package/sdk/dark.css +30 -9
  128. package/sdk/exceljs.js +1 -1
  129. package/sdk/helper.css.map +1 -1
  130. package/sdk/markdown.js +69 -69
  131. package/sdk/papaparse.js +1 -1
  132. package/sdk/renderers/Form/CityDB.js +1 -1
  133. package/sdk/rest.js +16 -16
  134. package/sdk/rich-text.js +62 -62
  135. package/sdk/sdk-ie11.css +38 -16
  136. package/sdk/sdk.css +34 -18
  137. package/sdk/sdk.js +1356 -1354
  138. package/sdk/thirds/hls.js/hls.js +1 -1
  139. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  140. package/sdk/tinymce.js +57 -57
  141. package/src/components/Badge.tsx +1 -1
  142. package/src/components/GroupedSelection.tsx +2 -3
  143. package/src/components/PickerContainer.tsx +8 -13
  144. package/src/components/ResultBox.tsx +3 -1
  145. package/src/components/ResultList.tsx +51 -48
  146. package/src/components/Select.tsx +16 -8
  147. package/src/components/Selection.tsx +0 -1
  148. package/src/components/TabsTransfer.tsx +2 -2
  149. package/src/components/Transfer.tsx +4 -0
  150. package/src/components/TreeSelection.tsx +1 -2
  151. package/src/components/formula/Editor.tsx +51 -38
  152. package/src/components/formula/Picker.tsx +26 -7
  153. package/src/components/formula/VariableList.tsx +2 -36
  154. package/src/components/index.tsx +0 -4
  155. package/src/components/schema-editor/SchemaVariableList.tsx +2 -4
  156. package/src/components/schema-editor/SchemaVariableListPicker.tsx +1 -4
  157. package/src/renderers/CRUD.tsx +3 -3
  158. package/src/renderers/Form/Group.tsx +1 -1
  159. package/src/renderers/Form/InputFormula.tsx +11 -10
  160. package/src/renderers/Form/InputTag.tsx +1 -1
  161. package/src/renderers/Form/Options.tsx +7 -9
  162. package/src/renderers/Form/Select.tsx +10 -2
  163. package/src/renderers/Form/TreeSelect.tsx +14 -16
  164. package/src/renderers/Form/index.tsx +13 -2
  165. package/src/renderers/Table/exportExcel.ts +1 -1
  166. package/src/renderers/Table/index.tsx +42 -6
  167. package/src/renderers/Tpl.tsx +11 -1
  168. package/src/store/form.ts +31 -24
  169. package/src/store/formItem.ts +65 -52
  170. package/src/utils/formula.ts +2 -2
  171. package/src/utils/helper.ts +2 -2
@@ -326,70 +326,83 @@ export const FormItemStore = StoreNode.named('FormItemStore')
326
326
  }
327
327
 
328
328
  let validateCancel: Function | null = null;
329
- const validate: (data: Object, hook?: any) => Promise<boolean> = flow(
330
- function* validate(data: Object, hook?: any) {
331
- if (self.validating && !isEffectiveApi(self.validateApi, data)) {
332
- return self.valid;
333
- }
334
-
335
- self.validating = true;
336
- clearError();
337
- if (hook) {
338
- yield hook();
339
- }
329
+ const validate: (
330
+ data: Object,
331
+ hook?: any,
332
+ /**
333
+ * customRules主要是为了支持action.require的验证方式
334
+ * 这样可以基于不同的action实现不同的校验规则
335
+ */
336
+ customRules?: {[propName: string]: any}
337
+ ) => Promise<boolean> = flow(function* validate(
338
+ data: Object,
339
+ hook?: any,
340
+ customRules?: {[propName: string]: any}
341
+ ) {
342
+ if (self.validating && !isEffectiveApi(self.validateApi, data)) {
343
+ return self.valid;
344
+ }
340
345
 
341
- addError(
342
- doValidate(self.tmpValue, data, self.rules, self.messages, self.__)
343
- );
346
+ self.validating = true;
347
+ clearError();
348
+ if (hook) {
349
+ yield hook();
350
+ }
344
351
 
345
- if (!self.errors.length && isEffectiveApi(self.validateApi, data)) {
346
- if (validateCancel) {
347
- validateCancel();
348
- validateCancel = null;
349
- }
352
+ addError(
353
+ doValidate(
354
+ self.tmpValue,
355
+ data,
356
+ customRules ? str2rules(customRules) : self.rules,
357
+ self.messages,
358
+ self.__
359
+ )
360
+ );
350
361
 
351
- const json: Payload = yield getEnv(self).fetcher(
352
- self.validateApi,
353
- /** 如果配置validateApi,需要将用户最新输入同步到数据域内 */
354
- createObject(data, {[self.name]: self.tmpValue}),
355
- {
356
- cancelExecutor: (executor: Function) =>
357
- (validateCancel = executor)
358
- }
359
- );
362
+ if (!self.errors.length && isEffectiveApi(self.validateApi, data)) {
363
+ if (validateCancel) {
364
+ validateCancel();
360
365
  validateCancel = null;
366
+ }
361
367
 
362
- if (!json.ok && json.status === 422 && json.errors) {
363
- addError(
364
- String(
365
- json.errors || json.msg || `表单项「${self.name}」校验失败`
366
- )
367
- );
368
+ const json: Payload = yield getEnv(self).fetcher(
369
+ self.validateApi,
370
+ /** 如果配置validateApi,需要将用户最新输入同步到数据域内 */
371
+ createObject(data, {[self.name]: self.tmpValue}),
372
+ {
373
+ cancelExecutor: (executor: Function) => (validateCancel = executor)
368
374
  }
375
+ );
376
+ validateCancel = null;
377
+
378
+ if (!json.ok && json.status === 422 && json.errors) {
379
+ addError(
380
+ String(json.errors || json.msg || `表单项「${self.name}」校验失败`)
381
+ );
369
382
  }
383
+ }
370
384
 
371
- self.validated = true;
385
+ self.validated = true;
372
386
 
373
- if (self.unique && self.form?.parentStore?.storeType === 'ComboStore') {
374
- const combo = self.form.parentStore as IComboStore;
375
- const group = combo.uniques.get(self.name) as IUniqueGroup;
387
+ if (self.unique && self.form?.parentStore?.storeType === 'ComboStore') {
388
+ const combo = self.form.parentStore as IComboStore;
389
+ const group = combo.uniques.get(self.name) as IUniqueGroup;
376
390
 
377
- if (
378
- group.items.some(
379
- item =>
380
- item !== self &&
381
- self.tmpValue !== undefined &&
382
- item.value === self.tmpValue
383
- )
384
- ) {
385
- addError(self.__('Form.unique'));
386
- }
391
+ if (
392
+ group.items.some(
393
+ item =>
394
+ item !== self &&
395
+ self.tmpValue !== undefined &&
396
+ item.value === self.tmpValue
397
+ )
398
+ ) {
399
+ addError(self.__('Form.unique'));
387
400
  }
388
-
389
- self.validating = false;
390
- return self.valid;
391
401
  }
392
- );
402
+
403
+ self.validating = false;
404
+ return self.valid;
405
+ });
393
406
 
394
407
  function setError(msg: string | Array<string>, tag: string = 'builtin') {
395
408
  clearError();
@@ -169,7 +169,7 @@ export function formulaExec(
169
169
  // 非字符串类型,直接返回,比如:boolean、number类型、Object、Array类型
170
170
  return value;
171
171
  } else if (curExecMode && FormulaExec[curExecMode]) {
172
- return FormulaExec[curExecMode](value, data);;
172
+ return FormulaExec[curExecMode];
173
173
  }
174
174
 
175
175
  const curValue = value.trim(); // 剔除前后空格
@@ -183,7 +183,7 @@ export function formulaExec(
183
183
  } else if (curValue.startsWith('${') && curValue.endsWith('}')) {
184
184
  // ${ xxx } 格式 使用 formula 运算器
185
185
  return FormulaExec['formula'](curValue, data);
186
- } else if (isExpression(curValue)) {
186
+ } else if (isExpression(test)) {
187
187
  // 表达式格式使用 formula 运算器
188
188
  return FormulaExec['formula'](curValue, data);
189
189
  } else if (/(\${).+(\})/.test(curValue)) {
@@ -22,7 +22,7 @@ import {
22
22
  resolveVariable,
23
23
  resolveVariableAndFilter
24
24
  } from 'amis-formula';
25
- import {isObservable, isObservableArray} from 'mobx';
25
+ import {isObservable} from 'mobx';
26
26
 
27
27
  export {
28
28
  createObject,
@@ -937,7 +937,7 @@ export function everyTree<T extends TreeItem>(
937
937
  paths: Array<T> = [],
938
938
  indexes: Array<number> = []
939
939
  ): boolean {
940
- if (!Array.isArray(tree) && !isObservableArray(tree)) {
940
+ if (!Array.isArray(tree)) {
941
941
  return false;
942
942
  }
943
943
  return tree.every((item, index) => {