@steedos-widgets/amis-object 1.1.3 → 1.1.4-beta.2

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.
@@ -1193,7 +1193,7 @@ function getSaveDataTpl(fields){
1193
1193
  ${getScriptForSimplifiedValueForFileFields(fields)}
1194
1194
  let query = \`mutation{record: \${objectName}__insert(doc: {__saveData}){_id}}\`;
1195
1195
  if(formData.recordId && formData.recordId !='new'){
1196
- query = \`mutation{record: \${objectName}__update(id: "\${formData._id}", doc: {__saveData}){_id}}\`;
1196
+ query = \`mutation{record: \${objectName}__update(id: "\${formData.recordId}", doc: {__saveData}){_id}}\`;
1197
1197
  };
1198
1198
  delete formData._id;
1199
1199
  let __saveData = JSON.stringify(JSON.stringify(formData));
@@ -1933,8 +1933,8 @@ const getSchema$3 = async (uiSchema, ctx) => {
1933
1933
  /*
1934
1934
  * @Author: 殷亮辉 yinlianghui@hotoa.com
1935
1935
  * @Date: 2023-03-22 09:31:21
1936
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
1937
- * @LastEditTime: 2023-03-27 16:03:34
1936
+ * @LastEditors: Please set LastEditors
1937
+ * @LastEditTime: 2023-03-28 14:06:47
1938
1938
  */
1939
1939
  const getSchema$2 = (uiSchema)=>{
1940
1940
  return {
@@ -1995,7 +1995,7 @@ const getSchema$2 = (uiSchema)=>{
1995
1995
  "data": {
1996
1996
  "objectName": "${_master.objectName}"
1997
1997
  },
1998
- "expression": "${_master.objectName}"
1998
+ "expression": `\${_master.objectName != '${uiSchema.name}' && _master.objectName}`
1999
1999
  }
2000
2000
  ]
2001
2001
  }
@@ -2419,7 +2419,7 @@ function getButtonVisibleOn$1(button){
2419
2419
  if(visible.trim().startsWith('function')){
2420
2420
  return `${visible}.apply({
2421
2421
  object: uiSchema
2422
- }, [objectName, _id, recordPermissions, data])`
2422
+ }, [objectName, _id, record.recordPermissions, data])`
2423
2423
  }
2424
2424
  return visible;
2425
2425
  }
@@ -4340,6 +4340,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
4340
4340
  }
4341
4341
  }
4342
4342
 
4343
+ const enable_tree = ${refObjectConfig.enable_tree};
4344
+ if(enable_tree){
4345
+ pageSize = 10000;
4346
+ }
4343
4347
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
4344
4348
  return api;
