@steedos/standard-object-database 2.5.5 → 2.5.6-beta.4

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.
@@ -0,0 +1,44 @@
1
+ /*
2
+ * @Author: 孙浩林 sunhaolin@steedos.com
3
+ * @Date: 2023-06-28 16:15:36
4
+ * @LastEditors: 孙浩林 sunhaolin@steedos.com
5
+ * @LastEditTime: 2023-06-28 18:59:40
6
+ * @FilePath: /project-template/Users/sunhaolin/Documents/GitHub/steedos-platform-2.3/services/standard-object-database/main/default/objects/16.permission_tabs.observe.object.js
7
+ * @Description:
8
+ */
9
+ const objectql = require("@steedos/objectql");
10
+ const objectName = "permission_tabs";
11
+ const SERVICE_NAME = `~database-permission_tabs`;
12
+ Meteor.startup(function () {
13
+ var _change, _remove, inited = false;
14
+ _change = function (document) {
15
+ objectql.registerPermissionTabs.register(broker, SERVICE_NAME, document)
16
+ };
17
+ _remove = function (document) {
18
+ objectql.registerPermissionTabs.remove(broker, SERVICE_NAME, document)
19
+ };
20
+ Creator.getCollection(objectName).find({}, {
21
+ fields: {
22
+ created: 0,
23
+ created_by: 0,
24
+ modified: 0,
25
+ modified_by: 0
26
+ }
27
+ }).observe({
28
+ added: function (newDocument) {
29
+ if (inited) {
30
+ return _change(newDocument);
31
+ }
32
+ },
33
+ changed: function (newDocument, oldDocument) {
34
+ if (newDocument.name != oldDocument.name) {
35
+ _remove(oldDocument)
36
+ }
37
+ return _change(newDocument);
38
+ },
39
+ removed: function (oldDocument) {
40
+ return _remove(oldDocument);
41
+ }
42
+ });
43
+ inited = true;
44
+ });
@@ -1,8 +1,15 @@
1
+ /*
2
+ * @Author: baozhoutao@steedos.com
3
+ * @Date: 2022-08-05 14:17:44
4
+ * @LastEditors: baozhoutao@steedos.com
5
+ * @LastEditTime: 2023-06-27 09:32:45
6
+ * @Description:
7
+ */
1
8
  var objectql = require('@steedos/objectql');
2
9
  var objectCore = require('./objects.core.js');
3
10
  var lodash = require('lodash');
4
11
  Meteor.startup(function () {
5
- var _change, _remove;
12
+ var _change, _remove, inited = false;
6
13
  _change = function (document) {
7
14
  // 防止visible默认值丢失
8
15
  if(!document.visible && !lodash.isBoolean(document.visible)){
@@ -30,14 +37,21 @@ Meteor.startup(function () {
30
37
  }
31
38
  }).observe({
32
39
  added: function (newDocument) {
33
- return _change(Object.assign(newDocument, {_previousName: newDocument.name}));
40
+ if(inited){
41
+ return _change(Object.assign(newDocument, {_previousName: newDocument.name}));
42
+ }
34
43
  },
35
44
  changed: function (newDocument, oldDocument) {
36
- return _change(Object.assign(newDocument, {_previousName: oldDocument.name}));
45
+ if(inited){
46
+ return _change(Object.assign(newDocument, {_previousName: oldDocument.name}));
47
+ }
37
48
  },
38
49
  removed: function (oldDocument) {
39
- return _remove(oldDocument);
50
+ if(inited){
51
+ return _remove(oldDocument);
52
+ }
40
53
  }
41
54
  });
55
+ inited=true;
42
56
  }
43
57
  });
@@ -3,6 +3,7 @@ label: DataSource
3
3
  icon: entity
4
4
  hidden: true
5
5
  version: 2
6
+ enable_dataloader: false
6
7
  fields:
7
8
  driver:
8
9
  type: select
@@ -1,6 +1,7 @@
1
1
  name: object_actions
2
2
  label: Object Action
3
3
  icon: actions_and_buttons
4
+ enable_dataloader: false
4
5
  hidden: true
5
6
  version: 2
6
7
  fields:
@@ -3,6 +3,7 @@ icon: textbox
3
3
  enable_api: true
4
4
  enable_inline_edit: false
5
5
  enable_enhanced_lookup: true
6
+ enable_dataloader: false
6
7
  hidden: true
7
8
  label: Object Fields
8
9
  version: 2.0
@@ -3,6 +3,7 @@ label: Object Layouts
3
3
  icon: dashboard_ea
4
4
  hidden: false
5
5
  version: 2
6
+ enable_dataloader: false
6
7
  fields:
7
8
  name:
8
9
  type: text
@@ -2,6 +2,7 @@ name: object_listviews
2
2
  label: List View
3
3
  icon: forecasts
4
4
  version: 2
5
+ enable_dataloader: false
5
6
  fields:
6
7
  label:
7
8
  label: Label
@@ -2,6 +2,7 @@ name: object_related_list
2
2
  label: Object Related List
3
3
  icon: related_list
4
4
  hidden: true
