@next-core/brick-kit 2.122.12 → 2.123.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.123.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.122.14...@next-core/brick-kit@2.123.0) (2022-07-18)
7
+
8
+
9
+ ### Features
10
+
11
+ * contract support upload type ([c4614f8](https://github.com/easyops-cn/next-core/commit/c4614f8d588bf60c243444e95780b62eb3612371))
12
+
13
+
14
+
15
+
16
+
17
+ ## [2.122.14](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.122.13...@next-core/brick-kit@2.122.14) (2022-07-15)
18
+
19
+ **Note:** Version bump only for package @next-core/brick-kit
20
+
21
+
22
+
23
+
24
+
25
+ ## [2.122.13](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.122.12...@next-core/brick-kit@2.122.13) (2022-07-15)
26
+
27
+ **Note:** Version bump only for package @next-core/brick-kit
28
+
29
+
30
+
31
+
32
+
6
33
  ## [2.122.12](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.122.11...@next-core/brick-kit@2.122.12) (2022-07-14)
7
34
 
8
35
  **Note:** Version bump only for package @next-core/brick-kit
@@ -5881,7 +5881,8 @@
5881
5881
  serviceName,
5882
5882
  responseWrapper,
5883
5883
  version,
5884
- isFileType
5884
+ isFileType,
5885
+ request
5885
5886
  } = _ref;
5886
5887
  var fileName;
5887
5888
 
@@ -5897,14 +5898,16 @@
5897
5898
  url,
5898
5899
  method,
5899
5900
  ext_fields,
5900
- responseWrapper: false
5901
+ responseWrapper: false,
5902
+ request
5901
5903
  }, ...args, {
5902
5904
  responseType: "blob"
5903
5905
  }] : [{
5904
5906
  url,
5905
5907
  method,
5906
5908
  ext_fields,
5907
- responseWrapper
5909
+ responseWrapper,
5910
+ request
5908
5911
  }, ...args];
5909
5912
  }
5910
5913
 
@@ -5945,7 +5948,8 @@
5945
5948
  serviceName: api.serviceName,
5946
5949
  version: api.version,
5947
5950
  isFileType: (contract === null || contract === void 0 ? void 0 : (_contract$response = contract.response) === null || _contract$response === void 0 ? void 0 : _contract$response.type) === "file",
5948
- responseWrapper
5951
+ responseWrapper,
5952
+ request: contract.request
5949
5953
  };
5950
5954
  }
5951
5955
 
@@ -5978,7 +5982,8 @@
5978
5982
  version: contract.version,
5979
5983
  contract: {
5980
5984
  endpoint: contract.endpoint,
5981
- response: contract.response
5985
+ response: contract.response,
5986
+ request: contract.request
5982
5987
  }
5983
5988
  };
5984
5989
  } else {
@@ -5999,7 +6004,8 @@
5999
6004
  version: contractData.version,
6000
6005
  contract: {
6001
6006
  endpoint: contractData.endpoint,
6002
- response: contractData.response
6007
+ response: contractData.response,
6008
+ request: contractData.request
6003
6009
  }
6004
6010
  };
6005
6011
  }
@@ -6198,6 +6204,9 @@
6198
6204
  case "analytics.event":
6199
6205
  return builtinAnalyticsListenerFactory(handler.args, handler, context);
6200
6206
 
6207
+ case "preview.debug":
6208
+ return builtinFormDebugListenerFactory(handler.args, handler, context);
6209
+
6201
6210
  default:
6202
6211
  return () => {
6203
6212
  // eslint-disable-next-line no-console
@@ -6668,6 +6677,22 @@
6668
6677
  };
6669
6678
  }
6670
6679
 