4345
4349
  `;
@@ -4413,7 +4417,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
4413
4417
  new_button.align = "right";
4414
4418
  pickerSchema.headerToolbar.push(new_button);
4415
4419
  }
4416
- pickerSchema.footerToolbar = getObjectFooterToolbar();
4420
+ pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
4417
4421
  if(ctx.filterVisible !== false){
4418
4422
  let filterLoopCount = ctx.filterLoopCount || 0;
4419
4423
  filterLoopCount++;
@@ -4507,7 +4511,10 @@ async function lookupToAmisSelect(field, readonly, ctx){
4507
4511
  apiInfo = {
4508
4512
  method: "post",
4509
4513
  url: getApi$2(),
4510
- data: {query: '{objects(filters: ["_id", "=", "-1"]){_id}}', $: "$$"}
4514
+ data: {query: '{objects(filters: ["_id", "=", "-1"]){_id}}', $: "$$"},
4515
+ "headers": {
4516
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
4517
+ }
4511
4518
  };
4512
4519
  }
4513
4520
 
@@ -5800,7 +5807,28 @@ async function getEditFormInitApi(object, recordId, fields){
5800
5807
  if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){
5801
5808
  defaultValues = Object.assign({}, defaultValues, defaultData)
5802
5809
  }
5803
- initialValues = defaultValues;
5810
+ if(uiSchema.form){
5811
+ try{
5812
+ var objectFormConfig = JSON.parse(uiSchema.form);
5813
+ initialValues = objectFormConfig.initialValues;
5814
+ if(initialValues){
5815
+ initialValues = new Function("return " + initialValues)();
5816
+ }
5817
+ if(typeof initialValues === "function"){
5818
+ initialValues = initialValues.apply({doc: defaultValues || {} })
5819
+ }
5820
+ }
5821
+ catch(ex){
5822
+ console.warn(ex);
5823
+ }
5824
+ }
5825
+ if(_.isObject(initialValues)){
5826
+ // uiSchema.form.initialValues为函数且执行后为json,则优先取initialValues中的默认值
5827
+ initialValues = Object.assign({}, defaultValues, initialValues);
5828
+ }
5829
+ else{
5830
+ initialValues = defaultValues;
5831
+ }
5804
5832
  }
5805
5833
  // data下的变量需要在保存接口(getSaveApi)中被删除。
5806
5834
  payload.data = {
@@ -6239,7 +6267,7 @@ async function getObjectForm(objectSchema, ctx){
6239
6267
  "data": {
6240
6268
  "objectName": "${_master.objectName}"
6241
6269
  },
6242
- "expression": "${_master.objectName}"
6270
+ "expression": `\${_master.objectName != '${objectSchema.name}' && _master.objectName}`
6243
6271
  }
6244
6272
  ]
6245
6273
  }
@@ -6256,7 +6284,7 @@ async function getObjectDetail(objectSchema, recordId, ctx){
6256
6284
  const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign, formInitProps } = ctx;
6257
6285
  const fields = ___default__default["default"].values(objectSchema.fields);
6258
6286
  const formFields = getFormFields(objectSchema, ctx);
6259
- const serviceId = `detail_${recordId}`;
6287
+ const serviceId = `service_detail_page`;
6260
6288
  return {
6261
6289
  type: 'service',
6262
6290
  name: `page_readonly_${recordId}`,
@@ -6586,7 +6614,7 @@ function getButtonVisibleOn(button){
6586
6614
  // return 'false';
6587
6615
  // }
6588
6616
  if(visible.trim().startsWith('function')){
6589
- return `${visible}(objectName, _id, recordPermissions, data)`
6617
+ return `${visible}(objectName, _id, record.recordPermissions, data)`
6590
6618
  }
6591
6619
  return visible;
6592
6620
  }
@@ -11839,7 +11867,7 @@ var SteedosLoading = function (props) {
11839
11867
  };
11840
11868
 
11841
11869
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
11842
- var $schema, recordId, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, className, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, formData;
11870
+ var $schema, recordId, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, className, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
11843
11871
  return __generator(this, function (_d) {
11844
11872
  switch (_d.label) {
11845
11873
  case 0:
@@ -11871,7 +11899,9 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
11871
11899
  if (!(mode === 'edit')) return [3 /*break*/, 2];
11872
11900
  return [4 /*yield*/, getFormSchema(objectApiName, options)];
11873
11901
  case 1:
11874
- amisSchema = (_d.sent()).amisSchema;
11902
+ schema = _d.sent();
11903
+ amisSchema = schema.amisSchema;
11904
+ uiSchema = schema.uiSchema;
11875
11905
  return [3 /*break*/, 4];
11876
11906
  case 2:
11877
11907
  // formInitProps
@@ -11883,7 +11913,9 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
11883
11913
  }
11884
11914
  return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
11885
11915
  case 3:
11886
- amisSchema = (_d.sent()).amisSchema;
11916
+ schema = _d.sent();
11917
+ amisSchema = schema.amisSchema;
11918
+ uiSchema = schema.uiSchema;
11887
11919
  _d.label = 4;
11888
11920
  case 4:
11889
11921
  formData = {};
@@ -11892,7 +11924,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
11892
11924
  formData.objectName = objectApiName;
11893
11925
  }
11894
11926
  amisSchema.className = "steedos-object-form ".concat(className);
11895
- amisSchema.data = Object.assign({ "&": "$$" }, amisSchema.data, formData, { global: globalData });
11927
+ amisSchema.data = Object.assign({ "&": "$$" }, amisSchema.data, formData, { global: globalData, uiSchema: uiSchema });
11896
11928
  // console.log(`amisSchema`, amisSchema)
11897
11929
  return [2 /*return*/, amisSchema];
11898
11930
  }
@@ -13049,6 +13081,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
13049
13081
  }
13050
13082
  }
13051
13083
  else {
13084
+ steedosField = field;
13052
13085
  if (___default.isString(field)) {
13053
13086
  steedosField = JSON.parse(field);
13054
13087
  }
@@ -13182,11 +13215,11 @@ var AmisInstanceDetail = function (props) { return __awaiter(void 0, void 0, voi
13182
13215
  }); };
13183
13216
 
13184
13217
  var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13185
- var defaultFormFactor, appId, objectApiName, listviewId, display, _a, $schema, displayAs, formFactor, page, listViewId, listSchema, defData;
13218
+ var defaultFormFactor, appId, objectApiName, listviewId, display, _a, $schema, listName, displayAs, formFactor, page, listViewId, listSchema, defData;
13186
13219
  return __generator(this, function (_b) {
13187
13220
  switch (_b.label) {
13188
13221
  case 0:
13189
- defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, listviewId = props.listviewId, display = props.display, _a = props.$schema, $schema = _a === void 0 ? {} : _a;
13222
+ defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, listviewId = props.listviewId, display = props.display, _a = props.$schema, $schema = _a === void 0 ? {} : _a, listName = props.listName;
13190
13223
  if (display)
13191
13224
  Router$1.setTabDisplayAs(objectApiName, display);
13192
13225
  displayAs = (defaultFormFactor === 'SMALL') ? 'grid' : display ? display : Router$1.getTabDisplayAs(objectApiName);
@@ -13214,7 +13247,8 @@ var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, f
13214
13247
  "formFactor": formFactor,
13215
13248
  "className": (displayAs === 'split') ? 'w-full' : 'p-0 flex-1 sm:m-3 sm:mb-0 sm:border sm:shadow sm:rounded border-slate-300 border-solid bg-gray-100'
13216
13249
  };
13217
- defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: listViewId, listName: listviewId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13250
+ defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: listViewId, listName: listName || listviewId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13251
+ // console.log("defData====>", defData)
13218
13252
  return [2 /*return*/, {
13219
13253
  type: 'service',
13220
13254
  data: defData,
@@ -13237,11 +13271,11 @@ var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, f
13237
13271
  }); };
13238
13272
 
13239
13273
  var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13240
- var defaultFormFactor, appId, objectApiName, recordId, display, sideObject, sideListviewId, $schema, displayAs, formFactor, listPage, recordSchema, recordPage, listSchema, defData;
13274
+ var defaultFormFactor, appId, objectApiName, recordId, display, sideObject, sideListviewId, $schema, data, displayAs, formFactor, listPage, recordSchema, recordPage, listSchema, defData;
13241
13275
  return __generator(this, function (_a) {
13242
13276
  switch (_a.label) {
13243
13277
  case 0:
13244
- defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, recordId = props.recordId, display = props.display, sideObject = props.sideObject, sideListviewId = props.sideListviewId, $schema = props.$schema;
13278
+ defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, recordId = props.recordId, display = props.display, sideObject = props.sideObject, sideListviewId = props.sideListviewId, $schema = props.$schema, data = props.data;
13245
13279
  if (display)
13246
13280
  Router$1.setTabDisplayAs(objectApiName, display);
13247
13281
  displayAs = (defaultFormFactor === 'SMALL') ? 'grid' : display ? display : sideObject ? 'split' : Router$1.getTabDisplayAs(objectApiName);
@@ -13278,7 +13312,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13278
13312
  "showDisplayAs": true,
13279
13313
  "formFactor": 'SMALL',
13280
13314
  };
13281
- defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: sideListviewId, listName: sideListviewId, recordId: recordId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13315
+ defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: sideListviewId, listName: sideListviewId, recordId: data.recordId || recordId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13282
13316
  return [2 /*return*/, {
13283
13317
  type: 'service',
13284
13318
  data: defData,