amis-core 6.7.0 → 6.8.0

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.
Files changed (285) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.d.ts +0 -1
  4. package/esm/SchemaRenderer.js +15 -6
  5. package/esm/Scoped.js +2 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +8 -8
  9. package/esm/actions/Action.js +2 -1
  10. package/esm/actions/AjaxAction.js +1 -1
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +1 -1
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +2 -1
  17. package/esm/actions/DialogAction.js +3 -1
  18. package/esm/actions/DrawerAction.js +2 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +2 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +2 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/CustomStyle.js +1 -1
  31. package/esm/components/ErrorBoundary.js +1 -1
  32. package/esm/components/LazyComponent.js +1 -1
  33. package/esm/components/Overlay.js +2 -1
  34. package/esm/components/PopOver.js +2 -1
  35. package/esm/env.js +1 -1
  36. package/esm/envOverwrite.js +1 -1
  37. package/esm/factory.js +1 -1
  38. package/esm/index.js +2 -2
  39. package/esm/locale.js +2 -1
  40. package/esm/polyfills.js +1 -1
  41. package/esm/renderers/Form.js +42 -16
  42. package/esm/renderers/Item.d.ts +97 -12
  43. package/esm/renderers/Item.js +159 -120
  44. package/esm/renderers/Options.js +2 -1
  45. package/esm/renderers/Placeholder.js +1 -1
  46. package/esm/renderers/builtin.js +1 -1
  47. package/esm/renderers/register.js +1 -1
  48. package/esm/renderers/wrapControl.js +2 -1
  49. package/esm/store/app.js +2 -1
  50. package/esm/store/combo.d.ts +408 -0
  51. package/esm/store/combo.js +1 -1
  52. package/esm/store/crud.js +2 -1
  53. package/esm/store/form.d.ts +170 -0
  54. package/esm/store/form.js +2 -1
  55. package/esm/store/formItem.d.ts +5 -0
  56. package/esm/store/formItem.js +30 -8
  57. package/esm/store/iRenderer.js +2 -1
  58. package/esm/store/index.js +1 -1
  59. package/esm/store/list.js +1 -1
  60. package/esm/store/manager.js +1 -1
  61. package/esm/store/modal.js +1 -1
  62. package/esm/store/node.js +1 -1
  63. package/esm/store/pagination.js +2 -1
  64. package/esm/store/root.js +2 -1
  65. package/esm/store/service.js +2 -1
  66. package/esm/store/status.js +1 -1
  67. package/esm/store/table.d.ts +379 -21
  68. package/esm/store/table.js +84 -54
  69. package/esm/store/table2.js +1 -1
  70. package/esm/theme.js +1 -1
  71. package/esm/utils/Animation.js +1 -1
  72. package/esm/utils/ColorScale.js +1 -1
  73. package/esm/utils/DataSchema.js +1 -1
  74. package/esm/utils/DataScope.js +1 -1
  75. package/esm/utils/RootClose.js +1 -1
  76. package/esm/utils/SimpleMap.js +1 -1
  77. package/esm/utils/api.js +1 -1
  78. package/esm/utils/arraySlice.js +1 -1
  79. package/esm/utils/attachmentAdpator.js +1 -1
  80. package/esm/utils/autobind.js +1 -1
  81. package/esm/utils/browser.js +1 -1
  82. package/esm/utils/columnsSplit.js +1 -1
  83. package/esm/utils/concatData.js +1 -1
  84. package/esm/utils/dataMapping.js +1 -1
  85. package/esm/utils/date.js +1 -1
  86. package/esm/utils/debug.js +17 -3
  87. package/esm/utils/decodeEntity.js +1 -1
  88. package/esm/utils/dom.js +1 -1
  89. package/esm/utils/errors.js +1 -1
  90. package/esm/utils/escapeHtml.js +1 -1
  91. package/esm/utils/filter-schema.js +1 -1
  92. package/esm/utils/filter.js +1 -1
  93. package/esm/utils/formatDuration.js +1 -1
  94. package/esm/utils/formula.js +2 -1
  95. package/esm/utils/getVariable.js +1 -1
  96. package/esm/utils/grammar.js +1 -1
  97. package/esm/utils/handleAction.js +1 -1
  98. package/esm/utils/helper.d.ts +4 -1
  99. package/esm/utils/helper.js +20 -4
  100. package/esm/utils/highlight.js +1 -1
  101. package/esm/utils/icon.js +1 -1
  102. package/esm/utils/image.js +1 -1
  103. package/esm/utils/isPureVariable.js +2 -2
  104. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  105. package/esm/utils/keyToPath.js +1 -1
  106. package/esm/utils/labelToString.js +1 -1
  107. package/esm/utils/makeSorter.js +1 -1
  108. package/esm/utils/math.js +1 -1
  109. package/esm/utils/memoryParse.d.ts +2 -1
  110. package/esm/utils/memoryParse.js +10 -6
  111. package/esm/utils/normalizeLink.js +1 -1
  112. package/esm/utils/normalizeOptions.js +1 -1
  113. package/esm/utils/object.d.ts +2 -4
  114. package/esm/utils/object.js +1 -1
  115. package/esm/utils/offset.js +1 -1
  116. package/esm/utils/offsetParent.js +1 -1
  117. package/esm/utils/optionValueCompare.js +1 -1
  118. package/esm/utils/position.js +1 -1
  119. package/esm/utils/prettyBytes.js +1 -1
  120. package/esm/utils/printElement.js +1 -1
  121. package/esm/utils/renderer-event.js +1 -1
  122. package/esm/utils/replaceText.js +1 -1
  123. package/esm/utils/resize-sensor.js +30 -1
  124. package/esm/utils/resolveCondition.js +2 -1
  125. package/esm/utils/resolveVariable.js +1 -1
  126. package/esm/utils/resolveVariableAndFilter.js +1 -1
  127. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  128. package/esm/utils/scrollPosition.js +1 -1
  129. package/esm/utils/string2regExp.js +1 -1
  130. package/esm/utils/stripNumber.js +1 -1
  131. package/esm/utils/style-helper.js +1 -1
  132. package/esm/utils/style.js +2 -1
  133. package/esm/utils/toNumber.js +1 -1
  134. package/esm/utils/tokenize.js +1 -1
  135. package/esm/utils/tpl-builtin.js +2 -1
  136. package/esm/utils/tpl-lodash.js +2 -1
  137. package/esm/utils/tpl.js +1 -1
  138. package/esm/utils/uncontrollable.js +1 -1
  139. package/esm/utils/validateId.js +1 -1
  140. package/esm/utils/validations.js +2 -1
  141. package/esm/utils/visitedCache.d.ts +46 -0
  142. package/esm/utils/visitedCache.js +124 -0
  143. package/lib/Root.js +1 -1
  144. package/lib/RootRenderer.js +1 -1
  145. package/lib/SchemaRenderer.d.ts +0 -1
  146. package/lib/SchemaRenderer.js +15 -6
  147. package/lib/Scoped.js +2 -1
  148. package/lib/StatusScoped.js +1 -1
  149. package/lib/WithRootStore.js +1 -1
  150. package/lib/WithStore.js +8 -8
  151. package/lib/actions/Action.js +2 -1
  152. package/lib/actions/AjaxAction.js +1 -1
  153. package/lib/actions/BreakAction.js +1 -1
  154. package/lib/actions/BroadcastAction.js +1 -1
  155. package/lib/actions/CmptAction.js +1 -1
  156. package/lib/actions/ContinueAction.js +1 -1
  157. package/lib/actions/CopyAction.js +1 -1
  158. package/lib/actions/CustomAction.js +2 -1
  159. package/lib/actions/DialogAction.js +3 -1
  160. package/lib/actions/DrawerAction.js +2 -1
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/EventAction.js +2 -1
  163. package/lib/actions/LinkAction.js +1 -1
  164. package/lib/actions/LoopAction.js +2 -1
  165. package/lib/actions/PageAction.js +1 -1
  166. package/lib/actions/ParallelAction.js +1 -1
  167. package/lib/actions/PrintAction.js +1 -1
  168. package/lib/actions/StatusAction.js +1 -1
  169. package/lib/actions/SwitchAction.js +1 -1
  170. package/lib/actions/ToastAction.js +1 -1
  171. package/lib/actions/WaitAction.js +1 -1
  172. package/lib/components/CustomStyle.js +1 -1
  173. package/lib/components/ErrorBoundary.js +1 -1
  174. package/lib/components/LazyComponent.js +1 -1
  175. package/lib/components/Overlay.js +2 -1
  176. package/lib/components/PopOver.js +2 -1
  177. package/lib/env.js +1 -1
  178. package/lib/envOverwrite.js +1 -1
  179. package/lib/factory.js +1 -1
  180. package/lib/index.js +2 -2
  181. package/lib/locale.js +2 -1
  182. package/lib/polyfills.js +1 -1
  183. package/lib/renderers/Form.js +41 -15
  184. package/lib/renderers/Item.d.ts +98 -13
  185. package/lib/renderers/Item.js +158 -119
  186. package/lib/renderers/Options.js +2 -1
  187. package/lib/renderers/Placeholder.js +1 -1
  188. package/lib/renderers/builtin.js +1 -1
  189. package/lib/renderers/register.js +1 -1
  190. package/lib/renderers/wrapControl.js +2 -1
  191. package/lib/store/app.js +2 -1
  192. package/lib/store/combo.d.ts +408 -0
  193. package/lib/store/combo.js +1 -1
  194. package/lib/store/crud.js +2 -1
  195. package/lib/store/form.d.ts +170 -0
  196. package/lib/store/form.js +2 -1
  197. package/lib/store/formItem.d.ts +5 -0
  198. package/lib/store/formItem.js +30 -8
  199. package/lib/store/iRenderer.js +2 -1
  200. package/lib/store/index.js +1 -1
  201. package/lib/store/list.js +1 -1
  202. package/lib/store/manager.js +1 -1
  203. package/lib/store/modal.js +1 -1
  204. package/lib/store/node.js +1 -1
  205. package/lib/store/pagination.js +2 -1
  206. package/lib/store/root.js +2 -1
  207. package/lib/store/service.js +2 -1
  208. package/lib/store/status.js +1 -1
  209. package/lib/store/table.d.ts +379 -21
  210. package/lib/store/table.js +84 -54
  211. package/lib/store/table2.js +1 -1
  212. package/lib/theme.js +1 -1
  213. package/lib/utils/Animation.js +1 -1
  214. package/lib/utils/ColorScale.js +1 -1
  215. package/lib/utils/DataSchema.js +1 -1
  216. package/lib/utils/DataScope.js +1 -1
  217. package/lib/utils/RootClose.js +1 -1
  218. package/lib/utils/SimpleMap.js +1 -1
  219. package/lib/utils/api.js +1 -1
  220. package/lib/utils/arraySlice.js +1 -1
  221. package/lib/utils/attachmentAdpator.js +1 -1
  222. package/lib/utils/autobind.js +1 -1
  223. package/lib/utils/browser.js +1 -1
  224. package/lib/utils/columnsSplit.js +1 -1
  225. package/lib/utils/concatData.js +1 -1
  226. package/lib/utils/dataMapping.js +1 -1
  227. package/lib/utils/date.js +1 -1
  228. package/lib/utils/debug.js +17 -3
  229. package/lib/utils/decodeEntity.js +1 -1
  230. package/lib/utils/dom.js +1 -1
  231. package/lib/utils/errors.js +1 -1
  232. package/lib/utils/escapeHtml.js +1 -1
  233. package/lib/utils/filter-schema.js +1 -1
  234. package/lib/utils/filter.js +1 -1
  235. package/lib/utils/formatDuration.js +1 -1
  236. package/lib/utils/formula.js +2 -1
  237. package/lib/utils/getVariable.js +1 -1
  238. package/lib/utils/grammar.js +1 -1
  239. package/lib/utils/handleAction.js +1 -1
  240. package/lib/utils/helper.d.ts +4 -1
  241. package/lib/utils/helper.js +19 -3
  242. package/lib/utils/highlight.js +1 -1
  243. package/lib/utils/icon.js +1 -1
  244. package/lib/utils/image.js +1 -1
  245. package/lib/utils/isPureVariable.js +2 -2
  246. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  247. package/lib/utils/keyToPath.js +1 -1
  248. package/lib/utils/labelToString.js +1 -1
  249. package/lib/utils/makeSorter.js +1 -1
  250. package/lib/utils/math.js +1 -1
  251. package/lib/utils/memoryParse.d.ts +2 -1
  252. package/lib/utils/memoryParse.js +10 -6
  253. package/lib/utils/normalizeLink.js +1 -1
  254. package/lib/utils/normalizeOptions.js +1 -1
  255. package/lib/utils/object.d.ts +2 -4
  256. package/lib/utils/object.js +1 -1
  257. package/lib/utils/offset.js +1 -1
  258. package/lib/utils/offsetParent.js +1 -1
  259. package/lib/utils/optionValueCompare.js +1 -1
  260. package/lib/utils/position.js +1 -1
  261. package/lib/utils/prettyBytes.js +1 -1
  262. package/lib/utils/printElement.js +1 -1
  263. package/lib/utils/renderer-event.js +1 -1
  264. package/lib/utils/replaceText.js +1 -1
  265. package/lib/utils/resize-sensor.js +30 -1
  266. package/lib/utils/resolveCondition.js +2 -1
  267. package/lib/utils/resolveVariable.js +1 -1
  268. package/lib/utils/resolveVariableAndFilter.js +1 -1
  269. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  270. package/lib/utils/scrollPosition.js +1 -1
  271. package/lib/utils/string2regExp.js +1 -1
  272. package/lib/utils/stripNumber.js +1 -1
  273. package/lib/utils/style-helper.js +1 -1
  274. package/lib/utils/style.js +2 -1
  275. package/lib/utils/toNumber.js +1 -1
  276. package/lib/utils/tokenize.js +1 -1
  277. package/lib/utils/tpl-builtin.js +2 -1
  278. package/lib/utils/tpl-lodash.js +2 -1
  279. package/lib/utils/tpl.js +1 -1
  280. package/lib/utils/uncontrollable.js +1 -1
  281. package/lib/utils/validateId.js +1 -1
  282. package/lib/utils/validations.js +2 -1
  283. package/lib/utils/visitedCache.d.ts +46 -0
  284. package/lib/utils/visitedCache.js +128 -0
  285. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -13,6 +13,7 @@ var iRenderer = require('./iRenderer.js');
