@lenne.tech/ng-base 13.6.7 → 13.7.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 (39) hide show
  1. package/base-components/base-components.module.d.ts +8 -3
  2. package/base-components/components/breadcrumb/breadcrumb.component.d.ts +10 -0
  3. package/base-components/components/loading-bar/loading-bar.component.d.ts +5 -0
  4. package/base-components/components/select/select.component.d.ts +2 -1
  5. package/base-components/components/skeleton-loader/skeleton-loader.component.d.ts +10 -0
  6. package/base-components/components/tags/tags.component.d.ts +33 -0
  7. package/base-components/components/toast/toast.component.d.ts +18 -0
  8. package/base-components/public-api.d.ts +5 -0
  9. package/esm2020/base-components/base-components.module.mjs +23 -3
  10. package/esm2020/base-components/components/breadcrumb/breadcrumb.component.mjs +17 -0
  11. package/esm2020/base-components/components/loading-bar/loading-bar.component.mjs +11 -0
  12. package/esm2020/base-components/components/select/select.component.mjs +6 -3
  13. package/esm2020/base-components/components/skeleton-loader/skeleton-loader.component.mjs +33 -0
  14. package/esm2020/base-components/components/tags/tags.component.mjs +85 -0
  15. package/esm2020/base-components/components/toast/toast.component.mjs +61 -0
  16. package/esm2020/base-components/public-api.mjs +6 -1
  17. package/esm2020/shared/enums/skeleton-type.enum.mjs +7 -0
  18. package/esm2020/shared/enums/toast-type.enum.mjs +7 -0
  19. package/esm2020/shared/interfaces/breadcrumb.interface.mjs +2 -0
  20. package/esm2020/shared/interfaces/toast.interface.mjs +2 -0
  21. package/esm2020/shared/public-api.mjs +7 -1
  22. package/esm2020/shared/services/breadcrumb.service.mjs +68 -0
  23. package/esm2020/shared/services/toast.service.mjs +41 -0
  24. package/fesm2015/lenne.tech-ng-base-base-components.mjs +214 -5
  25. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  26. package/fesm2015/lenne.tech-ng-base-shared.mjs +119 -2
  27. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
  28. package/fesm2020/lenne.tech-ng-base-base-components.mjs +214 -5
  29. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  30. package/fesm2020/lenne.tech-ng-base-shared.mjs +118 -2
  31. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
  32. package/package.json +1 -1
  33. package/shared/enums/skeleton-type.enum.d.ts +5 -0
  34. package/shared/enums/toast-type.enum.d.ts +5 -0
  35. package/shared/interfaces/breadcrumb.interface.d.ts +4 -0
  36. package/shared/interfaces/toast.interface.d.ts +8 -0
  37. package/shared/public-api.d.ts +6 -0
  38. package/shared/services/breadcrumb.service.d.ts +32 -0
  39. package/shared/services/toast.service.d.ts +15 -0
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Injectable, Inject } from '@angular/core';
3
- import { BehaviorSubject, of, throwError, Observable, map as map$1 } from 'rxjs';
3
+ import { BehaviorSubject, of, throwError, Observable, map as map$1, filter } from 'rxjs';
4
4
  import * as i1 from 'apollo-angular';
5
5
  import { gql } from 'apollo-angular';
6
6
  import { buildClientSchema, getIntrospectionQuery } from 'graphql';
@@ -8,6 +8,7 @@ import { map } from 'rxjs/operators';
8
8
  import { FormControl, FormGroup } from '@angular/forms';
9
9
  import { __awaiter } from 'tslib';
10
10
  import * as i1$1 from '@angular/router';
11
+ import { NavigationEnd } from '@angular/router';
11
12
  import { createClient } from 'graphql-ws';
12
13
 
