@sunbird-cb/consumption 0.1.20-cbrelease-4.8.27-multilingual → 0.1.21-cbrelease-4.8.28
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/esm2022/lib/_common/cards/available-languages/available-languages.component.mjs +3 -3
- package/esm2022/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.mjs +2 -2
- package/esm2022/lib/_common/community-suggestions/community-suggestions.component.mjs +3 -3
- package/esm2022/lib/_common/microsites/mdo-channels/components/column-section-display/column-section-display.component.mjs +54 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/competency/competency.component.mjs +50 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/content-strip/content-strip.component.mjs +56 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/editor-dialog/editor-dialog.component.mjs +286 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/looker-section/looker-section.component.mjs +45 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/main-content/main-content.component.mjs +143 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/mobile-sections/mobile-sections.component.mjs +35 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/support-section/support-section.component.mjs +30 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/top-learners/top-learners.component.mjs +42 -0
- package/esm2022/lib/_common/microsites/mdo-channels/components/top-section/top-section.component.mjs +99 -0
- package/esm2022/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.mjs +986 -2
- package/esm2022/lib/_common/microsites/mdo-channels/mdo-channel-v3/mdo-channel-v3.component.mjs +222 -0
- package/esm2022/lib/_common/microsites/mdo-channels/mdo-channel.module.mjs +83 -7
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/sunbird-cb-consumption.mjs +2057 -38
- package/fesm2022/sunbird-cb-consumption.mjs.map +1 -1
- package/lib/_common/microsites/mdo-channels/components/column-section-display/column-section-display.component.d.ts +20 -0
- package/lib/_common/microsites/mdo-channels/components/column-section-display/column-section-display.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/competency/competency.component.d.ts +16 -0
- package/lib/_common/microsites/mdo-channels/components/competency/competency.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/content-strip/content-strip.component.d.ts +16 -0
- package/lib/_common/microsites/mdo-channels/components/content-strip/content-strip.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/editor-dialog/editor-dialog.component.d.ts +61 -0
- package/lib/_common/microsites/mdo-channels/components/editor-dialog/editor-dialog.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/looker-section/looker-section.component.d.ts +17 -0
- package/lib/_common/microsites/mdo-channels/components/looker-section/looker-section.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/main-content/main-content.component.d.ts +32 -0
- package/lib/_common/microsites/mdo-channels/components/main-content/main-content.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/mobile-sections/mobile-sections.component.d.ts +15 -0
- package/lib/_common/microsites/mdo-channels/components/mobile-sections/mobile-sections.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/support-section/support-section.component.d.ts +10 -0
- package/lib/_common/microsites/mdo-channels/components/support-section/support-section.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/top-learners/top-learners.component.d.ts +13 -0
- package/lib/_common/microsites/mdo-channels/components/top-learners/top-learners.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/components/top-section/top-section.component.d.ts +23 -0
- package/lib/_common/microsites/mdo-channels/components/top-section/top-section.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts.map +1 -1
- package/lib/_common/microsites/mdo-channels/mdo-channel-v3/mdo-channel-v3.component.d.ts +54 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v3/mdo-channel-v3.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts +46 -26
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -1
|
@@ -27,12 +27,12 @@ export class AvailableLanguagesComponent {
|
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvailableLanguagesComponent, deps: [{ token: i1.MatLegacyDialog }, { token: i2.ContentLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AvailableLanguagesComponent, selector: "sb-uic-available-languages", inputs: { content: "content" }, ngImport: i0, template: "<div class=\"flex language-text-box\" *ngIf=\"languageList?.length > 1\">\n <mat-icon class=\"language_icon\">language</mat-icon>\n <a class=\"language-text\" (click)=\"openLanguageDialog($event)\">\n Available in {{ languageList.length }} languages\n </a>\n <mat-icon class=\"language_icon color_blue\">keyboard_arrow_right</mat-icon>\n</div>\n", styles: [".language_icon{font-size:16px;width:16px;height:16px}.language-text{color:#1b4ca1;font:400 12px/16px Lato;margin-left:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AvailableLanguagesComponent, selector: "sb-uic-available-languages", inputs: { content: "content" }, ngImport: i0, template: "<div class=\"flex language-text-box\" *ngIf=\"languageList?.length > 1; else emptyplaceholderBlock\">\n <mat-icon class=\"language_icon\">language</mat-icon>\n <a class=\"language-text\" (click)=\"openLanguageDialog($event)\">\n Available in {{ languageList.length }} languages\n </a>\n <mat-icon class=\"language_icon color_blue\">keyboard_arrow_right</mat-icon>\n</div>\n<ng-template #emptyplaceholderBlock>\n <div class=\"empty-placeholder\">\n </div>\n</ng-template>\n", styles: [".language_icon{font-size:16px;width:16px;height:16px}.language-text{color:#1b4ca1;font:400 12px/16px Lato;margin-left:4px}.empty-placeholder{height:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvailableLanguagesComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
|
-
args: [{ selector: 'sb-uic-available-languages', template: "<div class=\"flex language-text-box\" *ngIf=\"languageList?.length > 1\">\n <mat-icon class=\"language_icon\">language</mat-icon>\n <a class=\"language-text\" (click)=\"openLanguageDialog($event)\">\n Available in {{ languageList.length }} languages\n </a>\n <mat-icon class=\"language_icon color_blue\">keyboard_arrow_right</mat-icon>\n</div>\n", styles: [".language_icon{font-size:16px;width:16px;height:16px}.language-text{color:#1b4ca1;font:400 12px/16px Lato;margin-left:4px}\n"] }]
|
|
34
|
+
args: [{ selector: 'sb-uic-available-languages', template: "<div class=\"flex language-text-box\" *ngIf=\"languageList?.length > 1; else emptyplaceholderBlock\">\n <mat-icon class=\"language_icon\">language</mat-icon>\n <a class=\"language-text\" (click)=\"openLanguageDialog($event)\">\n Available in {{ languageList.length }} languages\n </a>\n <mat-icon class=\"language_icon color_blue\">keyboard_arrow_right</mat-icon>\n</div>\n<ng-template #emptyplaceholderBlock>\n <div class=\"empty-placeholder\">\n </div>\n</ng-template>\n", styles: [".language_icon{font-size:16px;width:16px;height:16px}.language-text{color:#1b4ca1;font:400 12px/16px Lato;margin-left:4px}.empty-placeholder{height:16px}\n"] }]
|
|
35
35
|
}], ctorParameters: function () { return [{ type: i1.MatLegacyDialog }, { type: i2.ContentLanguageService }]; }, propDecorators: { content: [{
|
|
36
36
|
type: Input
|
|
37
37
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhaWxhYmxlLWxhbmd1YWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2F2YWlsYWJsZS1sYW5ndWFnZXMvYXZhaWxhYmxlLWxhbmd1YWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2F2YWlsYWJsZS1sYW5ndWFnZXMvYXZhaWxhYmxlLWxhbmd1YWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7Ozs7O0FBUW5ILE1BQU0sT0FBTywyQkFBMkI7SUFLdEMsWUFDVSxNQUFpQixFQUNqQixjQUFzQztRQUR0QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtRQUpoRCxpQkFBWSxHQUFTLEVBQUUsQ0FBQztJQU94QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDbkYsQ0FBQztJQUdELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFO1lBQy9DLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxHQUFHO2dCQUNWLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLFlBQVksRUFBRSxFQUFFO2dCQUNoQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7YUFFaEMsQ0FBQyxxQ0FBcUM7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3QlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsa0dDWHhDLDRlQVdBOzs0RkRBYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsNEJBQTRCOzJJQUs3QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5zQ2FyZENvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2NhcmQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBUT0NNdWx0aUxpbmd1YWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi90b2MtbXVsdGktbGluZ3VhbC1kaWFsb2cvdG9jLW11bHRpLWxpbmd1YWwtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50TGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2NvbnRlbnQtbGFuZ3VhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1hdmFpbGFibGUtbGFuZ3VhZ2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YWlsYWJsZS1sYW5ndWFnZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdmFpbGFibGUtbGFuZ3VhZ2VzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXZhaWxhYmxlTGFuZ3VhZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29udGVudCE6IE5zQ2FyZENvbnRlbnQuSUNhcmQ7XG5cbiAgbGFuZ3VhZ2VMaXN0OmFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGNvbnRlbnRMYW5nU3ZjOiBDb250ZW50TGFuZ3VhZ2VTZXJ2aWNlLFxuICApIHtcblxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sYW5ndWFnZUxpc3QgPSBbLi4udGhpcy5jb250ZW50TGFuZ1N2Yy5nZXRBbGxDb250ZW50TGFuZ3VhZ2VzKHRoaXMuY29udGVudCldXG4gIH1cblxuXG4gIG9wZW5MYW5ndWFnZURpYWxvZyhldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFRPQ011bHRpTGluZ3VhbERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0NzBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAnICcsXG4gICAgICAgIGZyb206ICdhdmFpbGFibGVMYW5ndWFnZXMnLFxuICAgICAgICBhY2NlcHRCdXR0b246ICcnLFxuICAgICAgICBsYW5ndWFnZUxpc3Q6IHRoaXMubGFuZ3VhZ2VMaXN0XG5cbiAgICAgIH0gLy8gb3B0aW9uYWwsIGlmIHlvdSBuZWVkIHRvIHBhc3MgZGF0YVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGxhbmd1YWdlLXRleHQtYm94XCIgKm5nSWY9XCJsYW5ndWFnZUxpc3Q/Lmxlbmd0aCA+IDE7IGVsc2UgZW1wdHlwbGFjZWhvbGRlckJsb2NrXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibGFuZ3VhZ2VfaWNvblwiPmxhbmd1YWdlPC9tYXQtaWNvbj5cbiAgICA8YSBjbGFzcz1cImxhbmd1YWdlLXRleHRcIiAoY2xpY2spPVwib3Blbkxhbmd1YWdlRGlhbG9nKCRldmVudClcIj5cbiAgICAgIEF2YWlsYWJsZSBpbiB7eyBsYW5ndWFnZUxpc3QubGVuZ3RoIH19IGxhbmd1YWdlc1xuICAgIDwvYT5cbiAgIDxtYXQtaWNvbiBjbGFzcz1cImxhbmd1YWdlX2ljb24gY29sb3JfYmx1ZVwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNlbXB0eXBsYWNlaG9sZGVyQmxvY2s+XG4gIDxkaXYgY2xhc3M9XCJlbXB0eS1wbGFjZWhvbGRlclwiPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -125,11 +125,11 @@ export class CardProgressPortraitLibComponent {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardProgressPortraitLibComponent, deps: [{ token: i1.MatLegacySnackBar }, { token: i2.TranslateService }, { token: i3.EventService }, { token: i4.MultilingualTranslationsService }, { token: i3.ConfigurationsService }, { token: i5.WidgetContentLibService }, { token: i6.CertificateService }, { token: i7.MatLegacyDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardProgressPortraitLibComponent, selector: "sb-uic-card-progress-portrait-lib", inputs: { widgetData: "widgetData", isLiveOrMarkForDeletion: "isLiveOrMarkForDeletion", showIntranetContent: "showIntranetContent", isIntranetAllowedSettings: "isIntranetAllowedSettings", isCardLoading: "isCardLoading", cbPlanMapData: "cbPlanMapData" }, outputs: { contentData: "contentData" }, ngImport: i0, template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-portrait card-progress-portrait-lib cursor-pointer mt-4\"\n [ngClass]=\"widgetData?.cardCustomeClass ? widgetData?.cardCustomeClass : ''\"\n (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n <div class=\"course_widget portrait_widget flex margin-bottom-xs\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100,'margin-bottom-xl':!widgetData?.content?.primaryCategory}\">\n <div class=\"flex flex-end flex-middle course_port\" *ngIf=\"widgetData?.content?.primaryCategory\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory === 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\"\n [displayContentType]=\"widgetData?.content?.courseCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory !== 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.courseCategory ? widgetData?.content?.courseCategory :widgetData?.content?.primaryCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n </div>\n </div>\n <div class=\"flex\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\n <div class=\"margin-right-s\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <div class=\" img-block-portrait position-relative\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n <ng-container\n *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\" class=\"portrait-subheading mat-subheading-2 title-text\">\n {{ widgetData?.content?.name }}\n </div>\n <div class=\"flex w-full flex-middle\">\n <div class=\"portrait_course_logo_box margin-right-xs\">\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" loading=\"lazy\"\n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n </div>\n <span class=\"portrait-org-name font-normal mat-caption\">{{'cardcontentv2.by' | translate}} {{\n (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2 mb-2\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage < 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-between\"\n [ngClass]=\"{'flex-end':!widgetData?.content?.primaryCategory}\">\n <div class=\"progress-block\" *ngIf=\"!widgetData?.content?.externalId\">\n <div class=\"completed-time\" *ngIf=\"widgetData?.content?.cType !== 'event'\">\n <mat-icon class=\"mat-icon schedule margin-right-xs\">schedule</mat-icon>\n <span>{{widgetData?.content?.completionPercentage | number: '1.0-2'}}%</span>\n </div>\n <div>\n <ng-container *ngIf=\"widgetData?.content?.completionStatus < 2 && widgetData?.content?.cType !== 'event'\">\n <sb-uic-content-progress class=\"progress-bar-new\" [customClassName]=\"'course-progress-bar'\"\n *ngIf=\"widgetData?.content?.identifier\" [contentId]=\"widgetData?.content?.identifier\"\n [progress]=\"widgetData?.content?.completionPercentage\" [progressType]=\"'percentage'\">\n </sb-uic-content-progress>\n </ng-container>\n </div>\n </div>\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between\"\n [routerLink]=\"['/app/toc/',widgetData?.content?.identifier,'overview']\"\n [queryParams]=\"{primaryCategory: widgetData?.content?.primaryCategory}\" [state]=\"widgetData?.stateData\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}\">\n <span class=\"textwrap margin-right-xs\">\n {{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') :\n translateLabels('resume', 'cardcontentv2')}}</span>\n <img class=\"stats-icon\" height=\"20\" width=\"20\" src=\"/assets/icons/home/play.svg\">\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"widgetData?.content?.completionPercentage === 100 && widgetData?.content?.courseCategory !== 'Case Study'\">\n <div class=\"flex flex-align-end progress-wrapper flex-end mt-1\">\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between view-btn\"\n [ngClass]=\"{'disable-btn': downloadCertificateLoading || widgetData?.content?.issuedCertificates?.length === 0}\"\n (click)=\"!downloadCertificateLoading && downloadCertificate(widgetData?.content, $event);$event.stopPropagation()\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(translateLabels('viewCertificate', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{'cardcontentv2.viewCertificate' | translate }}\">\n <span class=\"margin-right-xs textwrap\">{{'cardcontentv2.viewCertificate' | translate }}</span>\n <img class=\"stats-icon\" *ngIf=\"!downloadCertificateLoading\" height=\"20\" width=\"20\"\n src=\"/assets/icons/home/eye-white.svg\">\n <div class=\"center flex flex-middle\" *ngIf=\"downloadCertificateLoading\">\n <mat-spinner strokeWidth=\"2\" stroke=\"'red'\" class=\"white-spinner\" [diameter]=\"16\"></mat-spinner>\n </div>\n </button>\n </div>\n </div>\n </ng-container>\n </mat-card>\n</ng-container>\n\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-portrait\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"margin-bottom-xs\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'26px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'98px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div class=\"portrait-subheading title-text\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded width-1-1'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\" margin-right-xs\">\n <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"\"><sb-uic-skeleton-loader [width]=\"'133px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"portrait_widget flex margin-top-xs\">\n <div class=\"flex flex-end flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex flex-align-end progress-wrapper flex-between\">\n <div class=\"progress-block\">\n <div class=\"completed-time\">\n <sb-uic-skeleton-loader [width]=\"'211px'\" [height]=\"'16px'\"\n [bindingClass]=\"'flex rounded margin-top-xs md:w-211'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"progress-btn\">\n <sb-uic-skeleton-loader [width]=\"'117px'\" [height]=\"'32px'\"\n [bindingClass]=\"'flex rounded margin-top-xs'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </mat-card>\n</ng-container>", styles: [".card-portrait{border-radius:12px;border:1px solid rgba(0,0,0,.08);opacity:1;width:318px;min-height:174px;padding:16px}.card-portrait .img-block-portrait{line-height:10px}.card-portrait .card-image{border-radius:8px;opacity:1;background-size:100%;width:147px;height:100px}.card-portrait .portrait-subheading{opacity:1;color:#000000de;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:left;word-break:break-word;white-space:initial;margin:0 0 8px;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px}.card-portrait .portrait_course_logo_box img{padding:3px;display:inline-block;width:24px;height:24px;border:1px solid #d6d6d6;border-radius:4px;box-sizing:border-box}.card-portrait span.portrait-org-name{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-portrait .portrait_widget{align-items:center;margin-top:0}.card-portrait .portrait_widget .course_port{border:1px solid #EF951E;padding:4px 8px;align-items:center;border-radius:16px}.card-portrait .portrait_widget .video-icon{opacity:1;color:#ef951e;width:15px;height:15px;font-size:15px}.card-portrait .portrait_widget .portrait-category{color:#0009!important;font-size:.75rem;opacity:1;font-family:Lato-Regular;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:20px}.card-portrait .progress-wrapper .progress-block{width:60%}.card-portrait .progress-wrapper .progress-block .completed-time{color:#ef951e;display:flex;padding:8px 0}.card-portrait .progress-wrapper .progress-block .completed-time mat-icon{width:1rem;height:1rem;font-size:1rem}.card-portrait .progress-wrapper .progress-block .completed-time span{opacity:1;color:#000000de;font-family:Lato-Regular;font-size:.75rem;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:16px}.card-portrait .progress-wrapper .progress-btn .resume-btn{opacity:1;color:#fff;font-family:Lato-Bold;font-size:14px;font-weight:700;font-style:normal;letter-spacing:.5px;text-align:left;line-height:20px;background:#1a4ca1;border-radius:63px;padding:6px 16px;border:none;width:100%;cursor:pointer}.card-portrait .progress-wrapper .progress-btn .resume-btn .textwrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:82px}.card-portrait .progress-wrapper .progress-btn .resume-btn:hover{background-color:#253379}.card-portrait .progress-bar-new{color:#ef951e!important;height:10px;border-radius:5px}.card-portrait .rating-session mat-icon{font-size:20px;height:20px;width:20px;color:#ef951e}.card-portrait .rating-session .rating-number{font-size:14px}.card-portrait .rating-session .most-enrolled-text{font-size:10px;font-weight:400}.card-portrait .rating-session .most-enrolled-text{padding:4px;background:#ffea9e;border-radius:4px;line-height:12px}.card-portrait .right-corner-portrait{right:8px;bottom:8px}.course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.disable-btn{opacity:.6!important;cursor:not-allowed!important;pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatLegacyCardImage, selector: "[mat-card-image], [matCardImage]" }, { kind: "directive", type: i10.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i12.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i13.DisplayContentTypeLibComponent, selector: "sb-uic-display-content-type", inputs: ["useTranslation", "displayContentType"] }, { kind: "directive", type: i14.DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: ["wsUtilsDefaultThumbnail", "src"] }, { kind: "component", type: i15.SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }, { kind: "component", type: i16.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i17.ContentProgressComponent, selector: "sb-uic-content-progress", inputs: ["contentId", "progress", "progressType", "forPreview", "className", "customClassName"] }, { kind: "component", type: i18.AvailableLanguagesComponent, selector: "sb-uic-available-languages", inputs: ["content"] }, { kind: "pipe", type: i8.DecimalPipe, name: "number" }, { kind: "pipe", type: i8.DatePipe, name: "date" }, { kind: "pipe", type: i3.PipePublicURL, name: "pipePublicURL" }, { kind: "pipe", type: i19.PipeDurationTransformPipe, name: "pipeDurationTransform" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardProgressPortraitLibComponent, selector: "sb-uic-card-progress-portrait-lib", inputs: { widgetData: "widgetData", isLiveOrMarkForDeletion: "isLiveOrMarkForDeletion", showIntranetContent: "showIntranetContent", isIntranetAllowedSettings: "isIntranetAllowedSettings", isCardLoading: "isCardLoading", cbPlanMapData: "cbPlanMapData" }, outputs: { contentData: "contentData" }, ngImport: i0, template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-portrait card-progress-portrait-lib cursor-pointer mt-4\"\n [ngClass]=\"widgetData?.cardCustomeClass ? widgetData?.cardCustomeClass : ''\"\n (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n <div class=\"course_widget portrait_widget flex margin-bottom-xs\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100,'margin-bottom-xl':!widgetData?.content?.primaryCategory}\">\n <div class=\"flex flex-end flex-middle course_port\" *ngIf=\"widgetData?.content?.primaryCategory\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory === 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\"\n [displayContentType]=\"widgetData?.content?.courseCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory !== 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.courseCategory ? widgetData?.content?.courseCategory :widgetData?.content?.primaryCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n </div>\n </div>\n <div class=\"flex\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\n <div class=\"margin-right-s\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <div class=\" img-block-portrait position-relative\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n <ng-container\n *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\" class=\"portrait-subheading mat-subheading-2 title-text\">\n {{ widgetData?.content?.name }}\n </div>\n <div class=\"flex w-full flex-middle\">\n <div class=\"portrait_course_logo_box margin-right-xs\">\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" loading=\"lazy\"\n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n </div>\n <span class=\"portrait-org-name font-normal mat-caption\">{{'cardcontentv2.by' | translate}} {{\n (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2 mb-2\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage < 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-between\"\n [ngClass]=\"{'flex-end':!widgetData?.content?.primaryCategory}\">\n <div class=\"progress-block\" *ngIf=\"!widgetData?.content?.externalId\">\n <div class=\"completed-time\" *ngIf=\"widgetData?.content?.cType !== 'event'\">\n <mat-icon class=\"mat-icon schedule margin-right-xs\">schedule</mat-icon>\n <span>{{widgetData?.content?.completionPercentage | number: '1.0-2'}}%</span>\n </div>\n <div>\n <ng-container *ngIf=\"widgetData?.content?.completionStatus < 2 && widgetData?.content?.cType !== 'event'\">\n <sb-uic-content-progress class=\"progress-bar-new\" [customClassName]=\"'course-progress-bar'\"\n *ngIf=\"widgetData?.content?.identifier\" [contentId]=\"widgetData?.content?.identifier\"\n [progress]=\"widgetData?.content?.completionPercentage\" [progressType]=\"'percentage'\">\n </sb-uic-content-progress>\n </ng-container>\n </div>\n </div>\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between\"\n [routerLink]=\"['/app/toc/',widgetData?.content?.identifier,'overview']\"\n [queryParams]=\"{primaryCategory: widgetData?.content?.primaryCategory}\" [state]=\"widgetData?.stateData\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}\">\n <span class=\"textwrap margin-right-xs\">\n {{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') :\n translateLabels('resume', 'cardcontentv2')}}</span>\n <img class=\"stats-icon\" height=\"20\" width=\"20\" src=\"/assets/icons/home/play.svg\">\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"widgetData?.content?.completionPercentage === 100 && widgetData?.content?.courseCategory !== 'Case Study'\">\n <div class=\"flex flex-align-end progress-wrapper flex-end mt-1\">\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between view-btn\"\n [ngClass]=\"{'disable-btn': downloadCertificateLoading || widgetData?.content?.issuedCertificates?.length === 0}\"\n (click)=\"!downloadCertificateLoading && downloadCertificate(widgetData?.content, $event);$event.stopPropagation()\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(translateLabels('viewCertificate', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{'cardcontentv2.viewCertificate' | translate }}\">\n <span class=\"margin-right-xs textwrap\">{{'cardcontentv2.viewCertificate' | translate }}</span>\n <img class=\"stats-icon\" *ngIf=\"!downloadCertificateLoading\" height=\"20\" width=\"20\"\n src=\"/assets/icons/home/eye-white.svg\">\n <div class=\"center flex flex-middle\" *ngIf=\"downloadCertificateLoading\">\n <mat-spinner strokeWidth=\"2\" stroke=\"'red'\" class=\"white-spinner\" [diameter]=\"16\"></mat-spinner>\n </div>\n </button>\n </div>\n </div>\n </ng-container>\n </mat-card>\n</ng-container>\n\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-portrait\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"margin-bottom-xs\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'26px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'98px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div class=\"portrait-subheading title-text\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded width-1-1'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\" margin-right-xs\">\n <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"\"><sb-uic-skeleton-loader [width]=\"'133px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"portrait_widget flex margin-top-xs\">\n <div class=\"flex flex-end flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex flex-align-end progress-wrapper flex-between\">\n <div class=\"progress-block\">\n <div class=\"completed-time\">\n <sb-uic-skeleton-loader [width]=\"'211px'\" [height]=\"'16px'\"\n [bindingClass]=\"'flex rounded margin-top-xs md:w-211'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"progress-btn\">\n <sb-uic-skeleton-loader [width]=\"'117px'\" [height]=\"'32px'\"\n [bindingClass]=\"'flex rounded margin-top-xs'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </mat-card>\n</ng-container>", styles: [".card-portrait{border-radius:12px;border:1px solid rgba(0,0,0,.08);opacity:1;width:322px;min-height:174px;padding:16px}.card-portrait .img-block-portrait{line-height:10px}.card-portrait .card-image{border-radius:8px;opacity:1;background-size:100%;width:147px;height:100px}.card-portrait .portrait-subheading{opacity:1;color:#000000de;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:left;word-break:break-word;white-space:initial;margin:0 0 8px;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px}.card-portrait .portrait_course_logo_box img{padding:3px;display:inline-block;width:24px;height:24px;border:1px solid #d6d6d6;border-radius:4px;box-sizing:border-box}.card-portrait span.portrait-org-name{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-portrait .portrait_widget{align-items:center;margin-top:0}.card-portrait .portrait_widget .course_port{border:1px solid #EF951E;padding:4px 8px;align-items:center;border-radius:16px}.card-portrait .portrait_widget .video-icon{opacity:1;color:#ef951e;width:15px;height:15px;font-size:15px}.card-portrait .portrait_widget .portrait-category{color:#0009!important;font-size:.75rem;opacity:1;font-family:Lato-Regular;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:20px}.card-portrait .progress-wrapper .progress-block{width:60%}.card-portrait .progress-wrapper .progress-block .completed-time{color:#ef951e;display:flex;padding:8px 0}.card-portrait .progress-wrapper .progress-block .completed-time mat-icon{width:1rem;height:1rem;font-size:1rem}.card-portrait .progress-wrapper .progress-block .completed-time span{opacity:1;color:#000000de;font-family:Lato-Regular;font-size:.75rem;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:16px}.card-portrait .progress-wrapper .progress-btn .resume-btn{opacity:1;color:#fff;font-family:Lato-Bold;font-size:14px;font-weight:700;font-style:normal;letter-spacing:.5px;text-align:left;line-height:20px;background:#1a4ca1;border-radius:63px;padding:6px 16px;border:none;width:100%;cursor:pointer}.card-portrait .progress-wrapper .progress-btn .resume-btn .textwrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:82px}.card-portrait .progress-wrapper .progress-btn .resume-btn:hover{background-color:#253379}.card-portrait .progress-bar-new{color:#ef951e!important;height:10px;border-radius:5px}.card-portrait .rating-session mat-icon{font-size:20px;height:20px;width:20px;color:#ef951e}.card-portrait .rating-session .rating-number{font-size:14px}.card-portrait .rating-session .most-enrolled-text{font-size:10px;font-weight:400}.card-portrait .rating-session .most-enrolled-text{padding:4px;background:#ffea9e;border-radius:4px;line-height:12px}.card-portrait .right-corner-portrait{right:8px;bottom:8px}.course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.disable-btn{opacity:.6!important;cursor:not-allowed!important;pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatLegacyCardImage, selector: "[mat-card-image], [matCardImage]" }, { kind: "directive", type: i10.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i12.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i13.DisplayContentTypeLibComponent, selector: "sb-uic-display-content-type", inputs: ["useTranslation", "displayContentType"] }, { kind: "directive", type: i14.DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: ["wsUtilsDefaultThumbnail", "src"] }, { kind: "component", type: i15.SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }, { kind: "component", type: i16.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i17.ContentProgressComponent, selector: "sb-uic-content-progress", inputs: ["contentId", "progress", "progressType", "forPreview", "className", "customClassName"] }, { kind: "component", type: i18.AvailableLanguagesComponent, selector: "sb-uic-available-languages", inputs: ["content"] }, { kind: "pipe", type: i8.DecimalPipe, name: "number" }, { kind: "pipe", type: i8.DatePipe, name: "date" }, { kind: "pipe", type: i3.PipePublicURL, name: "pipePublicURL" }, { kind: "pipe", type: i19.PipeDurationTransformPipe, name: "pipeDurationTransform" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
129
129
|
}
|
|
130
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardProgressPortraitLibComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
|
-
args: [{ selector: 'sb-uic-card-progress-portrait-lib', template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-portrait card-progress-portrait-lib cursor-pointer mt-4\"\n [ngClass]=\"widgetData?.cardCustomeClass ? widgetData?.cardCustomeClass : ''\"\n (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n <div class=\"course_widget portrait_widget flex margin-bottom-xs\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100,'margin-bottom-xl':!widgetData?.content?.primaryCategory}\">\n <div class=\"flex flex-end flex-middle course_port\" *ngIf=\"widgetData?.content?.primaryCategory\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory === 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\"\n [displayContentType]=\"widgetData?.content?.courseCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory !== 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.courseCategory ? widgetData?.content?.courseCategory :widgetData?.content?.primaryCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n </div>\n </div>\n <div class=\"flex\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\n <div class=\"margin-right-s\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <div class=\" img-block-portrait position-relative\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n <ng-container\n *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\" class=\"portrait-subheading mat-subheading-2 title-text\">\n {{ widgetData?.content?.name }}\n </div>\n <div class=\"flex w-full flex-middle\">\n <div class=\"portrait_course_logo_box margin-right-xs\">\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" loading=\"lazy\"\n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n </div>\n <span class=\"portrait-org-name font-normal mat-caption\">{{'cardcontentv2.by' | translate}} {{\n (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2 mb-2\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage < 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-between\"\n [ngClass]=\"{'flex-end':!widgetData?.content?.primaryCategory}\">\n <div class=\"progress-block\" *ngIf=\"!widgetData?.content?.externalId\">\n <div class=\"completed-time\" *ngIf=\"widgetData?.content?.cType !== 'event'\">\n <mat-icon class=\"mat-icon schedule margin-right-xs\">schedule</mat-icon>\n <span>{{widgetData?.content?.completionPercentage | number: '1.0-2'}}%</span>\n </div>\n <div>\n <ng-container *ngIf=\"widgetData?.content?.completionStatus < 2 && widgetData?.content?.cType !== 'event'\">\n <sb-uic-content-progress class=\"progress-bar-new\" [customClassName]=\"'course-progress-bar'\"\n *ngIf=\"widgetData?.content?.identifier\" [contentId]=\"widgetData?.content?.identifier\"\n [progress]=\"widgetData?.content?.completionPercentage\" [progressType]=\"'percentage'\">\n </sb-uic-content-progress>\n </ng-container>\n </div>\n </div>\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between\"\n [routerLink]=\"['/app/toc/',widgetData?.content?.identifier,'overview']\"\n [queryParams]=\"{primaryCategory: widgetData?.content?.primaryCategory}\" [state]=\"widgetData?.stateData\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}\">\n <span class=\"textwrap margin-right-xs\">\n {{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') :\n translateLabels('resume', 'cardcontentv2')}}</span>\n <img class=\"stats-icon\" height=\"20\" width=\"20\" src=\"/assets/icons/home/play.svg\">\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"widgetData?.content?.completionPercentage === 100 && widgetData?.content?.courseCategory !== 'Case Study'\">\n <div class=\"flex flex-align-end progress-wrapper flex-end mt-1\">\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between view-btn\"\n [ngClass]=\"{'disable-btn': downloadCertificateLoading || widgetData?.content?.issuedCertificates?.length === 0}\"\n (click)=\"!downloadCertificateLoading && downloadCertificate(widgetData?.content, $event);$event.stopPropagation()\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(translateLabels('viewCertificate', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{'cardcontentv2.viewCertificate' | translate }}\">\n <span class=\"margin-right-xs textwrap\">{{'cardcontentv2.viewCertificate' | translate }}</span>\n <img class=\"stats-icon\" *ngIf=\"!downloadCertificateLoading\" height=\"20\" width=\"20\"\n src=\"/assets/icons/home/eye-white.svg\">\n <div class=\"center flex flex-middle\" *ngIf=\"downloadCertificateLoading\">\n <mat-spinner strokeWidth=\"2\" stroke=\"'red'\" class=\"white-spinner\" [diameter]=\"16\"></mat-spinner>\n </div>\n </button>\n </div>\n </div>\n </ng-container>\n </mat-card>\n</ng-container>\n\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-portrait\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"margin-bottom-xs\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'26px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'98px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div class=\"portrait-subheading title-text\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded width-1-1'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\" margin-right-xs\">\n <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"\"><sb-uic-skeleton-loader [width]=\"'133px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"portrait_widget flex margin-top-xs\">\n <div class=\"flex flex-end flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex flex-align-end progress-wrapper flex-between\">\n <div class=\"progress-block\">\n <div class=\"completed-time\">\n <sb-uic-skeleton-loader [width]=\"'211px'\" [height]=\"'16px'\"\n [bindingClass]=\"'flex rounded margin-top-xs md:w-211'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"progress-btn\">\n <sb-uic-skeleton-loader [width]=\"'117px'\" [height]=\"'32px'\"\n [bindingClass]=\"'flex rounded margin-top-xs'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </mat-card>\n</ng-container>", styles: [".card-portrait{border-radius:12px;border:1px solid rgba(0,0,0,.08);opacity:1;width:318px;min-height:174px;padding:16px}.card-portrait .img-block-portrait{line-height:10px}.card-portrait .card-image{border-radius:8px;opacity:1;background-size:100%;width:147px;height:100px}.card-portrait .portrait-subheading{opacity:1;color:#000000de;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:left;word-break:break-word;white-space:initial;margin:0 0 8px;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px}.card-portrait .portrait_course_logo_box img{padding:3px;display:inline-block;width:24px;height:24px;border:1px solid #d6d6d6;border-radius:4px;box-sizing:border-box}.card-portrait span.portrait-org-name{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-portrait .portrait_widget{align-items:center;margin-top:0}.card-portrait .portrait_widget .course_port{border:1px solid #EF951E;padding:4px 8px;align-items:center;border-radius:16px}.card-portrait .portrait_widget .video-icon{opacity:1;color:#ef951e;width:15px;height:15px;font-size:15px}.card-portrait .portrait_widget .portrait-category{color:#0009!important;font-size:.75rem;opacity:1;font-family:Lato-Regular;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:20px}.card-portrait .progress-wrapper .progress-block{width:60%}.card-portrait .progress-wrapper .progress-block .completed-time{color:#ef951e;display:flex;padding:8px 0}.card-portrait .progress-wrapper .progress-block .completed-time mat-icon{width:1rem;height:1rem;font-size:1rem}.card-portrait .progress-wrapper .progress-block .completed-time span{opacity:1;color:#000000de;font-family:Lato-Regular;font-size:.75rem;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:16px}.card-portrait .progress-wrapper .progress-btn .resume-btn{opacity:1;color:#fff;font-family:Lato-Bold;font-size:14px;font-weight:700;font-style:normal;letter-spacing:.5px;text-align:left;line-height:20px;background:#1a4ca1;border-radius:63px;padding:6px 16px;border:none;width:100%;cursor:pointer}.card-portrait .progress-wrapper .progress-btn .resume-btn .textwrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:82px}.card-portrait .progress-wrapper .progress-btn .resume-btn:hover{background-color:#253379}.card-portrait .progress-bar-new{color:#ef951e!important;height:10px;border-radius:5px}.card-portrait .rating-session mat-icon{font-size:20px;height:20px;width:20px;color:#ef951e}.card-portrait .rating-session .rating-number{font-size:14px}.card-portrait .rating-session .most-enrolled-text{font-size:10px;font-weight:400}.card-portrait .rating-session .most-enrolled-text{padding:4px;background:#ffea9e;border-radius:4px;line-height:12px}.card-portrait .right-corner-portrait{right:8px;bottom:8px}.course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.disable-btn{opacity:.6!important;cursor:not-allowed!important;pointer-events:none!important}\n"] }]
|
|
132
|
+
args: [{ selector: 'sb-uic-card-progress-portrait-lib', template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-portrait card-progress-portrait-lib cursor-pointer mt-4\"\n [ngClass]=\"widgetData?.cardCustomeClass ? widgetData?.cardCustomeClass : ''\"\n (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n <div class=\"course_widget portrait_widget flex margin-bottom-xs\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100,'margin-bottom-xl':!widgetData?.content?.primaryCategory}\">\n <div class=\"flex flex-end flex-middle course_port\" *ngIf=\"widgetData?.content?.primaryCategory\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory === 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\"\n [displayContentType]=\"widgetData?.content?.courseCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.courseCategory !== 'Case Study'\">\n <sb-uic-display-content-type i18n-title title=\"Content Type\"\n class=\"ws-mat-black60-text font-normal mat-caption\" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.courseCategory ? widgetData?.content?.courseCategory :widgetData?.content?.primaryCategory\">\n </sb-uic-display-content-type>\n </ng-container>\n </div>\n </div>\n <div class=\"flex\"\n [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\n <div class=\"margin-right-s\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <div class=\" img-block-portrait position-relative\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n <ng-container\n *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [wsUtilsDefaultThumbnail]=\"defaultThumbnail\" [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\" class=\"portrait-subheading mat-subheading-2 title-text\">\n {{ widgetData?.content?.name }}\n </div>\n <div class=\"flex w-full flex-middle\">\n <div class=\"portrait_course_logo_box margin-right-xs\">\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" loading=\"lazy\"\n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n </div>\n <span class=\"portrait-org-name font-normal mat-caption\">{{'cardcontentv2.by' | translate}} {{\n (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2 mb-2\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage < 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-between\"\n [ngClass]=\"{'flex-end':!widgetData?.content?.primaryCategory}\">\n <div class=\"progress-block\" *ngIf=\"!widgetData?.content?.externalId\">\n <div class=\"completed-time\" *ngIf=\"widgetData?.content?.cType !== 'event'\">\n <mat-icon class=\"mat-icon schedule margin-right-xs\">schedule</mat-icon>\n <span>{{widgetData?.content?.completionPercentage | number: '1.0-2'}}%</span>\n </div>\n <div>\n <ng-container *ngIf=\"widgetData?.content?.completionStatus < 2 && widgetData?.content?.cType !== 'event'\">\n <sb-uic-content-progress class=\"progress-bar-new\" [customClassName]=\"'course-progress-bar'\"\n *ngIf=\"widgetData?.content?.identifier\" [contentId]=\"widgetData?.content?.identifier\"\n [progress]=\"widgetData?.content?.completionPercentage\" [progressType]=\"'percentage'\">\n </sb-uic-content-progress>\n </ng-container>\n </div>\n </div>\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between\"\n [routerLink]=\"['/app/toc/',widgetData?.content?.identifier,'overview']\"\n [queryParams]=\"{primaryCategory: widgetData?.content?.primaryCategory}\" [state]=\"widgetData?.stateData\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}\">\n <span class=\"textwrap margin-right-xs\">\n {{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') :\n translateLabels('resume', 'cardcontentv2')}}</span>\n <img class=\"stats-icon\" height=\"20\" width=\"20\" src=\"/assets/icons/home/play.svg\">\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"widgetData?.content?.completionPercentage === 100 && widgetData?.content?.courseCategory !== 'Case Study'\">\n <div class=\"flex flex-align-end progress-wrapper flex-end mt-1\">\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between view-btn\"\n [ngClass]=\"{'disable-btn': downloadCertificateLoading || widgetData?.content?.issuedCertificates?.length === 0}\"\n (click)=\"!downloadCertificateLoading && downloadCertificate(widgetData?.content, $event);$event.stopPropagation()\"\n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(translateLabels('viewCertificate', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{'cardcontentv2.viewCertificate' | translate }}\">\n <span class=\"margin-right-xs textwrap\">{{'cardcontentv2.viewCertificate' | translate }}</span>\n <img class=\"stats-icon\" *ngIf=\"!downloadCertificateLoading\" height=\"20\" width=\"20\"\n src=\"/assets/icons/home/eye-white.svg\">\n <div class=\"center flex flex-middle\" *ngIf=\"downloadCertificateLoading\">\n <mat-spinner strokeWidth=\"2\" stroke=\"'red'\" class=\"white-spinner\" [diameter]=\"16\"></mat-spinner>\n </div>\n </button>\n </div>\n </div>\n </ng-container>\n </mat-card>\n</ng-container>\n\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date:\n 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-portrait\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"margin-bottom-xs\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'26px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'98px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div class=\"portrait-subheading title-text\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded width-1-1'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\" margin-right-xs\">\n <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"\"><sb-uic-skeleton-loader [width]=\"'133px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"portrait_widget flex margin-top-xs\">\n <div class=\"flex flex-end flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'12px'\"\n [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex flex-align-end progress-wrapper flex-between\">\n <div class=\"progress-block\">\n <div class=\"completed-time\">\n <sb-uic-skeleton-loader [width]=\"'211px'\" [height]=\"'16px'\"\n [bindingClass]=\"'flex rounded margin-top-xs md:w-211'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"progress-btn\">\n <sb-uic-skeleton-loader [width]=\"'117px'\" [height]=\"'32px'\"\n [bindingClass]=\"'flex rounded margin-top-xs'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </mat-card>\n</ng-container>", styles: [".card-portrait{border-radius:12px;border:1px solid rgba(0,0,0,.08);opacity:1;width:322px;min-height:174px;padding:16px}.card-portrait .img-block-portrait{line-height:10px}.card-portrait .card-image{border-radius:8px;opacity:1;background-size:100%;width:147px;height:100px}.card-portrait .portrait-subheading{opacity:1;color:#000000de;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:left;word-break:break-word;white-space:initial;margin:0 0 8px;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px}.card-portrait .portrait_course_logo_box img{padding:3px;display:inline-block;width:24px;height:24px;border:1px solid #d6d6d6;border-radius:4px;box-sizing:border-box}.card-portrait span.portrait-org-name{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-portrait .portrait_widget{align-items:center;margin-top:0}.card-portrait .portrait_widget .course_port{border:1px solid #EF951E;padding:4px 8px;align-items:center;border-radius:16px}.card-portrait .portrait_widget .video-icon{opacity:1;color:#ef951e;width:15px;height:15px;font-size:15px}.card-portrait .portrait_widget .portrait-category{color:#0009!important;font-size:.75rem;opacity:1;font-family:Lato-Regular;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:20px}.card-portrait .progress-wrapper .progress-block{width:60%}.card-portrait .progress-wrapper .progress-block .completed-time{color:#ef951e;display:flex;padding:8px 0}.card-portrait .progress-wrapper .progress-block .completed-time mat-icon{width:1rem;height:1rem;font-size:1rem}.card-portrait .progress-wrapper .progress-block .completed-time span{opacity:1;color:#000000de;font-family:Lato-Regular;font-size:.75rem;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:16px}.card-portrait .progress-wrapper .progress-btn .resume-btn{opacity:1;color:#fff;font-family:Lato-Bold;font-size:14px;font-weight:700;font-style:normal;letter-spacing:.5px;text-align:left;line-height:20px;background:#1a4ca1;border-radius:63px;padding:6px 16px;border:none;width:100%;cursor:pointer}.card-portrait .progress-wrapper .progress-btn .resume-btn .textwrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:82px}.card-portrait .progress-wrapper .progress-btn .resume-btn:hover{background-color:#253379}.card-portrait .progress-bar-new{color:#ef951e!important;height:10px;border-radius:5px}.card-portrait .rating-session mat-icon{font-size:20px;height:20px;width:20px;color:#ef951e}.card-portrait .rating-session .rating-number{font-size:14px}.card-portrait .rating-session .most-enrolled-text{font-size:10px;font-weight:400}.card-portrait .rating-session .most-enrolled-text{padding:4px;background:#ffea9e;border-radius:4px;line-height:12px}.card-portrait .right-corner-portrait{right:8px;bottom:8px}.course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.disable-btn{opacity:.6!important;cursor:not-allowed!important;pointer-events:none!important}\n"] }]
|
|
133
133
|
}], ctorParameters: function () { return [{ type: i1.MatLegacySnackBar }, { type: i2.TranslateService }, { type: i3.EventService }, { type: i4.MultilingualTranslationsService }, { type: i3.ConfigurationsService }, { type: i5.WidgetContentLibService }, { type: i6.CertificateService }, { type: i7.MatLegacyDialog }]; }, propDecorators: { widgetData: [{
|
|
134
134
|
type: Input
|
|
135
135
|
}], isLiveOrMarkForDeletion: [{
|
|
@@ -37,14 +37,14 @@ export class CommunitySuggestionsComponent {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommunitySuggestionsComponent, deps: [{ token: i1.Router }, { token: i2.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommunitySuggestionsComponent, selector: "ws-app-community-suggestions", inputs: { communitySuggestionsList: "communitySuggestionsList", isLoading: "isLoading" }, ngImport: i0, template: "<div class=\"community-suggestions-container\">\n <ng-container *ngIf=\"!isLoading; else skeletonLoader\">\n <mat-card *ngFor=\"let community of communitySuggestionsList\" class=\"community-card mb-4 flex flex-col items-center\">\n <div class=\"flex items-center
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommunitySuggestionsComponent, selector: "ws-app-community-suggestions", inputs: { communitySuggestionsList: "communitySuggestionsList", isLoading: "isLoading" }, ngImport: i0, template: "<div class=\"community-suggestions-container\">\n <ng-container *ngIf=\"!isLoading; else skeletonLoader\">\n <mat-card *ngFor=\"let community of communitySuggestionsList\" class=\"community-card mb-4 flex flex-col items-center\">\n <div class=\"flex items-center justify-center mb-4\">\n <ng-container *ngIf=\"community?.imageUrl; else defaultImage\">\n <img [src]=\"community?.imageUrl\" alt=\"logo\" class=\"community-image\">\n </ng-container>\n <ng-template #defaultImage>\n <img src=\"/assets/instances/eagle/app_logos/default.png\" alt=\"default logo\" class=\"community-image\">\n </ng-template>\n </div>\n <div class=\"flex items-center\">\n \n <div class=\"flex-grow flex flex-col gap-1\">\n <div class=\"communityName\">{{community?.communityName}}</div>\n <div class=\"community-details flex gap-4 items-center mt-1\">\n <span>{{community?.countOfPeopleJoined | numberShortener}} {{ community?.countOfPeopleJoined | plural:'Member':'Members' }}</span>\n <span>-</span>\n <span>{{community?.countOfPostCreated | numberShortener}} {{ community?.countOfPeopleJoined | plural:'Post':'Posts' }}</span>\n </div>\n <div class=\"flex gap-1 mt-2 items-center\">\n <div class=\"logo flex items-center justify-center\">\n <img src=\"/assets/instances/eagle/app_logos/Karmayogi_logo_icon.svg\" alt=\"Karmayogi Logo\" class=\"karmayogi-logo\">\n </div>\n <div class=\"community-details\">{{community?.orgName}}</div>\n </div>\n </div>\n </div>\n <div class=\"dividing-line mt-2\"></div>\n <div class=\"connect flex justify-center items-center pt-4\" (click)=\"viewCommunity(community)\">\n <a>{{'NetworkV2Profile.viewCommunity' | translate}}</a>\n </div>\n </mat-card>\n </ng-container>\n <ng-template #skeletonLoader>\n <div class=\"flex flex-col gap-4\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'270px'\" [height]=\"'147px'\">\n </sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'270px'\" [height]=\"'147px'\">\n </sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'270px'\" [height]=\"'147px'\">\n </sb-uic-skeleton-loader>\n </div> \n </ng-template>\n</div>", styles: [".community-suggestions-container{max-width:400px;margin:0 auto}.community-card{border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem}.community-card .community-image{width:100%}.communityName{color:#1b2133;font:600 14px Montserrat;word-break:break-word;overflow-wrap:break-word}.community-details{color:#0009;font:400 12px Lato}.connect a{color:#1b4ca1;cursor:pointer;font:700 14px Lato;text-decoration:none}.dividing-line{width:150px;height:1px;background:linear-gradient(90deg,#fff0,#f3962f,#f3962f,#fff0)}.logo{width:18px;height:18px;border-radius:2px;border:1px solid #999999}.logo img{width:14px;height:14px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i5.SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.NumberShortenerPipe, name: "numberShortener" }, { kind: "pipe", type: i8.PluralPipe, name: "plural" }] }); }
|
|
41
41
|
}
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommunitySuggestionsComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
|
-
args: [{ selector: 'ws-app-community-suggestions', template: "<div class=\"community-suggestions-container\">\n <ng-container *ngIf=\"!isLoading; else skeletonLoader\">\n <mat-card *ngFor=\"let community of communitySuggestionsList\" class=\"community-card mb-4 flex flex-col items-center\">\n <div class=\"flex items-center
|
|
44
|
+
args: [{ selector: 'ws-app-community-suggestions', template: "<div class=\"community-suggestions-container\">\n <ng-container *ngIf=\"!isLoading; else skeletonLoader\">\n <mat-card *ngFor=\"let community of communitySuggestionsList\" class=\"community-card mb-4 flex flex-col items-center\">\n <div class=\"flex items-center justify-center mb-4\">\n <ng-container *ngIf=\"community?.imageUrl; else defaultImage\">\n <img [src]=\"community?.imageUrl\" alt=\"logo\" class=\"community-image\">\n </ng-container>\n <ng-template #defaultImage>\n <img src=\"/assets/instances/eagle/app_logos/default.png\" alt=\"default logo\" class=\"community-image\">\n </ng-template>\n </div>\n <div class=\"flex items-center\">\n \n <div class=\"flex-grow flex flex-col gap-1\">\n <div class=\"communityName\">{{community?.communityName}}</div>\n <div class=\"community-details flex gap-4 items-center mt-1\">\n <span>{{community?.countOfPeopleJoined | numberShortener}} {{ community?.countOfPeopleJoined | plural:'Member':'Members' }}</span>\n <span>-</span>\n <span>{{community?.countOfPostCreated | numberShortener}} {{ community?.countOfPeopleJoined | plural:'Post':'Posts' }}</span>\n </div>\n <div class=\"flex gap-1 mt-2 items-center\">\n <div class=\"logo flex items-center justify-center\">\n <img src=\"/assets/instances/eagle/app_logos/Karmayogi_logo_icon.svg\" alt=\"Karmayogi Logo\" class=\"karmayogi-logo\">\n </div>\n <div class=\"community-details\">{{community?.orgName}}</div>\n </div>\n </div>\n </div>\n <div class=\"dividing-line mt-2\"></div>\n <div class=\"connect flex justify-center items-center pt-4\" (click)=\"viewCommunity(community)\">\n <a>{{'NetworkV2Profile.viewCommunity' | translate}}</a>\n </div>\n </mat-card>\n </ng-container>\n <ng-template #skeletonLoader>\n <div class=\"flex flex-col gap-4\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'270px'\" [height]=\"'147px'\">\n </sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'270px'\" [height]=\"'147px'\">\n </sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'270px'\" [height]=\"'147px'\">\n </sb-uic-skeleton-loader>\n </div> \n </ng-template>\n</div>", styles: [".community-suggestions-container{max-width:400px;margin:0 auto}.community-card{border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem}.community-card .community-image{width:100%}.communityName{color:#1b2133;font:600 14px Montserrat;word-break:break-word;overflow-wrap:break-word}.community-details{color:#0009;font:400 12px Lato}.connect a{color:#1b4ca1;cursor:pointer;font:700 14px Lato;text-decoration:none}.dividing-line{width:150px;height:1px;background:linear-gradient(90deg,#fff0,#f3962f,#f3962f,#fff0)}.logo{width:18px;height:18px;border-radius:2px;border:1px solid #999999}.logo img{width:14px;height:14px}\n"] }]
|
|
45
45
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.EventService }]; }, propDecorators: { communitySuggestionsList: [{
|
|
46
46
|
type: Input
|
|
47
47
|
}], isLoading: [{
|
|
48
48
|
type: Input
|
|
49
49
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbXVuaXR5LXN1Z2dlc3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi9jb25zdW1wdGlvbi9zcmMvbGliL19jb21tb24vY29tbXVuaXR5LXN1Z2dlc3Rpb25zL2NvbW11bml0eS1zdWdnZXN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NvbW11bml0eS1zdWdnZXN0aW9ucy9jb21tdW5pdHktc3VnZ2VzdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFnQixRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQVE5RCxNQUFNLE9BQU8sNkJBQTZCO0lBSXhDLFlBQVk7SUFFWixZQUNVLE1BQWMsRUFDZCxNQUFvQjtRQURwQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQVA5Qiw0QkFBNEI7UUFDbkIsNkJBQXdCLEdBQVUsRUFBRSxDQUFDO1FBQ3JDLGNBQVMsR0FBWSxLQUFLLENBQUE7SUFPbkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFjO1FBQzFCLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxxQ0FBcUMsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDaEM7WUFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7WUFDdEMsRUFBRSxFQUFFLGdCQUFnQjtTQUNyQixFQUNEO1lBQ0UsRUFBRSxFQUFFLFdBQVc7WUFDZixJQUFJLEVBQUUsV0FBVztTQUNsQixFQUFFLGlCQUFpQjtRQUNwQjtZQUNFLE1BQU0sRUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTztTQUM5QyxDQUFDLENBQUE7SUFDTixDQUFDOytHQWhDVSw2QkFBNkI7bUdBQTdCLDZCQUE2Qiw4SkNWMUMsczhFQTRDTTs7NEZEbENPLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSw4QkFBOEI7d0hBTS9CLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEV2ZW50U2VydmljZSwgV3NFdmVudHMgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3MtYXBwLWNvbW11bml0eS1zdWdnZXN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21tdW5pdHktc3VnZ2VzdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21tdW5pdHktc3VnZ2VzdGlvbnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21tdW5pdHlTdWdnZXN0aW9uc0NvbXBvbmVudCB7XG4gIC8vI3JlZ2lvbiAoZ2xvYmFsIHZhcmlhYmxlcylcbiAgQElucHV0KCkgY29tbXVuaXR5U3VnZ2VzdGlvbnNMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZVxuICAvLyNlbmRyZWdpb25cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZXZlbnRzOiBFdmVudFNlcnZpY2UsXG4gICkgeyBcbiAgfVxuXG4gIHZpZXdDb21tdW5pdHkoY29tbXVuaXR5OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoY29tbXVuaXR5ICYmIGNvbW11bml0eS5jb21tdW5pdHlJZCkge1xuICAgICAgdGhpcy5yYWlzZVRlbGVtZXRyeShjb21tdW5pdHkuY29tbXVuaXR5SWQpXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHAvZGlzY3Vzc2lvbi1mb3J1bS12Mi9jb21tdW5pdHkvJywgY29tbXVuaXR5LmNvbW11bml0eUlkXSk7XG4gICAgfVxuICB9XG5cbiAgcmFpc2VUZWxlbWV0cnkoY29tbXVuaXR5SWQ6IHN0cmluZykge1xuICAgIHRoaXMuZXZlbnRzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXG4gICAgICB7IC8vIGVkYXRhXG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFR5cGVzLkNMSUNLLFxuICAgICAgICBpZDogJ2NvbW1pbnV0eS1jYXJkJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IGNvbW11bml0eUlkLFxuICAgICAgICB0eXBlOiAnQ29tbXVuaXR5J1xuICAgICAgfSwgLy8gb2JqZWN0IGRldGFpbHNcbiAgICAgIHsgLy8gZW52XG4gICAgICAgIG1vZHVsZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeW1vZHVsZXMuTkVUV09SSyxcbiAgICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb21tdW5pdHktc3VnZ2VzdGlvbnMtY29udGFpbmVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nOyBlbHNlIHNrZWxldG9uTG9hZGVyXCI+XG4gICAgPG1hdC1jYXJkICpuZ0Zvcj1cImxldCBjb21tdW5pdHkgb2YgY29tbXVuaXR5U3VnZ2VzdGlvbnNMaXN0XCIgY2xhc3M9XCJjb21tdW5pdHktY2FyZCBtYi00IGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWItNFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21tdW5pdHk/LmltYWdlVXJsOyBlbHNlIGRlZmF1bHRJbWFnZVwiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImNvbW11bml0eT8uaW1hZ2VVcmxcIiBhbHQ9XCJsb2dvXCIgY2xhc3M9XCJjb21tdW5pdHktaW1hZ2VcIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbWFnZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL2RlZmF1bHQucG5nXCIgYWx0PVwiZGVmYXVsdCBsb2dvXCIgY2xhc3M9XCJjb21tdW5pdHktaW1hZ2VcIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3JvdyBmbGV4IGZsZXgtY29sIGdhcC0xXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW11bml0eU5hbWVcIj57e2NvbW11bml0eT8uY29tbXVuaXR5TmFtZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW11bml0eS1kZXRhaWxzIGZsZXggZ2FwLTQgaXRlbXMtY2VudGVyIG10LTFcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7Y29tbXVuaXR5Py5jb3VudE9mUGVvcGxlSm9pbmVkIHwgbnVtYmVyU2hvcnRlbmVyfX0ge3sgY29tbXVuaXR5Py5jb3VudE9mUGVvcGxlSm9pbmVkIHwgcGx1cmFsOidNZW1iZXInOidNZW1iZXJzJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPi08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57e2NvbW11bml0eT8uY291bnRPZlBvc3RDcmVhdGVkIHwgbnVtYmVyU2hvcnRlbmVyfX0ge3sgY29tbXVuaXR5Py5jb3VudE9mUGVvcGxlSm9pbmVkIHwgcGx1cmFsOidQb3N0JzonUG9zdHMnIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0xIG10LTIgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9nbyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvaW5zdGFuY2VzL2VhZ2xlL2FwcF9sb2dvcy9LYXJtYXlvZ2lfbG9nb19pY29uLnN2Z1wiIGFsdD1cIkthcm1heW9naSBMb2dvXCIgY2xhc3M9XCJrYXJtYXlvZ2ktbG9nb1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbXVuaXR5LWRldGFpbHNcIj57e2NvbW11bml0eT8ub3JnTmFtZX19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRpbmctbGluZSBtdC0yXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29ubmVjdCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwdC00XCIgKGNsaWNrKT1cInZpZXdDb21tdW5pdHkoY29tbXVuaXR5KVwiPlxuICAgICAgICA8YT57eydOZXR3b3JrVjJQcm9maWxlLnZpZXdDb21tdW5pdHknIHwgdHJhbnNsYXRlfX08L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNza2VsZXRvbkxvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNFwiPlxuICAgICAgPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkIG9iakljb24gJ1wiIFt3aWR0aF09XCInMjcwcHgnXCIgW2hlaWdodF09XCInMTQ3cHgnXCI+XG4gICAgICA8L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+XG4gICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQgb2JqSWNvbiAnXCIgW3dpZHRoXT1cIicyNzBweCdcIiBbaGVpZ2h0XT1cIicxNDdweCdcIj5cbiAgICAgIDwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBvYmpJY29uICdcIiBbd2lkdGhdPVwiJzI3MHB4J1wiIFtoZWlnaHRdPVwiJzE0N3B4J1wiPlxuICAgICAgPC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgIDwvZGl2PiAgXG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../competency/competency.component";
|
|
5
|
+
import * as i3 from "../content-strip/content-strip.component";
|
|
6
|
+
export class ColumnSectionDisplayComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.data = [];
|
|
9
|
+
this.competencyEvent = new EventEmitter();
|
|
10
|
+
this.competencyTelemetry = new EventEmitter();
|
|
11
|
+
this.contentTelemetry = new EventEmitter();
|
|
12
|
+
this.viewAllEvent = new EventEmitter();
|
|
13
|
+
this.filteredData = [];
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.filteredData = this.data?.filter(section => section?.enabled) || [];
|
|
17
|
+
}
|
|
18
|
+
onCompetencyEvent(event) {
|
|
19
|
+
this.competencyEvent.emit(event);
|
|
20
|
+
}
|
|
21
|
+
onCompetencyTelemetry(event) {
|
|
22
|
+
this.competencyTelemetry.emit(event);
|
|
23
|
+
}
|
|
24
|
+
onContentTelemetry(event) {
|
|
25
|
+
this.contentTelemetry.emit(event);
|
|
26
|
+
}
|
|
27
|
+
onViewAllEvent(event, data) {
|
|
28
|
+
this.viewAllEvent.emit({
|
|
29
|
+
event: event,
|
|
30
|
+
data: data
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnSectionDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnSectionDisplayComponent, selector: "app-column-section-display", inputs: { data: "data", orgId: "orgId", channelName: "channelName" }, outputs: { competencyEvent: "competencyEvent", competencyTelemetry: "competencyTelemetry", contentTelemetry: "contentTelemetry", viewAllEvent: "viewAllEvent" }, ngImport: i0, template: "<ng-container *ngIf=\"filteredData?.length\">\n <ng-container *ngFor=\"let section of filteredData\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\"\n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}}\">\n <ng-container *ngIf=\"column?.enabled\">\n <!-- Competency component -->\n <app-competency \n *ngIf=\"column?.key === 'competency'\"\n [competency]=\"column\"\n (emptyResponse)=\"onCompetencyEvent($event)\"\n (telemetryResponse)=\"onCompetencyTelemetry($event)\">\n </app-competency>\n \n <!-- Content strip components -->\n <app-content-strip\n *ngIf=\"column?.key.includes('content')\"\n [data]=\"{contentStrip: column?.data, sectionKey: section.key}\"\n (viewAllResponse)=\"onViewAllEvent($event.event, $event.data)\"\n (telemetryResponse)=\"onContentTelemetry($event)\">\n </app-content-strip>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CompetencyComponent, selector: "app-competency", inputs: ["competency"], outputs: ["emptyResponse", "telemetryResponse"] }, { kind: "component", type: i3.ContentStripComponent, selector: "app-content-strip", inputs: ["data"], outputs: ["viewAllResponse", "telemetryResponse"] }] }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnSectionDisplayComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'app-column-section-display', template: "<ng-container *ngIf=\"filteredData?.length\">\n <ng-container *ngFor=\"let section of filteredData\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\"\n [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}}\">\n <ng-container *ngIf=\"column?.enabled\">\n <!-- Competency component -->\n <app-competency \n *ngIf=\"column?.key === 'competency'\"\n [competency]=\"column\"\n (emptyResponse)=\"onCompetencyEvent($event)\"\n (telemetryResponse)=\"onCompetencyTelemetry($event)\">\n </app-competency>\n \n <!-- Content strip components -->\n <app-content-strip\n *ngIf=\"column?.key.includes('content')\"\n [data]=\"{contentStrip: column?.data, sectionKey: section.key}\"\n (viewAllResponse)=\"onViewAllEvent($event.event, $event.data)\"\n (telemetryResponse)=\"onContentTelemetry($event)\">\n </app-content-strip>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n</ng-container>" }]
|
|
39
|
+
}], propDecorators: { data: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], orgId: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], channelName: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], competencyEvent: [{
|
|
46
|
+
type: Output
|
|
47
|
+
}], competencyTelemetry: [{
|
|
48
|
+
type: Output
|
|
49
|
+
}], contentTelemetry: [{
|
|
50
|
+
type: Output
|
|
51
|
+
}], viewAllEvent: [{
|
|
52
|
+
type: Output
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlY3Rpb24tZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL21pY3Jvc2l0ZXMvbWRvLWNoYW5uZWxzL2NvbXBvbmVudHMvY29sdW1uLXNlY3Rpb24tZGlzcGxheS9jb2x1bW4tc2VjdGlvbi1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi9jb25zdW1wdGlvbi9zcmMvbGliL19jb21tb24vbWljcm9zaXRlcy9tZG8tY2hhbm5lbHMvY29tcG9uZW50cy9jb2x1bW4tc2VjdGlvbi1kaXNwbGF5L2NvbHVtbi1zZWN0aW9uLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPL0UsTUFBTSxPQUFPLDZCQUE2QjtJQUwxQztRQU1XLFNBQUksR0FBVSxFQUFFLENBQUM7UUFJaEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzlDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDakQscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMzQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFakQsaUJBQVksR0FBVSxFQUFFLENBQUM7S0F3QjFCO0lBdEJDLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBYTtRQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVLEVBQUUsSUFBUztRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FqQ1UsNkJBQTZCO21HQUE3Qiw2QkFBNkIseVNDUDFDLHU0Q0E2QmU7OzRGRHRCRiw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQUs3QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2x1bW4tc2VjdGlvbi1kaXNwbGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1zZWN0aW9uLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tc2VjdGlvbi1kaXNwbGF5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uU2VjdGlvbkRpc3BsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBvcmdJZDogc3RyaW5nO1xuICBASW5wdXQoKSBjaGFubmVsTmFtZTogc3RyaW5nO1xuICBcbiAgQE91dHB1dCgpIGNvbXBldGVuY3lFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNvbXBldGVuY3lUZWxlbWV0cnkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNvbnRlbnRUZWxlbWV0cnkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHZpZXdBbGxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBcbiAgZmlsdGVyZWREYXRhOiBhbnlbXSA9IFtdO1xuICBcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGE/LmZpbHRlcihzZWN0aW9uID0+IHNlY3Rpb24/LmVuYWJsZWQpIHx8IFtdO1xuICB9XG4gIFxuICBvbkNvbXBldGVuY3lFdmVudChldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuY29tcGV0ZW5jeUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG4gIFxuICBvbkNvbXBldGVuY3lUZWxlbWV0cnkoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuY29tcGV0ZW5jeVRlbGVtZXRyeS5lbWl0KGV2ZW50KTtcbiAgfVxuICBcbiAgb25Db250ZW50VGVsZW1ldHJ5KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNvbnRlbnRUZWxlbWV0cnkuZW1pdChldmVudCk7XG4gIH1cbiAgXG4gIG9uVmlld0FsbEV2ZW50KGV2ZW50OiBhbnksIGRhdGE6IGFueSkge1xuICAgIHRoaXMudmlld0FsbEV2ZW50LmVtaXQoe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0pO1xuICB9XG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcmVkRGF0YT8ubGVuZ3RoXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgZmlsdGVyZWREYXRhXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlY3Rpb24/LmVuYWJsZWRcIj5cbiAgICAgIDxzZWN0aW9uIGlkPVwie3tzZWN0aW9uPy5rZXl9fVwiIGNsYXNzPVwidy1mdWxsIGdyaWQgZ3JpZC1jb2xzLTEyIGdhcC00XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjb250YWluZXInOiBzZWN0aW9uLndyYXBwZXJDbGFzc31cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHNlY3Rpb24uY29sdW1uXCI+XG4gICAgICAgICAgPGRpdiBpZD1cInt7Y29sdW1uPy5rZXl9fVwiIGNsYXNzPVwiY29sLXNwYW4te3tjb2x1bW4uY29sc3BhbiB8fCAxMn19XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uPy5lbmFibGVkXCI+XG4gICAgICAgICAgICAgIDwhLS0gQ29tcGV0ZW5jeSBjb21wb25lbnQgLS0+XG4gICAgICAgICAgICAgIDxhcHAtY29tcGV0ZW5jeSBcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbj8ua2V5ID09PSAnY29tcGV0ZW5jeSdcIlxuICAgICAgICAgICAgICAgIFtjb21wZXRlbmN5XT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgKGVtcHR5UmVzcG9uc2UpPVwib25Db21wZXRlbmN5RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHRlbGVtZXRyeVJlc3BvbnNlKT1cIm9uQ29tcGV0ZW5jeVRlbGVtZXRyeSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDwvYXBwLWNvbXBldGVuY3k+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8IS0tIENvbnRlbnQgc3RyaXAgY29tcG9uZW50cyAtLT5cbiAgICAgICAgICAgICAgPGFwcC1jb250ZW50LXN0cmlwXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4/LmtleS5pbmNsdWRlcygnY29udGVudCcpXCJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJ7Y29udGVudFN0cmlwOiBjb2x1bW4/LmRhdGEsIHNlY3Rpb25LZXk6IHNlY3Rpb24ua2V5fVwiXG4gICAgICAgICAgICAgICAgKHZpZXdBbGxSZXNwb25zZSk9XCJvblZpZXdBbGxFdmVudCgkZXZlbnQuZXZlbnQsICRldmVudC5kYXRhKVwiXG4gICAgICAgICAgICAgICAgKHRlbGVtZXRyeVJlc3BvbnNlKT1cIm9uQ29udGVudFRlbGVtZXRyeSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDwvYXBwLWNvbnRlbnQtc3RyaXA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+Il19
|
package/esm2022/lib/_common/microsites/mdo-channels/components/competency/competency.component.mjs
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Component, Inject, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../../../competency-passbook-mdo/competency-passbook-mdo.component";
|
|
5
|
+
import * as i3 from "@ngx-translate/core";
|
|
6
|
+
export class CompetencyComponent {
|
|
7
|
+
constructor(orgId, eventCallback) {
|
|
8
|
+
this.orgId = orgId;
|
|
9
|
+
this.eventCallback = eventCallback;
|
|
10
|
+
this.emptyResponse = new EventEmitter();
|
|
11
|
+
this.telemetryResponse = new EventEmitter();
|
|
12
|
+
this.hideCompetencyBlock = false;
|
|
13
|
+
}
|
|
14
|
+
hideCompetency(event) {
|
|
15
|
+
this.hideCompetencyBlock = event;
|
|
16
|
+
this.emptyResponse.emit(event);
|
|
17
|
+
this.eventCallback({
|
|
18
|
+
action: 'hide-competency',
|
|
19
|
+
source: 'competency',
|
|
20
|
+
id: 'competency-block'
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
raiseCompetencyTelemetry(name) {
|
|
24
|
+
this.telemetryResponse.emit(name);
|
|
25
|
+
this.eventCallback({
|
|
26
|
+
action: 'competency-click',
|
|
27
|
+
source: 'competency',
|
|
28
|
+
id: `${name}-core-expertise`
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CompetencyComponent, deps: [{ token: 'orgId' }, { token: 'eventCallback' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CompetencyComponent, selector: "app-competency", inputs: { competency: "competency" }, outputs: { emptyResponse: "emptyResponse", telemetryResponse: "telemetryResponse" }, ngImport: i0, template: "<div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\"\n *ngIf=\"!hideCompetencyBlock; else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">\n This section shows the list of top competencies users in this MDO are learning, \n based on the courses they've completed and enrolled in.\n </p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo \n [dynamicColor]=\"'#999999'\" \n [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\" \n (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\" \n [objectData]=\"competency\"\n [providerId]=\"orgId\">\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n</div>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CompetencyPassbookMdoComponent, selector: "sb-uic-competency-passbook-mdo", inputs: ["objectData", "providerId", "cardDisplayCount", "dynamicClass", "dynamicColor", "dynamicAlignPills"], outputs: ["emptyResponse", "temeletryResponse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CompetencyComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'app-competency', template: "<div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\"\n *ngIf=\"!hideCompetencyBlock; else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">\n This section shows the list of top competencies users in this MDO are learning, \n based on the courses they've completed and enrolled in.\n </p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo \n [dynamicColor]=\"'#999999'\" \n [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\" \n (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\" \n [objectData]=\"competency\"\n [providerId]=\"orgId\">\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n</div>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\">\n <img src=\"/assets/common/error-pages/empty_search.svg\" alt=\"No results\" class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>" }]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
38
|
+
type: Inject,
|
|
39
|
+
args: ['orgId']
|
|
40
|
+
}] }, { type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: ['eventCallback']
|
|
43
|
+
}] }]; }, propDecorators: { competency: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], emptyResponse: [{
|
|
46
|
+
type: Output
|
|
47
|
+
}], telemetryResponse: [{
|
|
48
|
+
type: Output
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL21pY3Jvc2l0ZXMvbWRvLWNoYW5uZWxzL2NvbXBvbmVudHMvY29tcGV0ZW5jeS9jb21wZXRlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi9jb25zdW1wdGlvbi9zcmMvbGliL19jb21tb24vbWljcm9zaXRlcy9tZG8tY2hhbm5lbHMvY29tcG9uZW50cy9jb21wZXRlbmN5L2NvbXBldGVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTy9FLE1BQU0sT0FBTyxtQkFBbUI7SUFPOUIsWUFDMEIsS0FBYSxFQUNKLGFBQW1DO1FBRDVDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDSixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFQNUQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekQsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO0lBS3pCLENBQUM7SUFFSixjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDakIsTUFBTSxFQUFFLGlCQUFpQjtZQUN6QixNQUFNLEVBQUUsWUFBWTtZQUNwQixFQUFFLEVBQUUsa0JBQWtCO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxJQUFZO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNqQixNQUFNLEVBQUUsa0JBQWtCO1lBQzFCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLEVBQUUsRUFBRSxHQUFHLElBQUksaUJBQWlCO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBN0JVLG1CQUFtQixrQkFRcEIsT0FBTyxhQUNQLGVBQWU7bUdBVGQsbUJBQW1CLGlMQ1BoQyx5c0NBNEJjOzs0RkRyQkQsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQjs7MEJBWXZCLE1BQU07MkJBQUMsT0FBTzs7MEJBQ2QsTUFBTTsyQkFBQyxlQUFlOzRDQVJoQixVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29tcGV0ZW5jeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lDb21wb25lbnQge1xuICBASW5wdXQoKSBjb21wZXRlbmN5OiBhbnk7XG4gIEBPdXRwdXQoKSBlbXB0eVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgdGVsZW1ldHJ5UmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgXG4gIGhpZGVDb21wZXRlbmN5QmxvY2sgPSBmYWxzZTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ29yZ0lkJykgcHVibGljIG9yZ0lkOiBzdHJpbmcsXG4gICAgQEluamVjdCgnZXZlbnRDYWxsYmFjaycpIHByaXZhdGUgZXZlbnRDYWxsYmFjazogKGV2ZW50OiBhbnkpID0+IHZvaWRcbiAgKSB7fVxuICBcbiAgaGlkZUNvbXBldGVuY3koZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaGlkZUNvbXBldGVuY3lCbG9jayA9IGV2ZW50O1xuICAgIHRoaXMuZW1wdHlSZXNwb25zZS5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLmV2ZW50Q2FsbGJhY2soe1xuICAgICAgYWN0aW9uOiAnaGlkZS1jb21wZXRlbmN5JyxcbiAgICAgIHNvdXJjZTogJ2NvbXBldGVuY3knLFxuICAgICAgaWQ6ICdjb21wZXRlbmN5LWJsb2NrJ1xuICAgIH0pO1xuICB9XG4gIFxuICByYWlzZUNvbXBldGVuY3lUZWxlbWV0cnkobmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy50ZWxlbWV0cnlSZXNwb25zZS5lbWl0KG5hbWUpO1xuICAgIHRoaXMuZXZlbnRDYWxsYmFjayh7XG4gICAgICBhY3Rpb246ICdjb21wZXRlbmN5LWNsaWNrJyxcbiAgICAgIHNvdXJjZTogJ2NvbXBldGVuY3knLFxuICAgICAgaWQ6IGAke25hbWV9LWNvcmUtZXhwZXJ0aXNlYFxuICAgIH0pO1xuICB9XG59IiwiPGRpdiBjbGFzcz1cInBhZGRpbmctdG9wLWwgcGFkZGluZy1ib3R0b20tbCByZWxhdGl2ZVwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbXBldGVuY3k/LmJhY2tncm91bmRcIlxuICAgICAqbmdJZj1cIiFoaWRlQ29tcGV0ZW5jeUJsb2NrOyBlbHNlIG5vRGF0YVwiPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGNvbnRhaW5lci1iYWxhbmNlZFwiPlxuICAgIDxwIGNsYXNzPVwibWF0LWJvZHktMSBwbC01IHByLTQgbWQ6cGwtMCBtZDpwci0wXCI+XG4gICAgICBUaGlzIHNlY3Rpb24gc2hvd3MgdGhlIGxpc3Qgb2YgdG9wIGNvbXBldGVuY2llcyB1c2VycyBpbiB0aGlzIE1ETyBhcmUgbGVhcm5pbmcsIFxuICAgICAgYmFzZWQgb24gdGhlIGNvdXJzZXMgdGhleSd2ZSBjb21wbGV0ZWQgYW5kIGVucm9sbGVkIGluLlxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwicGwtNCBwci00IG1kOnBsLTAgbWQ6cHItMFwiPlxuICAgICAgPHNiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rLW1kbyBcbiAgICAgICAgW2R5bmFtaWNDb2xvcl09XCInIzk5OTk5OSdcIiBcbiAgICAgICAgW2R5bmFtaWNBbGlnblBpbGxzXT1cIidzdGFydCdcIlxuICAgICAgICBbY2FyZERpc3BsYXlDb3VudF09XCIyXCIgXG4gICAgICAgIChlbXB0eVJlc3BvbnNlKT1cImhpZGVDb21wZXRlbmN5KCRldmVudClcIlxuICAgICAgICAodGVtZWxldHJ5UmVzcG9uc2UpPVwicmFpc2VDb21wZXRlbmN5VGVsZW1ldHJ5KCRldmVudClcIiBcbiAgICAgICAgW29iamVjdERhdGFdPVwiY29tcGV0ZW5jeVwiXG4gICAgICAgIFtwcm92aWRlcklkXT1cIm9yZ0lkXCI+XG4gICAgICA8L3NiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rLW1kbz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIHctZnVsbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4teGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9jb21tb24vZXJyb3ItcGFnZXMvZW1wdHlfc2VhcmNoLnN2Z1wiIGFsdD1cIk5vIHJlc3VsdHNcIiBjbGFzcz1cIm1hcmdpbi10b3AtbCBtYXJnaW4tYm90dG9tLXNcIj5cbiAgICAgIDxoMiBjbGFzcz1cIm1hdC1oMlwiPnt7J2xlYXJuc2VhcmNoLm5vUmVzdWx0cycgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Component, Inject, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../../../content-strip-with-tabs-lib/content-strip-with-tabs-lib.component";
|
|
5
|
+
export class ContentStripComponent {
|
|
6
|
+
constructor(orgId, channelName, eventCallback) {
|
|
7
|
+
this.orgId = orgId;
|
|
8
|
+
this.channelName = channelName;
|
|
9
|
+
this.eventCallback = eventCallback;
|
|
10
|
+
this.viewAllResponse = new EventEmitter();
|
|
11
|
+
this.telemetryResponse = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
showAllContent(event) {
|
|
14
|
+
this.viewAllResponse.emit({
|
|
15
|
+
event: event,
|
|
16
|
+
data: this.data
|
|
17
|
+
});
|
|
18
|
+
this.eventCallback({
|
|
19
|
+
action: 'view-all',
|
|
20
|
+
source: 'contentStrip',
|
|
21
|
+
id: this.data?.sectionKey || 'content-section',
|
|
22
|
+
data: event
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
raiseTelemetryInteratEvent(event) {
|
|
26
|
+
this.telemetryResponse.emit(event);
|
|
27
|
+
this.eventCallback({
|
|
28
|
+
action: 'telemetry',
|
|
29
|
+
source: 'contentStrip',
|
|
30
|
+
id: event.id || 'content-interaction',
|
|
31
|
+
data: event
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentStripComponent, deps: [{ token: 'orgId' }, { token: 'channelName' }, { token: 'eventCallback' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContentStripComponent, selector: "app-content-strip", inputs: { data: "data" }, outputs: { viewAllResponse: "viewAllResponse", telemetryResponse: "telemetryResponse" }, ngImport: i0, template: "<ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"true\" \n (viewAllResponse)=\"showAllContent($event)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\" \n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ContentStripWithTabsLibComponent, selector: "sb-uic-content-strip-with-tabs", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryResponse"] }] }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentStripComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'app-content-strip', template: "<ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs \n [emitViewAll]=\"true\" \n (viewAllResponse)=\"showAllContent($event)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\" \n [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\" \n [channnelName]=\"channelName\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n</ng-container>" }]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: ['orgId']
|
|
43
|
+
}] }, { type: undefined, decorators: [{
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: ['channelName']
|
|
46
|
+
}] }, { type: undefined, decorators: [{
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: ['eventCallback']
|
|
49
|
+
}] }]; }, propDecorators: { data: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], viewAllResponse: [{
|
|
52
|
+
type: Output
|
|
53
|
+
}], telemetryResponse: [{
|
|
54
|
+
type: Output
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zdHJpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL21pY3Jvc2l0ZXMvbWRvLWNoYW5uZWxzL2NvbXBvbmVudHMvY29udGVudC1zdHJpcC9jb250ZW50LXN0cmlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi9jb25zdW1wdGlvbi9zcmMvbGliL19jb21tb24vbWljcm9zaXRlcy9tZG8tY2hhbm5lbHMvY29tcG9uZW50cy9jb250ZW50LXN0cmlwL2NvbnRlbnQtc3RyaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUMwQixLQUFhLEVBQ1AsV0FBbUIsRUFDaEIsYUFBbUM7UUFGNUMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNQLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQU41RCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQU1uRCxDQUFDO0lBRUosY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDeEIsS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNqQixNQUFNLEVBQUUsVUFBVTtZQUNsQixNQUFNLEVBQUUsY0FBYztZQUN0QixFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLElBQUksaUJBQWlCO1lBQzlDLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDBCQUEwQixDQUFDLEtBQVU7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxXQUFXO1lBQ25CLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLHFCQUFxQjtZQUNyQyxJQUFJLEVBQUUsS0FBSztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBaENVLHFCQUFxQixrQkFNdEIsT0FBTyxhQUNQLGFBQWEsYUFDYixlQUFlO21HQVJkLHFCQUFxQiw0S0NQbEMsOGZBYWU7OzRGRE5GLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQVUxQixNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsZUFBZTs0Q0FQaEIsSUFBSTtzQkFBWixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29udGVudC1zdHJpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXN0cmlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1zdHJpcC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRTdHJpcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgQE91dHB1dCgpIHZpZXdBbGxSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdGVsZW1ldHJ5UmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ29yZ0lkJykgcHVibGljIG9yZ0lkOiBzdHJpbmcsXG4gICAgQEluamVjdCgnY2hhbm5lbE5hbWUnKSBwdWJsaWMgY2hhbm5lbE5hbWU6IHN0cmluZyxcbiAgICBASW5qZWN0KCdldmVudENhbGxiYWNrJykgcHJpdmF0ZSBldmVudENhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZFxuICApIHt9XG4gIFxuICBzaG93QWxsQ29udGVudChldmVudDogYW55KSB7XG4gICAgdGhpcy52aWV3QWxsUmVzcG9uc2UuZW1pdCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBkYXRhOiB0aGlzLmRhdGFcbiAgICB9KTtcbiAgICB0aGlzLmV2ZW50Q2FsbGJhY2soe1xuICAgICAgYWN0aW9uOiAndmlldy1hbGwnLFxuICAgICAgc291cmNlOiAnY29udGVudFN0cmlwJyxcbiAgICAgIGlkOiB0aGlzLmRhdGE/LnNlY3Rpb25LZXkgfHwgJ2NvbnRlbnQtc2VjdGlvbicsXG4gICAgICBkYXRhOiBldmVudFxuICAgIH0pO1xuICB9XG4gIFxuICByYWlzZVRlbGVtZXRyeUludGVyYXRFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy50ZWxlbWV0cnlSZXNwb25zZS5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLmV2ZW50Q2FsbGJhY2soe1xuICAgICAgYWN0aW9uOiAndGVsZW1ldHJ5JyxcbiAgICAgIHNvdXJjZTogJ2NvbnRlbnRTdHJpcCcsXG4gICAgICBpZDogZXZlbnQuaWQgfHwgJ2NvbnRlbnQtaW50ZXJhY3Rpb24nLFxuICAgICAgZGF0YTogZXZlbnRcbiAgICB9KTtcbiAgfVxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YT8uY29udGVudFN0cmlwPy5oaWRlU2VjdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBtYi04XCI+XG4gICAgPGRpdiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgPHNiLXVpYy1jb250ZW50LXN0cmlwLXdpdGgtdGFicyBcbiAgICAgICAgW2VtaXRWaWV3QWxsXT1cInRydWVcIiBcbiAgICAgICAgKHZpZXdBbGxSZXNwb25zZSk9XCJzaG93QWxsQ29udGVudCgkZXZlbnQpXCJcbiAgICAgICAgKHRlbGVtdHJ5UmVzcG9uc2UpPVwicmFpc2VUZWxlbWV0cnlJbnRlcmF0RXZlbnQoJGV2ZW50KVwiIFxuICAgICAgICBbcHJvdmlkZXJJZF09XCJvcmdJZFwiXG4gICAgICAgIFt3aWRnZXREYXRhXT1cImRhdGE/LmNvbnRlbnRTdHJpcFwiIFxuICAgICAgICBbY2hhbm5uZWxOYW1lXT1cImNoYW5uZWxOYW1lXCI+XG4gICAgICA8L3NiLXVpYy1jb250ZW50LXN0cmlwLXdpdGgtdGFicz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
|