@steedos/service-core-objects 3.0.0-beta.9 → 3.0.0-beta.92

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 (142) hide show
  1. package/main/default/client/{topic.client.js → css.client.js} +2 -1
  2. package/main/default/client/socket.client.js +118 -0
  3. package/main/default/objectTranslations/base.en/base.en.objectTranslation.yml +2 -0
  4. package/main/default/objectTranslations/base.zh-CN/base.zh-CN.objectTranslation.yml +2 -0
  5. package/main/default/objectTranslations/cms_files.en/cms_files.en.objectTranslation.yml +7 -1
  6. package/main/default/objectTranslations/cms_files.zh-CN/cms_files.zh-CN.objectTranslation.yml +7 -1
  7. package/main/default/objectTranslations/datasources.zh-CN/datasources.zh-CN.objectTranslation.yml +1 -1
  8. package/main/default/objectTranslations/instances.en/instances.en.objectTranslation.yml +45 -0
  9. package/main/default/objectTranslations/instances.zh-CN/instances.zh-CN.objectTranslation.yml +42 -0
  10. package/main/default/objectTranslations/license.en/license.en.objectTranslation.yml +1 -1
  11. package/main/default/objectTranslations/object_actions.zh-CN/object_actions.zh-CN.objectTranslation.yml +1 -1
  12. package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +1 -5
  13. package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +3 -3
  14. package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +1 -1
  15. package/main/default/objectTranslations/object_layouts.zh-CN/object_layouts.zh-CN.objectTranslation.yml +1 -1
  16. package/main/default/objectTranslations/object_listviews.en/object_listviews.en.objectTranslation.yml +3 -1
  17. package/main/default/objectTranslations/object_listviews.zh-CN/object_listviews.zh-CN.objectTranslation.yml +5 -3
  18. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +23 -18
  19. package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +39 -25
  20. package/main/default/objectTranslations/operation_logs.en/operation_logs.en.objectTranslation.yml +66 -0
  21. package/main/default/objectTranslations/operation_logs.zh-CN/operation_logs.zh-CN.objectTranslation.yml +66 -0
  22. package/main/default/objectTranslations/space_users.en/space_users.en.objectTranslation.yml +17 -0
  23. package/main/default/objectTranslations/space_users.zh-CN/space_users.zh-CN.objectTranslation.yml +17 -1
  24. package/main/default/objects/_base/base.client.js +11 -10
  25. package/main/default/objects/_base/base.object.js +279 -105
  26. package/main/default/objects/_base/base.object.yml +8 -0
  27. package/main/default/objects/announcements.object.yml +68 -0
  28. package/main/default/objects/apps/apps.object.yml +25 -69
  29. package/main/default/objects/apps/buttons/disable.button.js +3 -1
  30. package/main/default/objects/apps/buttons/enable.button.js +3 -1
  31. package/main/default/objects/audit_records.object.yml +1 -1
  32. package/main/default/objects/cms_files/buttons/download.button.yml +1 -1
  33. package/main/default/objects/cms_files/cms_files.object.yml +6 -5
  34. package/main/default/objects/favorites.object.yml +65 -0
  35. package/main/default/objects/keyvalue/keyvalue.object.yml +1 -0
  36. package/main/default/objects/logs/logs.object.yml +1 -0
  37. package/main/default/objects/object_fields/buttons/recomputeFormulaValues.button.js +6 -2
  38. package/main/default/objects/object_fields/buttons/recomputeSummaryValues.button.js +6 -2
  39. package/main/default/objects/object_fields/buttons/standard_new.button.js +1 -1
  40. package/main/default/objects/object_fields/fields/_name.field.yml +1 -0
  41. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +28 -13
  42. package/main/default/objects/object_fields/fields/name.field.yml +1 -0
  43. package/main/default/objects/object_fields/fields/options.field.yml +1 -0
  44. package/main/default/objects/object_fields/fields/summary_filters.$.field.field.yml +16 -9
  45. package/main/default/objects/object_fields/fields/summary_filters.$.operation.field.yml +26 -29
  46. package/main/default/objects/object_fields/listviews/all.listview.yml +3 -1
  47. package/main/default/objects/object_fields/listviews/customize.listview.yml +3 -1
  48. package/main/default/objects/object_functions/fields/script.field.yml +1 -1
  49. package/main/default/objects/object_listviews/buttons/customize.button.js +36 -30
  50. package/main/default/objects/object_listviews/buttons/showDesign.button.js +6 -6
  51. package/main/default/objects/object_listviews/fields/adaptor.field.yml +2 -2
  52. package/main/default/objects/object_listviews/fields/crudDataFilter.field.yml +10 -0
  53. package/main/default/objects/object_listviews/fields/enable_amis_schema.field.yml +1 -0
  54. package/main/default/objects/object_listviews/fields/extra_columns.field.yml +18 -0
  55. package/main/default/objects/object_listviews/fields/requestAdaptor.field.yml +2 -2
  56. package/main/default/objects/object_listviews/object_listviews.object.yml +1 -1
  57. package/main/default/objects/object_triggers/fields/handler.field.yml +1 -1
  58. package/main/default/objects/object_webhooks/fields/fields.field.yml +1 -1
  59. package/main/default/objects/object_webhooks/object_webhooks.object.yml +1 -0
  60. package/main/default/objects/objects/buttons/custom.button.js +6 -35
  61. package/main/default/objects/objects/buttons/custom.button.yml +85 -1
  62. package/main/default/objects/objects/buttons/delete_object.button.yml +5 -4
  63. package/main/default/objects/objects/buttons/design_fields_layout.button.js +5 -2
  64. package/main/default/objects/objects/buttons/design_fields_layout.button.yml +1 -1
  65. package/main/default/objects/objects/buttons/reset.button.yml +6 -5
  66. package/main/default/objects/objects/buttons/show_object.button.js +2 -29
  67. package/main/default/objects/objects/fields/compactLayouts.field.yml +2 -2
  68. package/main/default/objects/objects/fields/enable_audit.field.yml +5 -0
  69. package/main/default/objects/objects/fields/enable_chatter.field.yml +5 -4
  70. package/main/default/objects/objects/fields/enable_dataloader.field.yml +0 -1
  71. package/main/default/objects/objects/fields/enable_enhanced_lookup.field.yml +0 -4
  72. package/main/default/objects/objects/fields/enable_events.field.yml +2 -2
  73. package/main/default/objects/objects/fields/enable_files.field.yml +1 -1
  74. package/main/default/objects/objects/fields/enable_form_tabs.field.yml +1 -2
  75. package/main/default/objects/objects/fields/enable_inline_edit.field.yml +1 -1
  76. package/main/default/objects/objects/fields/enable_instances.field.yml +2 -2
  77. package/main/default/objects/objects/fields/enable_lock_detail.field.yml +0 -1
  78. package/main/default/objects/objects/fields/enable_notes.field.yml +2 -2
  79. package/main/default/objects/objects/fields/enable_tasks.field.yml +1 -1
  80. package/main/default/objects/objects/fields/enable_tree.field.yml +0 -1
  81. package/main/default/objects/objects/fields/field_groups.field.yml +1 -1
  82. package/main/default/objects/objects/fields/in_development.field.yml +0 -1
  83. package/main/default/objects/objects/fields/is_deleted.field.yml +1 -0
  84. package/main/default/objects/objects/fields/name.field.yml +1 -4
  85. package/main/default/objects/objects/fields/table_name.field.yml +0 -1
  86. package/main/default/objects/objects/listviews/all.listview.yml +4 -1
  87. package/main/default/objects/objects/listviews/customize.listview.yml +3 -1
  88. package/main/default/objects/objects/listviews/deleted.listview.yml +3 -1
  89. package/main/default/objects/objects/listviews/metadata.listview.yml +3 -1
  90. package/main/default/objects/objects/listviews/system.listview.yml +3 -1
  91. package/main/default/objects/objects/objects.object.yml +1 -1
  92. package/main/default/objects/permission_set.object.yml +0 -4
  93. package/main/default/objects/queue_import.object.yml +16 -1
  94. package/main/default/objects/roles.object.yml +1 -5
  95. package/main/default/objects/space_users/buttons/clear_login_tokens.button.yml +3 -6
  96. package/main/default/objects/space_users/buttons/disable.button.yml +3 -7
  97. package/main/default/objects/space_users/buttons/enable.button.yml +3 -7
  98. package/main/default/objects/space_users/buttons/lockout.button.yml +3 -7
  99. package/main/default/objects/space_users/buttons/standard_edit.button.js +0 -1
  100. package/main/default/objects/space_users/buttons/unlock.button.yml +3 -7
  101. package/main/default/objects/space_users/fields/locale.field.yml +2 -1
  102. package/main/default/pages/cms_files_preview.page.amis.json +22 -3
  103. package/main/default/pages/object_detail.page.amis.json +17 -11
  104. package/main/default/pages/object_fields_form.page.amis.json +0 -11
  105. package/main/default/pages/object_validation_rules_form.page.amis.json +38 -0
  106. package/main/default/pages/object_validation_rules_form.page.yml +13 -0
  107. package/main/default/pages/object_webhooks_form.page.amis.json +1 -1
  108. package/main/default/pages/space_users_list.page.amis.json +2 -2
  109. package/main/default/routes/importRecords.router.js +87 -0
  110. package/main/default/routes/notifications.router.js +113 -0
  111. package/main/default/routes/object_fields_design.ejs +23 -9
  112. package/main/default/routes/object_fields_design.router.js +4 -3
  113. package/main/default/services/app-design.service.js +2 -1
  114. package/main/default/services/notifications.service.js +190 -0
  115. package/main/default/services/users.service.js +1 -1
  116. package/main/default/tabs/{admin_process_delegation_rules.tab.yml → admin_bull_dashboard.tab.yml} +9 -12
  117. package/main/default/translations/en.translation.yml +3 -2
  118. package/main/default/translations/zh-CN.translation.yml +3 -2
  119. package/main/default/triggers/objects_set_default_object_properties_trigger.trigger.yml +9 -6
  120. package/main/default/triggers/queue_import.trigger.js +16 -0
  121. package/package.json +4 -3
  122. package/package.service.js +3 -2
  123. package/public/platform.css +62 -0
  124. package/public/topic.css +17 -37
  125. package/main/default/objectTranslations/flow_positions.en/flow_positions.en.objectTranslation.yml +0 -19
  126. package/main/default/objectTranslations/flow_positions.zh-CN/flow_positions.zh-CN.objectTranslation.yml +0 -19
  127. package/main/default/objectTranslations/flow_roles.en/flow_roles.en.objectTranslation.yml +0 -11
  128. package/main/default/objectTranslations/flow_roles.zh-CN/flow_roles.zh-CN.objectTranslation.yml +0 -14
  129. package/main/default/objectTranslations/flows.en/flows.en.objectTranslation.yml +0 -317
  130. package/main/default/objectTranslations/flows.zh-CN/flows.zh-CN.objectTranslation.yml +0 -314
  131. package/main/default/objects/apps/buttons/amis_edit.button.yml +0 -39
  132. package/main/default/objects/apps/buttons/amis_new.button.yml +0 -43
  133. package/main/default/objects/flows/flows.object.yml +0 -1089
  134. package/main/default/objects/object_actions/buttons/customize.button.js +0 -33
  135. package/main/default/objects/object_actions/buttons/customize.button.yml +0 -3
  136. package/main/default/objects/object_listviews/buttons/copy.button.js +0 -58
  137. package/main/default/objects/object_listviews/buttons/copy.button.yml +0 -3
  138. package/main/default/objects/object_listviews/buttons/customize.button.yml +0 -3
  139. package/main/default/objects/objects/buttons/design_field_layout.button.js +0 -28
  140. package/main/default/objects/objects/buttons/design_field_layout.button.yml +0 -5
  141. package/main/default/objects/process_definition.object.yml +0 -323
  142. package/main/default/objects/space_users/fields/zoom.field.yml +0 -16
