@steedos/standard-object-database 2.7.1-beta.2 → 2.7.1-beta.21

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 (78) hide show
  1. package/main/default/objectTranslations/object_functions.en/object_functions.en.objectTranslation.yml +60 -0
  2. package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +57 -0
  3. package/main/default/objectTranslations/object_webhooks.en/object_webhooks.en.objectTranslation.yml +46 -0
  4. package/main/default/objectTranslations/object_webhooks.zh-CN/object_webhooks.zh-CN.objectTranslation.yml +48 -0
  5. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +4 -0
  6. package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +4 -0
  7. package/main/default/objects/datasources/fields/driver.field.yml +1 -0
  8. package/main/default/objects/datasources/fields/is_enable.field.yml +1 -0
  9. package/main/default/objects/datasources/fields/label.field.yml +2 -0
  10. package/main/default/objects/datasources/fields/name.field.yml +1 -0
  11. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.from.field.yml +8 -6
  12. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +13 -0
  13. package/main/default/objects/object_fields/fields/auto_fill_mapping.field.yml +1 -1
  14. package/main/default/objects/object_fields/fields/is_name.field.yml +1 -0
  15. package/main/default/objects/object_fields/fields/sortable.field.yml +0 -1
  16. package/main/default/objects/object_fields/fields/summary_filters.field.yml +1 -1
  17. package/main/default/objects/object_functions/buttons/standard_new.button.js +16 -0
  18. package/main/default/objects/object_functions/fields/_name.field.yml +7 -0
  19. package/main/default/objects/object_functions/fields/description.field.yml +5 -0
  20. package/main/default/objects/object_functions/fields/isEnabled.field.yml +5 -0
  21. package/main/default/objects/object_functions/fields/is_rest.field.yml +5 -0
  22. package/main/default/objects/object_functions/fields/is_system.field.yml +7 -0
  23. package/main/default/objects/object_functions/fields/name.field.yml +8 -0
  24. package/main/default/objects/object_functions/fields/objectApiName.field.yml +7 -0
  25. package/main/default/objects/object_functions/fields/record_permissions.field.yml +4 -0
  26. package/main/default/objects/object_functions/fields/script.field.yml +24 -0
  27. package/main/default/objects/object_functions/listviews/all.listview.yml +9 -0
  28. package/main/default/objects/object_functions/listviews/customize.listview.yml +13 -0
  29. package/main/default/objects/object_functions/object_functions.object.yml +8 -0
  30. package/main/default/objects/object_functions/permissions/admin.permission.yml +7 -0
  31. package/main/default/objects/object_functions/permissions/user.permission.yml +7 -0
  32. package/main/default/objects/object_listviews/buttons/customize.button.js +1 -1
  33. package/main/default/objects/object_triggers/fields/_name.field.yml +1 -0
  34. package/main/default/objects/object_triggers/fields/isEnabled.field.yml +1 -0
  35. package/main/default/objects/object_triggers/fields/listenTo.field.yml +1 -0
  36. package/main/default/objects/object_triggers/fields/name.field.yml +1 -0
  37. package/main/default/objects/object_triggers/fields/when.field.yml +1 -0
  38. package/main/default/objects/object_validation_rules/fields/active.field.yml +1 -0
  39. package/main/default/objects/object_validation_rules/fields/description.field.yml +1 -0
  40. package/main/default/objects/object_validation_rules/fields/name.field.yml +2 -0
  41. package/main/default/objects/object_validation_rules/fields/object_name.field.yml +1 -0
  42. package/main/default/objects/object_webhooks/fields/active.field.yml +5 -0
  43. package/main/default/objects/object_webhooks/fields/condition.field.yml +6 -0
  44. package/main/default/objects/object_webhooks/fields/content_type.field.yml +5 -0
  45. package/main/default/objects/object_webhooks/fields/event.field.yml +16 -0
  46. package/main/default/objects/object_webhooks/fields/execute_when.field.yml +13 -0
  47. package/main/default/objects/object_webhooks/fields/fields.field.yml +28 -0
  48. package/main/default/objects/object_webhooks/fields/name.field.yml +7 -0
  49. package/main/default/objects/object_webhooks/fields/object_name.field.yml +10 -0
  50. package/main/default/objects/object_webhooks/fields/payload_url.field.yml +9 -0
  51. package/main/default/objects/object_webhooks/listviews/all.listview.yml +9 -0
  52. package/main/default/objects/object_webhooks/object_webhooks.object.yml +5 -0
  53. package/main/default/objects/object_webhooks/permissions/admin.permission.yml +7 -0
  54. package/main/default/objects/object_webhooks/permissions/user.permission.yml +7 -0
  55. package/main/default/objects/objects/fields/description.field.yml +1 -0
  56. package/main/default/objects/objects/fields/enable_form_tabs.field.yml +6 -0
  57. package/main/default/objects/objects/fields/in_development.field.yml +2 -0
  58. package/main/default/objects/objects/fields/is_customize.field.yml +1 -0
  59. package/main/default/objects/objects/fields/is_system.field.yml +1 -0
  60. package/main/default/objects/objects/listviews/customize.listview.yml +1 -1
  61. package/main/default/pages/design_field_layout.page.amis.json +285 -215
  62. package/main/default/pages/object_detail.page.amis.json +13 -0
  63. package/main/default/pages/object_fields_form.page.amis.json +38 -10
  64. package/main/default/pages/object_webhooks_form.page.amis.json +51 -0
  65. package/main/default/pages/object_webhooks_form.page.yml +12 -0
  66. package/main/default/server/object_fields.object.js +4 -2
  67. package/main/default/server/objects.object.js +2 -1
  68. package/main/default/services/object_webhooks.service.js +141 -0
  69. package/main/default/services/suggestions.service.js +92 -0
  70. package/main/default/triggers/datasources.trigger.js +9 -2
  71. package/main/default/triggers/object_actions.trigger.js +6 -4
  72. package/main/default/triggers/object_fields.trigger.js +3 -25
  73. package/main/default/triggers/object_functions.trigger.js +104 -0
  74. package/main/default/triggers/object_triggers.trigger.js +2 -2
  75. package/main/default/triggers/object_validation_rules.trigger.js +4 -5
  76. package/main/default/triggers/objects.trigger.js +20 -3
  77. package/package.json +8 -4
  78. package/package.service.js +3 -2
