@steedos-widgets/amis-object 1.2.0 → 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.
@@ -1750,8 +1750,8 @@ var config = {
1750
1750
  /*
1751
1751
  * @Author: baozhoutao@steedos.com
1752
1752
  * @Date: 2022-11-01 15:51:00
1753
- * @LastEditors: Please set LastEditors
1754
- * @LastEditTime: 2023-04-11 13:58:24
1753
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
1754
+ * @LastEditTime: 2023-04-16 17:04:16
1755
1755
  * @Description:
1756
1756
  */
1757
1757
 
@@ -1829,6 +1829,7 @@ const getSchema$4 = async (uiSchema, ctx) => {
1829
1829
  "context": "${context}",
1830
1830
  "global": "${global}",
1831
1831
  "listViewId": "${listViewId}",
1832
+ "displayAs": "${displayAs}",
1832
1833
  "uiSchema": "${uiSchema}",
1833
1834
  "isLookup": "${isLookup}",
1834
1835
  "listName": "${listName}"
@@ -1972,8 +1973,8 @@ const getSchema$3 = async (uiSchema, ctx) => {
1972
1973
  /*
1973
1974
  * @Author: 殷亮辉 yinlianghui@hotoa.com
1974
1975
  * @Date: 2023-03-22 09:31:21
1975
- * @LastEditors: baozhoutao@steedos.com
1976
- * @LastEditTime: 2023-04-06 16:04:20
1976
+ * @LastEditors: Please set LastEditors
1977
+ * @LastEditTime: 2023-04-12 10:35:36
1977
1978
  */
1978
1979
  const getSchema$2 = (uiSchema)=>{
1979
1980
  return {
@@ -2028,7 +2029,8 @@ const getSchema$2 = (uiSchema)=>{
2028
2029
  "eventName": "@data.changed.${_master.objectName}"
2029
2030
  },
2030
2031
  "data": {
2031
- "objectName": "${_master.objectName}"
2032
+ "objectName": "${_master.objectName}",
2033
+ "_isRelated": "${_isRelated}"
2032
2034
  },
2033
2035
  "expression": `\${_master.objectName != '${uiSchema.name}' && _master.objectName}`
2034
2036
  }
@@ -3744,6 +3746,9 @@ const getDisplayAsButton = function(objectName, showDisplayAs){
3744
3746
  };
3745
3747
  };
3746
3748
 
3749
+
3750
+
3751
+
3747
3752
  const onFieldsFilterToggleScript = `
3748
3753
  const scope = event.context.scoped;
3749
3754
  const filterForm = scope.getComponents().find(function(n){
@@ -3761,7 +3766,6 @@ setTimeout(()=>{
3761
3766
 
3762
3767
  function getExportApiRequestAdaptorScript(){
3763
3768
  return `
3764
- console.log(api.url);
3765
3769
  // 获取列表视图的属性
3766
3770
  let uiSchema = api.body.uiSchema;
3767
3771
  let list_views = uiSchema.list_views;
@@ -3810,12 +3814,12 @@ function getExportApiRequestAdaptorScript(){
3810
3814
  if (filters && filters.length > 0) {
3811
3815
  api.url = api.url + "&filters=" + JSON.stringify(filters);
3812
3816
  }
3813
- console.log(api.url);
3814
3817
  return api;
3815
3818
  `
3816
3819
  }
3817
3820
 
3818
- function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false, hiddenCount = false, headerToolbarItems} = {}){
3821
+ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false, hiddenCount = false, headerToolbarItems, filterVisible = true} = {}){
3822
+ // console.log(`getObjectHeaderToolbar====>`, filterVisible)
3819
3823
  const isMobile = window.innerWidth < 768;
3820
3824
  if(isMobile){
3821
3825
  showDisplayAs = false;
@@ -3852,7 +3856,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3852
3856
  }
3853
3857
  },
3854
3858
  },
3855
- {
3859
+ filterVisible ? {
3856
3860
  "label": "",
3857
3861
  "icon": "fa fa-search",
3858
3862
  "type": "button",
@@ -3868,7 +3872,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3868
3872
  ]
3869
3873
  }
3870
3874
  }
3871
- },
3875
+ } : {},
3872
3876
  showDisplayAs? getDisplayAsButton(mainObject?.name) : {}
3873
3877
  ]
3874
3878
  }else {
@@ -3884,10 +3888,6 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3884
3888
  // "type": "columns-toggler",
3885
3889
  // "className": "mr-2"
3886
3890
  // },
3887
- // {
3888
- // "type": "export-excel",
3889
- // "align": "right"
3890
- // },
3891
3891
  hiddenCount ? {} : {
3892
3892
  "type": "tpl",
3893
3893
  "tpl": "${count} 个项目"
@@ -3933,7 +3933,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3933
3933
  }
3934
3934
  }
3935
3935
  },
3936
- {
3936
+ filterVisible ? {
3937
3937
  "label": "",
3938
3938
  "icon": "fa fa-search",
3939
3939
  "type": "button",
@@ -3949,8 +3949,524 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3949
3949
  ]
3950
3950
  }
3951
3951
  }
3952
+ } : {},
3953
+ {
3954
+ "type": "dropdown-button",
3955
+ "trigger": "click",
3956
+ "icon": "fa fa-cog",
3957
+ "btnClassName": "antd-Button--iconOnly bg-white p-2 rounded border-gray-300 text-gray-500",
3958
+ "align": "right",
3959
+ "visibleOn": "${!isLookup}",
3960
+ "buttons": [
3961
+ {
3962
+ "label": "列表视图操作",
3963
+ "children": [
3964
+ {
3965
+ "type": "button",
3966
+ "label": "新建",
3967
+ "onEvent": {
3968
+ "click": {
3969
+ "weight": 0,
3970
+ "actions": [
3971
+ {
3972
+ "dialog": {
3973
+ "type": "dialog",
3974
+ "title": "新建 列表视图",
3975
+ "data": {
3976
+ "&": "$$",
3977
+ "all": "${uiSchema.list_views.all}",
3978
+ "list_view": "${uiSchema.list_views[listName]}",
3979
+ "appId": "${appId}",
3980
+ "global": "${global}",
3981
+ "objectName": "${objectName}",
3982
+ },
3983
+ "body": [
3984
+ {
3985
+ "type": "steedos-object-form",
3986
+ "label": "对象表单",
3987
+ "objectApiName": "object_listviews",
3988
+ "recordId": "",
3989
+ "mode": "edit",
3990
+ "defaultData": {
3991
+ "&": "${list_view}",
3992
+ "name":"",
3993
+ "label":"",
3994
+ "filters":"",
3995
+ "shared":false
3996
+ },
3997
+ "fieldsExtend": "{\n \"label\": {\n \"is_wide\": true\n },\n \"name\": {\n \"is_wide\": true,\n \"amis\": {\n \"hidden\": true\n }\n },\n \"object_name\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"filter_scope\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"columns\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"filter_fields\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"scrolling_mode\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"sort\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"show_count\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"type\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"shared\":{\n \"amis\":{\n \"visibleOn\":\"${global.user.is_space_admin}\"\n }\n}\n}",
3998
+ "fields": [
3999
+ "label",
4000
+ "name",
4001
+ "object_name",
4002
+ "filter_scope",
4003
+ "show_count",
4004
+ "columns.$.field",
4005
+ "columns.$.width",
4006
+ "sort.$.field_name",
4007
+ "sort.$.order",
4008
+ "filters",
4009
+ "mobile_columns.$.field",
4010
+ "searchable_fields.$.field",
4011
+ "is_system",
4012
+ "shared"
4013
+ ],
4014
+ "onEvent": {
4015
+ "submitSucc": {
4016
+ "weight": 0,
4017
+ "actions": [
4018
+ {
4019
+ "args": {
4020
+ // 直接使用recordId不能拿到数据,只能通过result里面拿数据
4021
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/listview_${result.data.recordId|lowerCase}",
4022
+ "blank": false
4023
+ },
4024
+ "actionType": "url",
4025
+ }
4026
+ ]
4027
+ }
4028
+ },
4029
+ "messages": {
4030
+ "success": "成功",
4031
+ "failed": "失败"
4032
+ },
4033
+ }
4034
+ ],
4035
+ "showCloseButton": true,
4036
+ "showErrorMsg": true,
4037
+ "showLoading": true,
4038
+ "closeOnEsc": false,
4039
+ "dataMapSwitch": false,
4040
+ "size": "lg"
4041
+ },
4042
+ "actionType": "dialog"
4043
+ }
4044
+ ]
4045
+ }
4046
+ }
4047
+ },
4048
+ {
4049
+ "type": "button",
4050
+ "label": "复制",
4051
+ "onEvent": {
4052
+ "click": {
4053
+ "weight": 0,
4054
+ "actions": [
4055
+ {
4056
+ "dialog": {
4057
+ "type": "dialog",
4058
+ "title": "复制 列表视图",
4059
+ "data": {
4060
+ "&": "$$",
4061
+ "listName": "${listName}",
4062
+ "objectName": "${objectName}",
4063
+ "list_view": "${uiSchema.list_views[listName]}",
4064
+ "appId": "${appId}",
4065
+ "global": "${global}"
4066
+ },
4067
+ "body": [
4068
+ {
4069
+ "type": "steedos-object-form",
4070
+ "label": "对象表单",
4071
+ "objectApiName": "object_listviews",
4072
+ "recordId": "",
4073
+ "mode": "edit",
4074
+ "fields": [
4075
+ ],
4076
+ "defaultData": {
4077
+ "&": "${list_view}",
4078
+ "name":"",
4079
+ "label": "${list_view.label}的副本",
4080
+ "shared":false
4081
+ },
4082
+ "fieldsExtend": "{\n \"label\": {\n \"is_wide\": true\n },\n \"name\": {\n \"is_wide\": true,\n \"amis\": {\n \"hidden\": true\n }\n },\n \"object_name\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"filter_scope\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"columns\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"filter_fields\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"scrolling_mode\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"sort\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"show_count\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"type\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"shared\":{\n \"amis\":{\n \"visibleOn\":\"${global.user.is_space_admin}\"\n }\n}\n}",
4083
+ "fields": [
4084
+ "label",
4085
+ "name",
4086
+ "object_name",
4087
+ "filter_scope",
4088
+ "show_count",
4089
+ "columns.$.field",
4090
+ "columns.$.width",
4091
+ "sort.$.field_name",
4092
+ "sort.$.order",
4093
+ "filters",
4094
+ "mobile_columns.$.field",
4095
+ "searchable_fields.$.field",
4096
+ "is_system",
4097
+ "shared"
4098
+ ],
4099
+ "onEvent": {
4100
+ "submitSucc": {
4101
+ "weight": 0,
4102
+ "actions": [
4103
+ {
4104
+ "args": {
4105
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/listview_${result.data.recordId|lowerCase}",
4106
+ "blank": false
4107
+ },
4108
+ "actionType": "url",
4109
+ }
4110
+ ]
4111
+ }
4112
+ }
4113
+ }
4114
+ ],
4115
+ "showCloseButton": true,
4116
+ "showErrorMsg": true,
4117
+ "showLoading": true,
4118
+ "closeOnEsc": false,
4119
+ "dataMapSwitch": false,
4120
+ "size": "lg"
4121
+ },
4122
+ "actionType": "dialog"
4123
+ }
4124
+ ]
4125
+ }
4126
+ }
4127
+ },
4128
+ {
4129
+ "type": "button",
4130
+ "label": "重命名",
4131
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4132
+ "onEvent": {
4133
+ "click": {
4134
+ "weight": 0,
4135
+ "actions": [
4136
+ {
4137
+ "dialog": {
4138
+ "type": "dialog",
4139
+ "title": "重命名 列表视图",
4140
+ "data": {
4141
+ "objectName": "${objectName}",
4142
+ "recordId": "${uiSchema.list_views[listName]._id}",
4143
+ "appId": "${appId}"
4144
+ },
4145
+ "body": [
4146
+ {
4147
+ "type": "steedos-object-form",
4148
+ "label": "对象表单",
4149
+ "objectApiName": "object_listviews",
4150
+ "recordId": "${recordId}",
4151
+ "mode": "edit",
4152
+ "fields": [
4153
+ "label"
4154
+ ],
4155
+ "fieldsExtend": "{\n \"label\":{\n \"is_wide\": true\n }\n}",
4156
+ "onEvent": {
4157
+ "submitSucc": {
4158
+ "weight": 0,
4159
+ "actions": [
4160
+ {
4161
+ "args": {
4162
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/${name}",
4163
+ "blank": false
4164
+ },
4165
+ "actionType": "url",
4166
+ },
4167
+ ]
4168
+ }
4169
+ }
4170
+ }
4171
+ ],
4172
+ "showCloseButton": true,
4173
+ "showErrorMsg": true,
4174
+ "showLoading": true,
4175
+ "size": "lg"
4176
+ },
4177
+ "actionType": "dialog"
4178
+ }
4179
+ ]
4180
+ }
4181
+ }
4182
+ },
4183
+ {
4184
+ "type": "button",
4185
+ "label": "共享设置",
4186
+ "disabledOn": "!(global.user.is_space_admin && !!uiSchema.list_views[listName].owner)",
4187
+ "onEvent": {
4188
+ "click": {
4189
+ "weight": 0,
4190
+ "actions": [
4191
+ {
4192
+ "dialog": {
4193
+ "type": "dialog",
4194
+ "title": "共享设置",
4195
+ "data": {
4196
+ "recordId": "${uiSchema.list_views[listName]._id}",
4197
+ },
4198
+ "body": [
4199
+ {
4200
+ "type": "steedos-object-form",
4201
+ "label": "对象表单",
4202
+ "objectApiName": "object_listviews",
4203
+ "recordId": "${recordId}",
4204
+ "mode": "edit",
4205
+ "fields": [
4206
+ "shared"
4207
+ ]
4208
+ }
4209
+ ],
4210
+ "showCloseButton": true,
4211
+ "showErrorMsg": true,
4212
+ "showLoading": true,
4213
+ "closeOnEsc": false,
4214
+ "dataMapSwitch": false,
4215
+ "size": "md"
4216
+ },
4217
+ "actionType": "dialog"
4218
+ }
4219
+ ]
4220
+ }
4221
+ }
4222
+ },
4223
+ {
4224
+ "type": "button",
4225
+ "label": "过滤设置",
4226
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4227
+ "onEvent": {
4228
+ "click": {
4229
+ "weight": 0,
4230
+ "actions": [
4231
+ {
4232
+ "dialog": {
4233
+ "type": "dialog",
4234
+ "title": "过滤设置",
4235
+ "data": {
4236
+ "objectName": "${objectName}",
4237
+ "recordId": "${uiSchema.list_views[listName]._id}",
4238
+ "listName": "${listName}",
4239
+ "appId": "${appId}"
4240
+ },
4241
+ "body": [
4242
+ {
4243
+ "type": "steedos-object-form",
4244
+ "label": "对象表单",
4245
+ "objectApiName": "object_listviews",
4246
+ "recordId": "${recordId}",
4247
+ "mode": "edit",
4248
+ "initApiAdaptor": "",
4249
+ "fields": [
4250
+ "filters"
4251
+ ],
4252
+ "initApiRequestAdaptor": "",
4253
+ "initApiAdaptor": "const recordId_tmp = api.body.recordId;\nlet data_tmp;\nif (recordId_tmp) {\n data_tmp = payload.data.initialValues;\n // 数据格式转换\n if (data_tmp) {\n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n try {\n data_tmp.filters = JSON.parse(data_tmp.filters);\n } catch (e) { }\n }\n\n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n data_tmp._filters_type_controller = 'function';\n } else {\n data_tmp._filters_type_controller = 'conditions'\n }\n\n if (data_tmp._filters_type_controller === 'conditions') {\n data_tmp._filters_conditions = window.amisConvert.filtersToConditions(data_tmp.filters || []);\n data_tmp.filters = data_tmp._filters_conditions;\n } else {\n data_tmp._filters_function = data_tmp.filters;\n }\n }\n}\nfor (key in data_tmp) {\n if (data_tmp[key] === null) {\n delete data_tmp[key];\n }\n}\npayload.data.initialValues = Object.assign(payload.data.initialValues, data_tmp);\ndelete payload.extensions;",
4254
+ "apiRequestAdaptor": "const recordId = api.body.recordId;\nif (formData._filters_type_controller === 'conditions' && formData._filters_conditions) {\n formData.filters = window.amisConvert.conditionsToFilters(formData.filters);\n} else {\n formData.filters = formData._filters_function || null;\n}\n\ndelete formData._filters_type_controller;\ndelete formData._filters_conditions;\ndelete formData._filters_function;\n// 字符串拼接(不支持ES6``语法)\nquery = 'mutation{record: ' + objectName + '__insert(doc: {__saveData}){_id}}';\nif (api.body.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",
4255
+ "fieldsExtend": "{\"filters\": {\n \"visible_on\": \"true\",\n \"amis\": {\n \"type\": \"condition-builder\",\n \"label\": \"条件组件\",\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-listviews/getFilterFields?objectName=${objectName}\",\n \"dataType\": \"json\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n}",
4256
+ "onEvent": {
4257
+ "submitSucc": {
4258
+ "weight": 0,
4259
+ "actions": [
4260
+ {
4261
+ "args": {
4262
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/${listName}",
4263
+ "blank": false
4264
+ },
4265
+ "actionType": "url",
4266
+ }
4267
+ ]
4268
+ }
4269
+ }
4270
+ }
4271
+ ],
4272
+ "showCloseButton": true,
4273
+ "showErrorMsg": true,
4274
+ "showLoading": true,
4275
+ "closeOnEsc": false,
4276
+ "dataMapSwitch": false,
4277
+ "size": "lg"
4278
+ },
4279
+ "actionType": "dialog"
4280
+ }
4281
+ ]
4282
+ }
4283
+ }
4284
+ },
4285
+ {
4286
+ "type": "button",
4287
+ "label": "显示的列",
4288
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4289
+ "onEvent": {
4290
+ "click": {
4291
+ "weight": 0,
4292
+ "actions": [
4293
+ {
4294
+ "args": {},
4295
+ "dialog": {
4296
+ "type": "dialog",
4297
+ "title": "显示的列",
4298
+ "data": {
4299
+ "&": "$$",
4300
+ "objectName": "${objectName}",
4301
+ "recordId": "${uiSchema.list_views[listName]._id}",
4302
+ "listName": "${listName}",
4303
+ "appId": "${appId}"
4304
+ },
4305
+ "body": [
4306
+ {
4307
+ "type": "steedos-object-form",
4308
+ "label": "对象表单",
4309
+ "objectApiName": "object_listviews",
4310
+ "recordId": "${recordId}",
4311
+ "mode": "edit",
4312
+ "fieldsExtend": "{\n \"columns\": {\n \"amis\": {\n \"type\": \"transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n },\n \"mobile_columns\": {\n \"group\": \"手机端\",\n \"amis\": {\n \"type\": \"transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n}",
4313
+ "initApiAdaptor": "const recordId_tmp = api.body.recordId;\nlet columns_tmp = {}, mobile_columns_tmp = {};\nif (recordId_tmp) {\n columns_tmp = payload.data.initialValues.columns;\n mobile_columns_tmp = payload.data.initialValues.mobile_columns;\n if (columns_tmp) {\n columns_tmp = lodash.map(columns_tmp, 'field');\n }\n if (mobile_columns_tmp) {\n mobile_columns_tmp = lodash.map(mobile_columns_tmp, 'field');\n }\n}\npayload.data.initialValues.columns = columns_tmp;\npayload.data.initialValues.mobile_columns = mobile_columns_tmp;\n\ndelete payload.extensions;\nreturn payload;",
4314
+ "apiRequestAdaptor": "const formData_tmp = api.body.$;\nconst objectName_tmp = api.body.objectName;\nconst recordId_tmp = api.body.recordId;\n\nif (typeof formData_tmp.columns == 'string') {\n formData_tmp.columns = formData_tmp.columns?.split(',');\n}\nif (typeof formData_tmp.mobile_columns == 'string') {\n formData_tmp.mobile_columns = formData_tmp.mobile_columns?.split(',');\n}\n\n// 数据格式转换\nformData_tmp.columns = lodash.map(formData_tmp.columns, (item) => {\n return { field: item };\n});\nformData.mobile_columns = lodash.map(formData.mobile_columns, (item) => {\n return { field: item };\n});\n\n// 字符串拼接(不支持ES6语法)\nlet query_tmp = 'mutation{record: ' + objectName_tmp + '__insert(doc: {__saveData}){_id}}';\nif (api.body.recordId) {\n query_tmp = 'mutation{record: ' + objectName_tmp + '__update(id: \"' + recordId_tmp +'\", doc: {__saveData}){_id}}';\n};\ndelete formData_tmp._id;\nlet __saveData_tmp = JSON.stringify(JSON.stringify(formData_tmp));\napi.data = { query: query_tmp.replace('{__saveData}', __saveData_tmp) };\n\nreturn api;",
4315
+ "fields": [
4316
+ "columns",
4317
+ "mobile_columns"
4318
+ ],
4319
+ "onEvent": {
4320
+ "submitSucc": {
4321
+ "weight": 0,
4322
+ "actions": [
4323
+ {
4324
+ "args": {
4325
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/${listName}",
4326
+ "blank": false
4327
+ },
4328
+ "actionType": "url"
4329
+ }
4330
+ ]
4331
+ }
4332
+ }
4333
+ }
4334
+ ],
4335
+ "searchable": true,
4336
+ "showCloseButton": true,
4337
+ "showErrorMsg": true,
4338
+ "showLoading": true,
4339
+ "size": "lg"
4340
+ },
4341
+ "actionType": "dialog"
4342
+ }
4343
+ ]
4344
+ }
4345
+ }
4346
+ },
4347
+ {
4348
+ "type": "button",
4349
+ "label": "默认排序规则",
4350
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4351
+ "onEvent": {
4352
+ "click": {
4353
+ "weight": 0,
4354
+ "actions": [
4355
+ {
4356
+ "dialog": {
4357
+ "type": "dialog",
4358
+ "title": "弹框标题",
4359
+ "data": {
4360
+ "&": "$$",
4361
+ "objectName": "${objectName}",
4362
+ "recordId": "${uiSchema.list_views[listName]._id}",
4363
+ "listName": "${listName}",
4364
+ "appId": "${appId}"
4365
+ },
4366
+ "body": [
4367
+ {
4368
+ "type": "steedos-object-form",
4369
+ "label": "对象表单",
4370
+ "objectApiName": "object_listviews",
4371
+ "recordId": "${recordId}",
4372
+ "className": "",
4373
+ "id": "u:061f158b4c5a",
4374
+ "mode": "edit",
4375
+ "fields": [
4376
+ "sort",
4377
+ "sort.$.field_name",
4378
+ "sort.$.order"
4379
+ ],
4380
+ "onEvent": {
4381
+ "submitSucc": {
4382
+ "weight": 0,
4383
+ "actions": [
4384
+ {
4385
+ "args": {
4386
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/${listName}",
4387
+ "blank": false
4388
+ },
4389
+ "actionType": "url"
4390
+ }
4391
+ ]
4392
+ }
4393
+ },
4394
+ "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}",
4395
+ "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;",
4396
+ "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"
4397
+ }
4398
+ ],
4399
+ "showCloseButton": true,
4400
+ "showErrorMsg": true,
4401
+ "showLoading": true,
4402
+ "id": "u:d3f6947b6acf",
4403
+ "size": "lg"
4404
+ },
4405
+ "actionType": "dialog"
4406
+ }
4407
+ ]
4408
+ }
4409
+ }
4410
+ },
4411
+ {
4412
+ "type": "button",
4413
+ "label": "删除",
4414
+ "disabledOn": "!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",
4415
+ "confirmText": "如果您删除此列表视图,该视图将为所有具备访问权限的用户永久删除。是否确定要删除?",
4416
+ "onEvent": {
4417
+ "click": {
4418
+ "actions": [
4419
+ {
4420
+ "actionType": "ajax",
4421
+ "args": {
4422
+ "api": {
4423
+ "url": "${context.rootUrl}/graphql",
4424
+ "method": "post",
4425
+ "headers": {
4426
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
4427
+ },
4428
+ "data": {
4429
+ "&": "$$",
4430
+ "uiSchema": "${uiSchema}",
4431
+ "recordId": "${uiSchema.list_views[listName]._id}"
4432
+ },
4433
+ "messages": {
4434
+ "success": "删除成功"
4435
+ },
4436
+ "requestAdaptor": "const { recordId } = api.body;\nvar deleteArray = [];\nif (recordId) { deleteArray.push(`delete:object_listviews__delete(id: \"${recordId}\")`); }\napi.data = { query: `mutation{${deleteArray.join(',')}}` };\n return api;\n",
4437
+ "adaptor": "if (payload.errors) {\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n}\nreturn payload;",
4438
+ }
4439
+ }
4440
+ },
4441
+ {
4442
+ "actionType": "url",
4443
+ "args": {
4444
+ "url": "${context.rootUrl}/app/${appId}/${objectName}/grid/all",
4445
+ "blank": false
4446
+ },
4447
+ "expression": "data.delete == 1"
4448
+ }
4449
+ ]
4450
+ }
4451
+ }
4452
+ },
4453
+ {
4454
+ "type": "button",
4455
+ "visibleOn": "${false}",
4456
+ "label": "保存宽度(todo)"
4457
+ },
4458
+ // {
4459
+ // type: 'steedos-object-button',
4460
+ // name: 'standard_delete',
4461
+ // objectName: 'test0321__c',
4462
+ // // visibleOn: getButtonVisibleOn(button),
4463
+ // className: 'antd-Button--default'
4464
+ // }
4465
+ ]
4466
+ }
4467
+ ]
3952
4468
  },
