@lenne.tech/ng-base 13.17.0 → 13.18.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 (48) hide show
  1. package/base-cms/base-cms.module.d.ts +6 -6
  2. package/base-cms/interfaces/base-cms-module-config.interface.d.ts +6 -6
  3. package/base-cms/pages/base-cms/base-cms.component.d.ts +0 -7
  4. package/base-components/base-components.module.d.ts +4 -3
  5. package/base-components/components/model-form/model-form.component.d.ts +13 -2
  6. package/base-components/components/model-form-sub/model-form-sub.component.d.ts +26 -0
  7. package/base-components/components/model-table/model-table.component.d.ts +4 -3
  8. package/base-components/public-api.d.ts +1 -0
  9. package/base-prototype/base-prototype.module.d.ts +7 -6
  10. package/base-prototype/pages/profile/profile.component.d.ts +34 -0
  11. package/base-prototype/public-api.d.ts +1 -0
  12. package/esm2020/base-cms/base-cms.module.mjs +3 -4
  13. package/esm2020/base-cms/interfaces/base-cms-module-config.interface.mjs +1 -1
  14. package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +10 -24
  15. package/esm2020/base-components/base-components.module.mjs +7 -3
  16. package/esm2020/base-components/components/model-form/model-form.component.mjs +47 -12
  17. package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +46 -0
  18. package/esm2020/base-components/components/model-table/model-table.component.mjs +14 -10
  19. package/esm2020/base-components/public-api.mjs +2 -1
  20. package/esm2020/base-prototype/base-prototype.module.mjs +8 -4
  21. package/esm2020/base-prototype/pages/profile/profile.component.mjs +45 -0
  22. package/esm2020/base-prototype/public-api.mjs +2 -1
  23. package/esm2020/shared/classes/graphql-meta.class.mjs +14 -2
  24. package/esm2020/shared/classes/sort.class.mjs +47 -0
  25. package/esm2020/shared/directives/sort.directive.mjs +54 -0
  26. package/esm2020/shared/public-api.mjs +4 -1
  27. package/esm2020/shared/services/graphql.service.mjs +2 -2
  28. package/esm2020/shared/services/user.service.mjs +2 -1
  29. package/fesm2015/lenne.tech-ng-base-base-cms.mjs +16 -30
  30. package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  31. package/fesm2015/lenne.tech-ng-base-base-components.mjs +108 -21
  32. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  33. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +49 -5
  34. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  35. package/fesm2015/lenne.tech-ng-base-shared.mjs +118 -4
  36. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
  37. package/fesm2020/lenne.tech-ng-base-base-cms.mjs +11 -26
  38. package/fesm2020/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  39. package/fesm2020/lenne.tech-ng-base-base-components.mjs +102 -18
  40. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  41. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +49 -5
  42. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  43. package/fesm2020/lenne.tech-ng-base-shared.mjs +115 -4
  44. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
  45. package/package.json +1 -1
  46. package/shared/classes/sort.class.d.ts +19 -0
  47. package/shared/directives/sort.directive.d.ts +14 -0
  48. package/shared/public-api.d.ts +2 -0
@@ -1,7 +1,8 @@
1
- import { GraphQLNonNull, GraphQLList, buildClientSchema, getIntrospectionQuery } from 'graphql';
1
+ import { GraphQLInputObjectType, GraphQLNonNull, GraphQLList, buildClientSchema, getIntrospectionQuery } from 'graphql';
2
2
  import { cloneDeep } from '@apollo/client/utilities';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, Injectable, Inject } from '@angular/core';
4
+ import { Directive, Inject, Input, HostListener, InjectionToken, Injectable } from '@angular/core';
5
+ import { DOCUMENT } from '@angular/common';
5
6
  import { BehaviorSubject, of, throwError, Observable, map as map$1, filter } from 'rxjs';
6
7
  import * as i1 from 'apollo-angular';
7
8
  import { gql } from 'apollo-angular';