@@ -0,0 +1,66 @@
1
+ name: operation_logs
2
+ label: Security Log
3
+ description:
4
+ fields:
5
+ data:
6
+ label: Data
7
+ help:
8
+ description:
9
+ http_user_agent:
10
+ label: User Agent
11
+ help:
12
+ description:
13
+ is_mobile:
14
+ label: Mobile
15
+ help:
16
+ description:
17
+ is_tablet:
18
+ label: Tablet
19
+ help:
20
+ description:
21
+ message:
22
+ label: Message
23
+ help:
24
+ description:
25
+ name:
26
+ label: Name
27
+ help:
28
+ description:
29
+ object:
30
+ label: Object
31
+ help:
32
+ description:
33
+ related_to:
34
+ label: Related To
35
+ help:
36
+ description:
37
+ remote_addr:
38
+ label: IP Addr
39
+ help:
40
+ description:
41
+ remote_user:
42
+ label: Operator
43
+ help:
44
+ description:
45
+ status:
46
+ label: Status
47
+ help:
48
+ options:
49
+ - label: Success
50
+ value: success
51
+ color: 008000
52
+ - label: Fail
53
+ value: fail
54
+ color: ff0000
55
+ description:
56
+ type:
57
+ label: Type
58
+ help:
59
+ description:
60
+ listviews:
61
+ all:
62
+ label: All
63
+ change_password:
64
+ label: Change password
65
+ login:
66
+ label: Login log
@@ -0,0 +1,66 @@
1
+ name: operation_logs
2
+ label: 安全日志
3
+ description:
4
+ fields:
5
+ data:
6
+ label: 数据
7
+ help:
8
+ description:
9
+ http_user_agent:
10
+ label: User Agent
11
+ help:
12
+ description:
13
+ is_mobile:
14
+ label: 手机
15
+ help:
16
+ description:
17
+ is_tablet:
18
+ label: 平板电脑
19
+ help:
20
+ description:
21
+ message:
22
+ label: 消息
23
+ help:
24
+ description:
25
+ name:
26
+ label: 名称
27
+ help:
28
+ description:
29
+ object:
30
+ label: 对象
31
+ help:
32
+ description:
33
+ related_to:
34
+ label: 相关项
35
+ help:
36
+ description:
37
+ remote_addr:
38
+ label: IP 地址
39
+ help:
40
+ description:
41
+ remote_user:
42
+ label: 操作人
43
+ help:
44
+ description:
45
+ status:
46
+ label: 状态
47
+ help:
48
+ options:
49
+ - label: 成功
50
+ value: success
51
+ color: 008000
52
+ - label: 失败
53
+ value: fail
54
+ color: ff0000
55
+ description:
56
+ type:
57
+ label: 类型
58
+ help:
59
+ description:
60
+ listviews:
61
+ all:
62
+ label: 所有
63
+ change_password:
64
+ label: 修改密码
65
+ login:
66
+ label: 登录日志
@@ -167,8 +167,25 @@ actions:
167
167
  label: Verify Email