@@ -0,0 +1,60 @@
1
+ name: object_functions
2
+ label: Object Functions
3
+ description:
4
+ fields:
5
+ _name:
6
+ label: API Name
7
+ help: >-
8
+ Can only contain lowercase letters and numbers, must start with a letter,
9
+ cannot end with an underscore character or contain two consecutive
10
+ underscore characters
11
+ description:
12
+ is_rest:
13
+ label: Enable API
14
+ help:
15
+ description: allow the use of api interface access:/api/v1/:objectName/functions/:functionApiName
16
+ is_system:
17
+ label: System
18
+ help:
19
+ description:
20
+ isEnabled:
21
+ label: Enable
22
+ help:
23
+ description:
24
+ name:
25
+ label: Name
26
+ help:
27
+ description:
28
+ objectApiName:
29
+ label: Object
30
+ help:
31
+ description:
32
+ script:
33
+ label: Script
34
+ help:
35
+ description: |
36
+ async function run({
37
+ input,
38
+ params,
39
+ broker,
40
+ getObject,
41
+ getUser
42
+ } = ctx) {
43
+ // ...
44
+ }
45
+ type:
46
+ label: Type
47
+ help:
48
+ description:
49
+ options:
50
+ - label: "Script"
51
+ value: "script"
52
+ description:
53
+ label: Description
54
+ help:
55
+ description:
56
+ listviews:
57
+ all:
58
+ label: All
59
+ customize:
60
+ label: Customize
@@ -0,0 +1,57 @@
1
+ name: object_functions
2
+ label: 对象函数
3
+ description:
4
+ fields:
5
+ _name:
6
+ label: API 名称
7
+ help: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
8
+ description:
9
+ is_rest:
10
+ label: 启用API
11
+ help:
12
+ description: 允许使用API接口访问:{POST} /api/v1/:objectName/functions/:functionApiName
13
+ is_system:
14
+ label: 系统
15
+ help:
16
+ description:
17
+ isEnabled:
18
+ label: 已启用
19
+ help:
20
+ description:
21
+ name:
22
+ label: 名称
23
+ help:
24
+ description:
25
+ objectApiName:
26
+ label: 所属对象
27
+ help:
28
+ description:
29
+ script:
30
+ label: 代码
31
+ help:
32
+ description: |
33
+ async function run({
34
+ input,
35
+ params,
36
+ broker,
37
+ getObject,
38
+ getUser
39
+ } = ctx) {
40
+ // ...
41
+ }
42
+ type:
43
+ label: 类型
44
+ help:
45
+ description:
46
+ options:
47
+ - label: "Script"
48
+ value: "script"
49
+ description:
50
+ label: 备注
51
+ help:
52
+ description:
53
+ listviews:
54
+ all:
55
+ label: 所有
56
+ customize:
57
+ label: 自定义
@@ -0,0 +1,46 @@
1
+ name: object_webhooks
2
+ label: Object Webhook
3
+ description:
4
+ fields:
5
+ name:
6
+ label: Name
7
+ help:
8
+ description:
9
+ object_name:
10
+ label: Object
11
+ help:
12
+ description:
13
+ events:
14
+ label: Events
15
+ help:
16
+ options:
17
+ - label: create
18
+ value: create
19
+ - label: update
20
+ value: update
21
+ - label: delete
22
+ value: delete
23
+ description:
24
+ fields:
25
+ label: Fields
26
+ help:
27
+ description:
28
+ payload_url:
29
+ label: Payload URL
30
+ help:
31
+ description:
32
+ content_type:
33
+ label: Format of Request
34
+ help:
35
+ description:
36
+ active:
37
+ label: Active
38
+ help:
39
+ description:
40
+ space:
41
+ label: Company
42
+ help:
43
+ description:
44
+ listviews:
45
+ all:
46
+ label: All Object Webhooks
@@ -0,0 +1,48 @@
1
+ name: object_webhooks
2
+ label: WebHooks
3
+ description:
4
+ fields:
5
+ name:
6
+ label: 名称
7
+ help:
8
+ description:
9
+ object_name:
10
+ label: 对象
11
+ help:
12
+ description:
13
+ events:
14
+ label: 何时触发
15
+ help:
16
+ options:
17
+ - label: 记录已创建
18
+ value: create
19
+ - label: 记录已更新
20
+ value: update
21
+ - label: 记录已创建或已更新
22
+ value: createAndUpdate
23
+ - label: 记录已删除
24
+ value: delete
25
+ description:
26
+ fields:
27
+ label: 推送字段
28
+ help:
29
+ description:
30
+ payload_url:
31
+ label: URL
32
+ help:
33
+ description:
34
+ content_type:
35
+ label: 请求数据格式
36
+ help:
37
+ description:
38
+ active:
39
+ label: 激活
40
+ help:
41
+ description:
42
+ space:
43
+ label: 所属工作区
44
+ help:
45
+ description:
46
+ listviews:
47
+ all:
48
+ label: 所有
@@ -54,6 +54,10 @@ fields:
54
54
  label: Enable Notes