5
+ enable_dataloader: false
5
6
  fields:
6
7
  object_name:
7
8
  label: To Object
@@ -3,6 +3,7 @@ icon: apex
3
3
  label: Object Triggers
4
4
  version: 2.0
5
5
  hidden: true
6
+ enable_dataloader: false
6
7
  fields:
7
8
  _name:
8
9
  type: text
@@ -3,6 +3,7 @@ icon: textbox
3
3
  hidden: true
4
4
  label: Object Validation Rules
5
5
  version: 2
6
+ enable_dataloader: false
6
7
  fields:
7
8
  name:
8
9
  type: text
@@ -141,13 +141,39 @@ function loadDBObject(object){
141
141
  }
142
142
 
143
143
 
144
+ let _objectConfigs = [];
145
+ let _setTimeoutId = null;
146
+ function _sendObjectMeta(objectConfig){
147
+
148
+ if(_setTimeoutId){
149
+ clearTimeout(_setTimeoutId);
150
+ }
151
+
152
+ _objectConfigs.push(objectConfig);
153
+
154
+ _setTimeoutId = setTimeout(function(){
155
+ var length = _objectConfigs.length
156
+ register.MetadataRegister.addObjectConfigs(DB_OBJECT_SERVICE_NAME, _objectConfigs).then(function(res){
157
+ if(res){
158
+ // console.log('send object meta success', length);
159
+ broker.broadcast("$packages.statisticsActivatedPackages", {});
160
+ }
161
+ })
162
+ _objectConfigs = [];
163
+ _setTimeoutId = null;
164
+ }, 300)
165
+
166
+
167
+ }
168
+
169
+
144
170
  function loadObject(doc, oldDoc) {
145
171
  try {
146
172
  if (!canLoadObject(doc.name, doc.datasource)) {
147
173
  console.warn('warn: Not loaded. Invalid custom object -> ', doc.name);
148
174
  return;
149
175
  }
150
-
176
+
151
177
  var datasourceDoc = getDataSource(doc);
152
178
  if (doc.datasource && !_.include(defaultDatasourcesName, doc.datasource) && (!datasourceDoc || !datasourceDoc.is_enable)) {
153
179
  console.warn('warn: Not loaded. Invalid custom object -> ', doc.name, doc.datasource);
@@ -200,25 +226,7 @@ function loadObject(doc, oldDoc) {
200
226
  //获取到继承后的对象
201
227
  // const _doc = objectql.getObjectConfig(doc.name);
202
228
  // console.log(`loadObject===>`, doc.name)
203
- register.MetadataRegister.addObjectConfig(DB_OBJECT_SERVICE_NAME, originalObject).then(function(res){
204
- if(res){
205
- // datasource.setObject(doc.name, _doc);
206
- // try {
207
- // if (!datasourceName || datasourceName == defaultDatasourceName) {
208
- // Creator.Objects[doc.name] = _doc;
209
- // Creator.loadObjects(_doc, _doc.name);
210
- // }
211
- // } catch (error) {
212
- // console.log('error', error);
213
- // }
214
- // if (!oldDoc || (oldDoc && oldDoc.is_enable === false && doc.is_enable)) {
215
- // loadObjectTriggers(doc);
216
- // loadObjectPermission(doc);
217
- // }
218
-
219
- broker.broadcast("$packages.statisticsActivatedPackages", {});
220
- }
221
- })
229
+ _sendObjectMeta(originalObject);
222
230
 
223
231
 
224
232
  } catch (error) {
@@ -355,6 +363,7 @@ function triggerReloadObject(objectName, type, value, event){
355
363
  })
356
364
  if(objectRecord){
357
365
  //TODO 待支持动态加载related_list后, 删除此行代码
366
+ // console.log(`triggerReloadObject===>`, objectName)
358
367
  Creator.getCollection("objects").update({name: objectName}, {$set: {reload_time: new Date()}})
359
368
  }else{
360
369
  Creator.getCollection("_object_reload_logs").insert({
@@ -3,6 +3,7 @@ icon: orders
3
3
  label: Object
4
4
  version: 2
5
5
  hidden: true
6
+ enable_dataloader: false
6
7
  fields:
7
8
  datasource:
8
9
  type: master_detail
@@ -133,6 +134,13 @@ fields:
133
134
  inlineHelpText: When enabled, the lookup field associated with this object displays its options as a pop-up window.
134
135
  group: Switch
135
136
  defaultValue: false
137
+ enable_dataloader:
138
+ type: boolean
139
+ label: Enable Dataloader
140
+ inlineHelpText: Enable the dataloader for the object GraphQL API. The default value is "true".
141
+ group: Switch
142
+ defaultValue: true
143
+ hidden: true
136
144
  # enable_audit:
137
145
  # type: boolean
138
146
  # label: Enable Audit
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/standard-object-database",
3
- "version": "2.5.5",
3
+ "version": "2.5.6-beta.4",
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": "f1e15b667da1e140e3003bf836d56cd6e36c79e3"
18
+ "gitHead": "865682da22058bd2a954753eeeab891612e6b529"
19
19
  }