168
168
  verify_mobile:
169
169
  label: Verify Mobile
170
+ clear_login_tokens:
171
+ label: Log out all logins
170
172
  CustomLabels:
171
173
  space_users_field_profile_def_options_admin: Administrator
172
174
  space_users_field_profile_def_options_user: Employee
173
175
  space_users_field_profile_def_options_supplier: Supplier
174
176
  space_users_field_profile_def_options_customer: Customer
177
+ space_users_actions_disable_confirmText: Are you sure you want to disable this user?
178
+ space_users_actions_disable_success: The user has disabled successfully
179
+ space_users_actions_disable_failed: The user failed to disable. Please try again later
180
+ space_users_actions_enable_confirmText: Are you sure you want to enable this user?
181
+ space_users_actions_enable_success: The user has enabled successfully
182
+ space_users_actions_enable_failed: The user failed to enable. Please try again later
183
+ space_users_actions_lockout_confirmText: Are you sure you want to lockout this user?
184
+ space_users_actions_lockout_success: The user has lockouted successfully
185
+ space_users_actions_lockout_failed: The user failed to lockout. Please try again later
186
+ space_users_actions_unlock_confirmText: Are you sure you want to unlock this user?
187
+ space_users_actions_unlock_success: The user has unlocked successfully
188
+ space_users_actions_unlock_failed: The user failed to unlock. Please try again later
189
+ space_users_actions_clear_login_tokens_confirmText: After logging out of all logins, all the logged-in flowers and clients of the user need to log in again. Are you sure you want to clean it up?
190
+ space_users_actions_clear_login_tokens_success: Logging out successfully
191
+
@@ -156,7 +156,7 @@ actions:
156
156
  setPassword:
157
157
  label: 修改密码
158
158
  disable:
159
- label: 停用
159
+ label: 禁用
160
160
  enable:
161
161
  label: 启用
162
162
  lockout:
@@ -167,8 +167,24 @@ actions:
167
167
  label: 验证邮箱
168
168
  verify_mobile:
169
169
  label: 验证手机
170
+ clear_login_tokens:
171
+ label: 注销所有登录
170
172
  CustomLabels:
171
173
  space_users_field_profile_def_options_admin: 管理员
172
174
  space_users_field_profile_def_options_user: 员工
173
175
  space_users_field_profile_def_options_supplier: 供应商
174
176
  space_users_field_profile_def_options_customer: 客户
177
+ space_users_actions_disable_confirmText: 确定要禁用此用户吗?
178
+ space_users_actions_disable_success: 用户已禁用
179
+ space_users_actions_disable_failed: 用户禁用失败,请稍后再试
180
+ space_users_actions_enable_confirmText: 确定要启用此用户吗?
181
+ space_users_actions_enable_success: 用户已启用
182
+ space_users_actions_enable_failed: 用户启用失败,请稍后再试
183
+ space_users_actions_lockout_confirmText: 确定要锁定此用户吗?
184
+ space_users_actions_lockout_success: 用户已锁定
185
+ space_users_actions_lockout_failed: 用户锁定失败,请稍后再试
186
+ space_users_actions_unlock_confirmText: 确定要解锁此用户吗?
187
+ space_users_actions_unlock_success: 用户已解锁
188
+ space_users_actions_unlock_failed: 用户解锁失败,请稍后再试
189
+ space_users_actions_clear_login_tokens_confirmText: 注销所有登录后,用户所有已登录的流程器、客户端都需要重新登录。 确定要清理吗?
190
+ space_users_actions_clear_login_tokens_success: 注销成功
@@ -41,7 +41,7 @@ Steedos.StandardObjects = {
41
41
  if (permissions) {
42
42
  return permissions["allowDelete"];
43
43
  }
44
- return perms["false"];
44
+ return false;
45
45
  }