55
55
  help:
56
56
  description:
57
+ enable_form_tabs:
58
+ label: Enable Form Tabs
59
+ help: This feature exclusively affects the editable pages, with precedence given to configurations specified on the components.
60
+ description:
57
61
  enable_events:
58
62
  label: Enable Events
59
63
  help:
@@ -51,6 +51,10 @@ fields:
51
51
  label: 允许添加备注
52
52
  help:
53
53
  description:
54
+ enable_form_tabs:
55
+ label: 表单启用选项卡模式
56
+ help: 该功能只影响编辑页面,但会优先识别组件上的配置
57
+ description:
54
58
  enable_events:
55
59
  label: 允许添加日程
56
60
  help:
@@ -6,3 +6,4 @@ options: >-
6
6
  Server:sqlserver,PostgreSQL:postgres,Oracle:oracle,MySQL:mysql,Sqlite:sqlite
7
7
  required: true
8
8
  sort_no: 100
9
+ filterable: true
@@ -2,3 +2,4 @@ name: is_enable
2
2
  type: boolean
3
3
  label: Enable
4
4
  sort_no: 250
5
+ filterable: true
@@ -4,3 +4,5 @@ label: Label
4
4
  required: true
5
5
  is_name: true
6
6
  sort_no: 110
7
+ filterable: true
8
+ searchable: true
@@ -9,3 +9,4 @@ inlineHelpText: >-
9
9
  cannot end with an underscore character or contain two consecutive underscore
10
10
  characters
11
11
  sort_no: 120
12
+ filterable: true
@@ -4,17 +4,19 @@ depend_on:
4
4
  filtersFunction: !<tag:yaml.org,2002:js/function> |-