6680
+ function builtinFormDebugListenerFactory(args, ifContainer, context) {
6681
+ return function (event) {
6682
+ if (!looseCheckIf(ifContainer, _objectSpread__default["default"](_objectSpread__default["default"]({}, context), {}, {
6683
+ event
6684
+ }))) {
6685
+ return;
6686
+ }
6687
+
6688
+ window.parent.postMessage({
6689
+ sender: "previewer",
6690
+ type: "preview.debug",
6691
+ res: argsFactory(args, context, event)
6692
+ });
6693
+ };
6694
+ }
6695
+
6671
6696
  function argsFactory(args, context, event) {
6672
6697
  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
6673
6698
  return Array.isArray(args) ? computeRealValue(args, _objectSpread__default["default"](_objectSpread__default["default"]({}, context), {}, {
@@ -6923,6 +6948,46 @@
6923
6948
  options
6924
6949
  };
6925
6950
  }
6951
+ function hasFileType(request) {
6952
+ var flag = false;
6953
+ if (!request) return flag;
6954
+
6955
+ var processFields = fields => {
6956
+ return fields.some(field => {
6957
+ if (["file", "file[]"].includes(field.type)) {
6958
+ return true;
6959
+ }
6960
+
6961
+ if (!_.isEmpty(field.fields)) {
6962
+ return processFields(field.fields);
6963
+ }
6964
+ });
6965
+ };
6966
+
6967
+ if (request.type === "object" && !_.isEmpty(request.fields)) {
6968
+ flag = processFields(request.fields);
6969
+ }
6970
+
6971
+ return flag;
6972
+ }
6973
+ function transformFormData(data) {
6974
+ var formData = new FormData();
6975
+
6976
+ for (var [key, value] of Object.entries(data)) {
6977
+ if (Array.isArray(value)) {
6978
+ (function () {
6979
+ var k = "".concat(key, "[]");
6980
+ value.forEach(v => {
6981
+ formData.append(k, v);
6982
+ });
6983
+ })();
6984
+ } else {
6985
+ formData.append(key, value);
6986
+ }
6987
+ }
6988
+
6989
+ return formData;
6990
+ }
6926
6991
  function CustomApi(_x) {
6927
6992
  return _CustomApi.apply(this, arguments);
6928
6993
  }
@@ -6933,9 +6998,11 @@
6933
6998
  url,
6934
6999
  method = "GET",
6935
7000
  responseWrapper = true,
6936
- ext_fields = []
7001
+ ext_fields = [],
7002
+ request
6937
7003
  } = _ref;
6938
7004
  var isSimpleRequest = ["get", "delete", "head"].includes(method.toLowerCase());
7005
+ var response;
6939
7006
 
6940
7007
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
6941
7008
  args[_key2 - 1] = arguments[_key2];
@@ -6943,17 +7010,16 @@
6943
7010
 
6944
7011
  if (isSimpleRequest) {
6945
7012
  var [data, options] = args;
6946
- var response = yield brickHttp.http.simpleRequest(method, url, _objectSpread__default["default"]({
7013
+ response = yield brickHttp.http.simpleRequest(method, url, _objectSpread__default["default"]({
6947
7014
  params: data
6948
7015
  }, options));
6949
- return responseWrapper ? response.data : response;
6950
7016
  } else {
7017
+ var isUploadType = hasFileType(request);
6951
7018
  var result = processExtFields(ext_fields, ...args);
6952
-
6953
- var _response = yield brickHttp.http.requestWithBody(method, url, result.data, result.options);
6954
-
6955
- return responseWrapper ? _response.data : _response;
7019
+ response = yield brickHttp.http.requestWithBody(method, url, isUploadType ? transformFormData(result.data) : result.data, result.options);
6956
7020
  }
7021
+
7022
+ return responseWrapper ? response.data : response;
6957
7023
  });
6958
7024
  return _CustomApi.apply(this, arguments);
6959
7025
  }
@@ -8339,7 +8405,8 @@
8339
8405
  bricks: [{
8340
8406
  brick: formRenderer,
8341
8407
  properties: {
8342
- formData: formData
8408
+ formData: formData,
8409
+ isPreview: true
8343
8410
  }
8344
8411
  }],
8345
8412
  menu: false,
@@ -9053,7 +9120,7 @@
9053
9120
  }
