@steedos/standard-object-database 2.7.1-beta.1 → 2.7.1-beta.11

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 (35) hide show
  1. package/main/default/objectTranslations/object_webhooks.en/object_webhooks.en.objectTranslation.yml +46 -0
  2. package/main/default/objectTranslations/object_webhooks.zh-CN/object_webhooks.zh-CN.objectTranslation.yml +48 -0
  3. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +4 -0
  4. package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +4 -0
  5. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.from.field.yml +8 -6
  6. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +13 -0
  7. package/main/default/objects/object_fields/fields/auto_fill_mapping.field.yml +1 -1
  8. package/main/default/objects/object_fields/fields/is_name.field.yml +1 -0
  9. package/main/default/objects/object_fields/fields/sortable.field.yml +0 -1
  10. package/main/default/objects/object_webhooks/fields/active.field.yml +5 -0
  11. package/main/default/objects/object_webhooks/fields/condition.field.yml +6 -0
  12. package/main/default/objects/object_webhooks/fields/content_type.field.yml +5 -0
  13. package/main/default/objects/object_webhooks/fields/event.field.yml +15 -0
  14. package/main/default/objects/object_webhooks/fields/execute_when.field.yml +12 -0
  15. package/main/default/objects/object_webhooks/fields/fields.field.yml +28 -0
  16. package/main/default/objects/object_webhooks/fields/name.field.yml +5 -0
  17. package/main/default/objects/object_webhooks/fields/object_name.field.yml +8 -0
  18. package/main/default/objects/object_webhooks/fields/payload_url.field.yml +7 -0
  19. package/main/default/objects/object_webhooks/listviews/all.listview.yml +9 -0
  20. package/main/default/objects/object_webhooks/object_webhooks.object.yml +5 -0
  21. package/main/default/objects/object_webhooks/permissions/admin.permission.yml +7 -0
  22. package/main/default/objects/object_webhooks/permissions/user.permission.yml +7 -0
  23. package/main/default/objects/objects/fields/enable_form_tabs.field.yml +6 -0
  24. package/main/default/pages/design_field_layout.page.amis.json +285 -215
  25. package/main/default/pages/object_fields_form.page.amis.json +38 -10
  26. package/main/default/pages/object_webhooks_form.page.amis.json +51 -0
  27. package/main/default/pages/object_webhooks_form.page.yml +12 -0
  28. package/main/default/server/object_fields.object.js +4 -2
  29. package/main/default/services/object_webhooks.service.js +141 -0
  30. package/main/default/triggers/datasources.trigger.js +4 -2
  31. package/main/default/triggers/object_actions.trigger.js +6 -4
  32. package/main/default/triggers/object_fields.trigger.js +3 -25
  33. package/main/default/triggers/object_validation_rules.trigger.js +4 -5
  34. package/package.json +8 -4
  35. package/package.service.js +3 -2
@@ -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:
@@ -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'], 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
@@ -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,15 @@
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
@@ -0,0 +1,12 @@
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
@@ -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,5 @@
1
+ name: name
2
+ type: text
3
+ label: Name
4
+ required: true
5
+ sort_no: 10
@@ -0,0 +1,8 @@
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
@@ -0,0 +1,7 @@
1
+ name: payload_url
2
+ label: Payload URL
3
+ type: text
4
+ is_wide: true
5
+ # regEx: /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/i
6
+ required: true
7
+ sort_no: 70
@@ -0,0 +1,9 @@
1
+ name: all
2
+ columns:
3
+ - name
4
+ - object_name
5
+ - event
6
+ - payload_url
7
+ - active
8
+ label: All Object Webhooks
9
+ filter_scope: space
@@ -0,0 +1,5 @@
1
+ name: object_webhooks
2
+ label: Object Webhook
3
+ icon: output
4
+ hidden: true
5
+ version: 2
@@ -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
@@ -0,0 +1,6 @@
1
+ # 只影响编辑页面
2
+ name: enable_form_tabs
3
+ label: Enable Form Tabs
4
+ sort_no: 461
5
+ type: boolean
6
+ inlineHelpText: This feature exclusively affects the editable pages, with precedence given to configurations specified on the components.