@lenne.tech/ng-base 14.21.3 → 14.22.0

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 (93) hide show
  1. package/base-components/components/upload-image/upload-image.component.d.ts +2 -1
  2. package/esm2020/base-cms/base-cms-routing.module.mjs +5 -5
  3. package/esm2020/base-cms/base-cms.module.mjs +5 -5
  4. package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +4 -4
  5. package/esm2020/base-components/base-components.module.mjs +5 -5
  6. package/esm2020/base-components/components/breadcrumb/breadcrumb.component.mjs +4 -4
  7. package/esm2020/base-components/components/change-password/change-password.component.mjs +4 -4
  8. package/esm2020/base-components/components/checkbox/checkbox.component.mjs +4 -4
  9. package/esm2020/base-components/components/delete-account/delete-account.component.mjs +4 -4
  10. package/esm2020/base-components/components/fab-button/fab-button.component.mjs +4 -4
  11. package/esm2020/base-components/components/input/input.component.mjs +4 -4
  12. package/esm2020/base-components/components/loading-bar/loading-bar.component.mjs +4 -4
  13. package/esm2020/base-components/components/model-form/model-form.component.mjs +24 -19
  14. package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +5 -5
  15. package/esm2020/base-components/components/model-table/model-table.component.mjs +4 -4
  16. package/esm2020/base-components/components/refence-input/refence-input.component.mjs +4 -4
  17. package/esm2020/base-components/components/select/select.component.mjs +4 -4
  18. package/esm2020/base-components/components/skeleton-loader/skeleton-loader.component.mjs +4 -4
  19. package/esm2020/base-components/components/tags/tags.component.mjs +4 -4
  20. package/esm2020/base-components/components/textarea/textarea.component.mjs +4 -4
  21. package/esm2020/base-components/components/toast/toast.component.mjs +4 -4
  22. package/esm2020/base-components/components/upload-image/upload-image.component.mjs +19 -9
  23. package/esm2020/base-components/directives/back-button.directive.mjs +4 -4
  24. package/esm2020/base-components/directives/context-menu.directive.mjs +4 -4
  25. package/esm2020/base-components/directives/sort.directive.mjs +4 -4
  26. package/esm2020/base-components/directives/stop-propagation.directive.mjs +4 -4
  27. package/esm2020/base-components/pipes/ellipses.pipe.mjs +4 -4
  28. package/esm2020/base-prototype/base-prototype.module.mjs +5 -5
  29. package/esm2020/base-prototype/pages/email-verification/email-verification.component.mjs +4 -4
  30. package/esm2020/base-prototype/pages/forgot-password/forgot-password.component.mjs +4 -4
  31. package/esm2020/base-prototype/pages/login/login.component.mjs +5 -5
  32. package/esm2020/base-prototype/pages/profile/profile.component.mjs +4 -4
  33. package/esm2020/base-prototype/pages/register/register.component.mjs +4 -4
  34. package/esm2020/base-prototype/pages/set-password/set-password.component.mjs +4 -4
  35. package/esm2020/shared/classes/graphql-meta.class.mjs +24 -1
  36. package/esm2020/shared/classes/helper.class.mjs +4 -4
  37. package/esm2020/shared/interfaces/cms-field-config.interface.mjs +1 -1
  38. package/esm2020/shared/services/auth.service.mjs +4 -4
  39. package/esm2020/shared/services/breadcrumb.service.mjs +4 -4
  40. package/esm2020/shared/services/cms.service.mjs +4 -4
  41. package/esm2020/shared/services/file.service.mjs +18 -22
  42. package/esm2020/shared/services/forms.service.mjs +4 -4
  43. package/esm2020/shared/services/graphql-meta.service.mjs +4 -4
  44. package/esm2020/shared/services/graphql-plus.service.mjs +4 -4
  45. package/esm2020/shared/services/graphql.service.mjs +89 -27
  46. package/esm2020/shared/services/image.service.mjs +4 -4
  47. package/esm2020/shared/services/loader.service.mjs +4 -4
  48. package/esm2020/shared/services/navigation.service.mjs +4 -4
  49. package/esm2020/shared/services/scroll.service.mjs +4 -4
  50. package/esm2020/shared/services/storage.service.mjs +4 -4
  51. package/esm2020/shared/services/toast.service.mjs +4 -4
  52. package/esm2020/shared/services/user.service.mjs +4 -4
  53. package/esm2020/shared/services/ws.service.mjs +4 -4
  54. package/esm2020/src/base.module.mjs +5 -5
  55. package/esm2020/src/directives/lazy-load.directive.mjs +4 -4
  56. package/esm2020/src/directives/match-height.directive.mjs +4 -4
  57. package/esm2020/src/directives/resizable.directive.mjs +4 -4
  58. package/esm2020/src/factories/apollo-options.factory.mjs +3 -1
  59. package/esm2020/src/functions/extract-files.function.mjs +84 -0
  60. package/esm2020/src/guards/auth.guard.mjs +4 -4
  61. package/esm2020/src/guards/can-deactivate.guard.mjs +4 -4
  62. package/esm2020/src/guards/logout.guard.mjs +4 -4
  63. package/esm2020/src/pipes/date-ago.pipe.mjs +4 -4
  64. package/esm2020/src/pipes/safe-html.pipe.mjs +4 -4
  65. package/esm2020/src/services/fullscreen.service.mjs +4 -4
  66. package/esm2020/src/services/seo.service.mjs +4 -4
  67. package/esm2020/src/services/theme.service.mjs +4 -4
  68. package/fesm2015/lenne.tech-ng-base-base-cms.mjs +11 -11
  69. package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  70. package/fesm2015/lenne.tech-ng-base-base-components.mjs +112 -97
  71. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  72. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +23 -23
  73. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  74. package/fesm2015/lenne.tech-ng-base-shared.mjs +161 -82
  75. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
  76. package/fesm2015/lenne.tech-ng-base.mjs +122 -37
  77. package/fesm2015/lenne.tech-ng-base.mjs.map +1 -1
  78. package/fesm2020/lenne.tech-ng-base-base-cms.mjs +11 -11
  79. package/fesm2020/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  80. package/fesm2020/lenne.tech-ng-base-base-components.mjs +106 -91
  81. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  82. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +23 -23
  83. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  84. package/fesm2020/lenne.tech-ng-base-shared.mjs +172 -92
  85. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
  86. package/fesm2020/lenne.tech-ng-base.mjs +122 -37
  87. package/fesm2020/lenne.tech-ng-base.mjs.map +1 -1
  88. package/package.json +4 -4
  89. package/shared/classes/graphql-meta.class.d.ts +8 -0
  90. package/shared/classes/helper.class.d.ts +2 -2
  91. package/shared/interfaces/cms-field-config.interface.d.ts +1 -0
  92. package/shared/services/graphql.service.d.ts +14 -1
  93. package/src/functions/extract-files.function.d.ts +15 -0