@@ -566,6 +567,7 @@ class GraphQLMeta {
566
567
  * Get deep type data
567
568
  */
568
569
  getDeepType(type, prepared = new WeakMap(), setMetaData = false) {
570
+ var _a, _b;
569
571
  // Check type
570
572
  if (!type) {
571
573
  return type;
@@ -577,6 +579,12 @@ class GraphQLMeta {
577
579
  const preparedType = prepared.get(type);
578
580
  if (preparedType) {
579
581
  const clone = cloneDeep(preparedType);
582
+ // Disable meta flags for sub objects
583
+ if ((type === null || type === void 0 ? void 0 : type.type) instanceof GraphQLInputObjectType ||
584
+ ((type === null || type === void 0 ? void 0 : type.type) instanceof GraphQLNonNull && ((_a = type === null || type === void 0 ? void 0 : type.type) === null || _a === void 0 ? void 0 : _a.ofType) instanceof GraphQLInputObjectType && setMetaData)) {
585
+ setMetaData = false;
586
+ }
587
+ // Check for meta flags
580
588
  if (type.type && setMetaData) {
581
589
  if (type.type instanceof GraphQLNonNull) {
582
590
  clone.isRequired = true;
@@ -625,6 +633,12 @@ class GraphQLMeta {
625
633
  // Get type name
626
634
  if (type.type) {
627
635
  const typeResult = this.getDeepType(type.type, prepared, setMetaData);
636
+ // Disable meta flags for sub objects
637
+ if ((type === null || type === void 0 ? void 0 : type.type) instanceof GraphQLInputObjectType ||
638
+ ((type === null || type === void 0 ? void 0 : type.type) instanceof GraphQLNonNull && ((_b = type === null || type === void 0 ? void 0 : type.type) === null || _b === void 0 ? void 0 : _b.ofType) instanceof GraphQLInputObjectType && setMetaData)) {
639
+ setMetaData = false;
640
+ }
641
+ // Check for meta flags
628
642
  if (setMetaData) {
629
643
  if (type.type instanceof GraphQLNonNull) {
630
644
  typeResult.isRequired = true;
@@ -685,6 +699,105 @@ class Auth extends Standard {
685
699
  }
686
700
  }
687
701
 
702
+ class Sort {
703
+ constructor() {
704
+ this.sortOrder = 1;
705
+ this.collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });
706
+ }
707
+ /**
708
+ * Sorts clicked column
709
+ *
710
+ * @param property
711
+ * @param order
712
+ * @param type
713
+ */
714
+ startSort(property, order, type = '') {
715
+ if (order === 'desc') {
716
+ this.sortOrder = -1;
717
+ }
718
+ return (a, b) => {
719
+ if (type === 'date') {
720
+ return this.sortDate(new Date(a.latestStep[property]), new Date(b.latestStep[property]));
721
+ }
722
+ else if (type === 'position') {
723
+ return this.collator.compare(a.position.Value[property], b.position.Value[property]) * this.sortOrder;
724
+ }
725
+ else {
726
+ return this.collator.compare(a[property], b[property]) * this.sortOrder;
727
+ }
728
+ };
729
+ }
730
+ /**
731
+ * Sorts dates
732
+ *
733
+ * @param a
734
+ * @param b
735
+ */
736
+ sortDate(a, b) {
737
+ if (a < b) {
738
+ return -1 * this.sortOrder;
739
+ }
740
+ else if (a > b) {
741
+ return 1 * this.sortOrder;
742
+ }
743
+ else {
744
+ return 0 * this.sortOrder;
745
+ }
746
+ }
747
+ }
748
+
749
+ class SortDirective {
750
+ constructor(renderer, targetElem, document) {
751
+ this.renderer = renderer;
752
+ this.targetElem = targetElem;
753
+ }
754
+ /**
755
+ * Sorts columns on click
756
+ */
757
+ sortColumn() {
758
+ const items = document.getElementsByTagName('th');
759
+ for (let i = 0; i < items.length; i++) {
760
+ items[i].classList.remove('asc');
761
+ items[i].classList.remove('desc');
762
+ }
763
+ const sort = new Sort();
764
+ const elem = this.targetElem.nativeElement;
765
+ const order = elem.getAttribute('data-order');
766
+ const type = elem.getAttribute('data-type');
767
+ const property = elem.getAttribute('data-name');
768
+ if (order === 'desc') {
769
+ this.lcSort.sort(sort.startSort(property, order, type));
770
+ elem.setAttribute('data-order', 'asc');
771
+ elem.classList.remove('desc');
772
+ elem.classList.add('asc');
773
+ }
774
+ else {
775
+ this.lcSort.sort(sort.startSort(property, order, type));
776
+ elem.setAttribute('data-order', 'desc');
777
+ elem.classList.remove('asc');
778
+ elem.classList.add('desc');
779
+ }
780
+ }
781
+ }
782
+ SortDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SortDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
783
+ SortDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.3", type: SortDirective, selector: "[baseSort]", inputs: { lcSort: "lcSort" }, host: { listeners: { "click": "sortColumn()" } }, ngImport: i0 });
784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SortDirective, decorators: [{
785
+ type: Directive,
786
+ args: [{
787
+ selector: '[baseSort]',
788
+ }]
789
+ }], ctorParameters: function () {
790
+ return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: Document, decorators: [{
791
+ type: Inject,
792
+ args: [DOCUMENT]
793
+ }] }];
794
+ }, propDecorators: { lcSort: [{
795
+ type: Input
796
+ }], sortColumn: [{
797
+ type: HostListener,
798
+ args: ['click']
799
+ }] } });
800
+
688
801
  const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
689
802
 
690
803
  /**
@@ -1262,7 +1375,7 @@ class GraphQLService {
1262
1375
  continue;
1263
1376
  }
1264
1377
  if (key === 'password') {
1265
- result.push(key + ':' + sha256(value));
1378
+ result.push(key + ':' + `"${sha256(value)}"`);
1266
1379
  continue;
1267
1380
  }
1268
1381
  // Process array
@@ -1574,6 +1687,7 @@ class UserService extends GraphQLPlusService {
1574
1687
  fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles'] }],
1575
1688
  type: GraphQLRequestType.QUERY,
1576
1689
  loading: true,
1690
+ log: true,
1577
1691
  }).pipe(map$1((response) => {
1578
1692
  this.authService.token = response.token;
1579
1693
  this.authService.currentUser = BasicUser.map(response.user);
@@ -2095,5 +2209,5 @@ function createRestartableClient(options) {
2095
2209
  * Generated bundle index. Do not edit.
2096
2210
  */
2097
2211
 
2098
- export { Auth, AuthService, BASE_MODULE_CONFIG, BasicUser, BreadcrumbService, ComparisonOperatorEnum, FormsService, GraphQLEnum, GraphQLMeta, GraphQLMetaService, GraphQLPlusService, GraphQLRequestType, GraphQLService, GraphQLType, Helper, ImageService, LoaderService, LogicalOperatorEnum, ScrollService, SkeletonType, SortOrderEnum, Standard, StorageService, ToastService, ToastType, UserService, Validation, WsService, createRestartableClient };
2212
+ export { Auth, AuthService, BASE_MODULE_CONFIG, BasicUser, BreadcrumbService, ComparisonOperatorEnum, FormsService, GraphQLEnum, GraphQLMeta, GraphQLMetaService, GraphQLPlusService, GraphQLRequestType, GraphQLService, GraphQLType, Helper, ImageService, LoaderService, LogicalOperatorEnum, ScrollService, SkeletonType, Sort, SortDirective, SortOrderEnum, Standard, StorageService, ToastService, ToastType, UserService, Validation, WsService, createRestartableClient };
2099
2213
  //# sourceMappingURL=lenne.tech-ng-base-shared.mjs.map