13
14
  /**
@@ -1784,6 +1785,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
1784
1785
  }] }, { type: ImageService }];
1785
1786
  } });
1786
1787
 
1788
+ class ToastService {
1789
+ constructor() {
1790
+ this.toastsObservables = new BehaviorSubject([]);
1791
+ }
1792
+ get toastsAsObservable() {
1793
+ return this.toastsObservables.asObservable();
1794
+ }
1795
+ /**
1796
+ * Show new toast
1797
+ *
1798
+ * @param toast
1799
+ * @param duration
1800
+ */
1801
+ show(toast, duration) {
1802
+ const value = this.toastsObservables.value;
1803
+ value.push(toast);
1804
+ this.toastsObservables.next(value);
1805
+ if (duration) {
1806
+ setTimeout(() => {
1807
+ const currentToasts = this.toastsObservables.value;
1808
+ const foundIndex = currentToasts.findIndex((e) => e.id === toast.id);
1809
+ if (foundIndex > -1) {
1810
+ currentToasts.splice(foundIndex, 1);
1811
+ this.toastsObservables.next(currentToasts);
1812
+ }
1813
+ }, duration);
1814
+ }
1815
+ }
1816
+ }
1817
+ ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1818
+ ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ToastService, providedIn: 'root' });
1819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ToastService, decorators: [{
1820
+ type: Injectable,
1821
+ args: [{
1822
+ providedIn: 'root',
1823
+ }]
1824
+ }] });
1825
+
1826
+ class BreadcrumbService {
1827
+ constructor(router) {
1828
+ this.router = router;
1829
+ this._breadcrumbs = new BehaviorSubject([]);
1830
+ this.subscribeToRouteChanges();
1831
+ }
1832
+ set breadcrumbs(value) {
1833
+ this._breadcrumbs.next(value);
1834
+ }
1835
+ get breadcrumbsObservable() {
1836
+ return this._breadcrumbs.asObservable();
1837
+ }
1838
+ /**
1839
+ * Subscribe to route changes and add element to breadcrumb
1840
+ */
1841
+ subscribeToRouteChanges() {
1842
+ this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
1843
+ const root = this.router.routerState.snapshot.root;
1844
+ const breadcrumbs = [];
1845
+ this.addBreadcrumb(root, [], breadcrumbs);
1846
+ this.breadcrumbs = breadcrumbs;
1847
+ });
1848
+ }
1849
+ /**
1850
+ * Add element to breadcrumb
1851
+ *
1852
+ * @param route
1853
+ * @param parentUrl
1854
+ * @param breadcrumbs
1855
+ * @private
1856
+ */
1857
+ addBreadcrumb(route, parentUrl, breadcrumbs) {
1858
+ var _a;
1859
+ if (route) {
1860
+ const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
1861
+ if ((_a = route.data) === null || _a === void 0 ? void 0 : _a.breadcrumb) {
1862
+ const breadcrumb = {
1863
+ label: this.getLabel(route.data),
1864
+ url: '/' + routeUrl.join('/'),
1865
+ };
1866
+ breadcrumbs.push(breadcrumb);
1867
+ }
1868
+ this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
1869
+ }
1870
+ }
1871
+ /**
1872
+ * Get label for breadcrumb
1873
+ *
1874
+ * @param data
1875
+ * @private
1876
+ */
1877
+ getLabel(data) {
1878
+ return typeof data.breadcrumb === 'function' ? data.breadcrumb(data) : data.breadcrumb;
1879
+ }
1880
+ }
1881
+ BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1882
+ BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
1883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: BreadcrumbService, decorators: [{
1884
+ type: Injectable,
1885
+ args: [{
1886
+ providedIn: 'root',
1887
+ }]
1888
+ }], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
1889
+
1787
1890
  /**
1788
1891
  * Comparison operator enum
1789
1892
  */
@@ -1816,6 +1919,20 @@ var SortOrderEnum;
1816
1919
  SortOrderEnum["DESC"] = "DESC";
1817
1920
  })(SortOrderEnum || (SortOrderEnum = {}));
1818
1921
 
1922
+ var ToastType;
1923
+ (function (ToastType) {
1924
+ ToastType["ERROR"] = "error";
1925
+ ToastType["WARNING"] = "warning";
1926
+ ToastType["INFO"] = "info";
1927
+ })(ToastType || (ToastType = {}));
1928
+
1929
+ var SkeletonType;
1930
+ (function (SkeletonType) {
1931
+ SkeletonType["LINE"] = "LINE";
1932
+ SkeletonType["RECTANGLE"] = "RECTANGLE";
1933
+ SkeletonType["AVATAR"] = "AVATAR";
1934
+ })(SkeletonType || (SkeletonType = {}));
1935
+
1819
1936
  class Validation {
1820
1937
  static match(controlName, checkControlName) {
1821
1938
  return (controls) => {
@@ -1874,5 +1991,5 @@ function createRestartableClient(options) {
1874
1991
  * Generated bundle index. Do not edit.
1875
1992
  */
1876
1993
 
1877
- export { Auth, AuthService, BASE_MODULE_CONFIG, BasicUser, ComparisonOperatorEnum, FormsService, GraphQLEnum, GraphQLMeta, GraphQLMetaService, GraphQLPlusService, GraphQLRequestType, GraphQLService, GraphQLType, Helper, ImageService, LoaderService, LogicalOperatorEnum, ScrollService, SortOrderEnum, Standard, StorageService, UserService, Validation, WsService, createRestartableClient };
1994
+ 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 };
1878
1995
  //# sourceMappingURL=lenne.tech-ng-base-shared.mjs.map