@sunbird-cb/resolver 0.0.3 → 1.0.0-ang-13-16
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/invalid-permission/invalid-permission.component.mjs +29 -0
- package/esm2022/lib/invalid-registration/invalid-registration.component.mjs +23 -0
- package/esm2022/lib/restricted/restricted.component.mjs +23 -0
- package/esm2022/lib/unresolved/unresolved.component.mjs +30 -0
- package/esm2022/lib/widget-base.component.mjs +60 -0
- package/esm2022/lib/widget-resolver.constant.mjs +4 -0
- package/esm2022/lib/widget-resolver.directive.mjs +35 -0
- package/esm2022/lib/widget-resolver.model.mjs +2 -0
- package/esm2022/lib/widget-resolver.module.mjs +70 -0
- package/esm2022/lib/widget-resolver.permissions.mjs +74 -0
- package/esm2022/lib/widget-resolver.service.mjs +96 -0
- package/esm2022/public-api.mjs +7 -0
- package/esm2022/sunbird-cb-resolver.mjs +2 -0
- package/fesm2022/sunbird-cb-resolver.mjs +401 -0
- package/fesm2022/sunbird-cb-resolver.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/lib/invalid-permission/invalid-permission.component.d.ts +15 -11
- package/lib/invalid-permission/invalid-permission.component.d.ts.map +1 -0
- package/lib/invalid-registration/invalid-registration.component.d.ts +12 -8
- package/lib/invalid-registration/invalid-registration.component.d.ts.map +1 -0
- package/lib/restricted/restricted.component.d.ts +12 -8
- package/lib/restricted/restricted.component.d.ts.map +1 -0
- package/lib/unresolved/unresolved.component.d.ts +14 -10
- package/lib/unresolved/unresolved.component.d.ts.map +1 -0
- package/lib/widget-base.component.d.ts +19 -15
- package/lib/widget-base.component.d.ts.map +1 -0
- package/lib/widget-resolver.constant.d.ts +5 -4
- package/lib/widget-resolver.constant.d.ts.map +1 -0
- package/lib/widget-resolver.directive.d.ts +16 -12
- package/lib/widget-resolver.directive.d.ts.map +1 -0
- package/lib/widget-resolver.model.d.ts +49 -48
- package/lib/widget-resolver.model.d.ts.map +1 -0
- package/lib/widget-resolver.module.d.ts +21 -6
- package/lib/widget-resolver.module.d.ts.map +1 -0
- package/lib/widget-resolver.permissions.d.ts +4 -3
- package/lib/widget-resolver.permissions.d.ts.map +1 -0
- package/lib/widget-resolver.service.d.ts +24 -22
- package/lib/widget-resolver.service.d.ts.map +1 -0
- package/package.json +30 -25
- package/public-api.d.ts +7 -5
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-resolver-1.0.0-ang-13-16.tgz +0 -0
- package/sunbird-cb-resolver.d.ts.map +1 -0
- package/bundles/sunbird-cb-resolver.umd.js +0 -750
- package/bundles/sunbird-cb-resolver.umd.js.map +0 -1
- package/bundles/sunbird-cb-resolver.umd.min.js +0 -16
- package/bundles/sunbird-cb-resolver.umd.min.js.map +0 -1
- package/esm2015/lib/invalid-permission/invalid-permission.component.js +0 -30
- package/esm2015/lib/invalid-registration/invalid-registration.component.js +0 -24
- package/esm2015/lib/restricted/restricted.component.js +0 -24
- package/esm2015/lib/unresolved/unresolved.component.js +0 -33
- package/esm2015/lib/widget-base.component.js +0 -51
- package/esm2015/lib/widget-resolver.constant.js +0 -4
- package/esm2015/lib/widget-resolver.directive.js +0 -43
- package/esm2015/lib/widget-resolver.model.js +0 -57
- package/esm2015/lib/widget-resolver.module.js +0 -65
- package/esm2015/lib/widget-resolver.permissions.js +0 -74
- package/esm2015/lib/widget-resolver.service.js +0 -114
- package/esm2015/public-api.js +0 -6
- package/esm2015/sunbird-cb-resolver.js +0 -8
- package/esm5/lib/invalid-permission/invalid-permission.component.js +0 -35
- package/esm5/lib/invalid-registration/invalid-registration.component.js +0 -29
- package/esm5/lib/restricted/restricted.component.js +0 -29
- package/esm5/lib/unresolved/unresolved.component.js +0 -38
- package/esm5/lib/widget-base.component.js +0 -54
- package/esm5/lib/widget-resolver.constant.js +0 -4
- package/esm5/lib/widget-resolver.directive.js +0 -45
- package/esm5/lib/widget-resolver.model.js +0 -57
- package/esm5/lib/widget-resolver.module.js +0 -69
- package/esm5/lib/widget-resolver.permissions.js +0 -79
- package/esm5/lib/widget-resolver.service.js +0 -120
- package/esm5/public-api.js +0 -6
- package/esm5/sunbird-cb-resolver.js +0 -8
- package/fesm2015/sunbird-cb-resolver.js +0 -489
- package/fesm2015/sunbird-cb-resolver.js.map +0 -1
- package/fesm5/sunbird-cb-resolver.js +0 -517
- package/fesm5/sunbird-cb-resolver.js.map +0 -1
- package/sunbird-cb-resolver.d.ts +0 -8
- package/sunbird-cb-resolver.metadata.json +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sunbird-cb-resolver.mjs","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.constant.ts","../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.permissions.ts","../../../../library/sunbird-cb/resolver/src/lib/widget-base.component.ts","../../../../library/sunbird-cb/resolver/src/lib/restricted/restricted.component.ts","../../../../library/sunbird-cb/resolver/src/lib/restricted/restricted.component.html","../../../../library/sunbird-cb/resolver/src/lib/invalid-registration/invalid-registration.component.ts","../../../../library/sunbird-cb/resolver/src/lib/invalid-registration/invalid-registration.component.html","../../../../library/sunbird-cb/resolver/src/lib/invalid-permission/invalid-permission.component.ts","../../../../library/sunbird-cb/resolver/src/lib/invalid-permission/invalid-permission.component.html","../../../../library/sunbird-cb/resolver/src/lib/unresolved/unresolved.component.ts","../../../../library/sunbird-cb/resolver/src/lib/unresolved/unresolved.component.html","../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.service.ts","../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.directive.ts","../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.module.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\r\nimport { NsWidgetResolver as resolver } from './widget-resolver.model'\r\n\r\nexport const WIDGET_RESOLVER_GLOBAL_CONFIG = new InjectionToken<resolver.IRegistrationConfig[]>(\r\n 'Global Registration Configuration for Widget Resolvers',\r\n)\r\n\r\nexport const WIDGET_RESOLVER_SCOPED_CONFIG = new InjectionToken<resolver.IRegistrationConfig[]>(\r\n 'Scoped Registration Configuration for Widget Resolvers',\r\n)\r\n","import { NsWidgetResolver } from './widget-resolver.model'\r\n\r\nfunction isStringArray(strArr: string[] | any): boolean {\r\n return Array.isArray(strArr) && strArr.every(u => typeof u === 'string')\r\n}\r\n\r\nfunction isCheckRequired(requiredPermission: NsWidgetResolver.UnitPermission): boolean {\r\n if (\r\n requiredPermission === undefined ||\r\n requiredPermission === null ||\r\n requiredPermission === '' ||\r\n (Array.isArray(requiredPermission) && requiredPermission.length === 0)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\nfunction flipBoolean(value: boolean, flip = false) {\r\n return flip ? !value : value\r\n}\r\n\r\nfunction permissionTest(\r\n testFor: 'all' | 'some' | 'none',\r\n requiredPermission: NsWidgetResolver.UnitPermissionPrimitive | string[],\r\n matchAgainst: Set<string>,\r\n isRestrictive = false,\r\n) {\r\n if (!isCheckRequired(requiredPermission)) {\r\n return true\r\n }\r\n if (typeof requiredPermission === 'string') {\r\n switch (testFor) {\r\n case 'all':\r\n case 'some':\r\n return flipBoolean(matchAgainst.has(requiredPermission), isRestrictive)\r\n case 'none':\r\n return flipBoolean(!matchAgainst.has(requiredPermission), isRestrictive)\r\n }\r\n }\r\n if (Array.isArray(requiredPermission)) {\r\n const matcher = (u: string) =>\r\n typeof u === 'string' && flipBoolean(matchAgainst.has(u), isRestrictive)\r\n switch (testFor) {\r\n case 'all':\r\n return requiredPermission.every(matcher)\r\n case 'some':\r\n return requiredPermission.some(matcher)\r\n case 'none':\r\n return !requiredPermission.every(matcher)\r\n }\r\n }\r\n return false\r\n}\r\n\r\nexport function hasUnitPermission(\r\n requiredPermission: NsWidgetResolver.UnitPermission,\r\n matchAgainst?: Set<string> | string[] | string | null | undefined,\r\n isRestrictive = false,\r\n): boolean {\r\n if (!isCheckRequired(requiredPermission)) {\r\n return true\r\n }\r\n const accessValues: Set<string> =\r\n matchAgainst instanceof Set\r\n ? matchAgainst\r\n : Array.isArray(matchAgainst) && isStringArray(matchAgainst)\r\n ? new Set(matchAgainst)\r\n : typeof matchAgainst === 'string'\r\n ? new Set([matchAgainst])\r\n : new Set()\r\n\r\n if (typeof requiredPermission === 'object' && requiredPermission !== null) {\r\n if (Array.isArray(requiredPermission)) {\r\n return permissionTest('all', requiredPermission, accessValues, isRestrictive)\r\n }\r\n return (\r\n permissionTest(\r\n 'all',\r\n 'all' in requiredPermission ? requiredPermission.all : null,\r\n accessValues,\r\n isRestrictive,\r\n ) &&\r\n permissionTest(\r\n 'some',\r\n 'some' in requiredPermission ? requiredPermission.some : null,\r\n accessValues,\r\n isRestrictive,\r\n ) &&\r\n permissionTest(\r\n 'none',\r\n 'none' in requiredPermission ? requiredPermission.none : null,\r\n accessValues,\r\n isRestrictive,\r\n )\r\n )\r\n }\r\n return false\r\n}\r\n\r\nexport function hasPermissions(\r\n requiredPermission?: NsWidgetResolver.IPermissions,\r\n availableRoles?: Set<string> | string | string[] | null | undefined,\r\n availableGroups?: Set<string> | string | string[] | null | undefined,\r\n restrictedFeatures?: Set<string> | string | string[] | null | undefined,\r\n): boolean {\r\n if (!requiredPermission) {\r\n return true\r\n }\r\n if (!requiredPermission.available || !requiredPermission.enabled) {\r\n return false\r\n }\r\n return (\r\n hasUnitPermission(requiredPermission.groups, availableGroups) &&\r\n hasUnitPermission(requiredPermission.roles, availableRoles) &&\r\n hasUnitPermission(requiredPermission.features, restrictedFeatures, true)\r\n )\r\n}\r\n","import { AfterViewInit, Component, HostBinding, Input } from '@angular/core'\r\nimport { SafeStyle } from '@angular/platform-browser'\r\nimport { NsWidgetResolver } from './widget-resolver.model'\r\ntype TWidgetBase = Omit<NsWidgetResolver.IWidgetData<any>, 'widgetData'>\r\n\r\n@Component({\r\n selector: 'ws-resolver-base',\r\n template: 'Base Component',\r\n})\r\nexport class WidgetBaseComponent implements TWidgetBase, AfterViewInit {\r\n @Input() widgetType = ''\r\n @Input() widgetSubType = ''\r\n @Input() widgetHostClass?: string\r\n\r\n @Input()\r\n @HostBinding('id')\r\n public widgetInstanceId?: string\r\n\r\n @Input()\r\n @HostBinding('style')\r\n public widgetSafeStyle?: SafeStyle\r\n\r\n @Input()\r\n @HostBinding('class') className?: string\r\n\r\n updateBaseComponent(\r\n widgetType: string,\r\n widgetSubType: string,\r\n widgetInstanceId?: string,\r\n widgetHostClass?: string,\r\n widgetSafeStyle?: SafeStyle,\r\n ) {\r\n this.widgetType = widgetType\r\n this.widgetSubType = widgetSubType\r\n this.widgetInstanceId = widgetInstanceId\r\n this.widgetHostClass = widgetHostClass\r\n this.widgetSafeStyle = widgetSafeStyle\r\n if (this.widgetHostClass) {\r\n this.className = `${this.className} ${this.widgetHostClass}`\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n const hash: any = window.location.hash ? window.location.hash.split('#')[1] : ''\r\n if (hash && !isNaN(hash) && hash === this.widgetInstanceId) {\r\n setTimeout(\r\n () => {\r\n const element = document.getElementById(this.widgetInstanceId || '')\r\n if (element) {\r\n element.scrollIntoView()\r\n }\r\n },\r\n 200,\r\n )\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core'\r\nimport { NsWidgetResolver } from '../widget-resolver.model'\r\nimport { WidgetBaseComponent } from '../widget-base.component'\r\n@Component({\r\n selector: 'ws-resolver-restricted',\r\n templateUrl: './restricted.component.html',\r\n styleUrls: ['./restricted.component.scss'],\r\n})\r\nexport class RestrictedComponent extends WidgetBaseComponent\r\n implements OnInit, NsWidgetResolver.IWidgetData<any> {\r\n @Input() widgetData!: any\r\n showData = true\r\n\r\n ngOnInit() { }\r\n}\r\n","<mat-card class=\"margin-m\">\r\n <mat-card-header>\r\n <div mat-card-avatar class=\"mat-card-avatar-override\">\r\n <mat-icon color=\"warn\">report_problem</mat-icon>\r\n </div>\r\n <mat-card-title>\r\n <ng-container i18n>\r\n Error as Restricted Widget\r\n </ng-container>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex flex-wrap flex-between\">\r\n <div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Type :\r\n </span>\r\n {{ widgetType }}\r\n </div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Sub Type :\r\n </span>\r\n {{ widgetSubType }}\r\n </div>\r\n </div>\r\n <div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"!showData\" (click)=\"showData = true\">\r\n <ng-container i18n>See Details</ng-container>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"showData\" (click)=\"showData = false\">\r\n <ng-container i18n>Hide Details</ng-container>\r\n <mat-icon>arrow_drop_up</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <pre *ngIf=\"showData\" class=\"margin-top-s \"><span i18n class=\"mat-body-2 font-bold\">Widget Data :</span>\r\n{{ widgetData | json }}\r\n </pre>\r\n </ng-container>\r\n</mat-card>","import { Component, OnInit, Input } from '@angular/core'\r\nimport { NsWidgetResolver } from '../widget-resolver.model'\r\nimport { WidgetBaseComponent } from '../widget-base.component'\r\n@Component({\r\n selector: 'ws-resolver-invalid-registration',\r\n templateUrl: './invalid-registration.component.html',\r\n styleUrls: ['./invalid-registration.component.scss'],\r\n})\r\nexport class InvalidRegistrationComponent extends WidgetBaseComponent\r\n implements OnInit, NsWidgetResolver.IWidgetData<any> {\r\n @Input() widgetData!: any\r\n showData = true\r\n ngOnInit() { }\r\n}\r\n","<mat-card class=\"margin-m\">\r\n <mat-card-header>\r\n <div mat-card-avatar class=\"mat-card-avatar-override\">\r\n <mat-icon color=\"warn\">report_problem</mat-icon>\r\n </div>\r\n <mat-card-title>\r\n <ng-container i18n>\r\n Error as Invalid Registration for Widget\r\n </ng-container>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex flex-wrap flex-between\">\r\n <div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Type :\r\n </span>\r\n {{ widgetType }}\r\n </div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Sub Type :\r\n </span>\r\n {{ widgetSubType }}\r\n </div>\r\n </div>\r\n <div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"!showData\" (click)=\"showData = true\">\r\n <ng-container i18n>See Details</ng-container>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"showData\" (click)=\"showData = false\">\r\n <ng-container i18n>Hide Details</ng-container>\r\n <mat-icon>arrow_drop_up</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <pre *ngIf=\"showData\" class=\"margin-top-s \"><span i18n class=\"mat-body-2 font-bold\">Widget Data :</span>\r\n{{ widgetData | json }}\r\n </pre>\r\n </ng-container>\r\n</mat-card>","import { Component, OnInit, Input } from '@angular/core'\r\nimport { WidgetBaseComponent } from '../widget-base.component'\r\nimport { NsWidgetResolver } from '../widget-resolver.model'\r\n\r\n@Component({\r\n selector: 'ws-resolver-invalid-permission',\r\n templateUrl: './invalid-permission.component.html',\r\n styleUrls: ['./invalid-permission.component.scss'],\r\n})\r\nexport class InvalidPermissionComponent extends WidgetBaseComponent\r\n implements OnInit, NsWidgetResolver.IWidgetData<any> {\r\n @Input() widgetType!: string\r\n @Input() widgetSubType!: string\r\n @Input() widgetInstanceId?: string\r\n @Input() widgetData!: any\r\n showData = true\r\n\r\n ngOnInit() { }\r\n}\r\n","<mat-card class=\"margin-m\">\r\n <mat-card-header>\r\n <div mat-card-avatar class=\"mat-card-avatar-override\">\r\n <mat-icon color=\"warn\">report_problem</mat-icon>\r\n </div>\r\n <mat-card-title>\r\n <ng-container i18n>\r\n Error as Invalid Permission for Widget\r\n </ng-container>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex flex-wrap flex-between\">\r\n <div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Type :\r\n </span>\r\n {{ widgetType }}\r\n </div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Sub Type :\r\n </span>\r\n {{ widgetSubType }}\r\n </div>\r\n </div>\r\n <div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"!showData\" (click)=\"showData = true\">\r\n <ng-container i18n>See Details</ng-container>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"showData\" (click)=\"showData = false\">\r\n <ng-container i18n>Hide Details</ng-container>\r\n <mat-icon>arrow_drop_up</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <pre *ngIf=\"showData\" class=\"margin-top-s \"><span i18n class=\"mat-body-2 font-bold\">Widget Data :</span>\r\n{{ widgetData | json }}\r\n </pre>\r\n </ng-container>\r\n</mat-card>","import { Component, OnInit, Input } from '@angular/core'\r\nimport { NsWidgetResolver } from '../widget-resolver.model'\r\nimport { WidgetBaseComponent } from '../widget-base.component'\r\n@Component({\r\n selector: 'ws-resolver-unresolved',\r\n templateUrl: './unresolved.component.html',\r\n styleUrls: ['./unresolved.component.scss'],\r\n})\r\nexport class UnresolvedComponent extends WidgetBaseComponent\r\n implements OnInit, NsWidgetResolver.IWidgetData<any> {\r\n @Input() widgetData!: any\r\n showData = true\r\n previewMode = false\r\n searchArray = ['preview', 'channel']\r\n\r\n ngOnInit() {\r\n const url = window.location.href\r\n this.previewMode = this.searchArray.some((word: string) => {\r\n return url.indexOf(word) > -1\r\n })\r\n }\r\n}\r\n","<ng-container *ngIf=\"previewMode\" [ngTemplateOutlet]=\"previewCardTemplate\"></ng-container>\r\n<ng-container *ngIf=\"!previewMode\" [ngTemplateOutlet]=\"unresolvedTemplate\"></ng-container>\r\n\r\n<ng-template #unresolvedTemplate>\r\n <mat-card class=\"margin-m\">\r\n <mat-card-header>\r\n <div mat-card-avatar class=\"mat-card-avatar-override\">\r\n <mat-icon color=\"warn\">report_problem</mat-icon>\r\n </div>\r\n <mat-card-title>\r\n <ng-container i18n>\r\n Error in Resolving Json for Widget\r\n </ng-container>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex flex-wrap flex-between\">\r\n <div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Type :\r\n </span>\r\n {{ widgetType }}\r\n </div>\r\n <div class=\"margin-top-s\">\r\n <span class=\"mat-body-2 font-bold\" i18n>\r\n Widget Sub Type :\r\n </span>\r\n {{ widgetSubType }}\r\n </div>\r\n </div>\r\n <div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"!showData\" (click)=\"showData = true\">\r\n <ng-container i18n>See Details</ng-container>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <button mat-raised-button class=\"margin-top-m\" color=\"primary\" *ngIf=\"showData\" (click)=\"showData = false\">\r\n <ng-container i18n>Hide Details</ng-container>\r\n <mat-icon>arrow_drop_up</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"widgetData\">\r\n <pre *ngIf=\"showData\" class=\"margin-top-s\"><span i18n class=\"mat-body-2 font-bold\">Widget Data :</span>\r\n{{ widgetData | json }}\r\n </pre>\r\n </ng-container>\r\n </mat-card>\r\n</ng-template>\r\n<ng-template #previewCardTemplate>\r\n <mat-card>\r\n <div class=\"w-full\">\r\n <div class=\"p-4\">\r\n <div class=\"text-3xl font-semibold text-center leading-tight\" i18n>\r\n Content not available\r\n </div>\r\n <br />\r\n <div class=\"text-base font-medium text-center leading-normal\" i18n>\r\n Please add widget or provide data to widget template\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n</ng-template>","import {\r\n Injectable,\r\n Inject,\r\n ComponentFactoryResolver,\r\n ViewContainerRef,\r\n ComponentRef,\r\n Type,\r\n} from '@angular/core'\r\nimport {\r\n WIDGET_RESOLVER_GLOBAL_CONFIG,\r\n WIDGET_RESOLVER_SCOPED_CONFIG,\r\n} from './widget-resolver.constant'\r\n// import { LoggerService } from '@sunbird-cb/utils'\r\nimport { NsWidgetResolver } from './widget-resolver.model'\r\nimport { hasPermissions } from './widget-resolver.permissions'\r\nimport { RestrictedComponent } from './restricted/restricted.component'\r\nimport { InvalidRegistrationComponent } from './invalid-registration/invalid-registration.component'\r\nimport { InvalidPermissionComponent } from './invalid-permission/invalid-permission.component'\r\nimport { UnresolvedComponent } from './unresolved/unresolved.component'\r\nimport { DomSanitizer } from '@angular/platform-browser'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetResolverService {\r\n private roles: Set<string> | null = null\r\n private groups: Set<string> | null = null\r\n private restrictedFeatures: Set<string> | null = null\r\n isInitialized = false\r\n constructor(\r\n private domSanitizer: DomSanitizer,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n // private loggerSvc: LoggerService,\r\n @Inject(WIDGET_RESOLVER_GLOBAL_CONFIG)\r\n private globalConfig: null | NsWidgetResolver.IRegistrationConfig[],\r\n @Inject(WIDGET_RESOLVER_SCOPED_CONFIG)\r\n private scopedConfig: null | NsWidgetResolver.IRegistrationConfig[],\r\n ) { }\r\n private availableRegisteredWidgets: Map<\r\n string,\r\n NsWidgetResolver.IRegistrationConfig\r\n > | null = null\r\n private restrictedWidgetKeys: Set<string> | null = null\r\n static getWidgetKey(config: NsWidgetResolver.IBaseConfig) {\r\n return `widget:${config.widgetType}::${config.widgetSubType}`\r\n }\r\n\r\n initialize(\r\n restrictedWidgetKeys: Set<string> | null,\r\n roles: Set<string> | null,\r\n groups: Set<string> | null,\r\n restrictedFeatures: Set<string> | null,\r\n ) {\r\n this.roles = roles\r\n\r\n this.groups = groups\r\n this.restrictedFeatures = restrictedFeatures\r\n const restrictedWidgetKeysSet: Set<string> = restrictedWidgetKeys\r\n ? restrictedWidgetKeys\r\n : new Set<string>()\r\n const registrationConfig: Map<string, NsWidgetResolver.IRegistrationConfig> = new Map()\r\n const allWidgetsConfigurations: NsWidgetResolver.IRegistrationConfig[] = []\r\n if (this.globalConfig && Array.isArray(this.globalConfig)) {\r\n allWidgetsConfigurations.push(...this.globalConfig)\r\n }\r\n if (this.scopedConfig && Array.isArray(this.scopedConfig)) {\r\n allWidgetsConfigurations.push(...this.scopedConfig)\r\n }\r\n allWidgetsConfigurations.forEach(u => {\r\n const key = WidgetResolverService.getWidgetKey(u)\r\n if (!restrictedWidgetKeysSet.has(key)) {\r\n registrationConfig.set(key, u)\r\n }\r\n })\r\n this.restrictedWidgetKeys = restrictedWidgetKeysSet\r\n this.availableRegisteredWidgets = registrationConfig\r\n this.isInitialized = true\r\n // this.loggerSvc.log(\r\n // `Widget Configurations`,\r\n // this.globalConfig,\r\n // this.scopedConfig,\r\n // this.availableRegisteredWidgets,\r\n // )\r\n }\r\n\r\n resolveWidget(\r\n receivedConfig: NsWidgetResolver.IRenderConfigWithAnyData,\r\n containerRef: ViewContainerRef,\r\n ): ComponentRef<any> | null {\r\n const key = WidgetResolverService.getWidgetKey(receivedConfig)\r\n if (this.restrictedWidgetKeys && this.restrictedWidgetKeys.has(key)) {\r\n // Restricted\r\n return this.widgetResolved(containerRef, receivedConfig, RestrictedComponent)\r\n }\r\n if (this.availableRegisteredWidgets && this.availableRegisteredWidgets.has(key)) {\r\n if (\r\n hasPermissions(\r\n receivedConfig.widgetPermission,\r\n this.roles,\r\n this.groups,\r\n this.restrictedFeatures,\r\n )\r\n ) {\r\n const config = this.availableRegisteredWidgets.get(key)\r\n if (config && config.component) {\r\n return this.widgetResolved(containerRef, receivedConfig, config.component)\r\n }\r\n // Not properly registered\r\n return this.widgetResolved(containerRef, receivedConfig, InvalidRegistrationComponent)\r\n }\r\n // No Permission\r\n return this.widgetResolved(containerRef, receivedConfig, InvalidPermissionComponent)\r\n }\r\n // Not Resolved\r\n return this.widgetResolved(containerRef, receivedConfig, UnresolvedComponent)\r\n }\r\n\r\n private widgetResolved(\r\n containerRef: ViewContainerRef,\r\n compData: NsWidgetResolver.IRenderConfigWithAnyData,\r\n component: Type<NsWidgetResolver.IWidgetData<any>>,\r\n ): ComponentRef<NsWidgetResolver.IWidgetData<any>> {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(component)\r\n containerRef.clear()\r\n const compRef: ComponentRef<NsWidgetResolver.IWidgetData<any>> = containerRef.createComponent(\r\n factory,\r\n )\r\n compRef.instance.widgetData = compData.widgetData\r\n if (compRef.instance.updateBaseComponent) {\r\n const widgetSafeStyle = compData.widgetHostStyle\r\n ? this.domSanitizer.bypassSecurityTrustStyle(\r\n Object.entries(compData.widgetHostStyle).reduce((s, [k, v]) => `${s}${k}:${v};`, ''),\r\n )\r\n : undefined\r\n compRef.instance.updateBaseComponent(\r\n compData.widgetType,\r\n compData.widgetSubType,\r\n compData.widgetInstanceId,\r\n compData.widgetHostClass,\r\n widgetSafeStyle,\r\n )\r\n }\r\n return compRef\r\n }\r\n}\r\n","import { Directive, Input, ViewContainerRef, OnChanges } from '@angular/core'\r\nimport { LoggerService } from '@sunbird-cb/utils'\r\nimport { NsWidgetResolver } from './widget-resolver.model'\r\nimport { WidgetResolverService } from './widget-resolver.service'\r\n\r\n@Directive({\r\n selector: '[wsResolverWidget]',\r\n})\r\nexport class WidgetResolverDirective implements OnChanges {\r\n @Input() wsResolverWidget: NsWidgetResolver.IRenderConfigWithAnyData | null = null\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private widgetResolverSvc: WidgetResolverService,\r\n private logger: LoggerService,\r\n ) { }\r\n\r\n ngOnChanges() {\r\n if (!this.widgetResolverSvc.isInitialized) {\r\n this.logger.error(\r\n 'Widgets Registration Not Done. Used Before Initialization.',\r\n this.wsResolverWidget,\r\n )\r\n return\r\n }\r\n if (this.wsResolverWidget) {\r\n const compRef = this.widgetResolverSvc.resolveWidget(\r\n this.wsResolverWidget,\r\n this.viewContainerRef,\r\n )\r\n if (compRef) {\r\n compRef.changeDetectorRef.detectChanges()\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { WidgetResolverDirective } from './widget-resolver.directive'\r\nimport { RestrictedComponent } from './restricted/restricted.component'\r\nimport { InvalidRegistrationComponent } from './invalid-registration/invalid-registration.component'\r\nimport { InvalidPermissionComponent } from './invalid-permission/invalid-permission.component'\r\nimport { UnresolvedComponent } from './unresolved/unresolved.component'\r\nimport { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button'\nimport { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card'\nimport { MatIconModule } from '@angular/material/icon'\r\nimport { NsWidgetResolver } from './widget-resolver.model'\r\nimport { WidgetResolverService } from './widget-resolver.service'\r\nimport { ConfigurationsService } from '@sunbird-cb/utils'\r\nimport {\r\n WIDGET_RESOLVER_GLOBAL_CONFIG,\r\n WIDGET_RESOLVER_SCOPED_CONFIG,\r\n} from './widget-resolver.constant'\r\nimport { WidgetBaseComponent } from './widget-base.component'\r\n@NgModule({\n declarations: [\n WidgetBaseComponent,\n WidgetResolverDirective,\n RestrictedComponent,\n InvalidRegistrationComponent,\n InvalidPermissionComponent,\n UnresolvedComponent,\n ],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatCardModule],\n exports: [WidgetResolverDirective, WidgetBaseComponent],\n providers: [ConfigurationsService]\n})\r\nexport class WidgetResolverModule {\r\n static forRoot(config: NsWidgetResolver.IRegistrationConfig[]): ModuleWithProviders<WidgetResolverModule> {\r\n return {\r\n ngModule: WidgetResolverModule,\r\n providers: [\r\n WidgetResolverService,\r\n {\r\n provide: WIDGET_RESOLVER_GLOBAL_CONFIG,\r\n useValue: config,\r\n },\r\n {\r\n provide: WIDGET_RESOLVER_SCOPED_CONFIG,\r\n useValue: [],\r\n },\r\n ],\r\n }\r\n }\r\n static forChild(config: NsWidgetResolver.IRegistrationConfig[]): ModuleWithProviders<WidgetResolverModule> {\r\n return {\r\n ngModule: WidgetResolverModule,\r\n providers: [\r\n WidgetResolverService,\r\n {\r\n provide: WIDGET_RESOLVER_SCOPED_CONFIG,\r\n useValue: config,\r\n },\r\n ],\r\n }\r\n }\r\n}\r\n"],"names":["i1","i1.WidgetResolverService","i2","MatButtonModule","MatCardModule"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { WidgetBaseComponent } from '../widget-base.component';
|
|
3
|
-
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { WidgetBaseComponent } from '../widget-base.component';
|
|
3
|
+
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class InvalidPermissionComponent extends WidgetBaseComponent implements OnInit, NsWidgetResolver.IWidgetData<any> {
|
|
6
|
+
widgetType: string;
|
|
7
|
+
widgetSubType: string;
|
|
8
|
+
widgetInstanceId?: string;
|
|
9
|
+
widgetData: any;
|
|
10
|
+
showData: boolean;
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InvalidPermissionComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InvalidPermissionComponent, "ws-resolver-invalid-permission", never, { "widgetType": { "alias": "widgetType"; "required": false; }; "widgetSubType": { "alias": "widgetSubType"; "required": false; }; "widgetInstanceId": { "alias": "widgetInstanceId"; "required": false; }; "widgetData": { "alias": "widgetData"; "required": false; }; }, {}, never, never, false, never>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=invalid-permission.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invalid-permission.component.d.ts","sourceRoot":"","sources":["../../../../../library/sunbird-cb/resolver/src/lib/invalid-permission/invalid-permission.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAS,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;;AAE3D,qBAKa,0BAA2B,SAAQ,mBAC9C,YAAW,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC;IAC3C,UAAU,EAAG,MAAM,CAAA;IACnB,aAAa,EAAG,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,EAAG,GAAG,CAAA;IACzB,QAAQ,UAAO;IAEf,QAAQ;yCARG,0BAA0B;2CAA1B,0BAA0B;CAStC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
3
|
-
import { WidgetBaseComponent } from '../widget-base.component';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
3
|
+
import { WidgetBaseComponent } from '../widget-base.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class InvalidRegistrationComponent extends WidgetBaseComponent implements OnInit, NsWidgetResolver.IWidgetData<any> {
|
|
6
|
+
widgetData: any;
|
|
7
|
+
showData: boolean;
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InvalidRegistrationComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InvalidRegistrationComponent, "ws-resolver-invalid-registration", never, { "widgetData": { "alias": "widgetData"; "required": false; }; }, {}, never, never, false, never>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=invalid-registration.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invalid-registration.component.d.ts","sourceRoot":"","sources":["../../../../../library/sunbird-cb/resolver/src/lib/invalid-registration/invalid-registration.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAS,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;;AAC9D,qBAKa,4BAA6B,SAAQ,mBAChD,YAAW,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC;IAC3C,UAAU,EAAG,GAAG,CAAA;IACzB,QAAQ,UAAO;IACf,QAAQ;yCAJG,4BAA4B;2CAA5B,4BAA4B;CAKxC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
3
|
-
import { WidgetBaseComponent } from '../widget-base.component';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
3
|
+
import { WidgetBaseComponent } from '../widget-base.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class RestrictedComponent extends WidgetBaseComponent implements OnInit, NsWidgetResolver.IWidgetData<any> {
|
|
6
|
+
widgetData: any;
|
|
7
|
+
showData: boolean;
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RestrictedComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RestrictedComponent, "ws-resolver-restricted", never, { "widgetData": { "alias": "widgetData"; "required": false; }; }, {}, never, never, false, never>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=restricted.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restricted.component.d.ts","sourceRoot":"","sources":["../../../../../library/sunbird-cb/resolver/src/lib/restricted/restricted.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAS,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;;AAC9D,qBAKa,mBAAoB,SAAQ,mBACvC,YAAW,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC;IAC3C,UAAU,EAAG,GAAG,CAAA;IACzB,QAAQ,UAAO;IAEf,QAAQ;yCALG,mBAAmB;2CAAnB,mBAAmB;CAM/B"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
3
|
-
import { WidgetBaseComponent } from '../widget-base.component';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { NsWidgetResolver } from '../widget-resolver.model';
|
|
3
|
+
import { WidgetBaseComponent } from '../widget-base.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class UnresolvedComponent extends WidgetBaseComponent implements OnInit, NsWidgetResolver.IWidgetData<any> {
|
|
6
|
+
widgetData: any;
|
|
7
|
+
showData: boolean;
|
|
8
|
+
previewMode: boolean;
|
|
9
|
+
searchArray: string[];
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UnresolvedComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UnresolvedComponent, "ws-resolver-unresolved", never, { "widgetData": { "alias": "widgetData"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=unresolved.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unresolved.component.d.ts","sourceRoot":"","sources":["../../../../../library/sunbird-cb/resolver/src/lib/unresolved/unresolved.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAS,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;;AAC9D,qBAKa,mBAAoB,SAAQ,mBACvC,YAAW,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC;IAC3C,UAAU,EAAG,GAAG,CAAA;IACzB,QAAQ,UAAO;IACf,WAAW,UAAQ;IACnB,WAAW,WAAyB;IAEpC,QAAQ;yCAPG,mBAAmB;2CAAnB,mBAAmB;CAa/B"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import { AfterViewInit } from '@angular/core';
|
|
2
|
-
import { SafeStyle } from '@angular/platform-browser';
|
|
3
|
-
import { NsWidgetResolver } from './widget-resolver.model';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { AfterViewInit } from '@angular/core';
|
|
2
|
+
import { SafeStyle } from '@angular/platform-browser';
|
|
3
|
+
import { NsWidgetResolver } from './widget-resolver.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
type TWidgetBase = Omit<NsWidgetResolver.IWidgetData<any>, 'widgetData'>;
|
|
6
|
+
export declare class WidgetBaseComponent implements TWidgetBase, AfterViewInit {
|
|
7
|
+
widgetType: string;
|
|
8
|
+
widgetSubType: string;
|
|
9
|
+
widgetHostClass?: string;
|
|
10
|
+
widgetInstanceId?: string;
|
|
11
|
+
widgetSafeStyle?: SafeStyle;
|
|
12
|
+
className?: string;
|
|
13
|
+
updateBaseComponent(widgetType: string, widgetSubType: string, widgetInstanceId?: string, widgetHostClass?: string, widgetSafeStyle?: SafeStyle): void;
|
|
14
|
+
ngAfterViewInit(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetBaseComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetBaseComponent, "ws-resolver-base", never, { "widgetType": { "alias": "widgetType"; "required": false; }; "widgetSubType": { "alias": "widgetSubType"; "required": false; }; "widgetHostClass": { "alias": "widgetHostClass"; "required": false; }; "widgetInstanceId": { "alias": "widgetInstanceId"; "required": false; }; "widgetSafeStyle": { "alias": "widgetSafeStyle"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, {}, never, never, false, never>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=widget-base.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-base.component.d.ts","sourceRoot":"","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-base.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiC,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;;AAC1D,KAAK,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAA;AAExE,qBAIa,mBAAoB,YAAW,WAAW,EAAE,aAAa;IAC3D,UAAU,SAAK;IACf,aAAa,SAAK;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IAI1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAIzB,eAAe,CAAC,EAAE,SAAS,CAAA;IAGZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAExC,mBAAmB,CACjB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,SAAS;IAY7B,eAAe;yCAjCJ,mBAAmB;2CAAnB,mBAAmB;CA+C/B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { NsWidgetResolver as resolver } from './widget-resolver.model';
|
|
3
|
-
export declare const WIDGET_RESOLVER_GLOBAL_CONFIG: InjectionToken<resolver.IRegistrationConfig[]>;
|
|
4
|
-
export declare const WIDGET_RESOLVER_SCOPED_CONFIG: InjectionToken<resolver.IRegistrationConfig[]>;
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { NsWidgetResolver as resolver } from './widget-resolver.model';
|
|
3
|
+
export declare const WIDGET_RESOLVER_GLOBAL_CONFIG: InjectionToken<resolver.IRegistrationConfig[]>;
|
|
4
|
+
export declare const WIDGET_RESOLVER_SCOPED_CONFIG: InjectionToken<resolver.IRegistrationConfig[]>;
|
|
5
|
+
//# sourceMappingURL=widget-resolver.constant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-resolver.constant.d.ts","sourceRoot":"","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEtE,eAAO,MAAM,6BAA6B,gDAEzC,CAAA;AAED,eAAO,MAAM,6BAA6B,gDAEzC,CAAA"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import { ViewContainerRef, OnChanges } from '@angular/core';
|
|
2
|
-
import { LoggerService } from '@sunbird-cb/utils';
|
|
3
|
-
import { NsWidgetResolver } from './widget-resolver.model';
|
|
4
|
-
import { WidgetResolverService } from './widget-resolver.service';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { ViewContainerRef, OnChanges } from '@angular/core';
|
|
2
|
+
import { LoggerService } from '@sunbird-cb/utils';
|
|
3
|
+
import { NsWidgetResolver } from './widget-resolver.model';
|
|
4
|
+
import { WidgetResolverService } from './widget-resolver.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class WidgetResolverDirective implements OnChanges {
|
|
7
|
+
private viewContainerRef;
|
|
8
|
+
private widgetResolverSvc;
|
|
9
|
+
private logger;
|
|
10
|
+
wsResolverWidget: NsWidgetResolver.IRenderConfigWithAnyData | null;
|
|
11
|
+
constructor(viewContainerRef: ViewContainerRef, widgetResolverSvc: WidgetResolverService, logger: LoggerService);
|
|
12
|
+
ngOnChanges(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetResolverDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WidgetResolverDirective, "[wsResolverWidget]", never, { "wsResolverWidget": { "alias": "wsResolverWidget"; "required": false; }; }, {}, never, never, false, never>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=widget-resolver.directive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-resolver.directive.d.ts","sourceRoot":"","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;;AAEjE,qBAGa,uBAAwB,YAAW,SAAS;IAGrD,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,MAAM;IAJP,gBAAgB,EAAE,gBAAgB,CAAC,wBAAwB,GAAG,IAAI,CAAO;gBAExE,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,qBAAqB,EACxC,MAAM,EAAE,aAAa;IAG/B,WAAW;yCARA,uBAAuB;2CAAvB,uBAAuB;CA0BnC"}
|
|
@@ -1,48 +1,49 @@
|
|
|
1
|
-
import { Type } from '@angular/core';
|
|
2
|
-
import { SafeStyle } from '@angular/platform-browser';
|
|
3
|
-
|
|
4
|
-
export declare namespace NsWidgetResolver {
|
|
5
|
-
type UnitPermissionPrimitive = undefined | null | string;
|
|
6
|
-
interface IUnitPermissionObject {
|
|
7
|
-
all: UnitPermissionPrimitive | string[];
|
|
8
|
-
none: UnitPermissionPrimitive | string[];
|
|
9
|
-
some: UnitPermissionPrimitive | string[];
|
|
10
|
-
}
|
|
11
|
-
type UnitPermission = UnitPermissionPrimitive | string[] | IUnitPermissionObject | Pick<IUnitPermissionObject, 'all'> | Pick<IUnitPermissionObject, 'none'> | Pick<IUnitPermissionObject, 'some'> | Exclude<IUnitPermissionObject, 'all'> | Exclude<IUnitPermissionObject, 'none'> | Exclude<IUnitPermissionObject, 'some'>;
|
|
12
|
-
interface IPermissions {
|
|
13
|
-
enabled: boolean;
|
|
14
|
-
available: boolean;
|
|
15
|
-
roles?: UnitPermission;
|
|
16
|
-
features?: UnitPermission;
|
|
17
|
-
groups?: UnitPermission;
|
|
18
|
-
}
|
|
19
|
-
interface IBaseConfig {
|
|
20
|
-
widgetType: string;
|
|
21
|
-
widgetSubType: string;
|
|
22
|
-
}
|
|
23
|
-
interface IRegistrationConfig extends IBaseConfig {
|
|
24
|
-
component: Type<IWidgetData<any>>;
|
|
25
|
-
}
|
|
26
|
-
interface IRegistrationsPermissionConfig extends IBaseConfig {
|
|
27
|
-
widgetPermission?: IPermissions;
|
|
28
|
-
}
|
|
29
|
-
interface IRenderConfigWithTypedData<T> extends IRegistrationsPermissionConfig {
|
|
30
|
-
widgetData: T;
|
|
31
|
-
widgetInstanceId?: string;
|
|
32
|
-
widgetHostClass?: string;
|
|
33
|
-
widgetHostStyle?: {
|
|
34
|
-
[key: string]: string;
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
type IRenderConfigWithAnyData = IRenderConfigWithTypedData<any>;
|
|
38
|
-
interface IWidgetData<T> extends Omit<IRenderConfigWithTypedData<T>, 'widgetPermission' | 'widgetHostStyle'> {
|
|
39
|
-
widgetSafeStyle?: SafeStyle;
|
|
40
|
-
updateBaseComponent: (widgetType: string, widgetSubType: string, widgetInstanceId?: string, widgetHostClass?: string, widgetSafeStyle?: SafeStyle) => void;
|
|
41
|
-
}
|
|
42
|
-
interface ITitle {
|
|
43
|
-
title: string;
|
|
44
|
-
url: TUrl;
|
|
45
|
-
icon?: string;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export {};
|
|
1
|
+
import { Type } from '@angular/core';
|
|
2
|
+
import { SafeStyle } from '@angular/platform-browser';
|
|
3
|
+
type TUrl = undefined | 'none' | 'back' | string;
|
|
4
|
+
export declare namespace NsWidgetResolver {
|
|
5
|
+
type UnitPermissionPrimitive = undefined | null | string;
|
|
6
|
+
interface IUnitPermissionObject {
|
|
7
|
+
all: UnitPermissionPrimitive | string[];
|
|
8
|
+
none: UnitPermissionPrimitive | string[];
|
|
9
|
+
some: UnitPermissionPrimitive | string[];
|
|
10
|
+
}
|
|
11
|
+
type UnitPermission = UnitPermissionPrimitive | string[] | IUnitPermissionObject | Pick<IUnitPermissionObject, 'all'> | Pick<IUnitPermissionObject, 'none'> | Pick<IUnitPermissionObject, 'some'> | Exclude<IUnitPermissionObject, 'all'> | Exclude<IUnitPermissionObject, 'none'> | Exclude<IUnitPermissionObject, 'some'>;
|
|
12
|
+
interface IPermissions {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
available: boolean;
|
|
15
|
+
roles?: UnitPermission;
|
|
16
|
+
features?: UnitPermission;
|
|
17
|
+
groups?: UnitPermission;
|
|
18
|
+
}
|
|
19
|
+
interface IBaseConfig {
|
|
20
|
+
widgetType: string;
|
|
21
|
+
widgetSubType: string;
|
|
22
|
+
}
|
|
23
|
+
interface IRegistrationConfig extends IBaseConfig {
|
|
24
|
+
component: Type<IWidgetData<any>>;
|
|
25
|
+
}
|
|
26
|
+
interface IRegistrationsPermissionConfig extends IBaseConfig {
|
|
27
|
+
widgetPermission?: IPermissions;
|
|
28
|
+
}
|
|
29
|
+
interface IRenderConfigWithTypedData<T> extends IRegistrationsPermissionConfig {
|
|
30
|
+
widgetData: T;
|
|
31
|
+
widgetInstanceId?: string;
|
|
32
|
+
widgetHostClass?: string;
|
|
33
|
+
widgetHostStyle?: {
|
|
34
|
+
[key: string]: string;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
type IRenderConfigWithAnyData = IRenderConfigWithTypedData<any>;
|
|
38
|
+
interface IWidgetData<T> extends Omit<IRenderConfigWithTypedData<T>, 'widgetPermission' | 'widgetHostStyle'> {
|
|
39
|
+
widgetSafeStyle?: SafeStyle;
|
|
40
|
+
updateBaseComponent: (widgetType: string, widgetSubType: string, widgetInstanceId?: string, widgetHostClass?: string, widgetSafeStyle?: SafeStyle) => void;
|
|
41
|
+
}
|
|
42
|
+
interface ITitle {
|
|
43
|
+
title: string;
|
|
44
|
+
url: TUrl;
|
|
45
|
+
icon?: string;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=widget-resolver.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-resolver.model.d.ts","sourceRoot":"","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAChD,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,uBAAuB,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAAA;IAC/D,UAAiB,qBAAqB;QACpC,GAAG,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAAA;QACvC,IAAI,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAAA;QACxC,IAAI,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAAA;KACzC;IACD,KAAY,cAAc,GACtB,uBAAuB,GACvB,MAAM,EAAE,GACR,qBAAqB,GACrB,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAClC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GACnC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,GACrC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IAC1C,UAAiB,YAAY;QAC3B,OAAO,EAAE,OAAO,CAAA;QAChB,SAAS,EAAE,OAAO,CAAA;QAClB,KAAK,CAAC,EAAE,cAAc,CAAA;QACtB,QAAQ,CAAC,EAAE,cAAc,CAAA;QACzB,MAAM,CAAC,EAAE,cAAc,CAAA;KACxB;IAED,UAAiB,WAAW;QAC1B,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,MAAM,CAAA;KACtB;IAED,UAAiB,mBAAoB,SAAQ,WAAW;QACtD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;KAClC;IAED,UAAiB,8BAA+B,SAAQ,WAAW;QACjE,gBAAgB,CAAC,EAAE,YAAY,CAAA;KAChC;IAED,UAAiB,0BAA0B,CAAC,CAAC,CAAE,SAAQ,8BAA8B;QACnF,UAAU,EAAE,CAAC,CAAA;QACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,eAAe,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KAC5C;IACD,KAAY,wBAAwB,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAA;IACtE,UAAiB,WAAW,CAAC,CAAC,CAC5B,SAAQ,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;QACnF,eAAe,CAAC,EAAE,SAAS,CAAA;QAC3B,mBAAmB,EAAE,CACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,SAAS,KACxB,IAAI,CAAA;KACV;IACD,UAAiB,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,IAAI,CAAC;QACV,IAAI,CAAC,EAAE,MAAM,CAAA;KACd;CACF"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { NsWidgetResolver } from './widget-resolver.model';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { NsWidgetResolver } from './widget-resolver.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./widget-base.component";
|
|
5
|
+
import * as i2 from "./widget-resolver.directive";
|
|
6
|
+
import * as i3 from "./restricted/restricted.component";
|
|
7
|
+
import * as i4 from "./invalid-registration/invalid-registration.component";
|
|
8
|
+
import * as i5 from "./invalid-permission/invalid-permission.component";
|
|
9
|
+
import * as i6 from "./unresolved/unresolved.component";
|
|
10
|
+
import * as i7 from "@angular/common";
|
|
11
|
+
import * as i8 from "@angular/material/legacy-button";
|
|
12
|
+
import * as i9 from "@angular/material/icon";
|
|
13
|
+
import * as i10 from "@angular/material/legacy-card";
|
|
14
|
+
export declare class WidgetResolverModule {
|
|
15
|
+
static forRoot(config: NsWidgetResolver.IRegistrationConfig[]): ModuleWithProviders<WidgetResolverModule>;
|
|
16
|
+
static forChild(config: NsWidgetResolver.IRegistrationConfig[]): ModuleWithProviders<WidgetResolverModule>;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetResolverModule, never>;
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<WidgetResolverModule, [typeof i1.WidgetBaseComponent, typeof i2.WidgetResolverDirective, typeof i3.RestrictedComponent, typeof i4.InvalidRegistrationComponent, typeof i5.InvalidPermissionComponent, typeof i6.UnresolvedComponent], [typeof i7.CommonModule, typeof i8.MatLegacyButtonModule, typeof i9.MatIconModule, typeof i10.MatLegacyCardModule], [typeof i2.WidgetResolverDirective, typeof i1.WidgetBaseComponent]>;
|
|
19
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<WidgetResolverModule>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=widget-resolver.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-resolver.module.d.ts","sourceRoot":"","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAU7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;;;;;;;;;;;;AAQ1D,qBAaa,oBAAoB;IAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,oBAAoB,CAAC;IAgBzG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,oBAAoB,CAAC;yCAjB/F,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CA6BhC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { NsWidgetResolver } from './widget-resolver.model';
|
|
2
|
-
export declare function hasUnitPermission(requiredPermission: NsWidgetResolver.UnitPermission, matchAgainst?: Set<string> | string[] | string | null | undefined, isRestrictive?: boolean): boolean;
|
|
3
|
-
export declare function hasPermissions(requiredPermission?: NsWidgetResolver.IPermissions, availableRoles?: Set<string> | string | string[] | null | undefined, availableGroups?: Set<string> | string | string[] | null | undefined, restrictedFeatures?: Set<string> | string | string[] | null | undefined): boolean;
|
|
1
|
+
import { NsWidgetResolver } from './widget-resolver.model';
|
|
2
|
+
export declare function hasUnitPermission(requiredPermission: NsWidgetResolver.UnitPermission, matchAgainst?: Set<string> | string[] | string | null | undefined, isRestrictive?: boolean): boolean;
|
|
3
|
+
export declare function hasPermissions(requiredPermission?: NsWidgetResolver.IPermissions, availableRoles?: Set<string> | string | string[] | null | undefined, availableGroups?: Set<string> | string | string[] | null | undefined, restrictedFeatures?: Set<string> | string | string[] | null | undefined): boolean;
|
|
4
|
+
//# sourceMappingURL=widget-resolver.permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-resolver.permissions.d.ts","sourceRoot":"","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAuD1D,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,gBAAgB,CAAC,cAAc,EACnD,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACjE,aAAa,UAAQ,GACpB,OAAO,CAuCT;AAED,wBAAgB,cAAc,CAC5B,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,YAAY,EAClD,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EACnE,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EACpE,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GACtE,OAAO,CAYT"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { ComponentFactoryResolver, ViewContainerRef, ComponentRef } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
export declare class WidgetResolverService {
|
|
6
|
-
private domSanitizer;
|
|
7
|
-
private componentFactoryResolver;
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
private
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
import { ComponentFactoryResolver, ViewContainerRef, ComponentRef } from '@angular/core';
|
|
2
|
+
import { NsWidgetResolver } from './widget-resolver.model';
|
|
3
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class WidgetResolverService {
|
|
6
|
+
private domSanitizer;
|
|
7
|
+
private componentFactoryResolver;
|
|
8
|
+
private globalConfig;
|
|
9
|
+
private scopedConfig;
|
|
10
|
+
private roles;
|
|
11
|
+
private groups;
|
|
12
|
+
private restrictedFeatures;
|
|
13
|
+
isInitialized: boolean;
|
|
14
|
+
constructor(domSanitizer: DomSanitizer, componentFactoryResolver: ComponentFactoryResolver, globalConfig: null | NsWidgetResolver.IRegistrationConfig[], scopedConfig: null | NsWidgetResolver.IRegistrationConfig[]);
|
|
15
|
+
private availableRegisteredWidgets;
|
|
16
|
+
private restrictedWidgetKeys;
|
|
17
|
+
static getWidgetKey(config: NsWidgetResolver.IBaseConfig): string;
|
|
18
|
+
initialize(restrictedWidgetKeys: Set<string> | null, roles: Set<string> | null, groups: Set<string> | null, restrictedFeatures: Set<string> | null): void;
|
|
19
|
+
resolveWidget(receivedConfig: NsWidgetResolver.IRenderConfigWithAnyData, containerRef: ViewContainerRef): ComponentRef<any> | null;
|
|
20
|
+
private widgetResolved;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetResolverService, never>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WidgetResolverService>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=widget-resolver.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-resolver.service.d.ts","sourceRoot":"","sources":["../../../../library/sunbird-cb/resolver/src/lib/widget-resolver.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,wBAAwB,EACxB,gBAAgB,EAChB,YAAY,EAEb,MAAM,eAAe,CAAA;AAMtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAM1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;;AAExD,qBAGa,qBAAqB;IAM9B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,wBAAwB;IAGhC,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,YAAY;IAXtB,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,aAAa,UAAQ;gBAEX,YAAY,EAAE,YAAY,EAC1B,wBAAwB,EAAE,wBAAwB,EAGlD,YAAY,EAAE,IAAI,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,EAE3D,YAAY,EAAE,IAAI,GAAG,gBAAgB,CAAC,mBAAmB,EAAE;IAErE,OAAO,CAAC,0BAA0B,CAGnB;IACf,OAAO,CAAC,oBAAoB,CAA2B;IACvD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW;IAIxD,UAAU,CACR,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EACxC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EACzB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAC1B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI;IAkCxC,aAAa,CACX,cAAc,EAAE,gBAAgB,CAAC,wBAAwB,EACzD,YAAY,EAAE,gBAAgB,GAC7B,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;IA6B3B,OAAO,CAAC,cAAc;yCA7FX,qBAAqB;6CAArB,qBAAqB;CAwHjC"}
|
package/package.json
CHANGED
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sunbird-cb/resolver",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"main": "
|
|
3
|
+
"version": "1.0.0-ang-13-16",
|
|
4
|
+
"main": "src/public-api.ts",
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"tslib": "^2.0.0"
|
|
7
|
+
},
|
|
5
8
|
"peerDependencies": {
|
|
6
|
-
"@angular/animations": "
|
|
7
|
-
"@angular/cdk": "
|
|
8
|
-
"@angular/common": "
|
|
9
|
-
"@angular/compiler": "
|
|
10
|
-
"@angular/core": "
|
|
11
|
-
"@angular/forms": "
|
|
12
|
-
"@angular/material": "^
|
|
13
|
-
"@angular/platform-browser": "
|
|
14
|
-
"@angular/platform-browser-dynamic": "
|
|
15
|
-
"@angular/router": "
|
|
9
|
+
"@angular/animations": "^16.2.12",
|
|
10
|
+
"@angular/cdk": "^16.2.14",
|
|
11
|
+
"@angular/common": "^16.2.12",
|
|
12
|
+
"@angular/compiler": "^16.2.12",
|
|
13
|
+
"@angular/core": "^16.2.12",
|
|
14
|
+
"@angular/forms": "^16.2.12",
|
|
15
|
+
"@angular/material": "^16.2.14",
|
|
16
|
+
"@angular/platform-browser": "^16.2.12",
|
|
17
|
+
"@angular/platform-browser-dynamic": "^16.2.12",
|
|
18
|
+
"@angular/router": "^16.2.12"
|
|
16
19
|
},
|
|
17
|
-
"module": "
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
20
|
+
"module": "fesm2022/sunbird-cb-resolver.mjs",
|
|
21
|
+
"typings": "index.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
"./package.json": {
|
|
24
|
+
"default": "./package.json"
|
|
25
|
+
},
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./index.d.ts",
|
|
28
|
+
"esm2022": "./esm2022/sunbird-cb-resolver.mjs",
|
|
29
|
+
"esm": "./esm2022/sunbird-cb-resolver.mjs",
|
|
30
|
+
"default": "./fesm2022/sunbird-cb-resolver.mjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"sideEffects": false
|
|
34
|
+
}
|