@lenne.tech/ng-base 13.15.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.
- package/base-cms/base-cms.module.d.ts +6 -6
- package/base-cms/interfaces/base-cms-module-config.interface.d.ts +6 -6
- package/base-cms/pages/base-cms/base-cms.component.d.ts +0 -7
- package/base-components/base-components.module.d.ts +4 -3
- package/base-components/components/model-form/model-form.component.d.ts +14 -2
- package/base-components/components/model-form-sub/model-form-sub.component.d.ts +26 -0
- package/base-components/components/model-table/model-table.component.d.ts +4 -2
- package/base-components/public-api.d.ts +1 -0
- package/base-prototype/base-prototype.module.d.ts +7 -6
- package/base-prototype/pages/profile/profile.component.d.ts +34 -0
- package/base-prototype/public-api.d.ts +1 -0
- package/esm2020/base-cms/base-cms.module.mjs +3 -4
- package/esm2020/base-cms/interfaces/base-cms-module-config.interface.mjs +1 -1
- package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +17 -25
- package/esm2020/base-components/base-components.module.mjs +7 -3
- package/esm2020/base-components/components/model-form/model-form.component.mjs +60 -12
- package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +46 -0
- package/esm2020/base-components/components/model-table/model-table.component.mjs +23 -5
- package/esm2020/base-components/public-api.mjs +2 -1
- package/esm2020/base-prototype/base-prototype.module.mjs +8 -4
- package/esm2020/base-prototype/pages/profile/profile.component.mjs +45 -0
- package/esm2020/base-prototype/public-api.mjs +2 -1
- package/esm2020/shared/classes/graphql-meta.class.mjs +14 -2
- package/esm2020/shared/classes/sort.class.mjs +47 -0
- package/esm2020/shared/directives/sort.directive.mjs +54 -0
- package/esm2020/shared/public-api.mjs +4 -1
- package/esm2020/shared/services/graphql.service.mjs +6 -1
- package/esm2020/shared/services/user.service.mjs +2 -1
- package/fesm2015/lenne.tech-ng-base-base-cms.mjs +19 -27
- package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +1 -1
- package/fesm2015/lenne.tech-ng-base-base-components.mjs +130 -16
- package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
- package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +49 -5
- package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
- package/fesm2015/lenne.tech-ng-base-shared.mjs +122 -3
- package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base-base-cms.mjs +18 -27
- package/fesm2020/lenne.tech-ng-base-base-cms.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base-base-components.mjs +124 -13
- package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +49 -5
- package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
- package/fesm2020/lenne.tech-ng-base-shared.mjs +119 -3
- package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
- package/package.json +3 -2
- package/shared/classes/sort.class.d.ts +19 -0
- package/shared/directives/sort.directive.d.ts +14 -0
- package/shared/public-api.d.ts +2 -0
|
@@ -1,10 +1,12 @@
|
|
|
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
|
|
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';
|
|
9
|
+
import { sha256 } from 'js-sha256';
|
|
8
10
|
import { map } from 'rxjs/operators';
|
|
9
11
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
10
12
|
import * as i1$1 from '@angular/router';
|
|
@@ -595,6 +597,12 @@ class GraphQLMeta {
|
|
|
595
597
|
const preparedType = prepared.get(type);
|
|
596
598
|
if (preparedType) {
|
|
597
599
|
const clone = cloneDeep(preparedType);
|
|
600
|
+
// Disable meta flags for sub objects
|
|
601
|
+
if (type?.type instanceof GraphQLInputObjectType ||
|
|
602
|
+
(type?.type instanceof GraphQLNonNull && type?.type?.ofType instanceof GraphQLInputObjectType && setMetaData)) {
|
|
603
|
+
setMetaData = false;
|
|
604
|
+
}
|
|
605
|
+
// Check for meta flags
|
|
598
606
|
if (type.type && setMetaData) {
|
|
599
607
|
if (type.type instanceof GraphQLNonNull) {
|
|
600
608
|
clone.isRequired = true;
|
|
@@ -643,6 +651,12 @@ class GraphQLMeta {
|
|
|
643
651
|
// Get type name
|
|
644
652
|
if (type.type) {
|
|
645
653
|
const typeResult = this.getDeepType(type.type, prepared, setMetaData);
|
|
654
|
+
// Disable meta flags for sub objects
|
|
655
|
+
if (type?.type instanceof GraphQLInputObjectType ||
|
|
656
|
+
(type?.type instanceof GraphQLNonNull && type?.type?.ofType instanceof GraphQLInputObjectType && setMetaData)) {
|
|
657
|
+
setMetaData = false;
|
|
658
|
+
}
|
|
659
|
+
// Check for meta flags
|
|
646
660
|
if (setMetaData) {
|
|
647
661
|
if (type.type instanceof GraphQLNonNull) {
|
|
648
662
|
typeResult.isRequired = true;
|
|
@@ -703,6 +717,103 @@ class Auth extends Standard {
|
|
|
703
717
|
}
|
|
704
718
|
}
|
|
705
719
|
|
|
720
|
+
class Sort {
|
|
721
|
+
constructor() {
|
|
722
|
+
this.sortOrder = 1;
|
|
723
|
+
this.collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });
|
|
724
|
+
}
|
|
725
|
+
/**
|
|
726
|
+
* Sorts clicked column
|
|
727
|
+
*
|
|
728
|
+
* @param property
|
|
729
|
+
* @param order
|
|
730
|
+
* @param type
|
|
731
|
+
*/
|
|
732
|
+
startSort(property, order, type = '') {
|
|
733
|
+
if (order === 'desc') {
|
|
734
|
+
this.sortOrder = -1;
|
|
735
|
+
}
|
|
736
|
+
return (a, b) => {
|
|
737
|
+
if (type === 'date') {
|
|
738
|
+
return this.sortDate(new Date(a.latestStep[property]), new Date(b.latestStep[property]));
|
|
739
|
+
}
|
|
740
|
+
else if (type === 'position') {
|
|
741
|
+
return this.collator.compare(a.position.Value[property], b.position.Value[property]) * this.sortOrder;
|
|
742
|
+
}
|
|
743
|
+
else {
|
|
744
|
+
return this.collator.compare(a[property], b[property]) * this.sortOrder;
|
|
745
|
+
}
|
|
746
|
+
};
|
|
747
|
+
}
|
|
748
|
+
/**
|
|
749
|
+
* Sorts dates
|
|
750
|
+
*
|
|
751
|
+
* @param a
|
|
752
|
+
* @param b
|
|
753
|
+
*/
|
|
754
|
+
sortDate(a, b) {
|
|
755
|
+
if (a < b) {
|
|
756
|
+
return -1 * this.sortOrder;
|
|
757
|
+
}
|
|
758
|
+
else if (a > b) {
|
|
759
|
+
return 1 * this.sortOrder;
|
|
760
|
+
}
|
|
761
|
+
else {
|
|
762
|
+
return 0 * this.sortOrder;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
class SortDirective {
|
|
768
|
+
constructor(renderer, targetElem, document) {
|
|
769
|
+
this.renderer = renderer;
|
|
770
|
+
this.targetElem = targetElem;
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Sorts columns on click
|
|
774
|
+
*/
|
|
775
|
+
sortColumn() {
|
|
776
|
+
const items = document.getElementsByTagName('th');
|
|
777
|
+
for (let i = 0; i < items.length; i++) {
|
|
778
|
+
items[i].classList.remove('asc');
|
|
779
|
+
items[i].classList.remove('desc');
|
|
780
|
+
}
|
|
781
|
+
const sort = new Sort();
|
|
782
|
+
const elem = this.targetElem.nativeElement;
|
|
783
|
+
const order = elem.getAttribute('data-order');
|
|
784
|
+
const type = elem.getAttribute('data-type');
|
|
785
|
+
const property = elem.getAttribute('data-name');
|
|
786
|
+
if (order === 'desc') {
|
|
787
|
+
this.lcSort.sort(sort.startSort(property, order, type));
|
|
788
|
+
elem.setAttribute('data-order', 'asc');
|
|
789
|
+
elem.classList.remove('desc');
|
|
790
|
+
elem.classList.add('asc');
|
|
791
|
+
}
|
|
792
|
+
else {
|
|
793
|
+
this.lcSort.sort(sort.startSort(property, order, type));
|
|
794
|
+
elem.setAttribute('data-order', 'desc');
|
|
795
|
+
elem.classList.remove('asc');
|
|
796
|
+
elem.classList.add('desc');
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
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 });
|
|
801
|
+
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 });
|
|
802
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SortDirective, decorators: [{
|
|
803
|
+
type: Directive,
|
|
804
|
+
args: [{
|
|
805
|
+
selector: '[baseSort]',
|
|
806
|
+
}]
|
|
807
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: Document, decorators: [{
|
|
808
|
+
type: Inject,
|
|
809
|
+
args: [DOCUMENT]
|
|
810
|
+
}] }]; }, propDecorators: { lcSort: [{
|
|
811
|
+
type: Input
|
|
812
|
+
}], sortColumn: [{
|
|
813
|
+
type: HostListener,
|
|
814
|
+
args: ['click']
|
|
815
|
+
}] } });
|
|
816
|
+
|
|
706
817
|
const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
|
|
707
818
|
|
|
708
819
|
/**
|
|
@@ -1295,6 +1406,10 @@ class GraphQLService {
|
|
|
1295
1406
|
result.push(key + ':' + value.value);
|
|
1296
1407
|
continue;
|
|
1297
1408
|
}
|
|
1409
|
+
if (key === 'password') {
|
|
1410
|
+
result.push(key + ':' + `"${sha256(value)}"`);
|
|
1411
|
+
continue;
|
|
1412
|
+
}
|
|
1298
1413
|
// Process array
|
|
1299
1414
|
else if (Array.isArray(value)) {
|
|
1300
1415
|
result.push(key +
|
|
@@ -1612,6 +1727,7 @@ class UserService extends GraphQLPlusService {
|
|
|
1612
1727
|
fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles'] }],
|
|
1613
1728
|
type: GraphQLRequestType.QUERY,
|
|
1614
1729
|
loading: true,
|
|
1730
|
+
log: true,
|
|
1615
1731
|
}).pipe(map$1((response) => {
|
|
1616
1732
|
this.authService.token = response.token;
|
|
1617
1733
|
this.authService.currentUser = BasicUser.map(response.user);
|
|
@@ -2150,5 +2266,5 @@ function createRestartableClient(options) {
|
|
|
2150
2266
|
* Generated bundle index. Do not edit.
|
|
2151
2267
|
*/
|
|
2152
2268
|
|
|
2153
|
-
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 };
|
|
2269
|
+
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 };
|
|
2154
2270
|
//# sourceMappingURL=lenne.tech-ng-base-shared.mjs.map
|