total5 0.0.11 → 0.0.12

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.
package/builders.js CHANGED
@@ -1110,11 +1110,12 @@ RESTBuilderResponse.prototype.cookie = function(name) {
1110
1110
 
1111
1111
  function parseactioncache(obj, meta) {
1112
1112
 
1113
- var query = meta.query;
1114
- var user = meta.user;
1115
- var params = meta.params;
1116
- var language = meta.language;
1117
- var search = meta.id || meta.key;
1113
+ let query = meta.query;
1114
+ let user = meta.user;
1115
+ let params = meta.params;
1116
+ let input = meta.input;
1117
+ let language = meta.language;
1118
+ let search = meta.id || meta.key;
1118
1119
 
1119
1120
  if (typeof(user) === 'string')
1120
1121
  user = user.split(',').trim();
@@ -1128,19 +1129,31 @@ function parseactioncache(obj, meta) {
1128
1129
  else if (params === true) {
1129
1130
  if (obj.jsparams) {
1130
1131
  params = [];
1131
- for (var key in obj.jsparams.properties)
1132
+ for (let key in obj.jsparams.properties)
1132
1133
  params.push(key);
1133
1134
  } else
1134
1135
  params = null;
1135
1136
  } else
1136
1137
  params = null;
1137
1138
 
1139
+ if (typeof(input) === 'string')
1140
+ input = input.split(',').trim();
1141
+ else if (input === true) {
1142
+ if (obj.jsinput) {
1143
+ input = [];
1144
+ for (let key in obj.jsinput.properties)
1145
+ input.push(key);
1146
+ } else
1147
+ input = null;
1148
+ } else
1149
+ input = null;
1150
+
1138
1151
  if (typeof(query) === 'string')
1139
1152
  query = query.split(',').trim();
1140
1153
  else if (query === true) {
1141
1154
  if (obj.jsquery) {
1142
1155
  query = [];
1143
- for (var key in obj.jsquery.properties)
1156
+ for (let key in obj.jsquery.properties)
1144
1157
  query.push(key);
1145
1158
  } else
1146
1159
  query = null;
@@ -1150,9 +1163,9 @@ function parseactioncache(obj, meta) {
1150
1163
  return function($, value) {
1151
1164
  if (value === undefined) {
1152
1165
 
1153
- var key = 'action|' + (search ? (search + '|') : '') + $.ID;
1154
- var sum = '';
1155
- var tmp;
1166
+ let key = 'action|' + (search ? (search + '|') : '') + $.ID;
1167
+ let sum = '';
1168
+ let tmp;
1156
1169
 
1157
1170
  if (language)
1158
1171
  sum += ($.language || '');
@@ -1173,6 +1186,14 @@ function parseactioncache(obj, meta) {
1173
1186
  }
1174
1187
  }
1175
1188
 
1189
+ if (input) {
1190
+ for (let key of input) {
1191
+ tmp = $.model[key];
1192
+ if (tmp)
1193
+ sum += '|' + tmp;
1194
+ }
1195
+ }
1196
+
1176
1197
  if (user && $.user) {
1177
1198
  for (let key of user) {
1178
1199
  tmp = $.user[key];
@@ -1415,7 +1436,8 @@ ActionCaller.prototype.exec = function() {
1415
1436
  } else
1416
1437
  $.payload = payload;
1417
1438
 
1418
- $.status = self.options.status;
1439
+ if (self.options.status)
1440
+ $.status = self.options.status;
1419
1441
 
1420
1442
  if (action.middleware) {
1421
1443
  action.middleware.wait(function(name, next) {
package/changelog.txt CHANGED
@@ -1,3 +1,12 @@
1
+ ========================
2
+ 0.0.12
3
+ ========================
4
+
5
+ - fixed `$.status()` calling
6
+ - added support for schemas in the `QueryBuilder.autoquery(..., '@schema_name')` method
7
+ - extended `NEWACTION` cache with additional `input` key
8
+ - updated download procedure in the `COMPONENTANTOR()` method
9
+
1
10
  ========================
2
11
  0.0.11
3
12
  ========================
package/index.js CHANGED
@@ -36,7 +36,7 @@ global.DEF = {};
36
36
 
37
37
  F.id = '';
38
38
  F.clusterid = '';
39
- F.is5 = F.version = 5011;
39
+ F.is5 = F.version = 5012;
40
40
  F.isBundle = false;
41
41
  F.isLoaded = false;
42
42
  F.version_header = '5';
@@ -1402,18 +1402,18 @@ F.componentator = function(name, components, removeprev = true, attrs = '') {
1402
1402
 
1403
1403
  F.$events.componentator && F.emit('componentator', meta);
1404
1404
 
1405
- var url = 'https://componentator.com/download.js?id=' + meta.components + (attrs ? ('&' + attrs) : '');
1406
- var nameid = meta.name.slug();
1407
- var relative = 'ui-' + (removeprev ? (nameid + '-') : '') + url.makeid() + '.min.js';
1408
- var filename = F.path.public(relative);
1405
+ let url = 'https://componentator.com/download/';
1406
+ let nameid = meta.name.slug();
1407
+ let relative = 'ui-' + (removeprev ? (nameid + '-') : '') + meta.components.makeid() + '.min.js';
1408
+ let filename = F.path.public(relative);
1409
1409
 
1410
1410
  F.repo[meta.name] = '/' + relative;
1411
1411
 
1412
1412
  if (removeprev) {
1413
1413
  F.Fs.readdir(F.path.public(), function(err, files) {
1414
1414
 
1415
- var rem = [];
1416
- for (var m of files) {
1415
+ let rem = [];
1416
+ for (let m of files) {
1417
1417
  if (m !== relative && m.indexOf('ui-' + nameid + '-') !== -1)
1418
1418
  rem.push(F.path.public(m));
1419
1419
  }
@@ -1425,8 +1425,22 @@ F.componentator = function(name, components, removeprev = true, attrs = '') {
1425
1425
  }
1426
1426
 
1427
1427
  F.Fs.lstat(filename, function(err) {
1428
- if (err)
1429
- F.download(url, filename, err => err ? F.error(err, 'COMPONENTATOR') : null);
1428
+ if (err) {
1429
+
1430
+ let opt = {};
1431
+ opt.method = 'POST';
1432
+ opt.body = 'id=' + meta.components + (attrs ? ('&' + attrs) : '');
1433
+ opt.type = 'urlencoded';
1434
+ opt.url = url;
1435
+ opt.callback = function(err, response) {
1436
+ if (err)
1437
+ Total.error(err, 'COMPONENTATOR()');
1438
+ else
1439
+ Total.Fs.writeFile(filename, response.body, 'utf8', ERROR('COMPONENTATOR()'))
1440
+ };
1441
+
1442
+ REQUEST(opt);
1443
+ }
1430
1444
  });
1431
1445
 
1432
1446
  };
@@ -1446,7 +1460,7 @@ F.errorcallback = function(err) {
1446
1460
 
1447
1461
  F.merge = function(url) {
1448
1462
 
1449
- var arr = [];
1463
+ let arr = [];
1450
1464
 
1451
1465
  for (let i = 1; i < arguments.length; i++) {
1452
1466
  let links = arguments[i];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "total5",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Total.js framework v5",
5
5
  "main": "index.js",
6
6
  "directories": {
package/querybuilder.js CHANGED
@@ -1095,23 +1095,36 @@ QBP.schema = function(value) {
1095
1095
 
1096
1096
  QBP.autoquery = function(query, schema, defsort, maxlimit) {
1097
1097
 
1098
- var t = this;
1099
- var skipped;
1100
- var key = 'QBF' + schema;
1101
- var allowed = F.temporary.querybuilders[key];
1102
- var tmp;
1098
+ let t = this;
1099
+ let skipped;
1100
+ let key = 'QBF' + schema;
1101
+ let allowed = F.temporary.querybuilders[key];
1102
+ let tmp;
1103
1103
 
1104
1104
  if (!allowed) {
1105
- var obj = {};
1106
- var arr = [];
1107
- var filter = [];
1108
- var localized = {};
1105
+
1106
+ let obj = {};
1107
+ let arr = [];
1108
+ let filter = [];
1109
+ let localized = {};
1110
+
1111
+ if (schema.charAt(0) === '@') {
1112
+ let jschema = F.jsonschemas[schema.substring(1)];
1113
+ if (jschema) {
1114
+ schema = '';
1115
+ for (let key in jschema.properties) {
1116
+ let prop = jschema.properties[key];
1117
+ schema = (schema ? schema + ',' : '') + key + ':' + (prop.type === 'array' ? '[string]' : prop.type);
1118
+ }
1119
+ }
1120
+ }
1121
+
1109
1122
  tmp = schema.split(',').trim();
1110
1123
 
1111
- for (var i = 0; i < tmp.length; i++) {
1112
- var k = tmp[i].split(':').trim();
1124
+ for (let field of tmp) {
1125
+ let k = field.split(':').trim();
1113
1126
  arr.push(k[0]);
1114
- var cleaned = k[0].replace(/§/g, '');
1127
+ let cleaned = k[0].replace(/§/g, '');
1115
1128
  obj[cleaned] = 1;
1116
1129
  localized[cleaned] = k[0];
1117
1130
  filter.push({ name: cleaned, type: (k[1] || 'string').toLowerCase() });
@@ -1120,15 +1133,15 @@ QBP.autoquery = function(query, schema, defsort, maxlimit) {
1120
1133
  allowed = F.temporary.querybuilders[key] = { keys: arr, meta: obj, filter: filter, fields: localized };
1121
1134
  }
1122
1135
 
1123
- var fields = query.fields;
1124
- var fieldscount = 0;
1136
+ let fields = query.fields;
1137
+ let fieldscount = 0;
1125
1138
 
1126
1139
  if (!t.options.fields)
1127
1140
  t.options.fields = [];
1128
1141
 
1129
1142
  if (fields) {
1130
1143
  fields = fields.replace(REG_FIELDS_CLEANER, '').split(',');
1131
- for (var field of fields) {
1144
+ for (let field of fields) {
1132
1145
  if (allowed && allowed.meta[field]) {
1133
1146
  t.options.fields.push(field);
1134
1147
  fieldscount++;
@@ -1137,23 +1150,23 @@ QBP.autoquery = function(query, schema, defsort, maxlimit) {
1137
1150
  }
1138
1151
 
1139
1152
  if (!fieldscount) {
1140
- for (var field of allowed.keys)
1153
+ for (let field of allowed.keys)
1141
1154
  t.options.fields.push(field);
1142
1155
  }
1143
1156
 
1144
1157
  if (allowed && allowed.filter) {
1145
- for (var item of allowed.filter)
1158
+ for (let item of allowed.filter)
1146
1159
  t.gridfilter(item.name, query, item.type, allowed.fields[item.name]);
1147
1160
  }
1148
1161
 
1149
1162
  if (query.sort) {
1150
1163
 
1151
1164
  tmp = query.sort.split(',');
1152
- var count = 0;
1165
+ let count = 0;
1153
1166
 
1154
- for (var item of tmp) {
1155
- var index = item.lastIndexOf('_');
1156
- var name = index === - 1 ? item : item.substring(0, index);
1167
+ for (let item of tmp) {
1168
+ let index = item.lastIndexOf('_');
1169
+ let name = index === - 1 ? item : item.substring(0, index);
1157
1170
 
1158
1171
  if ((skipped && skipped[name]) || (!allowed.meta[name]))
1159
1172
  continue;