9054
9121
  }
9055
9122
 
9056
- function ExpandCustomForm(formData, brickConf) {
9123
+ function ExpandCustomForm(formData, brickConf, isPreview) {
9057
9124
  var errorBrick = {
9058
9125
  brick: "presentational-bricks.brick-illustration",
9059
9126
  properties: {
@@ -9067,7 +9134,7 @@
9067
9134
  };
9068
9135
 
9069
9136
  try {
9070
- var formStoryboard = getStoryboard([formData.formSchema], [], formData.fields);
9137
+ var formStoryboard = getStoryboard([formData.formSchema], [], formData.fields, isPreview);
9071
9138
  formStoryboard[0] = ___default["default"].isEmpty(formStoryboard[0]) ? errorBrick : formStoryboard[0];
9072
9139
  return _objectSpread__default["default"](_objectSpread__default["default"]({}, brickConf), {}, {
9073
9140
  brick: "div",
@@ -9331,12 +9398,29 @@
9331
9398
  return defaultValue;
9332
9399
  } else return {};
9333
9400
  }
9334
- function getStoryboard(datasource, result, fields) {
9401
+ function getStoryboard(datasource, result, fields, isPreview) {
9335
9402
  var _loop = function (i) {
9336
9403
  var dataItem = datasource[i];
9337
9404
  var resultItem = {}; //数据初始化:根据id,字段类型获取默认属性
9338
9405
 
9339
- var defaultProperties = getDefaultProperties(dataItem.id, fields); //数据初始化:与默认属性进行合并
9406
+ var defaultProperties = getDefaultProperties(dataItem.id, fields);
9407
+
9408
+ if (dataItem.brick === "forms.general-form" && isPreview) {
9409
+ dataItem.properties = _objectSpread__default["default"](_objectSpread__default["default"]({}, dataItem.properties), {}, {
9410
+ className: "form-preview"
9411
+ });
9412
+ dataItem.events = {
9413
+ "validate.error": [{
9414
+ action: "preview.debug",
9415
+ args: ["validate.error", "<% EVENT.detail %>"]
9416
+ }],
9417
+ "validate.success": [{
9418
+ action: "preview.debug",
9419
+ args: ["validate.success", "<% EVENT.detail %>"]
9420
+ }]
9421
+ };
9422
+ } //数据初始化:与默认属性进行合并
9423
+
9340
9424
 
9341
9425
  Object.keys(defaultProperties).forEach(item => {
9342
9426
  if (!dataItem[item]) {
@@ -9356,7 +9440,7 @@
9356
9440
  if (Array.isArray(dataItem.bricks)) {
9357
9441
  var _Object$keys;
9358
9442
 
9359
- resultItem["slots"] = ___default["default"].groupBy(getStoryboard(dataItem.bricks, [], fields), "mountPoint");
9443
+ resultItem["slots"] = ___default["default"].groupBy(getStoryboard(dataItem.bricks, [], fields, isPreview), "mountPoint");
9360
9444
  (_Object$keys = Object.keys(resultItem["slots"])) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(item => {
9361
9445
  resultItem.slots[item] = {
9362
9446
  bricks: resultItem.slots[item],
@@ -9873,7 +9957,7 @@
9873
9957
 
9874
9958
  if (brick.type === formRenderer) {
9875
9959
  var formData = brick.properties.formData;
9876
- expandedBrickConf = ExpandCustomForm(formData, brickConf);
9960
+ expandedBrickConf = ExpandCustomForm(formData, brickConf, brick.properties.isPreview);
9877
9961
  yield _this6.kernel.loadDynamicBricksInBrickConf(expandedBrickConf);
9878
9962
  }
9879
9963