5
5
  function(filters,values
6
6
  ) {
7
-
8
-
7
+ var currentFilter = [];
8
+ //当前字段为多选时,from的字段不能选择multiple为true的
9
+ if (values.multiple) {
10
+ currentFilter.push(['multiple', '!=', true]);
11
+ }
9
12
 
10
13
  if(values && values.reference_to){
11
- return ['object', '=', values.reference_to]
14
+ currentFilter.push(['object', '=', values.reference_to]);
12
15
  }else{
13
- return ['_id', '=', 'no']
16
+ currentFilter.push(['_id', '=', 'no']);
14
17
  }
15
18
 
16
-
17
-
19
+ return currentFilter;
18
20
  }
19
21
  group: auto_fill
20
22
  hidden: false
@@ -24,6 +24,19 @@ filtersFunction: !<tag:yaml.org,2002:js/function> |-
24
24
  var referenceObject = BuilderAmisObject && BuilderAmisObject.AmisLib && BuilderAmisObject.AmisLib.getUISchemaSync(values.reference_to);
25
25
  var fromField = referenceObject && referenceObject.fields[values.from];
26
26
 
27
+ if (values.multiple) {
28
+ //当前字段为多选时,若from的字段类型为lookup、master_detail、select时,to的字段则必须选择multiple为true的
29
+ if (_.includes(["lookup","master_detail","select"], fromField.type)) {
30
+ currentFilter.push(['multiple', '=', true]);
31
+ }
32
+ }else {
33
+ //当前字段为单选时,若from的字段多选,to的字段则也必须多选;若from不是多选,则to也不能是多选
34
+ if (fromField.multiple){
35
+ currentFilter.push(['multiple', '=', true]);
36
+ } else {
37
+ currentFilter.push(['multiple', '!=', true]);
38
+ }
39
+ }
27
40
  if (fromField && fromField.data_type) {
28
41
  currentFilter.push(['type', 'in', fieldFilters[fromField.data_type] || fromField.data_type.split()]);
29
42
  }else if (fromField) {
@@ -13,4 +13,4 @@ sort_no: 500
13
13
  type: table
14
14
  visible_on: >-
15
15
  {{(formData.type === 'lookup' || formData.type === 'master_detail') &&
16
- formData.reference_to && !!!formData.multiple}}
16
+ formData.reference_to}}
@@ -6,3 +6,4 @@ hidden: false
6
6
  label: Is Name
7
7
  sort_no: 650
8
8
  type: boolean
9
+ visible_on: ${ARRAYSOME(['text', 'textarea', 'autonumber', 'date', 'datetime', 'time', 'formula', 'lookup', 'master_detail'], item => item === type) && !multiple}
@@ -1,5 +1,4 @@
1
1
  name: sortable
2
- defaultValue: true
3
2
  group: Advanced
4
3
  hidden: false
5
4
  label: Sortable
@@ -13,4 +13,4 @@ is_wide: true
13
13
  label: Filter Criteria
14
14
  sort_no: 280
15
15
  type: table
