@steedos/standard-object-database 2.4.0-beta.39 → 2.4.0-beta.40

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.
@@ -305,35 +305,37 @@ fields:
305
305
  type: lookup
306
306
  label: Object to Summarize
307
307
  inlineHelpText: This field must be filled in when the field type is 'Roll-Up Summary'.
308
+ reference_to: objects
309
+ reference_to_field: name
308
310
  depend_on:
309
311
  - object
310
- optionsFunction: !<tag:yaml.org,2002:js/function> |-
311
- function (values) {
312
- if(!values.object){
313
- return [];
314
- }
315
- /*在lookup控件编辑的时候values.object为字符串,在记录详细界面为对象*/
316
- var objectName = typeof values.object === "string" ? values.object : values.object.name;
317
- var object = Creator.getObject(objectName);
318
- if(!object){
319
- return [];
320
- }
321
- var relatedObjects = object.related_objects;
322
- var _options = [];
323
- _.forEach(relatedObjects, function (item, index) {
324
- var relatedObject = Creator.Objects[item.object_name];
325
- var relatedField = relatedObject && relatedObject.fields[item.foreign_key];
326
- /*只需要支持master_detail类型的相关对象,也不支持multiple(本身就不允许配置master_detail为multiple)*/
327
- if(relatedField && relatedField.type === "master_detail" && !relatedField.multiple){
328
- _options.push({
329
- label: relatedObject.label,
330
- value: relatedObject.name,
331
- icon: relatedObject.icon
332
- });
333
- }
334
- });
335
- return _options;
336
- }
312
+ # optionsFunction: !<tag:yaml.org,2002:js/function> |-
313
+ # function (values) {
314
+ # if(!values.object){
315
+ # return [];
316
+ # }
317
+ # /*在lookup控件编辑的时候values.object为字符串,在记录详细界面为对象*/
318
+ # var objectName = typeof values.object === "string" ? values.object : values.object.name;
319
+ # var object = Creator.getObject(objectName);
320
+ # if(!object){
321
+ # return [];
322
+ # }
323
+ # var relatedObjects = object.related_objects;
324
+ # var _options = [];
325
+ # _.forEach(relatedObjects, function (item, index) {
326
+ # var relatedObject = Creator.Objects[item.object_name];
327
+ # var relatedField = relatedObject && relatedObject.fields[item.foreign_key];
328
+ # /*只需要支持master_detail类型的相关对象,也不支持multiple(本身就不允许配置master_detail为multiple)*/
329
+ # if(relatedField && relatedField.type === "master_detail" && !relatedField.multiple){
330
+ # _options.push({
331
+ # label: relatedObject.label,
332
+ # value: relatedObject.name,
333
+ # icon: relatedObject.icon
334
+ # });
335
+ # }
336
+ # });
337
+ # return _options;
338
+ # }
337
339
  visible_on: "{{formData.type === 'summary' ? true: false}}"
338
340
  required: "{{formData.type === 'summary' ? true: false}}"
339
341
  sort_no: 300
@@ -563,6 +565,13 @@ fields:
563
565
  is_wide: true
564
566
  group: Advanced
565
567
  sort_no: 470
568
+ amis:
569
+ label: Amis 属性
570
+ type: code
571
+ language: json
572
+ is_wide: true
573
+ group: Advanced
574
+ sort_no: 455
566
575
  paging:
567
576
  enabled: false
568
577
  list_views:
@@ -61,23 +61,10 @@ fields:
61
61
  - object_name
62
62
  buttons.$.button_name:
63
63
  type: lookup
64
- optionsFunction: !<tag:yaml.org,2002:js/function> |-
65
- function (values) {
66
- if (!(values != null ? values.object_name : void 0)) {
67
- values.object_name = Session.get("object_name");
68
- }
69
- if(values.object_name && !_.isString(values.object_name)){
70
- values.object_name = values.object_name.name
71
- }
72
- const options = [];
73
- if(values){
74
- var actions = Creator.getObject(values.object_name).actions;
75
- _.each(actions, function(action){
76
- options.push({label: action.label, value: action.name})
77
- })
78
- }
79
- return options;
80
- }
64
+ reference_to: object_actions
65
+ reference_to_field: name
66
+ depend_on:
67
+ - object_name
81
68
  buttons.$.visible_on:
82
69
  label: Visible on
83
70
  type: textarea
@@ -109,24 +96,6 @@ fields:
109
96
  reference_to_field: name
110
97
  depend_on:
111
98
  - object_name
112
- filtersFunction: !<tag:yaml.org,2002:js/function> |-
113
- function (filters, values) {
114
- if(values && values.object_name){
115
- if(values._grid_row_id){
116
- var selected = _.find(values.fields, function(item){return item._id==values._grid_row_id});
117
- var selectedAll = _.pluck(values.fields, 'field_name');
118
- if(selected){
119
- selectedAll = _.difference(selectedAll, [selected.field_name]);
120
- }
121
- if(selectedAll && selectedAll.length > 0){
122
- return [['object', '=', values.object_name], ['name', '!=', selectedAll]]
123
- }
124
- }
125
- return ['object', '=', values.object_name]
126
- }else{
127
- return ['_id', '=', 'no']
128
- }
129
- }
130
99
  fields.$.is_readonly:
131
100
  label: Readonly
132
101
  type: boolean
@@ -0,0 +1,21 @@
1
+ const objectql = require('@steedos/objectql');
2
+ const _ = require('lodash');
3
+
4
+ module.exports = {
5
+ listenTo: 'object_fields',
6
+
7
+ beforeInsert: async function(){
8
+ const { doc } = this;
9
+ if(doc && _.has(doc, 'amis') && _.isString(doc.amis)){
10
+ doc.amis = JSON.parse(doc.amis);
11
+ }
12
+ },
13
+
14
+ beforeUpdate: async function(){
15
+ const { doc } = this;
16
+ if(doc && _.has(doc, 'amis') && _.isString(doc.amis)){
17
+ doc.amis = JSON.parse(doc.amis);
18
+ }
19
+ },
20
+
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/standard-object-database",
3
- "version": "2.4.0-beta.39",
3
+ "version": "2.4.0-beta.40",
4
4
  "main": "package.service.js",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -15,5 +15,5 @@
15
15
  },
16
16
  "repository": {},
17
17
  "license": "MIT",
18
- "gitHead": "0925adf0cf3215fd5d068f50517be378a758c148"
18
+ "gitHead": "19fb1590a63241875e23e7b83217e09bdc52162e"
19
19
  }