@@ -167,11 +167,11 @@ class Helper {
167
167
  return Object.freeze(object);
168
168
  }
169
169
  /**
170
- * Generates an unique identifier with 24 characters
170
+ * Generates an unique identifier with a specific length
171
171
  */
172
- static getUID() {
172
+ static getUID(length = 24) {
173
173
  let dt = new Date().getTime();
174
- const uuid = 'xxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
174
+ const uuid = 'x'.repeat(length).replace(/[xy]/g, (c) => {
175
175
  // eslint-disable-next-line no-bitwise
176
176
  const r = (dt + Math.random() * 16) % 16 | 0;
177
177
  dt = Math.floor(dt / 16);
@@ -446,6 +446,30 @@ class GraphQLMeta {
446
446
  throw Error('Missing schema');
447
447
  }
448
448
  }
449
+ /**
450
+ * Get an object with GraphQLRequestType (operation type) as keys and method (fields) names as value
451
+ */
452
+ getMethodNames() {
453
+ var _a, _b, _c;
454
+ return {
455
+ query: Object.keys(((_a = this.schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.getFields()) || {}),
456
+ mutation: Object.keys(((_b = this.schema.getMutationType()) === null || _b === void 0 ? void 0 : _b.getFields()) || {}),
457
+ subscription: Object.keys(((_c = this.schema.getSubscriptionType()) === null || _c === void 0 ? void 0 : _c.getFields()) || {}),
458
+ };
459
+ }
460
+ /**
461
+ * Get GraphQLRequestTypes (operation types) via method (field) name
462
+ */
463
+ getRequestTypesViaMethod(methodName) {
464
+ const result = [];
465
+ const methodNames = this.getMethodNames();
466
+ for (const [key, value] of Object.entries(methodNames)) {
467
+ if (value.includes(methodName)) {
468
+ result.push(key);
469
+ }
470
+ }
471
+ return result;
472
+ }
449
473
  /**
450
474
  * We're going to get the query and mutation types from the schema, then we're going to loop through the fields of each
451
475
  * type and check if the field name starts with `find`, `create`, `update`, or `delete`. If it does, we're going to add
@@ -926,9 +950,9 @@ class StorageService {
926
950
  this.storage.clear();
927
951
  }
928
952
  }
929
- StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StorageService, deps: [{ token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
930
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StorageService, providedIn: 'root' });
931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StorageService, decorators: [{
953
+ StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: StorageService, deps: [{ token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
954
+ StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: StorageService, providedIn: 'root' });
955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: StorageService, decorators: [{
932
956
  type: Injectable,
933
957
  args: [{
934
958
  providedIn: 'root',
@@ -946,9 +970,9 @@ class WsService {
946
970
  (_a = this.client) === null || _a === void 0 ? void 0 : _a.restart();
947
971
  }
948
972
  }
949
- WsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: WsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
950
- WsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: WsService, providedIn: 'root' });
951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: WsService, decorators: [{
973
+ WsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: WsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
974
+ WsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: WsService, providedIn: 'root' });
975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: WsService, decorators: [{
952
976
  type: Injectable,
953
977
  args: [{
954
978
  providedIn: 'root',
@@ -1014,9 +1038,9 @@ class AuthService {
1014
1038
  return this._token.asObservable();
1015
1039
  }
1016
1040
  }
1017
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AuthService, deps: [{ token: BASE_MODULE_CONFIG }, { token: StorageService }, { token: WsService }], target: i0.ɵɵFactoryTarget.Injectable });
1018
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AuthService, providedIn: 'root' });
1019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AuthService, decorators: [{
1041
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AuthService, deps: [{ token: BASE_MODULE_CONFIG }, { token: StorageService }, { token: WsService }], target: i0.ɵɵFactoryTarget.Injectable });
1042
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AuthService, providedIn: 'root' });
1043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AuthService, decorators: [{
1020
1044
  type: Injectable,
1021
1045
  args: [{
1022
1046
  providedIn: 'root',
@@ -1135,9 +1159,9 @@ class GraphQLMetaService {
1135
1159
  return observable;
1136
1160
  }
1137
1161
  }
1138
- GraphQLMetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLMetaService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
1139
- GraphQLMetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLMetaService, providedIn: 'root' });
1140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLMetaService, decorators: [{
1162
+ GraphQLMetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLMetaService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
1163
+ GraphQLMetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLMetaService, providedIn: 'root' });
1164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLMetaService, decorators: [{
1141
1165
  type: Injectable,
1142
1166
  args: [{
1143
1167
  providedIn: 'root',
@@ -1158,13 +1182,13 @@ class GraphQLService {
1158
1182
  /**
1159
1183
  * GraphQL request
1160
1184
  */
1161
- graphQl(graphql, options = {}) {
1162
- // Check arguments
1163
- if (!graphql) {
1164
- throwError('Missing graphql argument');
1185
+ graphQl(graphqlMethodName, options = {}) {
1186
+ // Check parameters
1187
+ if (!graphqlMethodName) {
1188
+ throwError(() => new Error('Missing graphql method name'));
1165
1189
  }
1166
1190
  // Get config
1167
- const config = Object.assign({ arguments: null, fields: null, log: false, model: null, type: GraphQLRequestType.QUERY }, options);
1191
+ const config = Object.assign({ arguments: null, fields: null, log: false, model: null }, options);
1168
1192
  // Convert class to Object for arguments
1169
1193
  if (typeof config.arguments === 'function') {
1170
1194
  config.arguments = new config.arguments();
@@ -1181,6 +1205,21 @@ class GraphQLService {
1181
1205
  return new Observable((subscriber) => {
1182
1206
  // Get meta
1183
1207
  this.graphQLMetaService.getMeta({ log: config.log }).subscribe((meta) => {
1208
+ // Set GraphQLRequestType automatically
1209
+ if (!config.type) {
1210
+ const types = meta.getRequestTypesViaMethod(graphqlMethodName);
1211
+ if (!(types === null || types === void 0 ? void 0 : types.length)) {
1212
+ throwError(() => new Error('No GraphQLRequestType detected'));
1213
+ }
1214
+ config.type = types[0];
1215
+ if (config.type) {
1216
+ throwError(() => new Error('No GraphQLRequestType detected'));
1217
+ }
1218
+ if (types.length > 1) {
1219
+ // eslint-disable-next-line no-console
1220
+ console.debug('GraphQLRequestType ' + config.type + ' used for ' + graphqlMethodName, types);
1221
+ }
1222
+ }
1184
1223
  // Prepare fields
1185
1224
  let fields;
1186
1225
  let allowedFields;
@@ -1189,7 +1228,7 @@ class GraphQLService {
1189
1228
  console.log({ meta });
1190
1229
  }
1191
1230
  if (config.fields) {
1192
- allowedFields = meta.getFields(graphql, { type: config.type });
1231
+ allowedFields = meta.getFields(graphqlMethodName, { type: config.type });
1193
1232
  // Log meta
1194
1233
  if (config.log) {
1195
1234
  console.log({ allowedFields });
@@ -1207,7 +1246,7 @@ class GraphQLService {
1207
1246
  console.log({ fields });
1208
1247
  }
1209
1248
  // Get allowed args
1210
- const allowedArgs = meta.getArgs(graphql, { type: config.type });
1249
+ const allowedArgs = meta.getArgs(graphqlMethodName, { type: config.type });
1211
1250
  // Log allowed args
1212
1251
  if (config.log) {
1213
1252
  console.log({ allowedArgs });
@@ -1231,17 +1270,43 @@ class GraphQLService {
1231
1270
  }
1232
1271
  // Log
1233
1272
  if (config.log) {
1234
- console.log({ graphQL: graphql, args, fields, type: config.type });
1273
+ console.log({ graphQL: graphqlMethodName, args, fields, type: config.type });
1235
1274
  }
1236
1275
  // Prepare request
1237
- const documentNode = fields
1238
- ? gql(config.type + '{\n' + graphql + args + fields + '\n}')
1239
- : gql(config.type + '{\n' + graphql + args + '\n}');
1276
+ const request = {};
1277
+ // Prepare GraphQL
1278
+ const gQlFuncBody = fields
1279
+ ? ' {\n' + graphqlMethodName + args + fields + '\n}'
1280
+ : ' {\n' + graphqlMethodName + args + '\n}';
1281
+ let gQlBody = config.type + gQlFuncBody;
1282
+ // Handling for variables (e.g. for file uploads)
1283
+ if (Object.keys(argsData.variables).length) {
1284
+ // Preparations
1285
+ request.variables = {};
1286
+ let multipart = false;
1287
+ // Add surrounding
1288
+ gQlBody = config.type + ' Request(';
1289
+ for (const [key, item] of Object.entries(argsData.variables)) {
1290
+ gQlBody += '\n$' + key + ':' + item.type + ',';
1291
+ request.variables[key] = item.value;
1292
+ if (item.type.startsWith('Upload')) {
1293
+ multipart = true;
1294
+ }
1295
+ }
1296
+ gQlBody = gQlBody.slice(0, -1) + '\n)' + gQlFuncBody;
1297
+ // Set Multipart
1298
+ if (multipart) {
1299
+ request.context = {
1300
+ useMultipart: true,
1301
+ };
1302
+ }
1303
+ }
1304
+ const documentNode = gql(gQlBody);
1240
1305
  // Log
1241
1306
  if (config.log) {
1242
1307
  console.log({ documentNode });
1243
1308
  }
1244
- const request = {};
1309
+ // Set document node
1245
1310
  request[config.type] = documentNode;
1246
1311
  // Log
1247
1312
  if (config.log) {
@@ -1262,7 +1327,7 @@ class GraphQLService {
1262
1327
  }
1263
1328
  this.apollo[func](request).subscribe((result) => {
1264
1329
  var _a;
1265
- const data = ((_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a[graphql]) !== undefined ? result.data[graphql] : result;
1330
+ const data = ((_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a[graphqlMethodName]) !== undefined ? result.data[graphqlMethodName] : result;
1266
1331
  // Direct data
1267
1332
  if (!config.model) {
1268
1333
  subscriber.next(data);
@@ -1314,10 +1379,10 @@ class GraphQLService {
1314
1379
  */
1315
1380
  prepareArguments(args, options = {}) {
1316
1381
  // Init config variables
1317
- const { allowed, level, parent, schemaArgs, usedArgs } = Object.assign({ allowed: null, level: 1, parent: '', schemaArgs: [], usedArgs: [] }, options);
1382
+ const { allowed, levelKey, level, parent, schemaArgs, usedArgs, variables } = Object.assign({ allowed: null, levelKey: '', level: 1, parent: '', schemaArgs: [], usedArgs: [], variables: {} }, options);
1318
1383
  // Check args
1319
1384
  if (args === undefined || args === null) {
1320
- return { argsString: '', schemaArgs, usedArgs };
1385
+ return { argsString: '', schemaArgs, usedArgs, variables };
1321
1386
  }
1322
1387
  // Init args
1323
1388
  const result = [];
@@ -1335,29 +1400,37 @@ class GraphQLService {
1335
1400
  // Process value
1336
1401
  result.push(this.prepareArguments(item, {
1337
1402
  allowed: key ? allowed.fields[key] : null,
1403
+ levelKey: key,
1338
1404
  level: level + 1,
1339
1405
  parent: parent + key + '.',
1340
1406
  schemaArgs,
1341
1407
  usedArgs,
1408
+ variables,
1342
1409
  }).argsString);
1343
1410
  }
1344
1411
  // Encapsulation of the array result
1345
1412
  if (result.length) {
1346
1413
  // Complete result, encapsulated via round brackets
1347
1414
  if (level === 1) {
1348
- return { argsString: '(' + result.join(', ') + ')', schemaArgs, usedArgs };
1415
+ return { argsString: '(' + result.join(', ') + ')', schemaArgs, usedArgs, variables };
1349
1416
  }
1350
1417
  // Deeper result part, encapsulated via square brackets
1351
1418
  else {
1352
- return { argsString: '[' + result.join(', ') + ']', schemaArgs, usedArgs };
1419
+ return { argsString: '[' + result.join(', ') + ']', schemaArgs, usedArgs, variables };
1353
1420
  }
1354
1421
  }
1355
1422
  }
1356
1423
  // Process object
1357
1424
  else if (typeof args === 'object') {
1425
+ // Check for Upload type for variable handling
1426
+ if ((allowed === null || allowed === void 0 ? void 0 : allowed.type) === 'Upload') {
1427
+ const name = levelKey + '_' + Helper.getUID(6);
1428
+ variables[name] = { type: allowed.type + (allowed.isRequired ? '!' : ''), value: args };
1429
+ return { argsString: '$' + name, schemaArgs, usedArgs, variables };
1430
+ }
1358
1431
  // Check object is empty
1359
1432
  if (args && Object.keys(args).length === 0 && Object.getPrototypeOf(args) === Object.prototype) {
1360
- return { argsString: '{}', schemaArgs, usedArgs };
1433
+ return { argsString: '{}', schemaArgs, usedArgs, variables };
1361
1434
  }
1362
1435
  // Process all object entries
1363
1436
  for (const [key, value] of Object.entries(args)) {
@@ -1395,10 +1468,12 @@ class GraphQLService {
1395
1468
  ': [' +
1396
1469
  value.map((item) => this.prepareArguments(item, {
1397
1470
  allowed: allowed.fields[key],
1471
+ levelKey: key,
1398
1472
  level: level + 1,
1399
1473
  parent: currentKey + '.',
1400
1474
  schemaArgs,
1401
1475
  usedArgs,
1476
+ variables,
1402
1477
  }).argsString) +
1403
1478
  ']');
1404
1479
  continue;
@@ -1426,13 +1501,22 @@ class GraphQLService {
1426
1501
  }
1427
1502
  // Others
1428
1503
  else {
1429
- additionalResult += this.prepareArguments(value, {
1504
+ const prepareOptions = {
1430
1505
  allowed: allowed.fields[key],
1506
+ levelKey: key,
1431
1507
  level: level + 1,
1432
1508
  parent: currentKey + '.',
1433
1509
  schemaArgs,
1434
1510
  usedArgs,
1435
- }).argsString;
1511
+ variables,
1512
+ };
1513
+ try {
1514
+ additionalResult += this.prepareArguments(value, prepareOptions).argsString;
1515
+ }
1516
+ catch (e) {
1517
+ console.error('Error during preparing arguments', value, prepareOptions);
1518
+ throw e;
1519
+ }
1436
1520
  }
1437
1521
  // Push deeper part into result array
1438
1522
  result.push(additionalResult);
@@ -1441,17 +1525,17 @@ class GraphQLService {
1441
1525
  if (result.length) {
1442
1526
  // Complete result, encapsulated via round brackets
1443
1527
  if (level === 1) {
1444
- return { argsString: '(' + result.join(', ') + ')', schemaArgs, usedArgs };
1528
+ return { argsString: '(' + result.join(', ') + ')', schemaArgs, usedArgs, variables };
1445
1529
  }
1446
1530
  // Deeper result part, encapsulated via curly brackets
1447
1531
  else {
1448
- return { argsString: '{' + result.join(', ') + '}', schemaArgs, usedArgs };
1532
+ return { argsString: '{' + result.join(', ') + '}', schemaArgs, usedArgs, variables };
1449
1533
  }
1450
1534
  }
1451
1535
  }
1452
1536
  // Prepare and process other / unknown values as JSON
1453
1537
  else {
1454
- return { argsString: JSON.stringify(args), schemaArgs, usedArgs };
1538
+ return { argsString: JSON.stringify(args), schemaArgs, usedArgs, variables };
1455
1539
  }
1456
1540
  }
1457
1541
  /**
@@ -1545,9 +1629,9 @@ class GraphQLService {
1545
1629
  return { fieldsString, schemaFields, usedFields };
1546
1630
  }
1547
1631
  }
1548
- GraphQLService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }], target: i0.ɵɵFactoryTarget.Injectable });
1549
- GraphQLService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLService, providedIn: 'root' });
1550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLService, decorators: [{
1632
+ GraphQLService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }], target: i0.ɵɵFactoryTarget.Injectable });
1633
+ GraphQLService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLService, providedIn: 'root' });
1634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLService, decorators: [{
1551
1635
  type: Injectable,
1552
1636
  args: [{
1553
1637
  providedIn: 'root',
@@ -1621,9 +1705,9 @@ class LoaderService {
1621
1705
  });
1622
1706
  }
1623
1707
  }
1624
- LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1625
- LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoaderService, providedIn: 'root' });
1626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LoaderService, decorators: [{
1708
+ LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1709
+ LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LoaderService, providedIn: 'root' });
1710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LoaderService, decorators: [{
1627
1711
  type: Injectable,
1628
1712
  args: [{
1629
1713
  providedIn: 'root',
@@ -1697,9 +1781,9 @@ class GraphQLPlusService extends GraphQLService {
1697
1781
  console.error(error);
1698
1782
  }
1699
1783
  }
1700
- GraphQLPlusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLPlusService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }], target: i0.ɵɵFactoryTarget.Injectable });
1701
- GraphQLPlusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLPlusService, providedIn: 'root' });
1702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: GraphQLPlusService, decorators: [{
1784
+ GraphQLPlusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLPlusService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }], target: i0.ɵɵFactoryTarget.Injectable });
1785
+ GraphQLPlusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLPlusService, providedIn: 'root' });
1786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: GraphQLPlusService, decorators: [{
1703
1787
  type: Injectable,
1704
1788
  args: [{
1705
1789
  providedIn: 'root',
@@ -1794,9 +1878,9 @@ class ImageService {
1794
1878
  });
1795
1879
  }
1796
1880
  }
1797
- ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1798
- ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ImageService, providedIn: 'root' });
1799
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ImageService, decorators: [{
1881
+ ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1882
+ ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ImageService, providedIn: 'root' });
1883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ImageService, decorators: [{
1800
1884
  type: Injectable,
1801
1885
  args: [{
1802
1886
  providedIn: 'root',
@@ -1954,9 +2038,9 @@ class ScrollService {
1954
2038
  return this.scrollPromise;
1955
2039
  }
1956
2040
  }
1957
- ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ScrollService, deps: [{ token: i1$1.Router }, { token: BASE_MODULE_CONFIG }, { token: ImageService }], target: i0.ɵɵFactoryTarget.Injectable });
1958
- ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ScrollService, providedIn: 'root' });
1959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ScrollService, decorators: [{
2041
+ ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ScrollService, deps: [{ token: i1$1.Router }, { token: BASE_MODULE_CONFIG }, { token: ImageService }], target: i0.ɵɵFactoryTarget.Injectable });
2042
+ ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ScrollService, providedIn: 'root' });
2043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ScrollService, decorators: [{
1960
2044
  type: Injectable,
1961
2045
  args: [{
1962
2046
  providedIn: 'root',
@@ -2011,9 +2095,9 @@ class FormsService {
2011
2095
  this.scrollService.scrollTo(invalidForm);
2012
2096
  }
2013
2097
  }
2014
- FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FormsService, deps: [{ token: DOCUMENT }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Injectable });
2015
- FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FormsService, providedIn: 'root' });
2016
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FormsService, decorators: [{
2098
+ FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FormsService, deps: [{ token: DOCUMENT }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Injectable });
2099
+ FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FormsService, providedIn: 'root' });
2100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FormsService, decorators: [{
2017
2101
  type: Injectable,
2018
2102
  args: [{
2019
2103
  providedIn: 'root',
@@ -2153,9 +2237,9 @@ class UserService extends GraphQLPlusService {
2153
2237
  });
2154
2238
  }
2155
2239
  }
2156
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: UserService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
2157
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: UserService, providedIn: 'root' });
2158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: UserService, decorators: [{
2240
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: UserService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
2241
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: UserService, providedIn: 'root' });
2242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: UserService, decorators: [{
2159
2243
  type: Injectable,
2160
2244
  args: [{
2161
2245
  providedIn: 'root',
@@ -2191,9 +2275,9 @@ class ToastService {
2191
2275
  }
2192
2276
  }
2193
2277
  }
2194
- ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2195
- ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ToastService, providedIn: 'root' });
2196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ToastService, decorators: [{
2278
+ ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2279
+ ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ToastService, providedIn: 'root' });
2280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ToastService, decorators: [{
2197
2281
  type: Injectable,
2198
2282
  args: [{
2199
2283
  providedIn: 'root',
@@ -2255,9 +2339,9 @@ class BreadcrumbService {
2255
2339
  return typeof data.breadcrumb === 'function' ? data.breadcrumb(data) : data.breadcrumb;
2256
2340
  }
2257
2341
  }
2258
- BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2259
- BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
2260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: BreadcrumbService, decorators: [{
2342
+ BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2343
+ BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
2344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BreadcrumbService, decorators: [{
2261
2345
  type: Injectable,
2262
2346
  args: [{
2263
2347
  providedIn: 'root',
@@ -2288,9 +2372,9 @@ class NavigationService {
2288
2372
  }
2289
2373
  }
2290
2374
  }
2291
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: NavigationService, deps: [{ token: i1$1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
2292
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: NavigationService, providedIn: 'root' });
2293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: NavigationService, decorators: [{
2375
+ NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NavigationService, deps: [{ token: i1$1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
2376
+ NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NavigationService, providedIn: 'root' });
2377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NavigationService, decorators: [{
2294
2378
  type: Injectable,
2295
2379
  args: [{ providedIn: 'root' }]
2296
2380
  }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.Location }]; } });
@@ -2365,9 +2449,9 @@ class CmsService {
2365
2449
  return value.charAt(0).toLowerCase() + value.slice(1);
2366
2450
  }
2367
2451
  }
2368
- CmsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CmsService, deps: [{ token: GraphQLService }], target: i0.ɵɵFactoryTarget.Injectable });
2369
- CmsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CmsService, providedIn: 'root' });
2370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CmsService, decorators: [{
2452
+ CmsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CmsService, deps: [{ token: GraphQLService }], target: i0.ɵɵFactoryTarget.Injectable });
2453
+ CmsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CmsService, providedIn: 'root' });
2454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CmsService, decorators: [{
2371
2455
  type: Injectable,
2372
2456
  args: [{
2373
2457
  providedIn: 'root',
@@ -2383,13 +2467,9 @@ class FileService {
2383
2467
  * Compress file with options and return file
2384
2468
  */
2385
2469
  compress(file, options) {
2386
- const config = Object.assign({
2387
- quality: 0.6,
2388
- checkOrientation: false,
2389
- }, options);
2470
+ const config = Object.assign({ quality: 0.6, checkOrientation: false }, options);
2390
2471
  return new Promise((resolve, reject) => {
2391
- new Compressor(file, Object.assign(Object.assign({}, config), {
2392
- success(result) {
2472
+ new Compressor(file, Object.assign({ success(result) {
2393
2473
  // Check if result is blob for convert to file
2394
2474
  if (result instanceof Blob) {
2395
2475
  resolve(new File([result], result.name));
@@ -2400,8 +2480,7 @@ class FileService {
2400
2480
  },
2401
2481
  error(err) {
2402
2482
  reject(err.message);
2403
- },
2404
- }));
2483
+ } }, config));
2405
2484
  });
2406
2485
  }
2407
2486
  /**
@@ -2443,9 +2522,9 @@ class FileService {
2443
2522
  }));
2444
2523
  }
2445
2524
  }
2446
- FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FileService, deps: [{ token: AuthService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2447
- FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FileService, providedIn: 'root' });
2448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FileService, decorators: [{
2525
+ FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FileService, deps: [{ token: AuthService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2526
+ FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FileService, providedIn: 'root' });
2527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FileService, decorators: [{
2449
2528
  type: Injectable,
2450
2529
  args: [{
2451
2530
  providedIn: 'root',