amis 1.4.2-beta.13 → 1.4.2-beta.15

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 (128) hide show
  1. package/lib/Schema.d.ts +4 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/AssociatedSelection.js +2 -2
  4. package/lib/components/AssociatedSelection.js.map +2 -2
  5. package/lib/components/Checkbox.d.ts +20 -20
  6. package/lib/components/Collapse.d.ts +51 -23
  7. package/lib/components/Collapse.js +69 -11
  8. package/lib/components/Collapse.js.map +2 -2
  9. package/lib/components/CollapseGroup.d.ts +88 -0
  10. package/lib/components/CollapseGroup.js +81 -0
  11. package/lib/components/CollapseGroup.js.map +13 -0
  12. package/lib/components/Editor.d.ts +84 -84
  13. package/lib/components/GridNav.d.ts +52 -0
  14. package/lib/components/GridNav.js +123 -0
  15. package/lib/components/GridNav.js.map +13 -0
  16. package/lib/components/ListGroup.d.ts +21 -21
  17. package/lib/components/Tabs.d.ts +20 -20
  18. package/lib/components/TabsTransfer.d.ts +84 -84
  19. package/lib/components/Toast.d.ts +86 -85
  20. package/lib/components/Toast.js +6 -3
  21. package/lib/components/Toast.js.map +2 -2
  22. package/lib/components/Transfer.d.ts +84 -84
  23. package/lib/components/TransferDropDown.d.ts +84 -84
  24. package/lib/components/Tree.d.ts +115 -84
  25. package/lib/components/Tree.js +183 -30
  26. package/lib/components/Tree.js.map +2 -2
  27. package/lib/envOverwrite.d.ts +1 -1
  28. package/lib/envOverwrite.js +24 -9
  29. package/lib/envOverwrite.js.map +2 -2
  30. package/lib/factory.d.ts +11 -1
  31. package/lib/factory.js +31 -4
  32. package/lib/factory.js.map +2 -2
  33. package/lib/icons/drag-bar.js +10 -3
  34. package/lib/index.d.ts +2 -0
  35. package/lib/index.js +3 -1
  36. package/lib/index.js.map +2 -2
  37. package/lib/renderers/Collapse.d.ts +25 -20
  38. package/lib/renderers/Collapse.js +10 -73
  39. package/lib/renderers/Collapse.js.map +2 -2
  40. package/lib/renderers/CollapseGroup.d.ts +42 -0
  41. package/lib/renderers/CollapseGroup.js +33 -0
  42. package/lib/renderers/CollapseGroup.js.map +13 -0
  43. package/lib/renderers/Form/InputCity.d.ts +84 -84
  44. package/lib/renderers/Form/Item.js +2 -1
  45. package/lib/renderers/Form/Item.js.map +2 -2
  46. package/lib/renderers/GridNav.d.ts +99 -0
  47. package/lib/renderers/GridNav.js +82 -0
  48. package/lib/renderers/GridNav.js.map +13 -0
  49. package/lib/store/formItem.js +44 -4
  50. package/lib/store/formItem.js.map +2 -2
  51. package/lib/themes/ang-ie11.css +194 -27
  52. package/lib/themes/ang.css +194 -27
  53. package/lib/themes/ang.css.map +1 -1
  54. package/lib/themes/antd-ie11.css +194 -27
  55. package/lib/themes/antd.css +194 -27
  56. package/lib/themes/antd.css.map +1 -1
  57. package/lib/themes/cxd-ie11.css +201 -34
  58. package/lib/themes/cxd.css +201 -34
  59. package/lib/themes/cxd.css.map +1 -1
  60. package/lib/themes/dark-ie11.css +194 -27
  61. package/lib/themes/dark.css +194 -27
  62. package/lib/themes/dark.css.map +1 -1
  63. package/lib/themes/default.css +201 -34
  64. package/lib/themes/default.css.map +1 -1
  65. package/lib/types.d.ts +1 -1
  66. package/lib/types.js.map +1 -1
  67. package/lib/utils/api.d.ts +1 -0
  68. package/lib/utils/api.js +77 -6
  69. package/lib/utils/api.js.map +2 -2
  70. package/lib/utils/helper.d.ts +6 -0
  71. package/lib/utils/helper.js +18 -1
  72. package/lib/utils/helper.js.map +2 -2
  73. package/package.json +1 -1
  74. package/schema.json +242 -34
  75. package/scss/components/_anchor-nav.scss +1 -0
  76. package/scss/components/_collapse-group.scss +11 -0
  77. package/scss/components/_collapse.scss +33 -22
  78. package/scss/components/_grid-nav.scss +128 -0
  79. package/scss/components/_nav.scss +1 -1
  80. package/scss/components/_spinner.scss +5 -4
  81. package/scss/components/_table.scss +6 -0
  82. package/scss/components/form/_combo.scss +4 -0
  83. package/scss/components/form/_tree.scss +42 -0
  84. package/scss/themes/_common.scss +2 -0
  85. package/scss/themes/_cxd-variables.scss +6 -7
  86. package/scss/themes/cxd.scss +1 -0
  87. package/sdk/ang-ie11.css +227 -28
  88. package/sdk/ang.css +227 -27
  89. package/sdk/antd-ie11.css +227 -28
  90. package/sdk/antd.css +227 -27
  91. package/sdk/charts.js +13 -13
  92. package/sdk/color-picker.js +65 -65
  93. package/sdk/cropperjs.js +2 -2
  94. package/sdk/cxd-ie11.css +233 -32
  95. package/sdk/cxd.css +234 -34
  96. package/sdk/dark-ie11.css +227 -28
  97. package/sdk/dark.css +227 -27
  98. package/sdk/exceljs.js +1 -1
  99. package/sdk/markdown.js +69 -69
  100. package/sdk/papaparse.js +1 -1
  101. package/sdk/renderers/Form/CityDB.js +1 -1
  102. package/sdk/rest.js +18 -18
  103. package/sdk/rich-text.js +62 -62
  104. package/sdk/sdk-ie11.css +233 -32
  105. package/sdk/sdk.css +234 -34
  106. package/sdk/sdk.js +1179 -1145
  107. package/sdk/thirds/hls.js/hls.js +1 -1
  108. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  109. package/sdk/tinymce.js +57 -57
  110. package/src/Schema.ts +5 -1
  111. package/src/components/AssociatedSelection.tsx +3 -1
  112. package/src/components/Collapse.tsx +144 -20
  113. package/src/components/CollapseGroup.tsx +130 -0
  114. package/src/components/GridNav.tsx +233 -0
  115. package/src/components/Toast.tsx +23 -16
  116. package/src/components/Tree.tsx +194 -8
  117. package/src/envOverwrite.ts +20 -7
  118. package/src/factory.tsx +52 -6
  119. package/src/icons/drag-bar.svg +12 -6
  120. package/src/index.tsx +2 -0
  121. package/src/renderers/Collapse.tsx +70 -117
  122. package/src/renderers/CollapseGroup.tsx +80 -0
  123. package/src/renderers/GridNav.tsx +204 -0
  124. package/src/store/formItem.ts +94 -2
  125. package/src/types.ts +1 -1
  126. package/src/utils/api.ts +93 -6
  127. package/src/utils/helper.ts +19 -0
  128. package/tsconfig-for-declaration.json +1 -1
package/lib/factory.d.ts CHANGED
@@ -70,11 +70,21 @@ export interface RenderOptions {
70
70
  affixOffsetTop?: number;
71
71
  affixOffsetBottom?: number;
72
72
  richTextToken?: string;
73
+ /**
74
+ * 替换文本,用于实现 URL 替换、语言替换等
75
+ */
76
+ replaceText?: {
77
+ [propName: string]: any;
78
+ };
79
+ /**
80
+ * 文本替换的黑名单,因为属性太多了所以改成黑名单的 fangs
81
+ */
82
+ replaceTextIgnoreKeys?: String[];
73
83
  [propName: string]: any;
74
84
  }
75
85
  export interface fetcherConfig {
76
86
  url: string;
77
- method?: 'get' | 'post' | 'put' | 'patch' | 'delete';
87
+ method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';
78
88
  data?: any;
79
89
  config?: any;
80
90
  }
package/lib/factory.js CHANGED
@@ -20,6 +20,7 @@ var Root_1 = (0, tslib_1.__importDefault)(require("./Root"));
20
20
  var WithStore_1 = require("./WithStore");
21
21
  var env_1 = require("./env");
22
22
  Object.defineProperty(exports, "RendererEnv", { enumerable: true, get: function () { return env_1.RendererEnv; } });
23
+ var envOverwrite_1 = require("./envOverwrite");
23
24
  var renderers = [];
24
25
  var rendererNames = [];
25
26
  var schemaFilters = [];
@@ -131,16 +132,16 @@ var defaultOptions = {
131
132
  }
132
133
  },