3953
- showDisplayAs? getDisplayAsButton(showDisplayAs) : {}
4469
+ showDisplayAs ? getDisplayAsButton(showDisplayAs) : {}
3954
4470
  // {
3955
4471
  // "type": "search-box",
3956
4472
  // "align": "right",
@@ -4233,6 +4749,7 @@ function getLookupSapceUserTreeSchema(){
4233
4749
  const tree = [{
4234
4750
  "type": "input-tree",
4235
4751
  "className": "",
4752
+ "inputClassName": "pl-0",
4236
4753
  "id": "u:7fd77b7915b0",
4237
4754
  "source": {
4238
4755
  "method": "post",
@@ -4255,7 +4772,6 @@ function getLookupSapceUserTreeSchema(){
4255
4772
  {
4256
4773
  "actionType": "custom",
4257
4774
  "script": `
4258
- debugger;
4259
4775
  const scope = event.context.scoped;
4260
4776
  //TODO: 将form中的value一同加入筛选内
4261
4777
  // var filterForm = scope.parent.parent.getComponents().find(function(n){
@@ -4302,10 +4818,10 @@ function getLookupSapceUserTreeSchema(){
4302
4818
  "style": {
4303
4819
  "max-height": "100%",
4304
4820
  "position": "absolute",
4305
- "left": "-190px",
4821
+ "left": "-200px",
4306
4822
  "width": "190px",
4307
4823
  "bottom": 0,
4308
- "top": "0",
4824
+ "top": "-14px",
4309
4825
  "overflow": "auto",
4310
4826
  "min-height":"300px"
4311
4827
  },
@@ -5739,7 +6255,7 @@ var index = /*#__PURE__*/Object.freeze({
5739
6255
 
5740
6256
  const API_CACHE = 100;
5741
6257
 
5742
- function getReadonlyFormAdaptor(fields){
6258
+ function getReadonlyFormAdaptor(object, fields){
5743
6259
  let scriptStr = '';
5744
6260
  const selectFields = ___default__namespace.filter(fields, function(field){return field.name.indexOf('.') < 0 && ((field.type == 'select' && field.options) || ((field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to))});
5745
6261
  const gridAndObjectFieldsName = ___default__namespace.map(___default__namespace.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');
@@ -5798,6 +6314,7 @@ function getReadonlyFormAdaptor(fields){
5798
6314
  console.error(e)
5799
6315
  }
5800
6316
  payload.data = data;
6317
+ payload.data.__objectName = "${object.name}";
5801
6318
  payload.data.__record = record;
5802
6319
  window.postMessage(Object.assign({type: "record.loaded"}, {record: record}), "*")
5803
6320
  }
@@ -5815,7 +6332,7 @@ async function getReadonlyFormInitApi(object, recordId, fields, options){
5815
6332
  url: getApi$2()+"&recordId=${recordId}",
5816
6333
  cache: API_CACHE,
5817
6334
  // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
5818
- adaptor: getReadonlyFormAdaptor(fields),
6335
+ adaptor: getReadonlyFormAdaptor(object, fields),
5819
6336
  data: await getFindOneQuery$1(object, recordId, fields, options),
5820
6337
  headers: {
5821
6338
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -6213,11 +6730,11 @@ function getBulkActions(objectSchema){
6213
6730
  }
6214
6731
 
6215
6732
  async function getObjectCRUD(objectSchema, fields, options){
6733
+ // console.time('getObjectCRUD');
6216
6734
  const { top, perPage, showDisplayAs = false, displayAs, crudClassName = "" } = options;
6217
6735
  const nonpaged = objectSchema.paging && objectSchema.paging.enabled === false;
6218
6736
  const isTreeObject = objectSchema.enable_tree;
6219
6737
  const bulkActions = getBulkActions(objectSchema);
6220
-
6221
6738
  const bodyProps = {
6222
6739
  // toolbar: getToolbar(),
6223
6740
  // headerToolbar: getObjectHeaderToolbar(objectSchema, options.formFactor, {showDisplayAs}),
@@ -6246,11 +6763,12 @@ async function getObjectCRUD(objectSchema, fields, options){
6246
6763
  options.queryCount = false;
6247
6764
  }
6248
6765
  }
6249
-
6766
+ // console.log(`getObjectHeaderToolbar====2===>`, options.filterVisible)
6250
6767
  bodyProps.headerToolbar = getObjectHeaderToolbar(objectSchema, options.formFactor, {
6251
6768
  showDisplayAs,
6252
6769
  hiddenCount: options.queryCount === false,
6253
- headerToolbarItems: options.headerToolbarItems
6770
+ headerToolbarItems: options.headerToolbarItems,
6771
+ filterVisible: options.filterVisible
6254
6772
  });
6255
6773
 
6256
6774
 
@@ -6325,7 +6843,7 @@ async function getObjectCRUD(objectSchema, fields, options){
6325
6843
  body = wrappedBody;
6326
6844
  }
6327
6845
  }
6328
-
6846
+ // console.timeEnd('getObjectCRUD');
6329
6847
  // TODO: data应该只留loaded,其他属性都改为从上层传递下来
6330
6848
  return {
6331
6849
  type: 'service',
@@ -6447,7 +6965,8 @@ async function getObjectForm(objectSchema, ctx){
6447
6965
  "eventName": "@data.changed.${_master.objectName}"
6448
6966
  },
6449
6967
  "data": {
6450
- "objectName": "${_master.objectName}"
6968
+ "objectName": "${_master.objectName}",
6969
+ "_isRelated": "${_isRelated || _master._isRelated}"
6451
6970
  },
6452
6971
  "expression": `\${_master.objectName != '${objectSchema.name}' && _master.objectName}`
6453
6972
  },
@@ -6531,6 +7050,7 @@ async function getObjectDetail(objectSchema, recordId, ctx){
6531
7050
  eventName: "recordLoaded"
6532
7051
  },
6533
7052
  data: {
7053
+ objectName: "${event.data.__objectName}",
6534
7054
  record: "${event.data.__record}"
6535
7055
  }
6536
7056
  },
@@ -6967,7 +7487,7 @@ async function getTableApi(mainObject, fields, options){
6967
7487
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
6968
7488
 
6969
7489
  if(options.isRelated){
6970
- api.url += "&recordId=${recordId}";
7490
+ api.url += "&recordId=${_master.recordId}";
6971
7491
  }
6972
7492
 
6973
7493
  api.data.$term = "$term";
@@ -8212,7 +8732,7 @@ async function getRelatedListSchema(
8212
8732
  * @Author: baozhoutao@steedos.com
8213
8733
  * @Date: 2022-07-05 15:55:39
8214
8734
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
8215
- * @LastEditTime: 2023-04-11 11:28:11
8735
+ * @LastEditTime: 2023-04-14 11:10:07
8216
8736
  * @Description:
8217
8737
  */
8218
8738
 
@@ -8512,7 +9032,8 @@ async function getListSchema(
8512
9032
  "ctx": ctx,
8513
9033
  "requestAdaptor": listView.requestAdaptor,
8514
9034
  "adaptor": listView.adaptor,
8515
- "headerToolbarItems": ctx.headerToolbarItems
9035
+ "headerToolbarItems": ctx.headerToolbarItems,
9036
+ "filterVisible": ctx.filterVisible
8516
9037
  };
8517
9038
  return {
8518
9039
  uiSchema,
@@ -8527,6 +9048,7 @@ async function getTableSchema(
8527
9048
  columns,
8528
9049
  ctx = {}
8529
9050
  ) {
9051
+ // console.time('getTableSchema');
8530
9052
  const uiSchema = await getUISchema(objectName);
8531
9053
 
8532
9054
  let sort = ctx.sort;
@@ -8577,6 +9099,7 @@ async function getTableSchema(
8577
9099
  buttons: await getListViewItemButtons(uiSchema, ctx)
8578
9100
  });
8579
9101
  // console.log('getTableSchema====>amisSchema', amisSchema)
9102
+ // console.timeEnd('getTableSchema');
8580
9103
  return {
8581
9104
  uiSchema,
8582
9105
  amisSchema,
@@ -8695,6 +9218,41 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
8695
9218
  }
8696
9219
  }
8697
9220
 
9221
+ async function getRecordServiceSchema(objectName, appId, props = {}) {
9222
+ const uiSchema = await getUISchema(objectName);
9223
+ return {
9224
+ uiSchema,
9225
+ amisSchema: {
9226
+ "type": "service",
9227
+ "body": [],
9228
+ data: {
9229
+ "_master.objectName": "${objectName}",
9230
+ "_master.recordId": "${recordId}"
9231
+ },
9232
+ "style": {
9233
+ "padding": "var(--Page-body-padding)",
9234
+ ...props.style
9235
+ },
9236
+ onEvent: {
9237
+ "recordLoaded": {
9238
+ "actions": [
9239
+ {
9240
+ "actionType": "reload",
9241
+ "data": {
9242
+ "name": `\${record.${uiSchema.NAME_FIELD_KEY || 'name'}}`,
9243
+ "_master.record": `\${record}`,
9244
+ // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
9245
+ "_master.objectName": "${objectName}",
9246
+ "_master.recordId": "${recordId}"
9247
+ }
9248
+ }
9249
+ ]
9250
+ },
9251
+ ...props.onEvent
9252
+ }
9253
+ }
9254
+ }
9255
+ }
8698
9256
 
8699
9257
  // 获取单个相关表
8700
9258
  async function getObjectRelated(
@@ -11614,6 +12172,7 @@ var index_esm$1 = /*#__PURE__*/Object.freeze({
11614
12172
  getRecordDetailSchema: getRecordDetailSchema,
11615
12173
  getRecordPageInitSchema: getRecordPageInitSchema,
11616
12174
  getRecordPermissions: getRecordPermissions,
12175
+ getRecordServiceSchema: getRecordServiceSchema,
11617
12176
  getRelatedFieldValue: getRelatedFieldValue,
11618
12177
  getRelatedListSchema: getRelatedListSchema,
11619
12178
  getRelatedsCount: getRelatedsCount,
@@ -12030,6 +12589,28 @@ var SteedosLoading = function (props) {
12030
12589
  React__default["default"].createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }))));
12031
12590
  };
12032
12591
 
12592
+ /*
12593
+ * @Author: baozhoutao@steedos.com
12594
+ * @Date: 2023-04-07 18:31:31
12595
+ * @LastEditors: baozhoutao@steedos.com
12596
+ * @LastEditTime: 2023-04-12 14:25:02
12597
+ * @Description:
12598
+ */
12599
+ var SteedosSkeleton = function (props) {
12600
+ var body = props.body, render = props.render, _a = props.bodyClassName, bodyClassName = _a === void 0 ? "" : _a, _b = props.config, config = _b === void 0 ? {} : _b;
12601
+ if (___default.isString(config)) {
12602
+ config = JSON.parse(config);
12603
+ }
12604
+ var active = config.active, avatar = config.avatar, loading = config.loading, paragraph = config.paragraph, round = config.round, title = config.title;
12605
+ loading = ___default.isBoolean(loading) ? loading : loading === 'true';
12606
+ // console.log("SteedosSkeleton====>", loading, config, typeof loading)
12607
+ return React__default["default"].createElement(React__default["default"].Fragment, null,
12608
+ React__default["default"].createElement(antd.Skeleton, { active: active, avatar: avatar, loading: loading, paragraph: paragraph, round: round, title: title }),
12609
+ React__default["default"].createElement("div", { className: loading ? 'hidden w-full h-full' : 'w-full h-full' }, body ? (React__default["default"].createElement("div", { className: "steedos-skeleton-body ".concat(bodyClassName) }, render('body', body, {
12610
+ // 这里的信息会作为 props 传递给子组件,一般情况下都不需要这个
12611
+ }))) : null));
12612
+ };
12613
+
12033
12614
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12034
12615
  var $schema, recordId, defaultData, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
12035
12616
  return __generator(this, function (_d) {
@@ -12071,6 +12652,8 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
12071
12652
  schema = _d.sent();
12072
12653
  amisSchema = schema.amisSchema;
12073
12654
  if (defaultData) {
12655
+ // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
12656
+ // 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
12074
12657
  amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData);
12075
12658
  }
12076
12659
  uiSchema = schema.uiSchema;
@@ -12087,6 +12670,9 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
12087
12670
  // if(objectApiName){
12088
12671
  // formData.objectName = objectApiName;
12089
12672
  // }
12673
+ if (___default.has(props, "recordId") && $schema.recordId !== "${recordId}") {
12674
+ formData.recordId = props.recordId;
12675
+ }
12090
12676
  amisSchema.className = "steedos-object-form ".concat(className);
12091
12677
  amisSchema.data = Object.assign(amisSchema.data, formData, { global: globalData, uiSchema: uiSchema });
12092
12678
  // console.log(`===AmisObjectForm=amisSchema==`, amisSchema)
@@ -12096,11 +12682,11 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
12096
12682
  }); };
12097
12683
 
12098
12684
  var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12099
- var $schema, top, perPage, _a, showHeader, headerSchema, data, defaultData, _b, className, crudClassName, _c, showDisplayAs, sideSchema, headerToolbarItems, ctx, listName, defaults, objectApiName, displayAs, formFactor, isMobile, objectUiSchema, listView, schemaKeys, listSchema, setDataToComponentId, amisSchemaData, listViewId, schema, amisSchema, uiSchema, body, firstLineSchema, serviceData;
12100
- return __generator(this, function (_e) {
12101
- switch (_e.label) {
12685
+ var $schema, top, perPage, _a, showHeader, headerSchema, data, defaultData, _b, className, crudClassName, _c, showDisplayAs, sideSchema, _e, filterVisible, headerToolbarItems, ctx, listName, defaults, objectApiName, displayAs, formFactor, isMobile, objectUiSchema, listView, schemaKeys, listSchema, setDataToComponentId, amisSchemaData, listViewId, schema, amisSchema, uiSchema, body, firstLineSchema, serviceData;
12686
+ return __generator(this, function (_f) {
12687
+ switch (_f.label) {
12102
12688
  case 0:
12103
- $schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, headerSchema = props.headerSchema, data = props.data, defaultData = props.defaultData, _b = props.className, className = _b === void 0 ? "" : _b, crudClassName = props.crudClassName, _c = props.showDisplayAs, showDisplayAs = _c === void 0 ? false : _c, sideSchema = props.sideSchema, props.columnsTogglable, headerToolbarItems = props.headerToolbarItems;
12689
+ $schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, headerSchema = props.headerSchema, data = props.data, defaultData = props.defaultData, _b = props.className, className = _b === void 0 ? "" : _b, crudClassName = props.crudClassName, _c = props.showDisplayAs, showDisplayAs = _c === void 0 ? false : _c, sideSchema = props.sideSchema, props.columnsTogglable, _e = props.filterVisible, filterVisible = _e === void 0 ? true : _e, headerToolbarItems = props.headerToolbarItems;
12104
12690
  ctx = props.ctx;
12105
12691
  listName = (defaultData === null || defaultData === void 0 ? void 0 : defaultData.listName) || (data === null || data === void 0 ? void 0 : data.listName) || (props === null || props === void 0 ? void 0 : props.listName);
12106
12692
  defaults = {};
@@ -12127,7 +12713,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
12127
12713
  }
12128
12714
  return [4 /*yield*/, getUISchema(objectApiName, false)];
12129
12715
  case 1:
12130
- objectUiSchema = _e.sent();
12716
+ objectUiSchema = _f.sent();
12131
12717
  listView = ___default.find(objectUiSchema.list_views, function (listView, name) {
12132
12718
  // 传入listViewName空值则取第一个
12133
12719
  if (!listName) {
@@ -12159,11 +12745,11 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
12159
12745
  "blank": false
12160
12746
  },
12161
12747
  "actionType": "link",
12162
- "expression": "${!!!event.data.recordId && event.data.__deletedRecord != true}" //是新建, 则进入详细页面.
12748
+ "expression": "${!!!event.data.recordId && event.data.__deletedRecord != true && event.data._isRelated != true}" //是新建, 则进入详细页面.
12163
12749
  },
12164
12750
  {
12165
12751
  "actionType": "reload",
12166
- "expression": "${event.data.recordId || event.data.__deletedRecord === true}" //不是新建, 则刷新列表
12752
+ "expression": "${(event.data.recordId || event.data.__deletedRecord === true || event.data.displayAs === 'split') && event.data._isRelated != true}" //不是新建, 或分栏模式下新建主对象记录, 则刷新列表
12167
12753
  }
12168
12754
  ]
12169
12755
  };
@@ -12181,9 +12767,9 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
12181
12767
  }
12182
12768
  amisSchemaData = Object.assign({}, data, defaultData);
12183
12769
  listViewId = (ctx === null || ctx === void 0 ? void 0 : ctx.listViewId) || amisSchemaData.listViewId;
12184
- return [4 /*yield*/, getListSchema(amisSchemaData.appId, objectApiName, listName, __assign$2(__assign$2({ top: top, perPage: perPage, showHeader: showHeader, defaults: defaults }, ctx), { listViewId: listViewId, setDataToComponentId: setDataToComponentId, filterVisible: true, showDisplayAs: showDisplayAs, displayAs: displayAs, headerToolbarItems: headerToolbarItems }))];
12770
+ return [4 /*yield*/, getListSchema(amisSchemaData.appId, objectApiName, listName, __assign$2(__assign$2({ top: top, perPage: perPage, showHeader: showHeader, defaults: defaults }, ctx), { listViewId: listViewId, setDataToComponentId: setDataToComponentId, filterVisible: filterVisible, showDisplayAs: showDisplayAs, displayAs: displayAs, headerToolbarItems: headerToolbarItems }))];
12185
12771
  case 2:
12186
- schema = (_e.sent());
12772
+ schema = (_f.sent());
12187
12773
  amisSchema = schema.amisSchema;
12188
12774
  uiSchema = schema.uiSchema;
12189
12775
  body = [amisSchema];
@@ -12204,19 +12790,20 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
12204
12790
  {
12205
12791
  "type": "wrapper",
12206
12792
  "size": "none",
12207
- "className": "flex-shrink-0 min-w-[200px] overflow-y-auto border-r border-gray-200 lg:order-first lg:flex lg:flex-col",
12793
+ "className": "flex-shrink-0 min-w-[200px] h-full border-r border-gray-200 lg:order-first lg:flex lg:flex-col",
12208
12794
  "body": sideSchema
12209
12795
  },
12210
12796
  {
12211
12797
  "type": "wrapper",
12212
12798
  "size": "none",
12213
- "className": "flex-1 overflow-y-auto focus:outline-none lg:order-last w-96",
12799
+ "className": "flex-1 focus:outline-none lg:order-last w-96 h-full",
12214
12800
  "body": body
12215
12801
  },
12216
12802
  ]
12217
12803
  }];
12218
12804
  }
12219
12805
  serviceData = Object.assign({}, { listName: listName, uiSchema: uiSchema, showDisplayAs: showDisplayAs, displayAs: displayAs, recordPermissions: uiSchema.permissions, _id: null, $listviewId: listName });
12806
+ // console.timeEnd('AmisObjectListView')
12220
12807
  return [2 /*return*/, {
12221
12808
  "type": "service",
12222
12809
  "body": body,
@@ -12298,6 +12885,7 @@ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0
12298
12885
  amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
12299
12886
  amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
12300
12887
  // console.log(`AmisObjectTable===>amisSchema`, amisSchema)
12888
+ // console.timeEnd('AmisObjectTable')
12301
12889
  return [2 /*return*/, amisSchema];
12302
12890
  }
12303
12891
  });
@@ -12355,7 +12943,8 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12355
12943
  "_id": "\${event.data.record._id}",
12356
12944
  "recordId": "\${event.data.record._id}",
12357
12945
  "recordLoaded": true,
12358
- }
12946
+ },
12947
+ "expression": "${event.data.objectName == '".concat(objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.name, "'}")
12359
12948
  }
12360
12949
  ]
12361
12950
  }
@@ -12402,6 +12991,36 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
12402
12991
  });
12403
12992
  }); };
12404
12993
 
12994
+ /*
12995
+ * @Author: baozhoutao@steedos.com
12996
+ * @Date: 2022-12-08 10:32:17
12997
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12998
+ * @LastEditTime: 2023-04-14 11:30:21
12999
+ * @Description:
13000
+ */
13001
+ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13002
+ var className, _a, objectApiName, body, style, schema;
13003
+ return __generator(this, function (_b) {
13004
+ switch (_b.label) {
13005
+ case 0:
13006
+ 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;
13007
+ return [4 /*yield*/, getRecordServiceSchema(objectApiName)];
13008
+ case 1:
13009
+ schema = (_b.sent()).amisSchema;
13010
+ if (body) {
13011
+ schema.body = body;
13012
+ }
13013
+ if (className) {
13014
+ schema.className = className;
13015
+ }
13016
+ if (style) {
13017
+ Object.assign(schema.style, style);
13018
+ }
13019
+ return [2 /*return*/, schema];
13020
+ }
13021
+ });
13022
+ }); };
13023
+
12405
13024
  var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12406
13025
  var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, formFactor, schema;
12407
13026
  return __generator(this, function (_b) {
@@ -13396,7 +14015,7 @@ var AmisInstanceDetail = function (props) { return __awaiter(void 0, void 0, voi
13396
14015
  }); };
13397
14016
 
13398
14017
  var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13399
- var defaultFormFactor, appId, objectApiName, listviewId, display, _a, $schema, listName, displayAs, formFactor, page, listViewId, listSchema, defData;
14018
+ var defaultFormFactor, appId, objectApiName, listviewId, display, _a, $schema, listName, displayAs, formFactor, page, listViewId, listSchema, defData, pageGridClassName, pageSplitClassName;
13400
14019
  return __generator(this, function (_b) {
13401
14020
  switch (_b.label) {
13402
14021
  case 0:
@@ -13434,11 +14053,12 @@ var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, f
13434
14053
  if (listName) {
13435
14054
  defData.listName = listName || listviewId;
13436
14055
  }
13437
- // console.log("defData====>", defData)
14056
+ pageGridClassName = listSchema.pageGridClassName || 'h-full sm:p-3';
14057
+ pageSplitClassName = listSchema.pageSplitClassName || 'p-0 flex flex-1 overflow-hidden h-full';
13438
14058
  return [2 /*return*/, {
13439
14059
  type: 'service',
13440
14060
  data: defData,
13441
- "className": (displayAs === 'grid') ? 'h-full sm:p-3' : 'p-0 flex flex-1 overflow-hidden h-full',
14061
+ "className": (displayAs === 'grid') ? pageGridClassName : pageSplitClassName,
13442
14062
  body: (displayAs === 'grid') ? ___default.defaultsDeep({ data: defData }, listSchema) : [
13443
14063
  {
13444
14064
  "type": "wrapper",
@@ -13548,6 +14168,7 @@ exports.AmisRecordDetail = AmisRecordDetail;
13548
14168
  exports.AmisRecordDetailHeader = AmisRecordDetailHeader;
13549
14169
  exports.AmisRecordDetailRelatedList = AmisRecordDetailRelatedList;
13550
14170
  exports.AmisRecordDetailRelatedLists = AmisRecordDetailRelatedLists;
14171
+ exports.AmisRecordService = AmisRecordService;
13551
14172
  exports.AmisSelectFlow = AmisSelectFlow;
13552
14173
  exports.AmisSelectUser = AmisSelectUser;
13553
14174
  exports.AmisSteedosField = AmisSteedosField;
@@ -13561,4 +14182,5 @@ exports.SteedosDropdownButton = SteedosDropdownButton;
13561
14182
  exports.SteedosIcon = SteedosIcon;
13562
14183
  exports.SteedosLib = index_esm;
13563
14184
  exports.SteedosLoading = SteedosLoading;
14185
+ exports.SteedosSkeleton = SteedosSkeleton;
13564
14186
  //# sourceMappingURL=amis-object.cjs.js.map