@steedos-widgets/amis-object 1.2.1 → 1.2.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.
@@ -1722,8 +1722,8 @@ var config = {
1722
1722
  /*
1723
1723
  * @Author: baozhoutao@steedos.com
1724
1724
  * @Date: 2022-11-01 15:51:00
1725
- * @LastEditors: Please set LastEditors
1726
- * @LastEditTime: 2023-04-11 13:58:24
1725
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
1726
+ * @LastEditTime: 2023-04-16 17:04:16
1727
1727
  * @Description:
1728
1728
  */
1729
1729
 
@@ -1801,6 +1801,7 @@ const getSchema$4 = async (uiSchema, ctx) => {
1801
1801
  "context": "${context}",
1802
1802
  "global": "${global}",
1803
1803
  "listViewId": "${listViewId}",
1804
+ "displayAs": "${displayAs}",
1804
1805
  "uiSchema": "${uiSchema}",
1805
1806
  "isLookup": "${isLookup}",
1806
1807
  "listName": "${listName}"
@@ -4099,7 +4100,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
4099
4100
  {
4100
4101
  "type": "button",
4101
4102
  "label": "重命名",
4102
- "visibleOn": "(global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && ['all', 'recent', 'my'].indexOf(listName) == -1",
4103
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4103
4104
  "onEvent": {
4104
4105
  "click": {
4105
4106
  "weight": 0,
@@ -4154,7 +4155,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
4154
4155
  {
4155
4156
  "type": "button",
4156
4157
  "label": "共享设置",
4157
- "visibleOn": "global.user.is_space_admin && ['all', 'recent', 'my'].indexOf(listName) == -1",
4158
+ "disabledOn": "!(global.user.is_space_admin && !!uiSchema.list_views[listName].owner)",
4158
4159
  "onEvent": {
4159
4160
  "click": {
4160
4161
  "weight": 0,
@@ -4194,7 +4195,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
4194
4195
  {
4195
4196
  "type": "button",
4196
4197
  "label": "过滤设置",
4197
- "visibleOn": "(global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && ['all', 'recent', 'my'].indexOf(listName) == -1",
4198
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4198
4199
  "onEvent": {
4199
4200
  "click": {
4200
4201
  "weight": 0,
@@ -4256,7 +4257,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
4256
4257
  {
4257
4258
  "type": "button",
4258
4259
  "label": "显示的列",
4259
- "visibleOn": "(global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && ['all', 'recent', 'my'].indexOf(listName) == -1",
4260
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4260
4261
  "onEvent": {
4261
4262
  "click": {
4262
4263
  "weight": 0,
@@ -4315,10 +4316,74 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
4315
4316
  }
4316
4317
  }
4317
4318
  },
4319
+ {
4320
+ "type": "button",
4321
+ "label": "默认排序规则",
4322
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4323
+ "onEvent": {
4324
+ "click": {
4325
+ "weight": 0,
4326
+ "actions": [
4327
+ {
4328
+ "dialog": {
4329
+ "type": "dialog",
4330
+ "title": "弹框标题",
4331
+ "data": {
4332
+ "&": "$$",
4333
+ "objectName": "${objectName}",
4334
+ "recordId": "${uiSchema.list_views[listName]._id}",
4335
+ "listName": "${listName}",
4336
+ "appId": "${appId}"
4337
+ },
4338
+ "body": [
4339
+ {
4340
+ "type": "steedos-object-form",
4341
+ "label": "对象表单",
4342
+ "objectApiName": "object_listviews",
4343
+ "recordId": "${recordId}",
4344
+ "className": "",
4345
+ "id": "u:061f158b4c5a",
4346
+ "mode": "edit",
4347
+ "fields": [
4348
+ "sort",
4349
+ "sort.$.field_name",
4350
+ "sort.$.order"
4351
+ ],
4352
+ "onEvent": {
4353
+ "submitSucc": {
4354
+ "weight": 0,
4355
+ "actions": [
4356
+ {
4357
+ "args": {
4358
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/${listName}",
4359
+ "blank": false
4360
+ },
4361
+ "actionType": "url"
4362
+ }
4363
+ ]
4364
+ }
4365
+ },
4366
+ "fieldsExtend": "{\n \"sort\": {\n \"amis\": {\n \"type\": \"tabs-transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/sortFields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n}",
4367
+ "initApiAdaptor": "let sort;\nif (recordId) {\n sort = payload.data.initialValues.sort;\n //数据格式转换\n if (sort instanceof Array) {\n sort = lodash.map(sort, (item) => {\n return item.field_name + ':' + (item.order || 'asc')\n });\n }\n}\npayload.data.initialValues.sort = sort;\ndelete payload.extensions;",
4368
+ "apiRequestAdaptor": "const recordId = api.body.recordId;\n//数据格式转换\nif (typeof formData.sort == 'string') {\n formData.sort = formData.sort?.split(',');\n}\nformData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1] };\n});\nif (recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n}\n__saveData = JSON.stringify(JSON.stringify(formData));\napi.data = { query: query.replace('{__saveData}', __saveData) };\n"
4369
+ }
4370
+ ],
4371
+ "showCloseButton": true,
4372
+ "showErrorMsg": true,
4373
+ "showLoading": true,
4374
+ "id": "u:d3f6947b6acf",
4375
+ "size": "lg"
4376
+ },
4377
+ "actionType": "dialog"
4378
+ }
4379
+ ]
4380
+ }
4381
+ }
4382
+ },
4318
4383
  {
4319
4384
  "type": "button",
4320
4385
  "label": "删除",
4321
- "visibleOn": "(global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && ['all', 'recent', 'my'].indexOf(listName) == -1",
4386
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4322
4387
  "confirmText": "如果您删除此列表视图,该视图将为所有具备访问权限的用户永久删除。是否确定要删除?",
4323
4388
  "onEvent": {
4324
4389
  "click": {
@@ -4679,7 +4744,6 @@ function getLookupSapceUserTreeSchema(){
4679
4744
  {
4680
4745
  "actionType": "custom",
4681
4746
  "script": `
4682
- debugger;
4683
4747
  const scope = event.context.scoped;
4684
4748
  //TODO: 将form中的value一同加入筛选内
4685
4749
  // var filterForm = scope.parent.parent.getComponents().find(function(n){
@@ -6163,7 +6227,7 @@ var index = /*#__PURE__*/Object.freeze({
6163
6227
 
6164
6228
  const API_CACHE = 100;
6165
6229
 
6166
- function getReadonlyFormAdaptor(fields){
6230
+ function getReadonlyFormAdaptor(object, fields){
6167
6231
  let scriptStr = '';
6168
6232
  const selectFields = ___default.filter(fields, function(field){return field.name.indexOf('.') < 0 && ((field.type == 'select' && field.options) || ((field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to))});
6169
6233
  const gridAndObjectFieldsName = ___default.map(___default.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');
@@ -6222,6 +6286,7 @@ function getReadonlyFormAdaptor(fields){
6222
6286
  console.error(e)
6223
6287
  }
6224
6288
  payload.data = data;
6289
+ payload.data.__objectName = "${object.name}";
6225
6290
  payload.data.__record = record;
6226
6291
  window.postMessage(Object.assign({type: "record.loaded"}, {record: record}), "*")
6227
6292
  }
@@ -6239,7 +6304,7 @@ async function getReadonlyFormInitApi(object, recordId, fields, options){
6239
6304
  url: getApi$2()+"&recordId=${recordId}",
6240
6305
  cache: API_CACHE,
6241
6306
  // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
6242
- adaptor: getReadonlyFormAdaptor(fields),
6307
+ adaptor: getReadonlyFormAdaptor(object, fields),
6243
6308
  data: await getFindOneQuery$1(object, recordId, fields, options),
6244
6309
  headers: {
6245
6310
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -6957,6 +7022,7 @@ async function getObjectDetail(objectSchema, recordId, ctx){
6957
7022
  eventName: "recordLoaded"
6958
7023
  },
6959
7024
  data: {
7025
+ objectName: "${event.data.__objectName}",
6960
7026
  record: "${event.data.__record}"
6961
7027
  }
6962
7028
  },
@@ -7393,7 +7459,7 @@ async function getTableApi(mainObject, fields, options){
7393
7459
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
7394
7460
 
7395
7461
  if(options.isRelated){
7396
- api.url += "&recordId=${recordId}";
7462
+ api.url += "&recordId=${_master.recordId}";
7397
7463
  }
7398
7464
 
7399
7465
  api.data.$term = "$term";
@@ -8637,8 +8703,8 @@ async function getRelatedListSchema(
8637
8703
  /*
8638
8704
  * @Author: baozhoutao@steedos.com
8639
8705
  * @Date: 2022-07-05 15:55:39
8640
- * @LastEditors: baozhoutao@steedos.com
8641
- * @LastEditTime: 2023-04-12 14:24:09
8706
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
8707
+ * @LastEditTime: 2023-04-14 11:10:07
8642
8708
  * @Description:
8643
8709
  */
8644
8710
 
@@ -9124,6 +9190,41 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
9124
9190
  }
9125
9191
  }
9126
9192
 
9193
+ async function getRecordServiceSchema(objectName, appId, props = {}) {
9194
+ const uiSchema = await getUISchema(objectName);
9195
+ return {
9196
+ uiSchema,
9197
+ amisSchema: {
9198
+ "type": "service",
9199
+ "body": [],
9200
+ data: {
9201
+ "_master.objectName": "${objectName}",
9202
+ "_master.recordId": "${recordId}"
9203
+ },
9204
+ "style": {
9205
+ "padding": "var(--Page-body-padding)",
9206
+ ...props.style
9207
+ },
9208
+ onEvent: {
9209
+ "recordLoaded": {
9210
+ "actions": [
9211
+ {
9212
+ "actionType": "reload",
9213
+ "data": {
9214
+ "name": `\${record.${uiSchema.NAME_FIELD_KEY || 'name'}}`,
9215
+ "_master.record": `\${record}`,
9216
+ // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
9217
+ "_master.objectName": "${objectName}",
9218
+ "_master.recordId": "${recordId}"
9219
+ }
9220
+ }
9221
+ ]
9222
+ },
9223
+ ...props.onEvent
9224
+ }
9225
+ }
9226
+ }
9227
+ }
9127
9228
 
9128
9229
  // 获取单个相关表
9129
9230
  async function getObjectRelated(
@@ -12043,6 +12144,7 @@ var index_esm$1 = /*#__PURE__*/Object.freeze({
12043
12144
  getRecordDetailSchema: getRecordDetailSchema,
12044
12145
  getRecordPageInitSchema: getRecordPageInitSchema,
12045
12146
  getRecordPermissions: getRecordPermissions,
12147
+ getRecordServiceSchema: getRecordServiceSchema,
12046
12148
  getRelatedFieldValue: getRelatedFieldValue,
12047
12149
  getRelatedListSchema: getRelatedListSchema,
12048
12150
  getRelatedsCount: getRelatedsCount,
@@ -12522,6 +12624,8 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
12522
12624
  schema = _d.sent();
12523
12625
  amisSchema = schema.amisSchema;
12524
12626
  if (defaultData) {
12627
+ // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
12628
+ // 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
12525
12629
  amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData);
12526
12630
  }
12527
12631
  uiSchema = schema.uiSchema;
@@ -12617,7 +12721,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
12617
12721
  },
12618
12722
  {
12619
12723
  "actionType": "reload",
12620
- "expression": "${(event.data.recordId || event.data.__deletedRecord === true) && event.data._isRelated != true}" //不是新建, 则刷新列表
12724
+ "expression": "${(event.data.recordId || event.data.__deletedRecord === true || event.data.displayAs === 'split') && event.data._isRelated != true}" //不是新建, 或分栏模式下新建主对象记录, 则刷新列表
12621
12725
  }
12622
12726
  ]
12623
12727
  };
@@ -12811,7 +12915,8 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12811
12915
  "_id": "\${event.data.record._id}",
12812
12916
  "recordId": "\${event.data.record._id}",
12813
12917
  "recordLoaded": true,
12814
- }
12918
+ },
12919
+ "expression": "${event.data.objectName == '".concat(objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.name, "'}")
12815
12920
  }
12816
12921
  ]
12817
12922
  }
@@ -12858,6 +12963,36 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
12858
12963
  });
12859
12964
  }); };
12860
12965
 
12966
+ /*
12967
+ * @Author: baozhoutao@steedos.com
12968
+ * @Date: 2022-12-08 10:32:17
12969
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12970
+ * @LastEditTime: 2023-04-14 11:30:21
12971
+ * @Description:
12972
+ */
12973
+ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12974
+ var className, _a, objectApiName, body, style, schema;
12975
+ return __generator(this, function (_b) {
12976
+ switch (_b.label) {
12977
+ case 0:
12978
+ className = props.className, props.$schema, props.appId, _a = props.objectApiName, objectApiName = _a === void 0 ? "space_users" : _a, props.recordId, props.fields, body = props.body, style = props.style;
12979
+ return [4 /*yield*/, getRecordServiceSchema(objectApiName)];
12980
+ case 1:
12981
+ schema = (_b.sent()).amisSchema;
12982
+ if (body) {
12983
+ schema.body = body;
12984
+ }
12985
+ if (className) {
12986
+ schema.className = className;
12987
+ }
12988
+ if (style) {
12989
+ Object.assign(schema.style, style);
12990
+ }
12991
+ return [2 /*return*/, schema];
12992
+ }
12993
+ });
12994
+ }); };
12995
+
12861
12996
  var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12862
12997
  var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, formFactor, schema;
12863
12998
  return __generator(this, function (_b) {
@@ -13988,5 +14123,5 @@ var index_esm = /*#__PURE__*/Object.freeze({
13988
14123
  SteedosUI: SteedosUI$1
13989
14124
  });
13990
14125
 
13991
- export { AmisAppLauncher, AmisAppMenu, AmisGlobalHeader, AmisInstanceDetail, index_esm$1 as AmisLib, AmisLogo, AmisObjectButton, AmisObjectCalendar, AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetail, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisRecordDetailRelatedLists, AmisSelectFlow, AmisSelectUser, AmisSteedosField, FromNow, PageListView, PageRecordDetail, SteedosBadge, SteedosBadgeRibbon, SteedosDropdown, SteedosDropdownButton, SteedosIcon, index_esm as SteedosLib, SteedosLoading, SteedosSkeleton };
14126
+ export { AmisAppLauncher, AmisAppMenu, AmisGlobalHeader, AmisInstanceDetail, index_esm$1 as AmisLib, AmisLogo, AmisObjectButton, AmisObjectCalendar, AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetail, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisRecordDetailRelatedLists, AmisRecordService, AmisSelectFlow, AmisSelectUser, AmisSteedosField, FromNow, PageListView, PageRecordDetail, SteedosBadge, SteedosBadgeRibbon, SteedosDropdown, SteedosDropdownButton, SteedosIcon, index_esm as SteedosLib, SteedosLoading, SteedosSkeleton };
13992
14127
  //# sourceMappingURL=amis-object.esm.js.map