46
46
  },
47
47
  standard_delete_many:{
@@ -166,14 +166,14 @@ Steedos.StandardObjects = {
166
166
  // });
167
167
  // }
168
168
  // },
169
- // standard_submit_for_approval:{
170
- // visible: function (object_name, record_id) {
171
- // return Steedos.ProcessManager.allowSubmit(object_name, record_id);
172
- // },
173
- // todo: function (object_name, record_id) {
174
- // Steedos.ProcessManager.submit(object_name, record_id);
175
- // }
176
- // },
169
+ standard_submit_for_approval:{
170
+ visible: function (object_name, record_id) {
171
+ return Steedos.ProcessManager.allowSubmit(object_name, record_id);
172
+ },
173
+ // todo: function (object_name, record_id) {
174
+ // Steedos.ProcessManager.submit(object_name, record_id);
175
+ // }
176
+ },
177
177
  standard_import_data:{
178
178
  visible: function(objectName){
179
179
  var allowCreate = Steedos.Object.base.actions.standard_new.visible.apply(this, arguments);
@@ -202,7 +202,8 @@ Steedos.StandardObjects = {
202
202
  }
203
203
  window._hasImportTemplates[objectName] = false;
204
204
  return false;
205
- }
205
+ },
206
+ todo: function(object_name){}
206
207
  },
207
208
  standard_export_excel:{
208
209
  visible: function(objectName, record_id, record_permissions, props){
@@ -1,3 +1,60 @@
1
+ var standardCustomizeSaveRequestAdaptor = `
2
+ var uiSchema = context.uiSchema;
3
+ var objectFields = uiSchema.fields;
4
+ var objectName = context.objectName;
5
+ var doc = context.docForStandardCustomize;
6
+ var newDoc = {}
7
+ if(objectName === "apps"){
8
+ newDoc = doc;//应用中有隐藏字段,uiSchema中没有这些字段,比如字段tab_items
9
+ newDoc.from_code_id = doc._id;
10
+ delete newDoc._id;
11
+ delete newDoc.record_permissions;
12
+ delete newDoc.__filename;
13
+ delete newDoc.responseData;
14
+ delete newDoc.responseStatus;
15
+ }
16
+ else if(objectName === "permission_set"){
17
+ objectFields = ['name', 'label', 'type', 'license', 'lockout_interval', 'max_login_attempts', 'password_history', 'default_standard_buttons'];
18
+ _.each(objectFields, function(v, k){
19
+ if(_.has(doc, v)){
20
+ newDoc[v] = doc[v];
21
+ }
22
+ });
23
+ }
24
+ else if(objectName === "object_listviews"){
25
+ _.each(objectFields, function(v, k){
26
+ if(_.has(doc, k)){
27
+ newDoc[k] = doc[k];
28
+ }
29
+ });
30
+
31
+ if(!newDoc.columns || !newDoc.columns.length){
32
+ newDoc.columns = [];
33
+ }
34
+ newDoc.columns = newDoc.columns.map((item)=>{
35
+ if(typeof item === 'string'){
36
+ return { field: item }
37
+ }
38
+ return item;
39
+ });
40
+ newDoc.from_code_id = doc._id;
41
+ }
42
+ else{
43
+ _.each(objectFields, function(v, k){
44
+ if(_.has(doc, k)){
45
+ newDoc[k] = doc[k];
46
+ }
47
+ });
48
+ }
49
+ delete newDoc.is_system;
50
+ return {
51
+ ...api,
52
+ data: {
53
+ doc: newDoc
54
+ }
55
+ };
56
+ `;
57
+
1
58
  module.exports = {
2
59
  extend: 'base',
3
60
  actions: {
@@ -266,111 +323,114 @@ module.exports = {
266
323
  // return Steedos.StandardObjects.Base.Actions.standard_view_instance.todo.apply(this, arguments)
267
324
  // }
268
325
  // },
269
- // standard_submit_for_approval: {
270
- // visible: function (object_name, record_id) {
271
- // return Steedos.StandardObjects.Base.Actions.standard_submit_for_approval.visible.apply(this, arguments)
272
- // },
273
- // on: "record_only",
274
- // type: 'amis_button',
275
- // amis_schema: {
276
- // "type": "service",
277
- // "body": [
278
- // {
279
- // "type": "button",
280
- // "label": "提请审批",
281
- // "id": "u:standard_submit_for_approval",
282
- // "onEvent": {
283
- // "click": {
284
- // "actions": [
285
- // {
286
- // "actionType": "dialog",
287
- // "dialog": {
288
- // "type": "dialog",
289
- // "title": "提交待审核",
290
- // "body": [
291
- // {
292
- // "type": "form",
293
- // "id": "u:1eb06e6962d8",
294
- // "title": "表单",
295
- // "body": [
296
- // {
297
- // "type": "steedos-field",
298
- // "id": "u:9f4486c22f52",
299
- // "field": "{\n \"label\": \"意见\",\n \"name\": \"comment\",\n \"type\": \"textarea\",\n \"rows\": 3,\n \"is_wide\": true\n}",
300
- // "name": "comment"
301
- // },
302
- // {
303
- // "type": "steedos-field",
304
- // "id": "u:9f4486c22f52",
305
- // "field": "{\n \"label\": \"选择下一位批准人\",\n \"name\": \"approver\",\n \"type\": \"lookup\",\n \"reference_to\": \"space_users\",\n \"reference_to_field\": \"user\",\n \"required\": true,\n \"is_wide\": true\n}",
306
- // "name": "approver",
307
- // "placeholder": "",
308
- // "visibleOn": "${showApprover === true}"
309
- // }
310
- // ],
311
- // "wrapWithPanel": false,
312
- // "mode": "normal",
313
- // "api": {
314
- // "method": "post",
315
- // "url": "${context.rootUrl}/api/v4/process/submit/${objectName}/${recordId}",
316
- // "data": {
317
- // "&": "$$"
318
- // },
319
- // "requestAdaptor": "\napi.data = {\n comment: api.body.comment\n};\n\nif (api.body.approver) {\n api.data.approver = api.body.approver;\n}\n\nreturn api;",
320
- // "adaptor": "\npayload.data = {};\npayload.data.showApprover = payload.error === 'process_approval_error_needToChooseApprover'\n\nif (payload.state === 'FAILURE') {\n if (payload.data.showApprover) {\n payload.msg = \"请选择下一位批准人\";\n } else { \n payload.msg = window.t(payload.error)\n }\n}\n\n\nreturn payload;",
321
- // "responseData": {
322
- // "&": "$$"
323
- // },
324
- // "headers": {
325
- // "Authorization": "Bearer ${context.tenantId},${context.authToken}"
326
- // }
327
- // },
328
- // "debug": false,
329
- // "onEvent": {
330
- // "submitSucc": {
331
- // "weight": 0,
332
- // "actions": [
333
- // {
334
- // "actionType": "custom",
335
- // "script": `
336
- // doAction({
337
- // "actionType": "broadcast",
338
- // "args": {
339
- // "eventName": \`@data.changed.\${event.data.objectName}\`
340
- // },
341
- // "data": {
342
- // "objectName": \`\${event.data.objectName}\`
343
- // }
344
- // });
345
- // `
346
- // }
347
- // ]
348
- // }
349
- // }
350
- // }
351
- // ],
352
- // "id": "u:7a3f92e56805",
353
- // "closeOnEsc": false,
354
- // "closeOnOutside": false,
355
- // "showCloseButton": true,
356
- // "size": "md"
357
- // }
358
- // }
359
- // ],
360
- // "weight": 0
361
- // }
362
- // }
363
- // }
364
- // ],
365
- // "regions": [
366
- // "body"
367
- // ],
368
- // "data": {
369
- // },
370
- // "bodyClassName": "p-0",
371
- // "id": "u:50444554a302"
372
- // }
373
- // },
326
+ standard_submit_for_approval: {
327
+ visible: function (object_name, record_id, record_permissions, data) {
328
+ if (data && data.uiSchema && data.uiSchema.enable_process){
329
+ return Steedos.StandardObjects.Base.Actions.standard_submit_for_approval.visible.apply(this, arguments)
330
+ }
331
+ return false;
332
+ },
333
+ on: "record_only",
334
+ type: 'amis_button',
335
+ amis_schema: {
336
+ "type": "service",
337
+ "body": [
338
+ {
339
+ "type": "button",
340
+ "label": "提请审批",
341
+ "id": "u:standard_submit_for_approval",
342
+ "onEvent": {
343
+ "click": {
344
+ "actions": [
345
+ {
346
+ "actionType": "dialog",
347
+ "dialog": {
348
+ "type": "dialog",
349
+ "title": "提交待审核",
350
+ "body": [
351
+ {
352
+ "type": "form",
353
+ "id": "u:1eb06e6962d8",
354
+ "title": "表单",
355
+ "body": [
356
+ {
357
+ "type": "steedos-field",
358
+ "id": "u:9f4486c22f52",
359
+ "field": "{\n \"label\": \"意见\",\n \"name\": \"comment\",\n \"type\": \"textarea\",\n \"rows\": 3,\n \"is_wide\": true\n}",
360
+ "name": "comment"
361
+ },
362
+ {
363
+ "type": "steedos-field",
364
+ "id": "u:9f4486c22f52",
365
+ "field": "{\n \"label\": \"选择下一位批准人\",\n \"name\": \"approver\",\n \"type\": \"lookup\",\n \"reference_to\": \"space_users\",\n \"reference_to_field\": \"user\",\n \"required\": true,\n \"is_wide\": true\n}",
366
+ "name": "approver",
367
+ "placeholder": "",
368
+ "visibleOn": "${showApprover === true}"
369
+ }
370
+ ],
371
+ "wrapWithPanel": false,
372
+ "mode": "normal",
373
+ "api": {
374
+ "method": "post",
375
+ "url": "${context.rootUrl}/api/v4/process/submit/${objectName}/${recordId}",
376
+ "data": {
377
+ "&": "$$"
378
+ },
379
+ "requestAdaptor": "\napi.data = {\n comment: api.body.comment\n};\n\nif (api.body.approver) {\n api.data.approver = api.body.approver;\n}\n\nreturn api;",
380
+ "adaptor": "\npayload.data = {};\npayload.data.showApprover = payload.error === 'process_approval_error_needToChooseApprover'\n\nif (payload.state === 'FAILURE') {\n if (payload.data.showApprover) {\n payload.msg = \"请选择下一位批准人\";\n } else { \n payload.msg = window.t(payload.error)\n }\n}\n\n\nreturn payload;",
381
+ "responseData": {
382
+ "&": "$$"
383
+ },
384
+ "headers": {
385
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
386
+ }
387
+ },
388
+ "debug": false,
389
+ "onEvent": {
390
+ "submitSucc": {
391
+ "weight": 0,
392
+ "actions": [
393
+ {
394
+ "actionType": "custom",
395
+ "script": `
396
+ doAction({
397
+ "actionType": "broadcast",
398
+ "args": {
399
+ "eventName": \`@data.changed.\${event.data.objectName}\`
400
+ },
401
+ "data": {
402
+ "objectName": \`\${event.data.objectName}\`
403
+ }
404
+ });
405
+ `
406
+ }
407
+ ]
408
+ }
409
+ }
410
+ }
411
+ ],
412
+ "id": "u:7a3f92e56805",
413
+ "closeOnEsc": false,
414
+ "closeOnOutside": false,
415
+ "showCloseButton": true,
416
+ "size": "md"
417
+ }
418
+ }
419
+ ],
420
+ "weight": 0
421
+ }
422
+ }
423
+ }
424
+ ],
425
+ "regions": [
426
+ "body"
427
+ ],
428
+ "data": {
429
+ },
430
+ "bodyClassName": "p-0",
431
+ "id": "u:50444554a302"
432
+ }
433
+ },
374
434
  standard_export_excel: {
375
435
  label: "Export Excel",
376
436
  visible: function (object_name, record_id, record_permissions) {
@@ -443,5 +503,119 @@ module.exports = {
443
503
  "bodyClassName": "p-0"
444
504
  }
445
505
  },
506
+ standard_customize: {
507
+ label: "Customize",
508
+ visible: function (object_name, record_id, record_permissions, data) {
509
+ if(object_name == "objects" || object_name == "object_fields"){
510
+ return false;
511
+ }
512
+ var record = data && data.record;
513
+ if(!record){
514
+ record = {}
515
+ }
516
+ var isVisible = Steedos.Object.base.actions.standard_new.visible() && record.is_system && data.uiSchema.isMetadata;
517
+ if (isVisible){
518
+ if(object_name == "apps"){
519
+ if(record_id === 'admin'){return false;}
520
+ isVisible = !record.from_code_id;
521
+ }
522
+ else if (object_name == "object_actions"){
523
+ isVisible = record.type == 'amis_button';
524
+ }
525
+ }
526
+ return isVisible;
527
+ },
528
+ on: "record_only",
529
+ type: 'amis_button',
530
+ amis_schema: {
531
+ "type": "service",
532
+ "body": [
533
+ {
534
+ "type": "button",
535
+ "label": "${'CustomAction.base.standard_customize' | t}",
536
+ "id": "u:standard_customize",
537
+ "onEvent": {
538
+ "click": {
539
+ "weight": 0,
540
+ "actions": [
541
+ {
542
+ "ignoreError": false,
543
+ "actionType": "ajax",
544
+ "outputVar": "docForStandardCustomize",
545
+ "options": {},
546
+ "api": {
547
+ "url": "${context.rootUrl}/api/v1/${objectName}/${recordId}",
548
+ "method": "get",
549
+ "adaptor": "",
550
+ "messages": {}
551
+ }
552
+ },
553
+ {
554
+ "ignoreError": false,
555
+ "actionType": "ajax",
556
+ "outputVar": "standardCustomizeResponseResult",
557
+ "options": {},
558
+ "api": {
559
+ "url": "${context.rootUrl}/api/v1/${objectName}",
560
+ "method": "post",
561
+ "sendOn": "docForStandardCustomize",
562
+ "requestAdaptor": standardCustomizeSaveRequestAdaptor,
563
+ "adaptor": "",
564
+ "messages": {}
565
+ }
566
+ },
567
+ {
568
+ "actionType": "link",
569
+ "args": {
570
+ "link": "/app/${appId}/${objectName}/view/${standardCustomizeResponseResult._id}"
571
+ },
572
+ "expression": "${_inDrawer != true}"
573
+ },
574
+ {
575
+ "actionType": "url",
576
+ "args": {
577
+ "link": "${context.rootUrl}/app/${appId}/${objectName}/view/${standardCustomizeResponseResult._id}",
578
+ "blank": true
579
+ },
580
+ "expression": "${_inDrawer == true}"
581
+ },
582
+ {
583
+ "actionType": "closeDrawer",
584
+ "expression": "${_inDrawer == true}"
585
+ },
586
+ {
587
+ "actionType": "broadcast",
588
+ "args": {
589
+ "eventName": "@data.changed.${objectName}"
590
+ },
591
+ "data": {
592
+ "objectName": "${objectName}"
593
+ },
594
+ "expression": "${_inDrawer == true}"
595
+ }
596
+ ]
597
+ }
598
+ }
599
+ }
600
+ ],
601
+ "regions": [
602
+ "body"
603
+ ],
604
+ "data": {
605
+ "context": {},
606
+ "dataComponentId": "",
607
+ "record_id": "",
608
+ "record": {},
609
+ "permissions": {}
610
+ },
611
+ "bodyClassName": "p-0",
612
+ "dsType": "api",
613
+ "asideResizor": false,
614
+ "editorState": "default",
615
+ "pullRefresh": {
616
+ "disabled": true
617
+ }
618
+ }
619
+ },
446
620
  }
447
621
  };