16
- visible_on: '{{formData.type === ''summary'' && global.mode !=''read'' ? true: false}}'
16
+ visible_on: '{{formData.type === ''summary''}}'
@@ -0,0 +1,16 @@
1
+ /*
2
+ * @Author: 孙浩林 sunhaolin@steedos.com
3
+ * @Date: 2024-05-14 17:04:31
4
+ * @LastEditors: 孙浩林 sunhaolin@steedos.com
5
+ * @LastEditTime: 2024-05-14 17:04:36
6
+ * @FilePath: /steedos-platform-2.3/services/standard-object-database/main/default/objects/object_functions/buttons/standard_new.button.js
7
+ * @Description:
8
+ */
9
+ module.exports = {
10
+ standard_newVisible: function (object_name, record_id, record_permissions, data) {
11
+ if(Meteor.settings.public.enable_saas){
12
+ return false;
13
+ }
14
+ return Creator.baseObject.actions.standard_new.visible.apply(this, arguments);
15
+ },
16
+ }
@@ -0,0 +1,7 @@
1
+ name: _name
2
+ type: text
3
+ label: Api Name
4
+ searchable: true
5
+ index: true
6
+ required: true
7
+ sort_no: 100
@@ -0,0 +1,5 @@
1
+ name: description
2
+ label: Description
3
+ type: textarea
4
+ sort_no: 200
5
+ is_wide: true
@@ -0,0 +1,5 @@
1
+ name: isEnabled
2
+ label: Enabled
3
+ type: boolean
4
+ defaultValue: true
5
+ sort_no: 140
@@ -0,0 +1,5 @@
1
+ name: is_rest
2
+ type: boolean
3
+ label: Rest
4
+ sort_no: 170
5
+ defaultValue: true
@@ -0,0 +1,7 @@
1
+ name: is_system
2
+ type: boolean
3
+ label: System
4
+ readonly: true
5
+ visible_on: '{{global.mode ===''read'' ? true : false}}'
6
+ disabled: true
7
+ sort_no: 180
@@ -0,0 +1,8 @@
1
+ name: name
2
+ hidden: false
3
+ label: Name
4
+ required: false
5
+ sort_no: 90
6
+ type: text
7
+ visible_on: '{{false}}'
8
+ readonly: true
@@ -0,0 +1,7 @@
1
+ name: objectApiName
2
+ label: Object
3
+ type: master_detail
4
+ reference_to: objects
5
+ reference_to_field: name
6
+ required: true
7
+ sort_no: 120
@@ -0,0 +1,4 @@
1
+ name: record_permissions
2
+ type: object
3
+ visible_on: '{{global.mode ===''read'' ? true : false}}'
4
+ sort_no: 160
@@ -0,0 +1,24 @@
1
+ name: script
2
+ label: Script
3
+ type: code
4
+ language: javascript
5
+ is_wide: true
6
+ required: true
7
+ defaultValue: |-
8
+ // global: {_:lodash, moment, validator, filters}
9
+ // objects
10
+ // ctx.input
11
+ editorDidMount: >-
12
+ if(window._registerCompletionItemProviderFunction){
13
+ return ;
14
+ }
15
+
16
+ window._registerCompletionItemProviderFunction = true;
17
+
18
+ const result = Steedos.authRequest("/service/api/suggestions/function.d.ts",
19
+ {async: false});
20
+
21
+ monaco.languages.typescript.javascriptDefaults.addExtraLib(
22
+ result
23
+ );
24
+ sort_no: 150
@@ -0,0 +1,9 @@
1
+ name: all
2
+ columns:
3
+ - name
4
+ - objectApiName
5
+ - isEnabled
6
+ - is_rest
7
+ - is_system
8
+ label: All
9
+ filter_scope: space
@@ -0,0 +1,13 @@
1
+ name: customize
2
+ columns:
3
+ - name
4
+ - objectApiName
5
+ - isEnabled
6
+ - is_rest
7
+ - is_system
8
+ label: 自定义
9
+ filters:
10
+ - - is_system
11
+ - <>
12
+ - true
13
+ filter_scope: space
@@ -0,0 +1,8 @@
1
+ name: object_functions
2
+ icon: code_playground
3
+ label: Object Functions
4
+ version: 2
5
+ hidden: true
6
+ enable_dataloader: false
7
+ paging:
8
+ enabled: false
@@ -0,0 +1,7 @@
1
+ permission_set_id: admin
2
+ allowCreate: true
3
+ allowDelete: true
4
+ allowEdit: true
5
+ allowRead: true
6
+ modifyAllRecords: true
7
+ viewAllRecords: true
@@ -0,0 +1,7 @@
1
+ permission_set_id: user
2
+ allowCreate: false
3
+ allowDelete: false
4
+ allowEdit: false
5
+ allowRead: false
6
+ modifyAllRecords: false
7
+ viewAllRecords: false
@@ -26,6 +26,6 @@ customize:function (object_name, record_id, fields) {
26
26
  },
27
27
  customizeVisible:function(object_name, record_id, record_permissions, data){
28
28
  var record = data && data.record;
29
- return Creator.baseObject.actions.standard_new.visible() && record.is_system;
29
+ return Creator.baseObject.actions.standard_new.visible(object_name) && record.is_system;
30
30
  }
31
31
  }
@@ -5,3 +5,4 @@ searchable: true
5
5
  index: true
6
6
  required: true
7
7
  sort_no: 100
8
+ filterable: true
@@ -3,3 +3,4 @@ label: Enabled
3
3
  type: boolean
4
4
  defaultValue: true
5
5
  sort_no: 140
6
+ filterable: true
@@ -5,3 +5,4 @@ reference_to: objects
5
5
  reference_to_field: name
6
6
  required: true
7
7
  sort_no: 120
8
+ filterable: true
@@ -3,3 +3,4 @@ data_type: text
3
3
  type: text
