@lowcodeunit/applications-flow-common 1.33.179-lets-get-social-ish → 1.33.180-lets-get-social-ish
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/esm2020/lib/elements/breadcrumb/breadcrumb.component.mjs +6 -3
- package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +8 -3
- package/esm2020/lib/services/project.service.mjs +7 -8
- package/esm2020/lib/state/applications-flow.state.mjs +1 -1
- package/fesm2015/lowcodeunit-applications-flow-common.mjs +19 -11
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +18 -11
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts +1 -0
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts +1 -0
- package/lib/state/applications-flow.state.d.ts +2 -0
- package/package.json +1 -1
|
@@ -40,6 +40,7 @@ import * as i6$1 from '@angular/material/checkbox';
|
|
|
40
40
|
import * as i1$3 from '@angular/cdk/layout';
|
|
41
41
|
import * as i3 from 'skeleton-elements/angular';
|
|
42
42
|
import { SkeletonElementsModule } from 'skeleton-elements/angular';
|
|
43
|
+
import moment from 'moment';
|
|
43
44
|
import { EaCApplicationAsCode } from '@semanticjs/common';
|
|
44
45
|
import * as i1$4 from '@angular/material/dialog';
|
|
45
46
|
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
@@ -446,21 +447,20 @@ class ProjectService {
|
|
|
446
447
|
GetActiveEnterprise(state) {
|
|
447
448
|
return __awaiter(this, void 0, void 0, function* () {
|
|
448
449
|
return new Promise((resolve, reject) => {
|
|
449
|
-
state.
|
|
450
|
+
state.LoadingActiveEnterprise = true;
|
|
450
451
|
this.appsFlowSvc.GetActiveEnterprise().subscribe((response) => __awaiter(this, void 0, void 0, function* () {
|
|
451
452
|
var _a;
|
|
453
|
+
state.LoadingActiveEnterprise = false;
|
|
452
454
|
if (response.Status.Code === 0) {
|
|
453
455
|
state.ActiveEnterpriseLookup = (_a = response.Model) === null || _a === void 0 ? void 0 : _a.Lookup;
|
|
454
|
-
state.Loading = false;
|
|
455
456
|
resolve();
|
|
456
457
|
}
|
|
457
458
|
else {
|
|
458
|
-
state.Loading = false;
|
|
459
459
|
reject(response.Status);
|
|
460
460
|
console.log(response);
|
|
461
461
|
}
|
|
462
462
|
}), (err) => {
|
|
463
|
-
state.
|
|
463
|
+
state.LoadingActiveEnterprise = false;
|
|
464
464
|
reject(err);
|
|
465
465
|
console.log(err);
|
|
466
466
|
});
|
|
@@ -487,9 +487,9 @@ class ProjectService {
|
|
|
487
487
|
ListEnterprises(state) {
|
|
488
488
|
return __awaiter(this, void 0, void 0, function* () {
|
|
489
489
|
return new Promise((resolve, reject) => {
|
|
490
|
-
state.
|
|
490
|
+
state.LoadingEnterprises = true;
|
|
491
491
|
this.appsFlowSvc.ListEnterprises().subscribe((response) => __awaiter(this, void 0, void 0, function* () {
|
|
492
|
-
state.
|
|
492
|
+
state.LoadingEnterprises = false;
|
|
493
493
|
if (response.Status.Code === 0) {
|
|
494
494
|
state.Enterprises = response.Model;
|
|
495
495
|
resolve(response.Model);
|
|
@@ -499,7 +499,7 @@ class ProjectService {
|
|
|
499
499
|
console.log(response);
|
|
500
500
|
}
|
|
501
501
|
}), (err) => {
|
|
502
|
-
state.
|
|
502
|
+
state.LoadingEnterprises = false;
|
|
503
503
|
reject(err);
|
|
504
504
|
console.log(err);
|
|
505
505
|
});
|
|
@@ -3861,15 +3861,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
3861
3861
|
class MainFeedCardComponent {
|
|
3862
3862
|
constructor() { }
|
|
3863
3863
|
ngOnInit() { }
|
|
3864
|
+
// API Methods
|
|
3865
|
+
CalculateTimelapse(timestamp) {
|
|
3866
|
+
return moment(timestamp).fromNow();
|
|
3867
|
+
}
|
|
3864
3868
|
HandleAction(action) {
|
|
3865
3869
|
console.log('Action clicked');
|
|
3866
3870
|
}
|
|
3867
3871
|
}
|
|
3868
3872
|
MainFeedCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MainFeedCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3869
|
-
MainFeedCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: MainFeedCardComponent, selector: "lcu-main-feed-card", inputs: { FeedItem: ["feed-item", "FeedItem"] }, ngImport: i0, template: "<mat-card class=\"social-card\">\n <mat-card-header>\n <img\n mat-card-avatar\n class=\"example-header-image\"\n [src]=\"FeedItem.Avatar\"\n *ngIf=\"FeedItem.Avatar\"\n />\n\n <mat-card-title *ngIf=\"FeedItem.Title\">{{ FeedItem.Title }}</mat-card-title>\n\n <mat-card-subtitle>\n <div *ngIf=\"FeedItem.Subtitle\">{{ FeedItem.Subtitle }}</div>\n <div *ngIf=\"FeedItem.Status\">\n <mat-icon *ngIf=\"Icon\" [style.color]=\"IconColor\">{{ Icon }}</mat-icon>\n\n <div *ngIf=\"FeedItem.Timestamp\">{{ FeedItem.Timestamp }}</div>\n </div>\n </mat-card-subtitle>\n </mat-card-header>\n\n <div *ngIf=\"!FeedItem.IsShortForm\">\n <!-- <div class=\"feed-card-container\">\n <div class=\"feed-card-main-content\">\n The tab content (only 1 'tab' for now)... So really we don't need to worry about tabs until a future iteration\n\n The tabs property will contain a data structure that will vary by the FeedItem.Type... That structure can be used to render the content\n </div>\n </div> -->\n </div>\n\n <!-- <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n Actions will be provided\n </mat-card-actions> -->\n</mat-card>\n", styles: [".social-card{margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.main-slot-container{padding:10px}.slot-header{align-items:center}.slot-content{width:100%}.slot-name{font-size:13px;font-weight:600}.slot-description{font-size:12px;margin-right:10px}.slot-action-anchor{font-size:10px;text-decoration:none;color:#000}.action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.example-header-image{background-size:cover}\n"], components: [{ type: i2$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2$1.MatCardHeader, selector: "mat-card-header" }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i2$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i2$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }] });
|
|
3873
|
+
MainFeedCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: MainFeedCardComponent, selector: "lcu-main-feed-card", inputs: { FeedItem: ["feed-item", "FeedItem"] }, ngImport: i0, template: "<mat-card class=\"social-card\">\n <mat-card-header>\n <img\n mat-card-avatar\n class=\"example-header-image\"\n [src]=\"FeedItem.Avatar\"\n *ngIf=\"FeedItem.Avatar\"\n />\n\n <mat-card-title *ngIf=\"FeedItem.Title\">{{ FeedItem.Title }}</mat-card-title>\n\n <mat-card-subtitle>\n <div *ngIf=\"FeedItem.Subtitle\">{{ FeedItem.Subtitle }}</div>\n <div *ngIf=\"FeedItem.Status\">\n <mat-icon *ngIf=\"Icon\" [style.color]=\"IconColor\">{{ Icon }}</mat-icon>\n\n <div *ngIf=\"FeedItem.Timestamp\">{{ CalculateTimelapse(FeedItem.Timestamp) }}</div>\n </div>\n </mat-card-subtitle>\n </mat-card-header>\n\n <div *ngIf=\"!FeedItem.IsShortForm\">\n <!-- <div class=\"feed-card-container\">\n <div class=\"feed-card-main-content\">\n The tab content (only 1 'tab' for now)... So really we don't need to worry about tabs until a future iteration\n\n The tabs property will contain a data structure that will vary by the FeedItem.Type... That structure can be used to render the content\n </div>\n </div> -->\n </div>\n\n <!-- <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n Actions will be provided\n </mat-card-actions> -->\n</mat-card>\n", styles: [".social-card{margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.main-slot-container{padding:10px}.slot-header{align-items:center}.slot-content{width:100%}.slot-name{font-size:13px;font-weight:600}.slot-description{font-size:12px;margin-right:10px}.slot-action-anchor{font-size:10px;text-decoration:none;color:#000}.action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.example-header-image{background-size:cover}\n"], components: [{ type: i2$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2$1.MatCardHeader, selector: "mat-card-header" }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i2$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i2$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }] });
|
|
3870
3874
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MainFeedCardComponent, decorators: [{
|
|
3871
3875
|
type: Component,
|
|
3872
|
-
args: [{ selector: 'lcu-main-feed-card', template: "<mat-card class=\"social-card\">\n <mat-card-header>\n <img\n mat-card-avatar\n class=\"example-header-image\"\n [src]=\"FeedItem.Avatar\"\n *ngIf=\"FeedItem.Avatar\"\n />\n\n <mat-card-title *ngIf=\"FeedItem.Title\">{{ FeedItem.Title }}</mat-card-title>\n\n <mat-card-subtitle>\n <div *ngIf=\"FeedItem.Subtitle\">{{ FeedItem.Subtitle }}</div>\n <div *ngIf=\"FeedItem.Status\">\n <mat-icon *ngIf=\"Icon\" [style.color]=\"IconColor\">{{ Icon }}</mat-icon>\n\n <div *ngIf=\"FeedItem.Timestamp\">{{ FeedItem.Timestamp }}</div>\n </div>\n </mat-card-subtitle>\n </mat-card-header>\n\n <div *ngIf=\"!FeedItem.IsShortForm\">\n <!-- <div class=\"feed-card-container\">\n <div class=\"feed-card-main-content\">\n The tab content (only 1 'tab' for now)... So really we don't need to worry about tabs until a future iteration\n\n The tabs property will contain a data structure that will vary by the FeedItem.Type... That structure can be used to render the content\n </div>\n </div> -->\n </div>\n\n <!-- <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n Actions will be provided\n </mat-card-actions> -->\n</mat-card>\n", styles: [".social-card{margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.main-slot-container{padding:10px}.slot-header{align-items:center}.slot-content{width:100%}.slot-name{font-size:13px;font-weight:600}.slot-description{font-size:12px;margin-right:10px}.slot-action-anchor{font-size:10px;text-decoration:none;color:#000}.action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.example-header-image{background-size:cover}\n"] }]
|
|
3876
|
+
args: [{ selector: 'lcu-main-feed-card', template: "<mat-card class=\"social-card\">\n <mat-card-header>\n <img\n mat-card-avatar\n class=\"example-header-image\"\n [src]=\"FeedItem.Avatar\"\n *ngIf=\"FeedItem.Avatar\"\n />\n\n <mat-card-title *ngIf=\"FeedItem.Title\">{{ FeedItem.Title }}</mat-card-title>\n\n <mat-card-subtitle>\n <div *ngIf=\"FeedItem.Subtitle\">{{ FeedItem.Subtitle }}</div>\n <div *ngIf=\"FeedItem.Status\">\n <mat-icon *ngIf=\"Icon\" [style.color]=\"IconColor\">{{ Icon }}</mat-icon>\n\n <div *ngIf=\"FeedItem.Timestamp\">{{ CalculateTimelapse(FeedItem.Timestamp) }}</div>\n </div>\n </mat-card-subtitle>\n </mat-card-header>\n\n <div *ngIf=\"!FeedItem.IsShortForm\">\n <!-- <div class=\"feed-card-container\">\n <div class=\"feed-card-main-content\">\n The tab content (only 1 'tab' for now)... So really we don't need to worry about tabs until a future iteration\n\n The tabs property will contain a data structure that will vary by the FeedItem.Type... That structure can be used to render the content\n </div>\n </div> -->\n </div>\n\n <!-- <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n Actions will be provided\n </mat-card-actions> -->\n</mat-card>\n", styles: [".social-card{margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.main-slot-container{padding:10px}.slot-header{align-items:center}.slot-content{width:100%}.slot-name{font-size:13px;font-weight:600}.slot-description{font-size:12px;margin-right:10px}.slot-action-anchor{font-size:10px;text-decoration:none;color:#000}.action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.example-header-image{background-size:cover}\n"] }]
|
|
3873
3877
|
}], ctorParameters: function () { return []; }, propDecorators: { FeedItem: [{
|
|
3874
3878
|
type: Input,
|
|
3875
3879
|
args: ['feed-item']
|
|
@@ -5152,6 +5156,10 @@ class BreadcrumbComponent {
|
|
|
5152
5156
|
get CurrentRouteApplicationLookups() {
|
|
5153
5157
|
return Object.keys(this.RoutedApplications[this.SelectedRoute] || {});
|
|
5154
5158
|
}
|
|
5159
|
+
get Loading() {
|
|
5160
|
+
var _a, _b;
|
|
5161
|
+
return ((_a = this.State) === null || _a === void 0 ? void 0 : _a.LoadingActiveEnterprise) || ((_b = this.State) === null || _b === void 0 ? void 0 : _b.LoadingEnterprises);
|
|
5162
|
+
}
|
|
5155
5163
|
get Projects() {
|
|
5156
5164
|
var _a, _b;
|
|
5157
5165
|
return ((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Projects) || {};
|
|
@@ -5227,10 +5235,10 @@ class BreadcrumbComponent {
|
|
|
5227
5235
|
}
|
|
5228
5236
|
}
|
|
5229
5237
|
BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: EaCService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5230
|
-
BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BreadcrumbComponent, selector: "lcu-breadcrumb", inputs: { ApplicationLookup: ["application-lookup", "ApplicationLookup"], ProjectLookup: ["project-lookup", "ProjectLookup"], SelectedRoute: ["selected-route", "SelectedRoute"] }, ngImport: i0, template: "<div class=\"breadcrumb-container\" fxLayout=\"row wrap\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <ng-container *ngIf=\"
|
|
5238
|
+
BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BreadcrumbComponent, selector: "lcu-breadcrumb", inputs: { ApplicationLookup: ["application-lookup", "ApplicationLookup"], ProjectLookup: ["project-lookup", "ProjectLookup"], SelectedRoute: ["selected-route", "SelectedRoute"] }, ngImport: i0, template: "<div class=\"breadcrumb-container\" fxLayout=\"row wrap\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <ng-container *ngIf=\"Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Enterprise Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!Loading && Enterprise\">\n <div class=\"crumb-name\" [routerLink]=\"['/enterprises']\">{{Enterprise?.Name}}</div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"enterpriseMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n\n <mat-menu #enterpriseMenu=\"matMenu\" xPosition=\"before\">\n <button\n mat-menu-item\n [routerLink]=\"['/enterprises']\"\n (click)=\"SetActiveEnterprise(ent.Lookup)\"\n *ngFor=\"let ent of State.Enterprises\"\n >\n <span>{{ ent.Name }}</span>\n </button>\n </mat-menu>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"ProjectLookup && SelectedProject\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <ng-container *ngIf=\"State?.Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Project Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!State?.Loading\">\n\n <div \n class=\"crumb-name\" \n [routerLink]=\"['/projects', ProjectLookup]\"\n >\n {{SelectedProject?.Project?.Name}}\n </div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"projectMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n\n \n \n <mat-menu #projectMenu=\"matMenu\" xPosition=\"before\">\n <button \n mat-menu-item \n *ngFor=\"let projectLookup of ProjectLookups\" \n [routerLink]=\"['/projects', projectLookup]\"\n >\n <span *ngIf=\"Projects[projectLookup]; let pro;\">{{pro.Project?.Name}}</span>\n </button>\n </mat-menu>\n\n </ng-container>\n\n </div>\n\n <div *ngIf=\"SelectedRoute\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <ng-container *ngIf=\"State?.Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Route Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!State?.Loading\">\n <div \n class=\"crumb-name\" \n [routerLink]=\"['/routes', SelectedRoute, ProjectLookup]\"\n >\n {{SelectedRoute}}\n </div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"routeMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n \n <mat-menu #routeMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item *ngFor=\"let appRoute of Routes\" [routerLink]=\"['/routes', appRoute, ProjectLookup]\">\n <span *ngIf=\"appRoute\">{{appRoute}}</span>\n </button>\n </mat-menu>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"SelectedApplication && ApplicationLookup\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <ng-container *ngIf=\"State?.Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Application Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!State?.Loading\">\n\n <div class=\"crumb-name\" \n [routerLink]=\"['/applications', ApplicationLookup, SelectedRoute, ProjectLookup]\"\n >\n {{SelectedApplication?.Application?.Name}}\n </div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"applicationMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n \n <mat-menu #applicationMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item *ngFor=\"let appLookup of CurrentRouteApplicationLookups\"\n [routerLink]=\"['/applications', appLookup, SelectedRoute, ProjectLookup]\">\n <span *ngIf=\"RoutedApplications[SelectedRoute][appLookup];\n let app\">{{app.Application?.Name}}</span>\n </button>\n </mat-menu>\n </ng-container>\n\n </div>\n\n\n</div>", styles: [".breadcrumb-container{background-color:#ebecf0;margin:10px 30px}.seperator{font-size:25px;padding:10px}.crumb-name{cursor:pointer}\n"], components: [{ type: i2$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i4$4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i5$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i5$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.SkeletonTextDirective, selector: "[skeleton-text]", inputs: ["effect"] }, { type: i8$1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i4$4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
5231
5239
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
5232
5240
|
type: Component,
|
|
5233
|
-
args: [{ selector: 'lcu-breadcrumb', template: "<div class=\"breadcrumb-container\" fxLayout=\"row wrap\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <ng-container *ngIf=\"
|
|
5241
|
+
args: [{ selector: 'lcu-breadcrumb', template: "<div class=\"breadcrumb-container\" fxLayout=\"row wrap\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <ng-container *ngIf=\"Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Enterprise Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!Loading && Enterprise\">\n <div class=\"crumb-name\" [routerLink]=\"['/enterprises']\">{{Enterprise?.Name}}</div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"enterpriseMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n\n <mat-menu #enterpriseMenu=\"matMenu\" xPosition=\"before\">\n <button\n mat-menu-item\n [routerLink]=\"['/enterprises']\"\n (click)=\"SetActiveEnterprise(ent.Lookup)\"\n *ngFor=\"let ent of State.Enterprises\"\n >\n <span>{{ ent.Name }}</span>\n </button>\n </mat-menu>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"ProjectLookup && SelectedProject\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <ng-container *ngIf=\"State?.Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Project Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!State?.Loading\">\n\n <div \n class=\"crumb-name\" \n [routerLink]=\"['/projects', ProjectLookup]\"\n >\n {{SelectedProject?.Project?.Name}}\n </div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"projectMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n\n \n \n <mat-menu #projectMenu=\"matMenu\" xPosition=\"before\">\n <button \n mat-menu-item \n *ngFor=\"let projectLookup of ProjectLookups\" \n [routerLink]=\"['/projects', projectLookup]\"\n >\n <span *ngIf=\"Projects[projectLookup]; let pro;\">{{pro.Project?.Name}}</span>\n </button>\n </mat-menu>\n\n </ng-container>\n\n </div>\n\n <div *ngIf=\"SelectedRoute\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <ng-container *ngIf=\"State?.Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Route Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!State?.Loading\">\n <div \n class=\"crumb-name\" \n [routerLink]=\"['/routes', SelectedRoute, ProjectLookup]\"\n >\n {{SelectedRoute}}\n </div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"routeMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n \n <mat-menu #routeMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item *ngFor=\"let appRoute of Routes\" [routerLink]=\"['/routes', appRoute, ProjectLookup]\">\n <span *ngIf=\"appRoute\">{{appRoute}}</span>\n </button>\n </mat-menu>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"SelectedApplication && ApplicationLookup\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <ng-container *ngIf=\"State?.Loading\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Application Name</div>\n </ng-container>\n\n <ng-container *ngIf=\"!State?.Loading\">\n\n <div class=\"crumb-name\" \n [routerLink]=\"['/applications', ApplicationLookup, SelectedRoute, ProjectLookup]\"\n >\n {{SelectedApplication?.Application?.Name}}\n </div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"applicationMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n \n <mat-menu #applicationMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item *ngFor=\"let appLookup of CurrentRouteApplicationLookups\"\n [routerLink]=\"['/applications', appLookup, SelectedRoute, ProjectLookup]\">\n <span *ngIf=\"RoutedApplications[SelectedRoute][appLookup];\n let app\">{{app.Application?.Name}}</span>\n </button>\n </mat-menu>\n </ng-container>\n\n </div>\n\n\n</div>", styles: [".breadcrumb-container{background-color:#ebecf0;margin:10px 30px}.seperator{font-size:25px;padding:10px}.crumb-name{cursor:pointer}\n"] }]
|
|
5234
5242
|
}], ctorParameters: function () { return [{ type: EaCService }]; }, propDecorators: { ApplicationLookup: [{
|
|
5235
5243
|
type: Input,
|
|
5236
5244
|
args: ['application-lookup']
|