13
13
  require('amis-formula');
14
14
  require('moment');
15
15
  var object = require('../utils/object.js');
16
+ require('../utils/memoryParse.js');
16
17
  require('@rc-component/mini-decimal');
17
18
  var resolveVariable = require('../utils/resolveVariable.js');
18
19
  var resolveVariableAndFilter = require('../utils/resolveVariableAndFilter.js');
@@ -103,6 +104,9 @@ var Column = mobxStateTree.types
103
104
  var _a;
104
105
  var table = mobxStateTree.getParent(self, 2);
105
106
  return (((_a = table.filteredColumns.find(function (column) { return !column.type.startsWith('__'); })) === null || _a === void 0 ? void 0 : _a.id) === self.id);
107
+ },
108
+ get columnKey() {
109
+ return self.pristine.uid || self.name || self.label || self.rawIndex;
106
110
  }
107
111
  }); })
108
112
  .actions(function (self) { return ({
@@ -118,10 +122,13 @@ var Column = mobxStateTree.types
118
122
  setToggled: function (value) {
119
123
  self.toggled = value;
120
124
  },
121
- setEnableSearch: function (value) {
125
+ setEnableSearch: function (value, skipSave) {
126
+ if (skipSave === void 0) { skipSave = false; }
122
127
  self.enableSearch = value;
123
- var table = mobxStateTree.getParent(self, 2);
124
- table.persistSaveToggledColumns();
128
+ if (!skipSave) {
129
+ var table = mobxStateTree.getParent(self, 2);
130
+ table.persistSaveToggledColumns();
131
+ }
125
132
  },
126
133
  setMinWidth: function (value) {
127
134
  self.minWidth = value;
@@ -372,7 +379,6 @@ var TableStore = iRenderer.iRendererStore
372
379
  .named('TableStore')
373
380
  .props({
374
381
  columns: mobxStateTree.types.array(Column),
375
- columnsKey: '',
376
382
  rows: mobxStateTree.types.array(Row),
377
383
  selectedRows: mobxStateTree.types.array(mobxStateTree.types.reference(Row)),
378
384
  expandedRows: mobxStateTree.types.array(mobxStateTree.types.string),
@@ -594,6 +600,9 @@ var TableStore = iRenderer.iRendererStore
594
600
  }
595
601
  return {
596
602
  getSelectionUpperLimit: getSelectionUpperLimit,
603
+ get columnsKey() {
604
+ return location.pathname + self.path;
605
+ },
597
606
  get columnsData() {
598
607
  return getColumnsExceptBuiltinTypes();
599
608
  },
@@ -712,7 +721,8 @@ var TableStore = iRenderer.iRendererStore
712
721
  get columnWidthReady() {
713
722
  return getFilteredColumns().every(function (column) { return column.realWidth; });
714
723
  },
715
- getStickyStyles: function (column, columns) {
724
+ getStickyStyles: function (column, columns, colSpan) {
725
+ if (colSpan === void 0) { colSpan = 1; }
716
726
  var stickyClassName = '';
717
727
  var style = {};
718
728
  var autoFixLeftColumns = ['__checkme', '__dragme', '__expandme'];
@@ -721,7 +731,7 @@ var TableStore = iRenderer.iRendererStore
721
731
  stickyClassName = 'is-sticky is-sticky-left';
722
732
  var index = columns.indexOf(column) - 1;
723
733
  if (columns
724
- .slice(index + 2)
734
+ .slice(index + (colSpan - 1) + 2)
725
735
  .every(function (col) {
726
736
  return !((col && col.fixed === 'left') ||
727
737
  autoFixLeftColumns.includes(col.type));
@@ -835,7 +845,6 @@ var TableStore = iRenderer.iRendererStore
835
845
  typeof config.tableLayout === 'string' &&
836
846
  (self.tableLayout = config.tableLayout);
837
847
  if (config.columns && Array.isArray(config.columns)) {
838
- self.columnsKey = getPersistDataKey(config.columns);
839
848
  var columns = config.columns
840
849
  .map(function (column) {
841
850
  if ((options === null || options === void 0 ? void 0 : options.resolveDefinitions) &&
@@ -858,7 +867,9 @@ var TableStore = iRenderer.iRendererStore
858
867
  var order_1 = tableMetaData === null || tableMetaData === void 0 ? void 0 : tableMetaData.columnOrder;
859
868
  if (Array.isArray(order_1) && order_1.length != 0) {
860
869
  columns = sortBy__default["default"](columns, function (item, index) {
861
- return order_1.indexOf(item.name || item.label || index);
870
+ var columnKey = item.uid || item.name || item.label || index;
871
+ var idx = order_1.indexOf(columnKey);
872
+ return idx === -1 ? Number.MAX_SAFE_INTEGER : idx;
862
873
  });
863
874
  }
864
875
  }
@@ -1085,26 +1096,28 @@ var TableStore = iRenderer.iRendererStore
1085
1096
  if (self.combineNum) {
1086
1097
  arr = autoCombineCell(arr, self.columns, self.combineNum, self.combineFromIndex);
1087
1098
  }
1088
- replaceRow(arr, reUseRow);
1099
+ var allMatched = replaceRow(arr, reUseRow);
1089
1100
  self.isNested = self.rows.some(function (item) { return item.children.length || (item.defer && !item.loaded); });
1090
- // 20 个直接渲染,后面的按需渲染
1091
- if (self.lazyRenderAfter &&
1092
- self.falttenedRows.length > self.lazyRenderAfter) {
1093
- for (var i = self.lazyRenderAfter, len = self.falttenedRows.length; i < len; i++) {
1094
- self.falttenedRows[i].appeared = false;
1095
- self.falttenedRows[i].lazyRender = true;
1101
+ if (!allMatched) {
1102
+ // 20 个直接渲染,后面的按需渲染
1103
+ if (self.lazyRenderAfter &&
1104
+ self.falttenedRows.length > self.lazyRenderAfter) {
1105
+ for (var i = self.lazyRenderAfter, len = self.falttenedRows.length; i < len; i++) {
1106
+ self.falttenedRows[i].appeared = false;
1107
+ self.falttenedRows[i].lazyRender = true;
1108
+ }
1109
+ }
1110
+ var expand = self.footable && self.footable.expand;
1111
+ if (expand === 'first' ||
1112
+ (self.expandConfig && self.expandConfig.expand === 'first')) {
1113
+ self.rows.length && self.expandedRows.push(self.rows[0].id);
1114
+ }
1115
+ else if ((expand === 'all' && !self.footable.accordion) ||
1116
+ (self.expandConfig &&
1117
+ self.expandConfig.expand === 'all' &&
1118
+ !self.expandConfig.accordion)) {
1119
+ self.expandedRows.replace(getExpandAllRows(self.rows));
1096
1120
  }
1097
- }
1098
- var expand = self.footable && self.footable.expand;
1099
- if (expand === 'first' ||
1100
- (self.expandConfig && self.expandConfig.expand === 'first')) {
1101
- self.rows.length && self.expandedRows.push(self.rows[0].id);
1102
- }
1103
- else if ((expand === 'all' && !self.footable.accordion) ||
1104
- (self.expandConfig &&
1105
- self.expandConfig.expand === 'all' &&
1106
- !self.expandConfig.accordion)) {
1107
- self.expandedRows.replace(getExpandAllRows(self.rows));
1108
1121
  }
1109
1122
  self.dragging = false;
1110
1123
  }
@@ -1122,7 +1135,21 @@ var TableStore = iRenderer.iRendererStore
1122
1135
  function replaceRow(arr, reUseRow) {
1123
1136
  if (reUseRow === false) {
1124
1137
  self.rows.replace(arr.map(function (item) { return Row.create(item); }));
1125
- return;
1138
+ return false;
1139
+ }
1140
+ else if (reUseRow === 'match') {
1141
+ var rows_1 = self.falttenedRows;
1142
+ var allMatched_1 = true;
1143
+ self.rows.replace(arr.map(function (item) {
1144
+ var exist = rows_1.find(function (row) { return row.id === item.id; });
1145
+ if (exist) {
1146
+ exist.replaceWith(item);
1147
+ return exist;
1148
+ }
1149
+ allMatched_1 = false;
1150
+ return Row.create(item);
1151
+ }));
1152
+ return allMatched_1;
1126
1153
  }
1127
1154
  var pool = arr.concat();
1128
1155
  // 把多的删了先
@@ -1142,6 +1169,7 @@ var TableStore = iRenderer.iRendererStore
1142
1169
  }
1143
1170
  index++;
1144
1171
  }
1172
+ return false;
1145
1173
  }
1146
1174
  function updateSelected(selected, valueField) {
1147
1175
  self.selectedRows.clear();
@@ -1245,8 +1273,8 @@ var TableStore = iRenderer.iRendererStore
1245
1273
  var maxIndex = lastCheckedRowIndex > rowIndex ? lastCheckedRowIndex : rowIndex + 1;
1246
1274
  var rows = checkableRows.slice(minIndex, maxIndex);
1247
1275
  try {
1248
- for (var rows_1 = tslib.__values(rows), rows_1_1 = rows_1.next(); !rows_1_1.done; rows_1_1 = rows_1.next()) {
1249
- var rowItem = rows_1_1.value;
1276
+ for (var rows_2 = tslib.__values(rows), rows_2_1 = rows_2.next(); !rows_2_1.done; rows_2_1 = rows_2.next()) {
1277
+ var rowItem = rows_2_1.value;
1250
1278
  // 如果上一个是选中状态,则将之间的所有 check 都变成可选
1251
1279
  if (!(lastCheckedRow.checked &&
1252
1280
  maxLength &&
@@ -1258,7 +1286,7 @@ var TableStore = iRenderer.iRendererStore
1258
1286
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
1259
1287
  finally {
1260
1288
  try {
1261
- if (rows_1_1 && !rows_1_1.done && (_a = rows_1.return)) _a.call(rows_1);
1289
+ if (rows_2_1 && !rows_2_1.done && (_a = rows_2.return)) _a.call(rows_2);
1262
1290
  }
1263
1291
  finally { if (e_1) throw e_1.error; }
1264
1292
  }
@@ -1356,9 +1384,9 @@ var TableStore = iRenderer.iRendererStore
1356
1384
  var rows = self.rows.concat();
1357
1385
  helper.eachTree(rows, function (item) {
1358
1386
  if (item.children) {
1359
- var rows_2 = item.children.concat().sort(function (a, b) { return a.index - b.index; });
1360
- rows_2.forEach(function (item) { return item.reset(); });
1361
- item.children.replace(rows_2);
1387
+ var rows_3 = item.children.concat().sort(function (a, b) { return a.index - b.index; });
1388
+ rows_3.forEach(function (item) { return item.reset(); });
1389
+ item.children.replace(rows_3);
1362
1390
  }
1363
1391
  });
1364
1392
  rows.forEach(function (item) { return item.reset(); });
@@ -1400,13 +1428,21 @@ var TableStore = iRenderer.iRendererStore
1400
1428
  */
1401
1429
  function persistSaveToggledColumns() {
1402
1430
  var key = self.columnsKey;
1431
+ var toggledColumns = self.activeToggaleColumns;
1432
+ var activedSearchableColumns = self.activedSearchableColumns;
1403
1433
  localStorage.setItem(key, JSON.stringify({
1404
- // 可显示列index
1405
- toggledColumnIndex: self.activeToggaleColumns.map(function (item) { return item.index; }),
1434
+ // 记录隐藏的字段,因为默认不设置是显示的,设置了隐藏才需要记录,这样新出来的字段才会默认显示
1435
+ unToggledColumns: self.columnsData
1436
+ .filter(function (item) { return !toggledColumns.includes(item); })
1437
+ .map(function (item) { return item.columnKey; }),
1406
1438
  // 列排序,name,label可能不存在
1407
- columnOrder: self.columnsData.map(function (item) { return item.name || item.label || item.rawIndex; }),
1408
- // 已激活的可查询列
1409
- enabledSearchableColumn: self.activedSearchableColumns.map(function (item) { return item.name; })
1439
+ columnOrder: self.columnsData.map(function (item) { return item.columnKey; }),
1440
+ // 同理只记录不启用的,因为默认是启用的
1441
+ disabledSearchableColumn: self.columnsData
1442
+ .filter(function (item) {
1443
+ return item.searchable && !activedSearchableColumns.includes(item);
1444
+ })
1445
+ .map(function (item) { return item.columnKey; })
1410
1446
  }));
1411
1447
  }
1412
1448
  function addForm(form, rowIndex) {
@@ -1441,14 +1477,6 @@ var TableStore = iRenderer.iRendererStore
1441
1477
  }
1442
1478
  }
1443
1479
  }
1444
- function getPersistDataKey(columns) {
1445
- // 这里的columns使用除了__开头的所有列
1446
- return (location.pathname +
1447
- self.path +
1448
- // 不能 sort 因为原始列的顺序设计器是可能改变的,此时如果缓存了打开会失效
1449
- // 还是缓存的顺序,不符合用户调整列顺序的预期
1450
- columns.map(function (item, index) { return item.name || item.label || index; }).join('-'));
1451
- }
1452
1480
  function setSearchFormExpanded(value) {
1453
1481
  self.searchFormExpanded = !!value;
1454
1482
  }
@@ -1498,16 +1526,18 @@ var TableStore = iRenderer.iRendererStore
1498
1526
  var key = self.columnsKey;
1499
1527
  var data = localStorage.getItem(key);
1500
1528
  if (data) {
1501
- var tableMetaData_1 = JSON.parse(data);
1502
- var toggledColumns_1 = object.isObject(tableMetaData_1)
1503
- ? tableMetaData_1 === null || tableMetaData_1 === void 0 ? void 0 : tableMetaData_1.toggledColumnIndex
1504
- : tableMetaData_1; // 兼容之前的类型
1529
+ var tableMetaData = JSON.parse(data);
1530
+ var unToggledColumns_1 = Array.isArray(tableMetaData.unToggledColumns)
1531
+ ? tableMetaData.unToggledColumns
1532
+ : [];
1533
+ var disabledSearchableColumn_1 = Array.isArray(tableMetaData.disabledSearchableColumn)
1534
+ ? tableMetaData.disabledSearchableColumn
1535
+ : [];
1505
1536
  self.toggableColumns.forEach(function (item) {
1506
- return item.setToggled(!!~toggledColumns_1.indexOf(item.index));
1537
+ return item.setToggled(!unToggledColumns_1.includes(item.columnKey));
1507
1538
  });
1508
1539
  self.searchableColumns.forEach(function (item) {
1509
- var _a;
1510
- item.setEnableSearch(!!~((_a = tableMetaData_1 === null || tableMetaData_1 === void 0 ? void 0 : tableMetaData_1.enabledSearchableColumn) !== null && _a !== void 0 ? _a : []).indexOf(item.name));
1540
+ item.setEnableSearch(!disabledSearchableColumn_1.includes(item.columnKey), true);
1511
1541
  });
1512
1542
  }
1513
1543
  }, 200);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -395,11 +395,18 @@ function debug(cat, msg, ext) {
395
395
  console.groupCollapsed('[amis debug]', msg);
396
396
  console.debug(ext);
397
397
  console.groupEnd();
398
+ var extStr = '';
399
+ try {
400
+ extStr = JSON.stringify(ext);
401
+ }
402
+ catch (e) {
403
+ console.error(e);
404
+ }
398
405
  var log = {
399
406
  cat: cat,
400
407
  level: 'debug',
401
408
  msg: msg,
402
- ext: JSON.stringify(ext)
409
+ ext: extStr
403
410
  };
404
411
  store.logs.push(log);
405
412
  }
@@ -412,11 +419,18 @@ function warning(cat, msg, ext) {
412
419
  if (!isEnabled) {
413
420
  return;
414
421
  }
422
+ var extStr = '';
423
+ try {
424
+ extStr = JSON.stringify(ext);
425
+ }
426
+ catch (e) {
427
+ console.error(e);
428
+ }
415
429
  var log = {
416
430
  cat: cat,
417
431
  level: 'warn',
418
432
  msg: msg,
419
- ext: JSON.stringify(ext)
433
+ ext: extStr
420
434
  };
421
435
  console.groupCollapsed('amis debug', msg);
422
436
  console.trace(log);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -16,6 +16,7 @@ require('tslib');
16
16
  require('moment');
17
17
  require('lodash/isPlainObject');
18
18
  var getVariable = require('./getVariable.js');
19
+ require('./memoryParse.js');
19
20
  require('@rc-component/mini-decimal');
20
21
  var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
21
22
  require('./filter.js');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -8,6 +8,7 @@ import { cloneObject, createObject, deleteVariable, extendObject, isObject, setV
8
8
  import { string2regExp } from './string2regExp';
9
9
  import { getVariable } from './getVariable';
10
10
  import { keyToPath } from './keyToPath';
11
+ import type { IStatusStore } from '../store/status';
11
12
  export { createObject, cloneObject, isObject, string2regExp, getVariable, setVariable, deleteVariable, keyToPath, extendObject };
12
13
  export declare function preventDefault(event: TouchEvent | Event): void;
13
14
  export declare function isMobile(): any;
@@ -52,11 +53,13 @@ export declare function hasVisibleExpression(schema: {
52
53
  hidden?: boolean;
53
54
  }): boolean;
54
55
  export declare function isVisible(schema: {
56
+ id?: string;
57
+ name?: string;
55
58
  visibleOn?: string;
56
59
  hiddenOn?: string;
57
60
  visible?: boolean;
58
61
  hidden?: boolean;
59
- }, data?: object): boolean;
62
+ }, data?: object, statusStore?: IStatusStore): any;
60
63
  export declare function isUnfolded(node: any, config: {
61
64
  foldedField?: string;
62
65
  unfoldedField?: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -28,11 +28,13 @@ var isPureVariable = require('./isPureVariable.js');
28
28
  require('@rc-component/mini-decimal');
29
29
  var resolveVariable = require('./resolveVariable.js');
30
30
  var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
31
+ require('./memoryParse.js');
31
32
  require('./filter.js');
32
33
  var string2regExp = require('./string2regExp.js');
33
34
  var getVariable = require('./getVariable.js');
34
35
  var keyToPath = require('./keyToPath.js');
35
36
  var formula = require('./formula.js');
37
+ var mobxStateTree = require('mobx-state-tree');
36
38
 
37
39
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
38
40
 
@@ -296,7 +298,19 @@ function makeColumnClassBuild(steps, classNameTpl) {
296
298
  function hasVisibleExpression(schema) {
297
299
  return !!(schema.visibleOn || schema.hiddenOn);
298
300
  }
299
- function isVisible(schema, data) {
301
+ function isVisible(schema, data, statusStore) {
302
+ var _a;
303
+ // 有状态时,状态优先
304
+ if ((schema.id || schema.name) && statusStore) {
305
+ var id = tpl.filter(schema.id, data);
306
+ var name_1 = tpl.filter(schema.name, data);
307
+ var visible = mobxStateTree.isAlive(statusStore)
308
+ ? (_a = statusStore.visibleState[id]) !== null && _a !== void 0 ? _a : statusStore.visibleState[name_1]
309
+ : undefined;
310
+ if (typeof visible !== 'undefined') {
311
+ return visible;
312
+ }
313
+ }
300
314
  return !(schema.hidden ||
301
315
  schema.visible === false ||
302
316
  (schema.hiddenOn &&
@@ -428,7 +442,9 @@ function difference(object$1, base, keepProps) {
428
442
  result_1[key] = a;
429
443
  }
430
444
  // isEquals 里面没有处理好递归引用对象的情况
431
- if (!isObjectShallowModified(a, b, true, undefined, undefined, 10)) {
445
+ if (object$1.hasOwnProperty(key) && // 其中一个不是自己的属性,就不要比对了
446
+ base.hasOwnProperty(key) &&
447
+ !isObjectShallowModified(a, b, true, undefined, undefined, 10)) {
432
448
  return;
433
449
  }
434
450
  if (!object$1.hasOwnProperty(key)) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5