4
4
  visible_on: '{{false}}'
5
5
  sort_no: 110
6
+ filterable: true
@@ -20,3 +20,4 @@ options:
20
20
  - label: 查询记录之前
21
21
  value: beforeFind
22
22
  sort_no: 130
23
+ filterable: true
@@ -5,3 +5,4 @@ inlineHelpText: >-
5
5
  Indicates whether this validation rule is active, (true), or not active
6
6
  (false).
7
7
  sort_no: 120
8
+ filterable: true
@@ -3,3 +3,4 @@ type: textarea
3
3
  is_wide: true
4
4
  label: description
5
5
  sort_no: 130
6
+ filterable: true
@@ -3,3 +3,5 @@ type: text
3
3
  label: Name
4
4
  required: true
5
5
  sort_no: 100
6
+ filterable: true
7
+ searchable: true
@@ -6,3 +6,4 @@ write_requires_master_read: true
6
6
  reference_to_field: name
7
7
  required: true
8
8
  sort_no: 110
9
+ filterable: true
@@ -0,0 +1,5 @@
1
+ name: active
2
+ label: Active
3
+ type: boolean
4
+ defaultValue: true
5
+ sort_no: 80
@@ -0,0 +1,6 @@
1
+ name: condition
2
+ type: text
3
+ sort_no: 40
4
+ is_wide: true
5
+ label: 准入条件
6
+ inlineHelpText: 指定准入条件,减少触发执行次数。最大限度地减少非必要执行次数,这将有助于节省资源。如果您创建将在记录更新时触发,我们建议先定义准入条件。然后,对于何时为更新的记录运行,选择仅在更新记录满足条件要求时选项。
@@ -0,0 +1,5 @@
1
+ name: content_type
2
+ label: Format of Request
3
+ type: text
4
+ defaultValue: '"application/json"'
5
+ hidden: true
@@ -0,0 +1,16 @@
1
+ name: event
2
+ type: select
3
+ label: 何时触发
4
+ required: true
5
+ multiple: false
6
+ sort_no: 30
7
+ options:
8
+ - label: 记录已创建
9
+ value: create
10
+ - label: 记录已更新
11
+ value: update
12
+ - label: 记录已创建或已更新
13
+ value: createAndUpdate
14
+ - label: 记录已删除
15
+ value: delete
16
+ filterable: true
@@ -0,0 +1,13 @@
1
+ name: execute_when
2
+ label: 何时运行更新记录的webhook
3
+ type: select
4
+ inlineHelpText: 您可能希望仅在将触发记录从不满足条件要求更改为满足条件要求时运行。在出现此情况时,选择第二个选项。
5
+ visible_on: ${!!condition && (event === 'update' || event === 'createAndUpdate')}
6
+ sort_no: 50
7
+ is_wide: true
8
+ options:
9
+ - label: 每次更新记录并满足条件要求
10
+ value: trueEveryTime
11
+ - label: 仅在更新记录以满足条件要求时
12
+ value: trueOnChangeOnly
13
+ filterable: true
@@ -0,0 +1,28 @@
1
+ name: fields
2
+ type: lookup
3
+ label: Fields
4
+ multiple: true
5
+ is_wide: true
6
+ sort_no: 60
7
+ description: 如果未配置, 则推送所有字段
8
+ depend_on:
9
+ - object_name
10
+ optionsFunction: !!js/function |
11
+ function(values) {
12
+ var _object, _options, fields, icon, object_name;
13
+ object_name = values.object_name;
14
+ if (!object_name) {
15
+ return [];
16
+ }
17
+ _options = [];
18
+ _object = Creator.getObject(object_name);
19
+ fields = _object.fields;
20
+ icon = _object.icon;
21
+ _.forEach(fields, function(f, k) {
22
+ return _options.push({
23
+ label: f.label || k,
24
+ value: k
25
+ });
26
+ });
27
+ return _options;
28
+ }
@@ -0,0 +1,7 @@
1
+ name: name
2
+ type: text
3
+ label: Name
4
+ required: true
5
+ sort_no: 10
6
+ filterable: true
7
+ searchable: true
@@ -0,0 +1,10 @@
1
+ name: object_name
2
+ type: lookup
3
+ reference_to: objects
4
+ reference_to_field: name
5
+ label: Object
6
+ required: true
7
+ index: true
8
+ sort_no: 20
9
+ searchable: true
10
+ filterable: true