133
134
  isCancel: function () {
134
- console.error('Please implements this. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
135
+ console.error('Please implement isCancel. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
135
136
  return false;
136
137
  },
137
138
  updateLocation: function () {
138
- console.error('Please implements this. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
139
+ console.error('Please implement updateLocation. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
139
140
  },
140
141
  alert: Alert_1.alert,
141
142
  confirm: Alert_1.confirm,
142
143
  notify: function (type, msg, conf) {
143
- return Toast_1.toast[type] ? Toast_1.toast[type](msg) : console.warn('[Notify]', type, msg);
144
+ return Toast_1.toast[type] ? Toast_1.toast[type](msg, conf) : console.warn('[Notify]', type, msg);
144
145
  },
145
146
  jumpTo: function (to, action) {
146
147
  if (to === 'goBack') {
@@ -189,7 +190,15 @@ var defaultOptions = {
189
190
  },
190
191
  // 用于跟踪用户在界面中的各种操作
191
192
  tracker: function (eventTrack, props) { },
192
- rendererResolver: resolveRenderer
193
+ rendererResolver: resolveRenderer,
194
+ replaceTextIgnoreKeys: [
195
+ 'type',
196
+ 'name',
197
+ 'mode',
198
+ 'target',
199
+ 'reload',
200
+ 'persistData'
201
+ ]
193
202
  };
194
203
  var stores = {};
195
204
  function render(schema, props, options, pathPrefix) {
@@ -204,6 +213,8 @@ function render(schema, props, options, pathPrefix) {
204
213
  locale = locale === 'cn' ? 'zh-CN' : locale;
205
214
  var translate = props.translate || (0, locale_1.makeTranslator)(locale);
206
215
  var store = stores[options.session || 'global'];
216
+ // 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
217
+ (0, envOverwrite_1.envOverwrite)(schema, locale);
207
218
  if (!store) {
208
219
  options = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, defaultOptions), options), { fetcher: options.fetcher
209
220
  ? (0, api_1.wrapFetcher)(options.fetcher, options.tracker)
@@ -222,6 +233,22 @@ function render(schema, props, options, pathPrefix) {
222
233
  env.translate = translate;
223
234
  env.locale = locale;
224
235
  }
236
+ // 进行文本替换
237
+ if (env.replaceText && (0, helper_1.isObject)(env.replaceText)) {
238
+ var replaceKeys_1 = Object.keys(env.replaceText);
239
+ replaceKeys_1.sort().reverse(); // 避免用户将短的放前面
240
+ var replaceTextIgnoreKeys_1 = new Set(env.replaceTextIgnoreKeys || []);
241
+ (0, helper_1.JSONTraverse)(schema, function (value, key, object) {
242
+ if (typeof value === 'string' && !replaceTextIgnoreKeys_1.has(key)) {
243
+ for (var _i = 0, replaceKeys_2 = replaceKeys_1; _i < replaceKeys_2.length; _i++) {
244
+ var replaceKey = replaceKeys_2[_i];
245
+ if (~value.indexOf(replaceKey)) {
246
+ object[key] = value.replaceAll(replaceKey, env.replaceText[replaceKey]);
247
+ }
248
+ }
249
+ }
250
+ });
251
+ }
225
252
  return (react_1.default.createElement(env_1.EnvContext.Provider, { value: env },
226
253
  react_1.default.createElement(Root_1.default, (0, tslib_1.__assign)({}, props, { schema: schema, pathPrefix: pathPrefix, rootStore: store, env: env, theme: theme, locale: locale, translate: translate }))));
227
254
  }
@@ -6,8 +6,8 @@
6
6
  "/src/factory.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,uCAA6E;AAC7E,mDAAgD;AAChD,mCAAwC;AACxC,uDAAoD;AACpD,yCAA4E;AAW5E,yCAAoC;AACpC,iEAA8B;AAC9B,iCAA4D;AAC5D,kEAA+B;AAC/B,4EAAwC;AACxC,4CAAyC;AACzC,4CAAqE;AACrE,mCAAuE;AACvE,6DAA2D;AAC3D,yCAA4C;AAC5C,6BAA8C;AAigBtC,4FAjgBY,iBAAW,OAigBZ;AAhZnB,IAAM,SAAS,GAA0B,EAAE,CAAC;AAC5C,IAAM,aAAa,GAAkB,EAAE,CAAC;AACxC,IAAM,aAAa,GAA8B,EAAE,CAAC;AACpD,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,SAAgB,eAAe,CAAC,EAAsB;IACpD,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAFD,0CAEC;AAED,SAAgB,YAAY,CAC1B,MAAc,EACd,MAAsB,EACtB,KAAW;IAEX,OAAO,aAAa,CAAC,MAAM,CACzB,UAAC,MAAM,EAAE,MAAM,IAAK,OAAA,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAA7B,CAA6B,EACjD,MAAM,CACG,CAAC;AACd,CAAC;AATD,oCASC;AAED,SAAgB,QAAQ,CAAC,MAA2B;IAClD,OAAO,UAAuC,SAAY;QACxD,IAAM,QAAQ,GAAG,gBAAgB,iDAC5B,MAAM,KACT,SAAS,EAAE,SAAS,IACpB,CAAC;QACH,OAAO,QAAQ,CAAC,SAAc,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AARD,4BAQC;AAED,SAAgB,gBAAgB,CAAC,MAAsB;IACrD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAChC,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;KAC9D;SAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QAC5B,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;KACrD;IAED,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;QAClD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI;YACT,MAAM,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,UAAS,IAAA,sBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,MAAG,EAAE,GAAG,CAAC,CAAC;KAC1E;IAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IACnC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,eAAa,cAAc,EAAI,CAAC;IAE5E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CACb,8BAA2B,MAAM,CAAC,IAAI,oDAAgD,CACvF,CAAC;KACH;IAED,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE;QACxC,MAAM,CAAC,SAAS,GAAG,IAAA,2BAAe,EAAC;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,gBAAgB;YACpC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;SAClD,CAAC,CAAC,IAAA,qBAAQ,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;KAChC;IAED,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,MAAM,CAAC,SAAS,GAAG,IAAA,gBAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC7C;IAED,IAAM,GAAG,GAAG,IAAA,kBAAS,EACnB,SAAS,EACT,UAAA,IAAI,IAAI,OAAC,MAAM,CAAC,MAAiB,GAAG,IAAI,CAAC,MAAM,EAAvC,CAAuC,CAChD,CAAC;IACF,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC;AA1CD,4CA0CC;AAED,SAAgB,kBAAkB,CAAC,MAA+B;IAChE,IAAI,GAAG,GACL,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,IAAA,kBAAS,EAAC,SAAS,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,MAAM,EAApB,CAAoB,CAAC;QACpD,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,IAAI,GACN,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,MAAM,EAAf,CAAe,CAAC;QACnD,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,YAAY;IACZ,KAAK,GAAG,EAAE,CAAC;AACb,CAAC;AAfD,gDAeC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,IAAY;IACvD,OAAO,CACL,8BAAC,gBAAK,IAAC,KAAK,EAAC,QAAQ;QACnB,yGAAuB;QACvB;;YAAU,IAAI,CAAK;QACnB;YACE,4CAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAQ,CAC1C,CACA,CACT,CAAC;AACJ,CAAC;AAVD,oCAUC;AAED,IAAM,cAAc,GAAkB;IACpC,OAAO,EAAE,QAAQ;IACjB,cAAc,EAAE,CAAC;IACjB,iBAAiB,EAAE,CAAC;IACpB,aAAa,EAAE,EAAE;IACjB,YAAY,cAAA;IACZ,OAAO;QACL,OAAO,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IACD,uBAAuB;IACvB,SAAS,YAAC,EAAE,EAAE,SAAS,EAAE,OAAO;QAC9B,IAAI,EAAE,EAAE;YACN,IAAM,QAAM,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACrC,QAAM,CAAC,MAAM,GAAG,UAAA,KAAK;gBACnB,IAAI,EAAE,CAAC,IAAI,EAAE;oBACX,QAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;iBACtC;YACH,CAAC,CAAC;YACF,QAAM,CAAC,SAAS,GAAG,UAAA,KAAK;gBACtB,IAAI,KAAK,CAAC,IAAI,EAAE;oBACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnC;YACH,CAAC,CAAC;YACF,QAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,OAAO;gBACL,KAAK,EAAE,QAAM,CAAC,KAAK;aACpB,CAAC;SACH;aAAM;YACL,OAAO;gBACL,KAAK,EAAE,cAAO,CAAC;aAChB,CAAC;SACH;IACH,CAAC;IACD,QAAQ;QACN,OAAO,CAAC,KAAK,CACX,yHAAyH,CAC1H,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc;QACZ,OAAO,CAAC,KAAK,CACX,yHAAyH,CAC1H,CAAC;IACJ,CAAC;IACD,KAAK,eAAA;IACL,OAAO,iBAAA;IACP,MAAM,EAAE,UAAC,IAAI,EAAE,GAAG,EAAE,IAAI;QACtB,OAAA,aAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC;IAApE,CAAoE;IAEtE,MAAM,EAAE,UAAC,EAAU,EAAE,MAAY;QAC/B,IAAI,EAAE,KAAK,QAAQ,EAAE;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAC9B;QACD,EAAE,GAAG,IAAA,6BAAa,EAAC,EAAE,CAAC,CAAC;QACvB,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE;YACzC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO;SACR;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC3B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC7B;aAAM;YACL,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;SACpB;IACH,CAAC;IACD,YAAY,EAAE,UAAC,EAAU;QACvB,IAAI,CAAC,EAAE,EAAE;YACP,OAAO,KAAK,CAAC;SACd;QAED,IAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,EAAE,CAAC,CAAC;QAC/B,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE;YACR,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC9B;QACD,IAAI,MAAM,EAAE;YACV,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACtD,OAAO,KAAK,CAAC;aACd;YACD,IAAM,OAAK,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAM,cAAY,GAAG,IAAA,gBAAO,EAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAK,CAAC,GAAG,CAAC,KAAK,cAAY,CAAC,GAAG,CAAC,EAAhC,CAAgC,CAAC,CAAC;SAC1E;aAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAJ,UAAK,QAAgB;QACnB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,kBAAkB;IAClB,OAAO,EAAP,UAAQ,UAAsB,EAAE,KAAkB,IAAG,CAAC;IACtD,gBAAgB,EAAE,eAAe;CAClC,CAAC;AACF,IAAI,MAAM,GAEN,EAAE,CAAC;AACP,SAAgB,MAAM,CACpB,MAAc,EACd,KAA2B,EAC3B,OAA2B,EAC3B,UAAuB;IAFvB,sBAAA,EAAA,UAA2B;IAC3B,wBAAA,EAAA,YAA2B;IAC3B,2BAAA,EAAA,eAAuB;IAEvB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAA,yBAAgB,GAAE,CAAC;IAChD,kBAAkB;IAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;IAEhD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,GAAG,sEACL,cAAc,GACd,OAAO,KACV,OAAO,EAAE,OAAO,CAAC,OAAO;gBACtB,CAAC,CAAC,IAAA,iBAAW,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBAC/C,CAAC,CAAC,cAAc,CAAC,OAAO,EAC1B,OAAO,EAAE,IAAA,kBAAS,EAChB,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAC5D,EACD,MAAM,QAAA,EACN,SAAS,WAAA,GACH,CAAC;QAET,KAAK,GAAG,qBAAa,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,KAAK,CAAC;KAC7C;IAEA,MAAc,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,cAAc;IACjD,IAAM,GAAG,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,CAAC;IAE1B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,KAAK,GAAG,KAAK,CAAC;KACf;IACD,GAAG,CAAC,KAAK,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;QAC9B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;KACrB;IAED,OAAO,CACL,8BAAC,gBAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG;QAC7B,8BAAC,cAAkB,4BACb,KAAK,IACT,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,KAAK,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,IACpB,CACkB,CACvB,CAAC;AACJ,CAAC;AA7DD,wBA6DC;AAED,iCAAiC;AACjC,kBAAkB;AAClB,SAAgB,gBAAgB,CAC9B,QAAsD;IAAtD,yBAAA,EAAA,WAAmC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IAEtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC5B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;KACvB;IAED,QAAQ,CAAC,OAAO,CAAC,UAAA,GAAG;QAClB,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1B,aAAa;QACb,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,IAAA,yBAAO,EAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,4CAeC;AAED,eAAe;AACf,2BAA2B;AAC3B,sCAAsC;AACtC,SAAgB,SAAS,CAAC,OAA+B,EAAE,OAAkB;IAAlB,wBAAA,EAAA,kBAAkB;IAC3E,OAAO,6BACF,OAAO,CACX,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,EAAE;QACnB,OAAO,CAAC,OAAO,GAAG,IAAA,iBAAW,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAQ,CAAC;KACxE;IAED,IAAI,OAAO,CAAC,OAAO,EAAE;QACnB,OAAO,CAAC,OAAO,GAAG,IAAA,kBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC9C;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,qBAAa,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC;KAC5C;SAAM;QACL,IAAM,GAAG,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KAC7B;AACH,CAAC;AArBD,8BAqBC;AAED,IAAI,KAAK,GAAyC,EAAE,CAAC;AACrD,SAAgB,eAAe,CAC7B,IAAY,EACZ,MAAe;IAEf,IAAM,IAAI,GAAG,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9E,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;KACpB;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;KACpB;SAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACnC;IAED,IAAI,QAAQ,GAA0B,IAAI,CAAC;IAE3C,SAAS,CAAC,IAAI,CAAC,UAAA,IAAI;QACjB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,mCAAmC;QACnC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;YAE7B,sCAAsC;YACtC,IAAI,OAAO,EAAE;gBACX,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;aACpB;SACF;aAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC1C,uCAAuC;YACvC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;SACpD;aAAM,IAAI,IAAI,CAAC,IAAI,YAAY,MAAM,EAAE;YACtC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,IAAI,OAAO,EAAE;YACX,QAAQ,GAAG,IAAI,CAAC;SACjB;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,iCAAiC;IACjC,IACE,QAAQ,KAAK,IAAI;QACjB,CAAE,QAA2B,CAAC,IAAI;YAC/B,QAA2B,CAAC,IAAI,YAAY,MAAM;YACnD,CAAC,OAAQ,QAA2B,CAAC,IAAI,KAAK,UAAU;gBACpD,QAA2B,CAAC,IAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAChE;QACA,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;KACxB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAtDD,0CAsDC;AAED,SAAgB,YAAY;IAC1B,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAFD,oCAEC;AAED,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAA,cAAI,EAAC,SAAS,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,IAAI,EAAlB,CAAkB,CAAC,CAAC;AACrD,CAAC;AAFD,8CAEC;AAED,IAAA,yBAAiB,EAAC,UAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK;IAC3D,OAAO,MAAM,CACX;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,YAAY;QAClB,QAAQ,UAAA;QACR,QAAQ,EAAE;YACR,cAAc,EAAE,EAAE;SACnB;KACF,EACD;QACE,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,QAAQ;QACpB,QAAQ,UAAA;QACR,KAAK,OAAA;KACN,EACD;QACE,OAAO,EAAE,QAAQ;KAClB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {RendererStore, IRendererStore, IIRendererStore} from './store/index';\nimport {getEnv, destroy} from 'mobx-state-tree';\nimport {wrapFetcher} from './utils/api';\nimport {normalizeLink} from './utils/normalizeLink';\nimport {findIndex, promisify, qsparse, string2regExp} from './utils/helper';\nimport {\n Api,\n fetcherResult,\n Payload,\n SchemaNode,\n Schema,\n Action,\n EventTrack,\n PlainObject\n} from './types';\nimport {observer} from 'mobx-react';\nimport Scoped from './Scoped';\nimport {getTheme, ThemeInstance, ThemeProps} from './theme';\nimport find from 'lodash/find';\nimport Alert from './components/Alert2';\nimport {toast} from './components/Toast';\nimport {alert, confirm, setRenderSchemaFn} from './components/Alert';\nimport {getDefaultLocale, makeTranslator, LocaleProps} from './locale';\nimport ScopedRootRenderer, {RootRenderProps} from './Root';\nimport {HocStoreFactory} from './WithStore';\nimport {EnvContext, RendererEnv} from './env';\n\nexport interface TestFunc {\n (\n path: string,\n schema?: Schema,\n resolveRenderer?: (\n path: string,\n schema?: Schema,\n props?: any\n ) => null | RendererConfig\n ): boolean;\n}\n\nexport interface RendererBasicConfig {\n test?: RegExp | TestFunc;\n type?: string;\n name?: string;\n storeType?: string;\n shouldSyncSuperStore?: (\n store: any,\n props: any,\n prevProps: any\n ) => boolean | undefined;\n storeExtendsData?: boolean | ((props: any) => boolean); // 是否需要继承上层数据。\n weight?: number; // 权重,值越低越优先命中。\n isolateScope?: boolean;\n isFormItem?: boolean;\n // [propName:string]:any;\n}\n\nexport interface RendererProps extends ThemeProps, LocaleProps {\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n env: RendererEnv;\n $path: string; // 当前组件所在的层级信息\n $schema: any; // 原始 schema 配置\n store?: IIRendererStore;\n syncSuperStore?: boolean;\n data: {\n [propName: string]: any;\n };\n defaultData?: object;\n className?: any;\n /**\n * 是否使用移动端交互\n */\n useMobileUI?: boolean;\n [propName: string]: any;\n}\n\nexport type RendererComponent = React.ComponentType<RendererProps> & {\n propsList?: Array<any>;\n};\n\nexport interface RendererConfig extends RendererBasicConfig {\n component: RendererComponent;\n Renderer?: RendererComponent; // 原始组件\n}\n\nexport interface RenderSchemaFilter {\n (schema: Schema, renderer: RendererConfig, props?: any): Schema;\n}\n\nexport interface wsObject {\n url: string;\n body?: any;\n}\n\nexport interface RenderOptions {\n session?: string;\n fetcher?: (config: fetcherConfig) => Promise<fetcherResult>;\n wsFetcher?: (\n ws: wsObject,\n onMessage: (data: any) => void,\n onError: (error: any) => void\n ) => void;\n isCancel?: (value: any) => boolean;\n notify?: (\n type: 'error' | 'success',\n msg: string,\n conf?: {\n closeButton?: boolean;\n timeout?: number;\n }\n ) => void;\n jumpTo?: (to: string, action?: Action, ctx?: object) => void;\n alert?: (msg: string) => void;\n confirm?: (msg: string, title?: string) => boolean | Promise<boolean>;\n rendererResolver?: (\n path: string,\n schema: Schema,\n props: any\n ) => null | RendererConfig;\n copy?: (contents: string, options?: any) => void;\n getModalContainer?: () => HTMLElement;\n loadRenderer?: (\n schema: Schema,\n path: string,\n reRender: Function\n ) => Promise<React.ReactType> | React.ReactType | JSX.Element | void;\n affixOffsetTop?: number;\n affixOffsetBottom?: number;\n richTextToken?: string;\n [propName: string]: any;\n}\n\nexport interface fetcherConfig {\n url: string;\n method?: 'get' | 'post' | 'put' | 'patch' | 'delete';\n data?: any;\n config?: any;\n}\n\nconst renderers: Array<RendererConfig> = [];\nconst rendererNames: Array<string> = [];\nconst schemaFilters: Array<RenderSchemaFilter> = [];\nlet anonymousIndex = 1;\n\nexport function addSchemaFilter(fn: RenderSchemaFilter) {\n schemaFilters.push(fn);\n}\n\nexport function filterSchema(\n schema: Schema,\n render: RendererConfig,\n props?: any\n) {\n return schemaFilters.reduce(\n (schema, filter) => filter(schema, render, props),\n schema\n ) as Schema;\n}\n\nexport function Renderer(config: RendererBasicConfig) {\n return function <T extends RendererComponent>(component: T): T {\n const renderer = registerRenderer({\n ...config,\n component: component\n });\n return renderer.component as T;\n };\n}\n\nexport function registerRenderer(config: RendererConfig): RendererConfig {\n if (!config.test && !config.type) {\n throw new TypeError('please set config.test or config.type');\n } else if (!config.component) {\n throw new TypeError('config.component is required');\n }\n\n if (typeof config.type === 'string' && config.type) {\n config.type = config.type.toLowerCase();\n config.test =\n config.test || new RegExp(`(^|\\/)${string2regExp(config.type)}$`, 'i');\n }\n\n config.weight = config.weight || 0;\n config.Renderer = config.component;\n config.name = config.name || config.type || `anonymous-${anonymousIndex++}`;\n\n if (~rendererNames.indexOf(config.name)) {\n throw new Error(\n `The renderer with name \"${config.name}\" has already exists, please try another name!`\n );\n }\n\n if (config.storeType && config.component) {\n config.component = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.storeExtendsData,\n shouldSyncSuperStore: config.shouldSyncSuperStore\n })(observer(config.component));\n }\n\n if (config.isolateScope) {\n config.component = Scoped(config.component);\n }\n\n const idx = findIndex(\n renderers,\n item => (config.weight as number) < item.weight\n );\n ~idx ? renderers.splice(idx, 0, config) : renderers.push(config);\n rendererNames.push(config.name);\n return config;\n}\n\nexport function unRegisterRenderer(config: RendererConfig | string) {\n let idx =\n typeof config === 'string'\n ? findIndex(renderers, item => item.name === config)\n : renderers.indexOf(config);\n ~idx && renderers.splice(idx, 1);\n\n let idx2 =\n typeof config === 'string'\n ? findIndex(rendererNames, item => item === config)\n : rendererNames.indexOf(config.name || '');\n ~idx2 && rendererNames.splice(idx2, 1);\n\n // 清空渲染器定位缓存\n cache = {};\n}\n\nexport function loadRenderer(schema: Schema, path: string) {\n return (\n <Alert level=\"danger\">\n <p>Error: 找不到对应的渲染器</p>\n <p>Path: {path}</p>\n <pre>\n <code>{JSON.stringify(schema, null, 2)}</code>\n </pre>\n </Alert>\n );\n}\n\nconst defaultOptions: RenderOptions = {\n session: 'global',\n affixOffsetTop: 0,\n affixOffsetBottom: 0,\n richTextToken: '',\n loadRenderer,\n fetcher() {\n return Promise.reject('fetcher is required');\n },\n // 使用 WebSocket 来实时获取数据\n wsFetcher(ws, onMessage, onError) {\n if (ws) {\n const socket = new WebSocket(ws.url);\n socket.onopen = event => {\n if (ws.body) {\n socket.send(JSON.stringify(ws.body));\n }\n };\n socket.onmessage = event => {\n if (event.data) {\n onMessage(JSON.parse(event.data));\n }\n };\n socket.onerror = onError;\n return {\n close: socket.close\n };\n } else {\n return {\n close: () => {}\n };\n }\n },\n isCancel() {\n console.error(\n 'Please implements this. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97'\n );\n return false;\n },\n updateLocation() {\n console.error(\n 'Please implements this. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97'\n );\n },\n alert,\n confirm,\n notify: (type, msg, conf) =>\n toast[type] ? toast[type](msg) : console.warn('[Notify]', type, msg),\n\n jumpTo: (to: string, action?: any) => {\n if (to === 'goBack') {\n return window.history.back();\n }\n to = normalizeLink(to);\n if (action && action.actionType === 'url') {\n action.blank === false ? (window.location.href = to) : window.open(to);\n return;\n }\n if (/^https?:\\/\\//.test(to)) {\n window.location.replace(to);\n } else {\n location.href = to;\n }\n },\n isCurrentUrl: (to: string) => {\n if (!to) {\n return false;\n }\n\n const link = normalizeLink(to);\n const location = window.location;\n let pathname = link;\n let search = '';\n const idx = link.indexOf('?');\n if (~idx) {\n pathname = link.substring(0, idx);\n search = link.substring(idx);\n }\n if (search) {\n if (pathname !== location.pathname || !location.search) {\n return false;\n }\n const query = qsparse(search.substring(1));\n const currentQuery = qsparse(location.search.substring(1));\n return Object.keys(query).every(key => query[key] === currentQuery[key]);\n } else if (pathname === location.pathname) {\n return true;\n }\n return false;\n },\n copy(contents: string) {\n console.error('copy contents', contents);\n },\n // 用于跟踪用户在界面中的各种操作\n tracker(eventTrack: EventTrack, props: PlainObject) {},\n rendererResolver: resolveRenderer\n};\nlet stores: {\n [propName: string]: IRendererStore;\n} = {};\nexport function render(\n schema: Schema,\n props: RootRenderProps = {},\n options: RenderOptions = {},\n pathPrefix: string = ''\n): JSX.Element {\n let locale = props.locale || getDefaultLocale();\n // 兼容 locale 的不同写法\n locale = locale.replace('_', '-');\n locale = locale === 'en' ? 'en-US' : locale;\n locale = locale === 'zh' ? 'zh-CN' : locale;\n locale = locale === 'cn' ? 'zh-CN' : locale;\n const translate = props.translate || makeTranslator(locale);\n let store = stores[options.session || 'global'];\n\n if (!store) {\n options = {\n ...defaultOptions,\n ...options,\n fetcher: options.fetcher\n ? wrapFetcher(options.fetcher, options.tracker)\n : defaultOptions.fetcher,\n confirm: promisify(\n options.confirm || defaultOptions.confirm || window.confirm\n ),\n locale,\n translate\n } as any;\n\n store = RendererStore.create({}, options);\n stores[options.session || 'global'] = store;\n }\n\n (window as any).amisStore = store; // 为了方便 debug.\n const env = getEnv(store);\n\n let theme = props.theme || options.theme || 'cxd';\n if (theme === 'default') {\n theme = 'cxd';\n }\n env.theme = getTheme(theme);\n\n if (props.locale !== undefined) {\n env.translate = translate;\n env.locale = locale;\n }\n\n return (\n <EnvContext.Provider value={env}>\n <ScopedRootRenderer\n {...props}\n schema={schema}\n pathPrefix={pathPrefix}\n rootStore={store}\n env={env}\n theme={theme}\n locale={locale}\n translate={translate}\n />\n </EnvContext.Provider>\n );\n}\n\n// 默认 env 会被缓存,所以新传入的 env 不会替换旧的。\n// 除非先删了旧的,新的才会生效。\nexport function clearStoresCache(\n sessions: Array<string> | string = Object.keys(stores)\n) {\n if (!Array.isArray(sessions)) {\n sessions = [sessions];\n }\n\n sessions.forEach(key => {\n const store = stores[key];\n\n // @ts-ignore\n delete stores[key];\n\n store && destroy(store);\n });\n}\n\n// 当然也可以直接这样更新。\n// 主要是有时候第一次创建的时候并没有准备多少接口,\n// 可以后续补充点,比如 amis 自己实现的,prompt 里面的表单。\nexport function updateEnv(options: Partial<RenderOptions>, session = 'global') {\n options = {\n ...options\n };\n\n if (options.fetcher) {\n options.fetcher = wrapFetcher(options.fetcher, options.tracker) as any;\n }\n\n if (options.confirm) {\n options.confirm = promisify(options.confirm);\n }\n\n let store = stores[options.session || session];\n if (!store) {\n store = RendererStore.create({}, options);\n stores[options.session || session] = store;\n } else {\n const env = getEnv(store);\n Object.assign(env, options);\n }\n}\n\nlet cache: {[propName: string]: RendererConfig} = {};\nexport function resolveRenderer(\n path: string,\n schema?: Schema\n): null | RendererConfig {\n const type = typeof schema?.type == 'string' ? schema.type.toLowerCase() : '';\n\n if (type && cache[type]) {\n return cache[type];\n } else if (cache[path]) {\n return cache[path];\n } else if (path && path.length > 1024) {\n throw new Error('Path太长是不是死循环了?');\n }\n\n let renderer: null | RendererConfig = null;\n\n renderers.some(item => {\n let matched = false;\n\n // 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。\n if (item.type && type) {\n matched = item.type === type;\n\n // 如果是type来命中的,那么cache的key直接用 type 即可。\n if (matched) {\n cache[type] = item;\n }\n } else if (typeof item.test === 'function') {\n // 不应该搞得这么复杂的,让每个渲染器唯一 id,自己不晕别人用起来也不晕。\n matched = item.test(path, schema, resolveRenderer);\n } else if (item.test instanceof RegExp) {\n matched = item.test.test(path);\n }\n\n if (matched) {\n renderer = item;\n }\n\n return matched;\n });\n\n // 只能缓存纯正则表达式的后者方法中没有用到第二个参数的,\n // 因为自定义 test 函数的有可能依赖 schema 的结果\n if (\n renderer !== null &&\n ((renderer as RendererConfig).type ||\n (renderer as RendererConfig).test instanceof RegExp ||\n (typeof (renderer as RendererConfig).test === 'function' &&\n ((renderer as RendererConfig).test as Function).length < 2))\n ) {\n cache[path] = renderer;\n }\n\n return renderer;\n}\n\nexport function getRenderers() {\n return renderers.concat();\n}\n\nexport function getRendererByName(name: string) {\n return find(renderers, item => item.name === name);\n}\n\nsetRenderSchemaFn((controls, value, callback, scopeRef, theme) => {\n return render(\n {\n name: 'form',\n type: 'form',\n wrapWithPanel: false,\n mode: 'horizontal',\n controls,\n messages: {\n validateFailed: ''\n }\n },\n {\n data: value,\n onFinished: callback,\n scopeRef,\n theme\n },\n {\n session: 'prompt'\n }\n );\n});\n\nexport {RendererEnv};\n"
11
+ "import React from 'react';\nimport {RendererStore, IRendererStore, IIRendererStore} from './store/index';\nimport {getEnv, destroy} from 'mobx-state-tree';\nimport {wrapFetcher} from './utils/api';\nimport {normalizeLink} from './utils/normalizeLink';\nimport {\n findIndex,\n isObject,\n JSONTraverse,\n promisify,\n qsparse,\n string2regExp\n} from './utils/helper';\nimport {\n Api,\n fetcherResult,\n Payload,\n SchemaNode,\n Schema,\n Action,\n EventTrack,\n PlainObject\n} from './types';\nimport {observer} from 'mobx-react';\nimport Scoped from './Scoped';\nimport {getTheme, ThemeInstance, ThemeProps} from './theme';\nimport find from 'lodash/find';\nimport Alert from './components/Alert2';\nimport {toast} from './components/Toast';\nimport {alert, confirm, setRenderSchemaFn} from './components/Alert';\nimport {getDefaultLocale, makeTranslator, LocaleProps} from './locale';\nimport ScopedRootRenderer, {RootRenderProps} from './Root';\nimport {HocStoreFactory} from './WithStore';\nimport {EnvContext, RendererEnv} from './env';\nimport {envOverwrite} from './envOverwrite';\n\nexport interface TestFunc {\n (\n path: string,\n schema?: Schema,\n resolveRenderer?: (\n path: string,\n schema?: Schema,\n props?: any\n ) => null | RendererConfig\n ): boolean;\n}\n\nexport interface RendererBasicConfig {\n test?: RegExp | TestFunc;\n type?: string;\n name?: string;\n storeType?: string;\n shouldSyncSuperStore?: (\n store: any,\n props: any,\n prevProps: any\n ) => boolean | undefined;\n storeExtendsData?: boolean | ((props: any) => boolean); // 是否需要继承上层数据。\n weight?: number; // 权重,值越低越优先命中。\n isolateScope?: boolean;\n isFormItem?: boolean;\n // [propName:string]:any;\n}\n\nexport interface RendererProps extends ThemeProps, LocaleProps {\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n env: RendererEnv;\n $path: string; // 当前组件所在的层级信息\n $schema: any; // 原始 schema 配置\n store?: IIRendererStore;\n syncSuperStore?: boolean;\n data: {\n [propName: string]: any;\n };\n defaultData?: object;\n className?: any;\n /**\n * 是否使用移动端交互\n */\n useMobileUI?: boolean;\n [propName: string]: any;\n}\n\nexport type RendererComponent = React.ComponentType<RendererProps> & {\n propsList?: Array<any>;\n};\n\nexport interface RendererConfig extends RendererBasicConfig {\n component: RendererComponent;\n Renderer?: RendererComponent; // 原始组件\n}\n\nexport interface RenderSchemaFilter {\n (schema: Schema, renderer: RendererConfig, props?: any): Schema;\n}\n\nexport interface wsObject {\n url: string;\n body?: any;\n}\n\nexport interface RenderOptions {\n session?: string;\n fetcher?: (config: fetcherConfig) => Promise<fetcherResult>;\n wsFetcher?: (\n ws: wsObject,\n onMessage: (data: any) => void,\n onError: (error: any) => void\n ) => void;\n isCancel?: (value: any) => boolean;\n notify?: (\n type: 'error' | 'success',\n msg: string,\n conf?: {\n closeButton?: boolean;\n timeout?: number;\n }\n ) => void;\n jumpTo?: (to: string, action?: Action, ctx?: object) => void;\n alert?: (msg: string) => void;\n confirm?: (msg: string, title?: string) => boolean | Promise<boolean>;\n rendererResolver?: (\n path: string,\n schema: Schema,\n props: any\n ) => null | RendererConfig;\n copy?: (contents: string, options?: any) => void;\n getModalContainer?: () => HTMLElement;\n loadRenderer?: (\n schema: Schema,\n path: string,\n reRender: Function\n ) => Promise<React.ReactType> | React.ReactType | JSX.Element | void;\n affixOffsetTop?: number;\n affixOffsetBottom?: number;\n richTextToken?: string;\n /**\n * 替换文本,用于实现 URL 替换、语言替换等\n */\n replaceText?: {[propName: string]: any};\n /**\n * 文本替换的黑名单,因为属性太多了所以改成黑名单的 fangs\n */\n replaceTextIgnoreKeys?: String[];\n [propName: string]: any;\n}\n\nexport interface fetcherConfig {\n url: string;\n method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';\n data?: any;\n config?: any;\n}\n\nconst renderers: Array<RendererConfig> = [];\nconst rendererNames: Array<string> = [];\nconst schemaFilters: Array<RenderSchemaFilter> = [];\nlet anonymousIndex = 1;\n\nexport function addSchemaFilter(fn: RenderSchemaFilter) {\n schemaFilters.push(fn);\n}\n\nexport function filterSchema(\n schema: Schema,\n render: RendererConfig,\n props?: any\n) {\n return schemaFilters.reduce(\n (schema, filter) => filter(schema, render, props),\n schema\n ) as Schema;\n}\n\nexport function Renderer(config: RendererBasicConfig) {\n return function <T extends RendererComponent>(component: T): T {\n const renderer = registerRenderer({\n ...config,\n component: component\n });\n return renderer.component as T;\n };\n}\n\nexport function registerRenderer(config: RendererConfig): RendererConfig {\n if (!config.test && !config.type) {\n throw new TypeError('please set config.test or config.type');\n } else if (!config.component) {\n throw new TypeError('config.component is required');\n }\n\n if (typeof config.type === 'string' && config.type) {\n config.type = config.type.toLowerCase();\n config.test =\n config.test || new RegExp(`(^|\\/)${string2regExp(config.type)}$`, 'i');\n }\n\n config.weight = config.weight || 0;\n config.Renderer = config.component;\n config.name = config.name || config.type || `anonymous-${anonymousIndex++}`;\n\n if (~rendererNames.indexOf(config.name)) {\n throw new Error(\n `The renderer with name \"${config.name}\" has already exists, please try another name!`\n );\n }\n\n if (config.storeType && config.component) {\n config.component = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.storeExtendsData,\n shouldSyncSuperStore: config.shouldSyncSuperStore\n })(observer(config.component));\n }\n\n if (config.isolateScope) {\n config.component = Scoped(config.component);\n }\n\n const idx = findIndex(\n renderers,\n item => (config.weight as number) < item.weight\n );\n ~idx ? renderers.splice(idx, 0, config) : renderers.push(config);\n rendererNames.push(config.name);\n return config;\n}\n\nexport function unRegisterRenderer(config: RendererConfig | string) {\n let idx =\n typeof config === 'string'\n ? findIndex(renderers, item => item.name === config)\n : renderers.indexOf(config);\n ~idx && renderers.splice(idx, 1);\n\n let idx2 =\n typeof config === 'string'\n ? findIndex(rendererNames, item => item === config)\n : rendererNames.indexOf(config.name || '');\n ~idx2 && rendererNames.splice(idx2, 1);\n\n // 清空渲染器定位缓存\n cache = {};\n}\n\nexport function loadRenderer(schema: Schema, path: string) {\n return (\n <Alert level=\"danger\">\n <p>Error: 找不到对应的渲染器</p>\n <p>Path: {path}</p>\n <pre>\n <code>{JSON.stringify(schema, null, 2)}</code>\n </pre>\n </Alert>\n );\n}\n\nconst defaultOptions: RenderOptions = {\n session: 'global',\n affixOffsetTop: 0,\n affixOffsetBottom: 0,\n richTextToken: '',\n loadRenderer,\n fetcher() {\n return Promise.reject('fetcher is required');\n },\n // 使用 WebSocket 来实时获取数据\n wsFetcher(ws, onMessage, onError) {\n if (ws) {\n const socket = new WebSocket(ws.url);\n socket.onopen = event => {\n if (ws.body) {\n socket.send(JSON.stringify(ws.body));\n }\n };\n socket.onmessage = event => {\n if (event.data) {\n onMessage(JSON.parse(event.data));\n }\n };\n socket.onerror = onError;\n return {\n close: socket.close\n };\n } else {\n return {\n close: () => {}\n };\n }\n },\n isCancel() {\n console.error(\n 'Please implement isCancel. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97'\n );\n return false;\n },\n updateLocation() {\n console.error(\n 'Please implement updateLocation. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97'\n );\n },\n alert,\n confirm,\n notify: (type, msg, conf) =>\n toast[type] ? toast[type](msg, conf) : console.warn('[Notify]', type, msg),\n\n jumpTo: (to: string, action?: any) => {\n if (to === 'goBack') {\n return window.history.back();\n }\n to = normalizeLink(to);\n if (action && action.actionType === 'url') {\n action.blank === false ? (window.location.href = to) : window.open(to);\n return;\n }\n if (/^https?:\\/\\//.test(to)) {\n window.location.replace(to);\n } else {\n location.href = to;\n }\n },\n isCurrentUrl: (to: string) => {\n if (!to) {\n return false;\n }\n\n const link = normalizeLink(to);\n const location = window.location;\n let pathname = link;\n let search = '';\n const idx = link.indexOf('?');\n if (~idx) {\n pathname = link.substring(0, idx);\n search = link.substring(idx);\n }\n if (search) {\n if (pathname !== location.pathname || !location.search) {\n return false;\n }\n const query = qsparse(search.substring(1));\n const currentQuery = qsparse(location.search.substring(1));\n return Object.keys(query).every(key => query[key] === currentQuery[key]);\n } else if (pathname === location.pathname) {\n return true;\n }\n return false;\n },\n copy(contents: string) {\n console.error('copy contents', contents);\n },\n // 用于跟踪用户在界面中的各种操作\n tracker(eventTrack: EventTrack, props: PlainObject) {},\n rendererResolver: resolveRenderer,\n replaceTextIgnoreKeys: [\n 'type',\n 'name',\n 'mode',\n 'target',\n 'reload',\n 'persistData'\n ]\n};\nlet stores: {\n [propName: string]: IRendererStore;\n} = {};\nexport function render(\n schema: Schema,\n props: RootRenderProps = {},\n options: RenderOptions = {},\n pathPrefix: string = ''\n): JSX.Element {\n let locale = props.locale || getDefaultLocale();\n // 兼容 locale 的不同写法\n locale = locale.replace('_', '-');\n locale = locale === 'en' ? 'en-US' : locale;\n locale = locale === 'zh' ? 'zh-CN' : locale;\n locale = locale === 'cn' ? 'zh-CN' : locale;\n const translate = props.translate || makeTranslator(locale);\n let store = stores[options.session || 'global'];\n\n // 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations\n envOverwrite(schema, locale);\n\n if (!store) {\n options = {\n ...defaultOptions,\n ...options,\n fetcher: options.fetcher\n ? wrapFetcher(options.fetcher, options.tracker)\n : defaultOptions.fetcher,\n confirm: promisify(\n options.confirm || defaultOptions.confirm || window.confirm\n ),\n locale,\n translate\n } as any;\n\n store = RendererStore.create({}, options);\n stores[options.session || 'global'] = store;\n }\n\n (window as any).amisStore = store; // 为了方便 debug.\n const env = getEnv(store);\n\n let theme = props.theme || options.theme || 'cxd';\n if (theme === 'default') {\n theme = 'cxd';\n }\n env.theme = getTheme(theme);\n\n if (props.locale !== undefined) {\n env.translate = translate;\n env.locale = locale;\n }\n\n // 进行文本替换\n if (env.replaceText && isObject(env.replaceText)) {\n const replaceKeys = Object.keys(env.replaceText);\n replaceKeys.sort().reverse(); // 避免用户将短的放前面\n const replaceTextIgnoreKeys = new Set(env.replaceTextIgnoreKeys || []);\n JSONTraverse(schema, (value: any, key: string, object: any) => {\n if (typeof value === 'string' && !replaceTextIgnoreKeys.has(key)) {\n for (const replaceKey of replaceKeys) {\n if (~value.indexOf(replaceKey)) {\n object[key] = value.replaceAll(\n replaceKey,\n env.replaceText[replaceKey]\n );\n }\n }\n }\n });\n }\n\n return (\n <EnvContext.Provider value={env}>\n <ScopedRootRenderer\n {...props}\n schema={schema}\n pathPrefix={pathPrefix}\n rootStore={store}\n env={env}\n theme={theme}\n locale={locale}\n translate={translate}\n />\n </EnvContext.Provider>\n );\n}\n\n// 默认 env 会被缓存,所以新传入的 env 不会替换旧的。\n// 除非先删了旧的,新的才会生效。\nexport function clearStoresCache(\n sessions: Array<string> | string = Object.keys(stores)\n) {\n if (!Array.isArray(sessions)) {\n sessions = [sessions];\n }\n\n sessions.forEach(key => {\n const store = stores[key];\n\n // @ts-ignore\n delete stores[key];\n\n store && destroy(store);\n });\n}\n\n// 当然也可以直接这样更新。\n// 主要是有时候第一次创建的时候并没有准备多少接口,\n// 可以后续补充点,比如 amis 自己实现的,prompt 里面的表单。\nexport function updateEnv(options: Partial<RenderOptions>, session = 'global') {\n options = {\n ...options\n };\n\n if (options.fetcher) {\n options.fetcher = wrapFetcher(options.fetcher, options.tracker) as any;\n }\n\n if (options.confirm) {\n options.confirm = promisify(options.confirm);\n }\n\n let store = stores[options.session || session];\n if (!store) {\n store = RendererStore.create({}, options);\n stores[options.session || session] = store;\n } else {\n const env = getEnv(store);\n Object.assign(env, options);\n }\n}\n\nlet cache: {[propName: string]: RendererConfig} = {};\nexport function resolveRenderer(\n path: string,\n schema?: Schema\n): null | RendererConfig {\n const type = typeof schema?.type == 'string' ? schema.type.toLowerCase() : '';\n\n if (type && cache[type]) {\n return cache[type];\n } else if (cache[path]) {\n return cache[path];\n } else if (path && path.length > 1024) {\n throw new Error('Path太长是不是死循环了?');\n }\n\n let renderer: null | RendererConfig = null;\n\n renderers.some(item => {\n let matched = false;\n\n // 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。\n if (item.type && type) {\n matched = item.type === type;\n\n // 如果是type来命中的,那么cache的key直接用 type 即可。\n if (matched) {\n cache[type] = item;\n }\n } else if (typeof item.test === 'function') {\n // 不应该搞得这么复杂的,让每个渲染器唯一 id,自己不晕别人用起来也不晕。\n matched = item.test(path, schema, resolveRenderer);\n } else if (item.test instanceof RegExp) {\n matched = item.test.test(path);\n }\n\n if (matched) {\n renderer = item;\n }\n\n return matched;\n });\n\n // 只能缓存纯正则表达式的后者方法中没有用到第二个参数的,\n // 因为自定义 test 函数的有可能依赖 schema 的结果\n if (\n renderer !== null &&\n ((renderer as RendererConfig).type ||\n (renderer as RendererConfig).test instanceof RegExp ||\n (typeof (renderer as RendererConfig).test === 'function' &&\n ((renderer as RendererConfig).test as Function).length < 2))\n ) {\n cache[path] = renderer;\n }\n\n return renderer;\n}\n\nexport function getRenderers() {\n return renderers.concat();\n}\n\nexport function getRendererByName(name: string) {\n return find(renderers, item => item.name === name);\n}\n\nsetRenderSchemaFn((controls, value, callback, scopeRef, theme) => {\n return render(\n {\n name: 'form',\n type: 'form',\n wrapWithPanel: false,\n mode: 'horizontal',\n controls,\n messages: {\n validateFailed: ''\n }\n },\n {\n data: value,\n onFinished: callback,\n scopeRef,\n theme\n },\n {\n session: 'prompt'\n }\n );\n});\n\nexport {RendererEnv};\n"
12
12
  ]
13
13
  }
@@ -2,7 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
5
- var DragBar = function (props) { return react_1.default.createElement("svg", (0, tslib_1.__assign)({ viewBox: "0 0 428 684", className: "icon" }, props),
6
- react_1.default.createElement("g", { id: "drag-bar", fill: "currentColor", fillRule: "nonzero" },
7
- react_1.default.createElement("path", { d: "M171.333333,86 C171.333333,133.128298 133.128298,171.333333 86,171.333333 C38.8717015,171.333333 0.666667,133.128298 0.666667,86 C0.666667,38.8717015 38.8717015,0.666667 86,0.666667 C133.128298,0.666667 171.333333,38.8717015 171.333333,86 L171.333333,86 Z M86,256.666667 C38.8717015,256.666667 0.666667,294.871702 0.666667,342 C0.666667,389.128298 38.8717015,427.333333 86,427.333333 C133.128298,427.333333 171.333333,389.128298 171.333333,342 C171.333333,294.871702 133.128298,256.666667 86,256.666667 L86,256.666667 Z M86,512.666667 C38.8717015,512.666667 0.666667,550.871702 0.666667,598 C0.666667,645.128298 38.8717015,683.333333 86,683.333333 C133.128298,683.333333 171.333333,645.128298 171.333333,598 C171.333333,550.871702 133.128298,512.666667 86,512.666667 L86,512.666667 Z M342,171.333333 C389.128298,171.333333 427.333333,133.128298 427.333333,86 C427.333333,38.8717015 389.128298,0.666667 342,0.666667 C294.871702,0.666667 256.666667,38.8717015 256.666667,86 C256.666667,133.128298 294.871702,171.333333 342,171.333333 L342,171.333333 Z M342,256.666667 C294.871702,256.666667 256.666667,294.871702 256.666667,342 C256.666667,389.128298 294.871702,427.333333 342,427.333333 C389.128298,427.333333 427.333333,389.128298 427.333333,342 C427.333333,294.871702 389.128298,256.666667 342,256.666667 L342,256.666667 Z M342,512.666667 C294.871702,512.666667 256.666667,550.871702 256.666667,598 C256.666667,645.128298 294.871702,683.333333 342,683.333333 C389.128298,683.333333 427.333333,645.128298 427.333333,598 C427.333333,575.368193 418.342883,553.663326 402.339778,537.660222 C386.336674,521.657117 364.631807,512.666667 342,512.666667 L342,512.666667 Z", id: "\\u5F62\\u72B6" }))); };
5
+ var DragBar = function (props) { return react_1.default.createElement("svg", (0, tslib_1.__assign)({ viewBox: "0 0 16 16", className: "icon" }, props),
6
+ react_1.default.createElement("g", { transform: "translate(5.000000, 1.000000)", strokeWidth: 1, stroke: "currentColor" },
7
+ react_1.default.createElement("circle", { cx: 1, cy: 1, r: 1 }),
8
+ react_1.default.createElement("circle", { cx: 5, cy: 1, r: 1 }),
9
+ react_1.default.createElement("circle", { cx: 1, cy: 5, r: 1 }),
10
+ react_1.default.createElement("circle", { cx: 5, cy: 5, r: 1 }),
11
+ react_1.default.createElement("circle", { cx: 1, cy: 9, r: 1 }),
12
+ react_1.default.createElement("circle", { cx: 5, cy: 9, r: 1 }),
13
+ react_1.default.createElement("circle", { cx: 1, cy: 13, r: 1 }),
14
+ react_1.default.createElement("circle", { cx: 5, cy: 13, r: 1 }))); };
8
15
  exports.default = DragBar;
package/lib/index.d.ts CHANGED
@@ -27,6 +27,7 @@ import './renderers/Form/ButtonToolbar';
27
27
  import './renderers/Breadcrumb';
28
28
  import './renderers/DropDownButton';
29
29
  import './renderers/Collapse';
30
+ import './renderers/CollapseGroup';
30
31
  import './renderers/Color';
31
32
  import './renderers/CRUD';
32
33
  import './renderers/Pagination';
@@ -138,6 +139,7 @@ import './renderers/Markdown';
138
139
  import './renderers/TableView';
139
140
  import './renderers/Code';
140
141
  import './renderers/WebComponent';
142
+ import './renderers/GridNav';
141
143
  import Scoped, { ScopedContext } from './Scoped';
142
144
  import { FormItem, FormItemWrap, registerFormItem } from './renderers/Form/Item';
143
145
  import './compat';
package/lib/index.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerLocale = exports.setDefaultLocale = exports.getDefaultLocale = exports.classnames = exports.getClassPrefix = exports.classPrefix = exports.getTheme = exports.theme = exports.setDefaultTheme = exports.validateObject = exports.validate = exports.ScopedContext = exports.Scoped = exports.registerIcon = exports.Icon = exports.setIconVendor = exports.resolveVariableAndFilter = exports.resolveVariable = exports.relativeValueRe = exports.filterDate = exports.filterSchema = exports.resolveRenderer = exports.registerOptionsControl = exports.registerFormItem = exports.getRenderers = exports.unRegisterRenderer = exports.registerRenderer = exports.getRendererByName = exports.normalizeOptions = exports.str2rules = exports.addRule = exports.setCustomEvalExpression = exports.setCustomEvalJs = exports.evalJS = exports.evalExpression = exports.registerTplEnginer = exports.registerFilter = exports.resizeSensor = exports.utils = exports.filter = exports.buildApi = exports.wrapFetcher = exports.OptionsControl = exports.FormItemWrap = exports.FormItem = exports.RegisterStore = exports.Renderer = exports.updateEnv = exports.clearStoresCache = exports.render = void 0;
4
4
  exports.animation = exports.makeTranslator = void 0;
5
5
  var tslib_1 = require("tslib");
6
- /** @license amis v1.4.2-beta.13
6
+ /** @license amis v1.4.2-beta.15
7
7
  *
8
8
  * Copyright Baidu
9
9
  *
@@ -62,6 +62,7 @@ require("./renderers/Form/ButtonToolbar");
62
62
  require("./renderers/Breadcrumb");
63
63
  require("./renderers/DropDownButton");
64
64
  require("./renderers/Collapse");
65
+ require("./renderers/CollapseGroup");
65
66
  require("./renderers/Color");
66
67
  require("./renderers/CRUD");
67
68
  require("./renderers/Pagination");
@@ -173,6 +174,7 @@ require("./renderers/Markdown");
173
174
  require("./renderers/TableView");
174
175
  require("./renderers/Code");
175
176
  require("./renderers/WebComponent");
177
+ require("./renderers/GridNav");
176
178
  var Scoped_1 = tslib_1.__importStar(require("./Scoped"));
177
179
  exports.Scoped = Scoped_1.default;
178
180
  Object.defineProperty(exports, "ScopedContext", { enumerable: true, get: function () { return Scoped_1.ScopedContext; } });
package/lib/index.js.map CHANGED
@@ -6,8 +6,8 @@
6
6
  "/src/index.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/** @license amis v@version\n *\n * Copyright Baidu\n *\n * This source code is licensed under the Apache license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n render,\n Renderer,\n getRendererByName,\n getRenderers,\n registerRenderer,\n unRegisterRenderer,\n resolveRenderer,\n filterSchema,\n addSchemaFilter,\n clearStoresCache,\n updateEnv\n} from './factory';\nimport {wrapFetcher, buildApi} from './utils/api';\nimport {\n filter,\n registerTplEnginer,\n evalExpression,\n evalJS,\n setCustomEvalJs,\n setCustomEvalExpression\n} from './utils/tpl';\nimport * as utils from './utils/helper';\nimport {resizeSensor} from './utils/resize-sensor';\nimport {setIconVendor} from './renderers/Form/IconPickerIcons';\nimport {Icon, registerIcon} from './components/icons';\nimport {RegisterStore} from './store';\nimport {\n setDefaultLocale,\n getDefaultLocale,\n makeTranslator,\n register as registerLocale\n} from './locale';\n\nimport './locale/zh-CN';\n\nimport animation from './utils/Animation';\n\nexport * from './Schema';\n\n// 注册渲染器\nimport './renderers/Action';\nimport './renderers/Alert';\nimport './renderers/App';\nimport './renderers/Avatar';\nimport './renderers/Remark';\nimport './renderers/ButtonGroup';\nimport './renderers/Form/ButtonToolbar';\nimport './renderers/Breadcrumb';\nimport './renderers/DropDownButton';\nimport './renderers/Collapse';\nimport './renderers/Color';\nimport './renderers/CRUD';\nimport './renderers/Pagination';\nimport './renderers/Cards';\nimport './renderers/Card';\nimport './renderers/Custom';\nimport './renderers/Date';\nimport './renderers/Dialog';\nimport './renderers/Divider';\nimport './renderers/Each';\nimport './renderers/Flex';\nimport './renderers/Form/index';\nimport './renderers/Form/wrapControl';\nimport './renderers/Form/Control';\nimport './renderers/Form/Hidden';\nimport './renderers/Form/InputText';\nimport './renderers/Form/InputTag';\nimport './renderers/Form/InputNumber';\nimport './renderers/Form/Textarea';\nimport './renderers/Form/Checkboxes';\nimport './renderers/Form/Checkbox';\nimport './renderers/Form/InputCity';\nimport './renderers/Form/ChartRadios';\nimport './renderers/Form/InputRating';\nimport './renderers/Form/Switch';\nimport './renderers/Form/Radios';\nimport './renderers/Form/ListSelect';\nimport './renderers/Form/LocationPicker';\nimport './renderers/Form/Select';\nimport './renderers/Form/Static';\nimport './renderers/Form/InputDate';\nimport './renderers/Form/InputDateRange';\nimport './renderers/Form/InputRepeat';\nimport './renderers/Form/InputTree';\nimport './renderers/Form/TreeSelect';\nimport './renderers/Form/InputImage';\nimport './renderers/Form/InputFile';\nimport './renderers/Form/UUID';\nimport './renderers/Form/MatrixCheckboxes';\nimport './renderers/Form/InputMonthRange';\nimport './renderers/Form/InputQuarterRange';\nimport './renderers/Form/InputYearRange';\nimport './renderers/Form/InputRange';\nimport './renderers/Form/InputArray';\nimport './renderers/Form/Combo';\nimport './renderers/Form/ConditionBuilder';\nimport './renderers/Form/InputSubForm';\nimport './renderers/Form/InputExcel';\nimport './renderers/Form/InputRichText';\nimport './renderers/Form/Editor';\nimport './renderers/Form/DiffEditor';\nimport './renderers/Form/InputColor';\nimport './renderers/Form/ChainedSelect';\nimport './renderers/Form/NestedSelect';\nimport './renderers/Form/Transfer';\nimport './renderers/Form/TransferPicker';\nimport './renderers/Form/InputTable';\nimport './renderers/Form/Picker';\nimport './renderers/Form/IconPicker';\nimport './renderers/Form/Formula';\nimport './renderers/Form/FieldSet';\nimport './renderers/Form/TabsTransfer';\nimport './renderers/Form/TabsTransferPicker';\nimport './renderers/Form/Group';\nimport './renderers/Form/InputGroup';\nimport './renderers/Grid';\nimport './renderers/Grid2D';\nimport './renderers/HBox';\nimport './renderers/VBox';\nimport './renderers/Image';\nimport './renderers/Images';\nimport './renderers/List';\nimport './renderers/Log';\nimport './renderers/Operation';\nimport './renderers/Page';\nimport './renderers/PaginationWrapper';\nimport './renderers/Panel';\nimport './renderers/Plain';\nimport './renderers/Property';\nimport './renderers/Portlet';\nimport './renderers/Spinner';\nimport './renderers/Table/index';\nimport './renderers/Tabs';\nimport './renderers/Tpl';\nimport './renderers/Mapping';\nimport './renderers/Progress';\nimport './renderers/Status';\nimport './renderers/Json';\nimport './renderers/Link';\nimport './renderers/Wizard';\nimport './renderers/Chart';\nimport './renderers/Container';\nimport './renderers/SearchBox';\nimport './renderers/Service';\nimport './renderers/SparkLine';\nimport './renderers/Video';\nimport './renderers/Audio';\nimport './renderers/Nav';\nimport './renderers/Tasks';\nimport './renderers/Drawer';\nimport './renderers/Wrapper';\nimport './renderers/IFrame';\nimport './renderers/QRCode';\nimport './renderers/Icon';\nimport './renderers/Carousel';\nimport './renderers/AnchorNav';\nimport './renderers/Steps';\nimport './renderers/Markdown';\nimport './renderers/TableView';\nimport './renderers/Code';\nimport './renderers/WebComponent';\n\nimport Scoped, {ScopedContext} from './Scoped';\n\nimport {FormItem, FormItemWrap, registerFormItem} from './renderers/Form/Item';\n\n// 兼容旧版本用法\nimport './compat';\n\nimport './envOverwrite';\n\nimport './schemaExtend';\n\nimport './themes/ang';\nimport './themes/cxd';\nimport './themes/dark';\nimport './themes/antd';\nimport {\n registerFilter,\n filterDate,\n relativeValueRe,\n resolveVariable,\n resolveVariableAndFilter\n} from './utils/tpl-builtin';\nimport {\n addRule,\n str2rules,\n validate,\n validateObject\n} from './utils/validations';\nimport {normalizeOptions} from './components/Select';\nimport {OptionsControl, registerOptionsControl} from './renderers/Form/Options';\n\nimport {\n classnames,\n getClassPrefix,\n setDefaultTheme,\n theme,\n getTheme\n} from './theme';\nconst classPrefix = getClassPrefix();\n\nexport * from './components/index';\n\nexport {\n render,\n clearStoresCache,\n updateEnv,\n Renderer as Renderer,\n RegisterStore,\n FormItem,\n FormItemWrap,\n OptionsControl,\n wrapFetcher,\n buildApi,\n filter,\n // 其他功能类方法\n utils,\n resizeSensor,\n registerFilter,\n registerTplEnginer,\n evalExpression,\n evalJS,\n setCustomEvalJs,\n setCustomEvalExpression,\n addRule,\n str2rules,\n normalizeOptions,\n getRendererByName,\n registerRenderer,\n unRegisterRenderer,\n getRenderers,\n registerFormItem,\n registerOptionsControl,\n resolveRenderer,\n filterSchema,\n filterDate,\n relativeValueRe,\n resolveVariable,\n resolveVariableAndFilter,\n setIconVendor,\n Icon,\n registerIcon,\n Scoped,\n ScopedContext,\n validate,\n validateObject,\n setDefaultTheme,\n theme,\n getTheme,\n classPrefix,\n getClassPrefix,\n classnames,\n // 多语言相关\n getDefaultLocale,\n setDefaultLocale,\n registerLocale,\n makeTranslator,\n animation\n};\n"
11
+ "/** @license amis v@version\n *\n * Copyright Baidu\n *\n * This source code is licensed under the Apache license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n render,\n Renderer,\n getRendererByName,\n getRenderers,\n registerRenderer,\n unRegisterRenderer,\n resolveRenderer,\n filterSchema,\n addSchemaFilter,\n clearStoresCache,\n updateEnv\n} from './factory';\nimport {wrapFetcher, buildApi} from './utils/api';\nimport {\n filter,\n registerTplEnginer,\n evalExpression,\n evalJS,\n setCustomEvalJs,\n setCustomEvalExpression\n} from './utils/tpl';\nimport * as utils from './utils/helper';\nimport {resizeSensor} from './utils/resize-sensor';\nimport {setIconVendor} from './renderers/Form/IconPickerIcons';\nimport {Icon, registerIcon} from './components/icons';\nimport {RegisterStore} from './store';\nimport {\n setDefaultLocale,\n getDefaultLocale,\n makeTranslator,\n register as registerLocale\n} from './locale';\n\nimport './locale/zh-CN';\n\nimport animation from './utils/Animation';\n\nexport * from './Schema';\n\n// 注册渲染器\nimport './renderers/Action';\nimport './renderers/Alert';\nimport './renderers/App';\nimport './renderers/Avatar';\nimport './renderers/Remark';\nimport './renderers/ButtonGroup';\nimport './renderers/Form/ButtonToolbar';\nimport './renderers/Breadcrumb';\nimport './renderers/DropDownButton';\nimport './renderers/Collapse';\nimport './renderers/CollapseGroup';\nimport './renderers/Color';\nimport './renderers/CRUD';\nimport './renderers/Pagination';\nimport './renderers/Cards';\nimport './renderers/Card';\nimport './renderers/Custom';\nimport './renderers/Date';\nimport './renderers/Dialog';\nimport './renderers/Divider';\nimport './renderers/Each';\nimport './renderers/Flex';\nimport './renderers/Form/index';\nimport './renderers/Form/wrapControl';\nimport './renderers/Form/Control';\nimport './renderers/Form/Hidden';\nimport './renderers/Form/InputText';\nimport './renderers/Form/InputTag';\nimport './renderers/Form/InputNumber';\nimport './renderers/Form/Textarea';\nimport './renderers/Form/Checkboxes';\nimport './renderers/Form/Checkbox';\nimport './renderers/Form/InputCity';\nimport './renderers/Form/ChartRadios';\nimport './renderers/Form/InputRating';\nimport './renderers/Form/Switch';\nimport './renderers/Form/Radios';\nimport './renderers/Form/ListSelect';\nimport './renderers/Form/LocationPicker';\nimport './renderers/Form/Select';\nimport './renderers/Form/Static';\nimport './renderers/Form/InputDate';\nimport './renderers/Form/InputDateRange';\nimport './renderers/Form/InputRepeat';\nimport './renderers/Form/InputTree';\nimport './renderers/Form/TreeSelect';\nimport './renderers/Form/InputImage';\nimport './renderers/Form/InputFile';\nimport './renderers/Form/UUID';\nimport './renderers/Form/MatrixCheckboxes';\nimport './renderers/Form/InputMonthRange';\nimport './renderers/Form/InputQuarterRange';\nimport './renderers/Form/InputYearRange';\nimport './renderers/Form/InputRange';\nimport './renderers/Form/InputArray';\nimport './renderers/Form/Combo';\nimport './renderers/Form/ConditionBuilder';\nimport './renderers/Form/InputSubForm';\nimport './renderers/Form/InputExcel';\nimport './renderers/Form/InputRichText';\nimport './renderers/Form/Editor';\nimport './renderers/Form/DiffEditor';\nimport './renderers/Form/InputColor';\nimport './renderers/Form/ChainedSelect';\nimport './renderers/Form/NestedSelect';\nimport './renderers/Form/Transfer';\nimport './renderers/Form/TransferPicker';\nimport './renderers/Form/InputTable';\nimport './renderers/Form/Picker';\nimport './renderers/Form/IconPicker';\nimport './renderers/Form/Formula';\nimport './renderers/Form/FieldSet';\nimport './renderers/Form/TabsTransfer';\nimport './renderers/Form/TabsTransferPicker';\nimport './renderers/Form/Group';\nimport './renderers/Form/InputGroup';\nimport './renderers/Grid';\nimport './renderers/Grid2D';\nimport './renderers/HBox';\nimport './renderers/VBox';\nimport './renderers/Image';\nimport './renderers/Images';\nimport './renderers/List';\nimport './renderers/Log';\nimport './renderers/Operation';\nimport './renderers/Page';\nimport './renderers/PaginationWrapper';\nimport './renderers/Panel';\nimport './renderers/Plain';\nimport './renderers/Property';\nimport './renderers/Portlet';\nimport './renderers/Spinner';\nimport './renderers/Table/index';\nimport './renderers/Tabs';\nimport './renderers/Tpl';\nimport './renderers/Mapping';\nimport './renderers/Progress';\nimport './renderers/Status';\nimport './renderers/Json';\nimport './renderers/Link';\nimport './renderers/Wizard';\nimport './renderers/Chart';\nimport './renderers/Container';\nimport './renderers/SearchBox';\nimport './renderers/Service';\nimport './renderers/SparkLine';\nimport './renderers/Video';\nimport './renderers/Audio';\nimport './renderers/Nav';\nimport './renderers/Tasks';\nimport './renderers/Drawer';\nimport './renderers/Wrapper';\nimport './renderers/IFrame';\nimport './renderers/QRCode';\nimport './renderers/Icon';\nimport './renderers/Carousel';\nimport './renderers/AnchorNav';\nimport './renderers/Steps';\nimport './renderers/Markdown';\nimport './renderers/TableView';\nimport './renderers/Code';\nimport './renderers/WebComponent';\nimport './renderers/GridNav';\n\nimport Scoped, {ScopedContext} from './Scoped';\n\nimport {FormItem, FormItemWrap, registerFormItem} from './renderers/Form/Item';\n\n// 兼容旧版本用法\nimport './compat';\n\nimport './envOverwrite';\n\nimport './schemaExtend';\n\nimport './themes/ang';\nimport './themes/cxd';\nimport './themes/dark';\nimport './themes/antd';\nimport {\n registerFilter,\n filterDate,\n relativeValueRe,\n resolveVariable,\n resolveVariableAndFilter\n} from './utils/tpl-builtin';\nimport {\n addRule,\n str2rules,\n validate,\n validateObject\n} from './utils/validations';\nimport {normalizeOptions} from './components/Select';\nimport {OptionsControl, registerOptionsControl} from './renderers/Form/Options';\n\nimport {\n classnames,\n getClassPrefix,\n setDefaultTheme,\n theme,\n getTheme\n} from './theme';\nconst classPrefix = getClassPrefix();\n\nexport * from './components/index';\n\nexport {\n render,\n clearStoresCache,\n updateEnv,\n Renderer as Renderer,\n RegisterStore,\n FormItem,\n FormItemWrap,\n OptionsControl,\n wrapFetcher,\n buildApi,\n filter,\n // 其他功能类方法\n utils,\n resizeSensor,\n registerFilter,\n registerTplEnginer,\n evalExpression,\n evalJS,\n setCustomEvalJs,\n setCustomEvalExpression,\n addRule,\n str2rules,\n normalizeOptions,\n getRendererByName,\n registerRenderer,\n unRegisterRenderer,\n getRenderers,\n registerFormItem,\n registerOptionsControl,\n resolveRenderer,\n filterSchema,\n filterDate,\n relativeValueRe,\n resolveVariable,\n resolveVariableAndFilter,\n setIconVendor,\n Icon,\n registerIcon,\n Scoped,\n ScopedContext,\n validate,\n validateObject,\n setDefaultTheme,\n theme,\n getTheme,\n classPrefix,\n getClassPrefix,\n classnames,\n // 多语言相关\n getDefaultLocale,\n setDefaultLocale,\n registerLocale,\n makeTranslator,\n animation\n};\n"
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RendererProps } from '../factory';
3
- import { BaseSchema, SchemaClassName, SchemaCollection, SchemaTpl } from '../Schema';
3
+ import { BaseSchema, SchemaCollection, SchemaTpl, SchemaObject } from '../Schema';
4
4
  /**
5
5
  * Collapse 折叠渲染器,格式说明。
6
6
  * 文档:https://baidu.gitee.io/amis/docs/components/collapse
@@ -10,10 +10,18 @@ export interface CollapseSchema extends BaseSchema {
10
10
  * 指定为折叠器类型
11
11
  */
12
12
  type: 'collapse';
13
+ /**
14
+ * 标识
15
+ */
16
+ key?: string;
13
17
  /**
14
18
  * 标题展示位置
15
19
  */
16
- titlePosition: 'top' | 'bottom';
20
+ headerPosition?: 'top' | 'bottom';
21
+ /**
22
+ * 标题
23
+ */
24
+ header?: string | SchemaCollection;
17
25
  /**
18
26
  * 内容区域
19
27
  */
@@ -21,7 +29,11 @@ export interface CollapseSchema extends BaseSchema {
21
29
  /**
22
30
  * 配置 Body 容器 className
23
31
  */
24
- bodyClassName?: SchemaClassName;
32
+ bodyClassName?: string;
33
+ /**
34
+ * 是否禁用
35
+ */
36
+ disabled?: boolean;
25
37
  /**
26
38
  * 是否可折叠
27
39
  */
@@ -31,17 +43,21 @@ export interface CollapseSchema extends BaseSchema {
31
43
  */
32
44
  collapsed?: boolean;
33
45
  /**
34
- * 标题 CSS 类名
46
+ * 图标是否展示
35
47
  */
36
- headingClassName?: string;
48
+ showArrow?: boolean;
37
49
  /**
38
- * 标题
50
+ * 自定义切换图标
39
51
  */
40
- title?: SchemaTpl;
52
+ expandIcon?: SchemaObject;
53
+ /**
54
+ * 标题 CSS 类名
55
+ */
56
+ headingClassName?: string;
41
57
  /**
42
58
  * 收起的标题
43
59
  */
44
- collapseTitle?: SchemaTpl;
60
+ collapseHeader?: SchemaTpl;
45
61
  /**
46
62
  * 控件大小
47
63
  */
@@ -60,18 +76,7 @@ export interface CollapseProps extends RendererProps, Omit<CollapseSchema, 'type
60
76
  headingComponent?: any;
61
77
  children?: JSX.Element | ((props?: any) => JSX.Element);
62
78
  }
63
- export interface CollapseState {
64
- collapsed: boolean;
65
- }
66
- export default class Collapse extends React.Component<CollapseProps, CollapseState> {
67
- static propsList: Array<string>;
68
- static defaultProps: Partial<CollapseProps>;
69
- state: {
70
- collapsed: boolean;
71
- };
72
- constructor(props: CollapseProps);
73
- componentDidUpdate(prevProps: CollapseProps): void;
74
- toggleCollapsed(e: React.MouseEvent<HTMLElement>): void;
79
+ export default class Collapse extends React.Component<CollapseProps, {}> {
75
80
  render(): JSX.Element;
76
81
  }
77
82
  export declare class CollapseRenderer extends Collapse {
@@ -5,83 +5,20 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var factory_1 = require("../factory");
7
7
  var Collapse_1 = require("../components/Collapse");
8
- var helper_1 = require("../utils/helper");
9
8
  var Collapse = /** @class */ (function (_super) {
10
9
  (0, tslib_1.__extends)(Collapse, _super);
11
- function Collapse(props) {
12
- var _this = _super.call(this, props) || this;
13
- _this.state = {
14
- collapsed: false
15
- };
16
- _this.toggleCollapsed = _this.toggleCollapsed.bind(_this);
17
- _this.state.collapsed = !!props.collapsed;
18
- return _this;
10
+ function Collapse() {
11
+ return _super !== null && _super.apply(this, arguments) || this;
19
12
  }
20
- Collapse.prototype.componentDidUpdate = function (prevProps) {
21
- var props = this.props;
22
- if (prevProps.collapsed !== props.collapsed) {
23
- this.setState({
24
- collapsed: !!props.collapsed
25
- });
26
- }
27
- };
28
- Collapse.prototype.toggleCollapsed = function (e) {
29
- if ((0, helper_1.isClickOnInput)(e)) {
30
- return;
31
- }
32
- this.props.collapsable !== false &&
33
- this.setState({
34
- collapsed: !this.state.collapsed
35
- });
36
- };
37
13
  Collapse.prototype.render = function () {
38
- var _a;
39
- var _b = this.props, ns = _b.classPrefix, cx = _b.classnames, size = _b.size, WrapperComponent = _b.wrapperComponent, HeadingComponent = _b.headingComponent, className = _b.className, headingClassName = _b.headingClassName, children = _b.children, titlePosition = _b.titlePosition, title = _b.title, collapseTitle = _b.collapseTitle, body = _b.body, bodyClassName = _b.bodyClassName, render = _b.render, collapsable = _b.collapsable, __ = _b.translate, mountOnEnter = _b.mountOnEnter, unmountOnExit = _b.unmountOnExit;
40
- // 默认给个 title,不然没法点
41
- var finalTitle = this.state.collapsed ? title : collapseTitle || title;
42
- var dom = [
43
- finalTitle ? (react_1.default.createElement(HeadingComponent, { key: "title", onClick: this.toggleCollapsed, className: cx("Collapse-header", headingClassName) },
44
- react_1.default.createElement("div", { className: cx('Collapse-header-wrapper') },
45
- render('heading', finalTitle, { className: 'Collapse-header-tpl' }),
46
- collapsable && react_1.default.createElement("span", { className: cx('Collapse-arrow') })))) : null,
47
- react_1.default.createElement(Collapse_1.Collapse, { show: collapsable ? !this.state.collapsed : true, classnames: cx, classPrefix: ns, key: "body", mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit },
48
- react_1.default.createElement("div", { className: cx("Collapse-body", bodyClassName) }, children
49
- ? typeof children === 'function'
50
- ? children(this.props)
51
- : children
52
- : body
53
- ? render('body', body)
54
- : null))
55
- ];
56
- if (titlePosition === 'bottom') {
57
- dom.reverse();
58
- }
59
- return (react_1.default.createElement(WrapperComponent, { className: cx("Collapse", (_a = {
60
- 'is-collapsed': this.state.collapsed
61
- },
62
- _a["Collapse--" + size] = size,
63
- _a['Collapse--collapsable'] = collapsable,
64
- _a['Collapse--title-bottom'] = titlePosition === 'bottom',
65
- _a), className) }, dom));
66
- };
67
- Collapse.propsList = [
68
- 'wrapperComponent',
69
- 'headingComponent',
70
- 'bodyClassName',
71
- 'collapsed',
72
- 'headingClassName',
73
- 'title',
74
- 'mountOnEnter',
75
- 'unmountOnExit'
76
- ];
77
- Collapse.defaultProps = {
78
- titlePosition: 'top',
79
- wrapperComponent: 'div',
80
- headingComponent: 'h4',
81
- className: '',
82
- headingClassName: '',
83
- bodyClassName: '',
84
- collapsable: true
14
+ var _a = this.props, key = _a.key, id = _a.id, ns = _a.classPrefix, cx = _a.classnames, size = _a.size, wrapperComponent = _a.wrapperComponent, headingComponent = _a.headingComponent, className = _a.className, headingClassName = _a.headingClassName, children = _a.children, titlePosition = _a.titlePosition, headerPosition = _a.headerPosition, title = _a.title, collapseTitle = _a.collapseTitle, collapseHeader = _a.collapseHeader, header = _a.header, body = _a.body, bodyClassName = _a.bodyClassName, render = _a.render, collapsable = _a.collapsable, __ = _a.translate, mountOnEnter = _a.mountOnEnter, unmountOnExit = _a.unmountOnExit, showArrow = _a.showArrow, expandIcon = _a.expandIcon, disabled = _a.disabled, collapsed = _a.collapsed, propsUpdate = _a.propsUpdate, onCollapse = _a.onCollapse;
15
+ return (react_1.default.createElement(Collapse_1.Collapse, { key: key, id: id, classnames: cx, classPrefix: ns, mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit, size: size, wrapperComponent: wrapperComponent, headingComponent: headingComponent, className: className, headingClassName: headingClassName, bodyClassName: bodyClassName, headerPosition: titlePosition || headerPosition, collapsable: collapsable, collapsed: collapsed, showArrow: showArrow, disabled: disabled, propsUpdate: propsUpdate, expandIcon: expandIcon ? render('arrow-icon', expandIcon || '', { className: cx('Collapse-icon-tranform') }) : null, collapseHeader: collapseTitle || collapseHeader ? render('heading', collapseTitle || collapseHeader) : null, header: render('heading', title || header || ''), body: children
16
+ ? typeof children === 'function'
17
+ ? children(this.props)
18
+ : children
19
+ : body
20
+ ? render('body', body)
21
+ : null, onCollapse: onCollapse }));
85
22
  };
86
23
  return Collapse;
87
24
  }(react_1.default.Component));