UNPKG

novo-elements

Version:

1 lines 4.76 kB
{"version":3,"file":"novo-elements-elements-unless.mjs","sources":["../../../projects/novo-elements/src/elements/unless/Unless.ts","../../../projects/novo-elements/src/elements/unless/Unless.module.ts","../../../projects/novo-elements/src/elements/unless/novo-elements-elements-unless.ts"],"sourcesContent":["// NG2\nimport { DestroyRef, Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n// App\nimport { Security } from 'novo-elements/services';\n\n@Directive({\n selector: '[bhUnless]',\n standalone: false,\n})\nexport class Unless {\n permissions: string = '';\n isDisplayed: boolean = false;\n\n constructor(\n public templateRef: TemplateRef<any>,\n public viewContainer: ViewContainerRef,\n public security: Security,\n private destroyRef: DestroyRef) {\n const sub = this.security.subscribe(this.check.bind(this));\n this.destroyRef.onDestroy(() => {\n // If Security uses an old definition, subscribe will return void/undefined.\n try {\n sub?.unsubscribe();\n } catch {}\n });\n }\n\n @Input()\n set bhUnless(value: string) {\n this.permissions = value || '';\n this.check();\n }\n\n check(): void {\n let display: boolean = false;\n if (~this.permissions.indexOf('||')) {\n const ps: any = this.permissions.split('||');\n for (const p of ps) {\n if (this.security.has(p.trim())) {\n display = true;\n }\n }\n } else {\n display = this.permissions.split('&&').every((p) => this.security.has(p.trim()));\n }\n\n if (display) {\n if (!this.isDisplayed) {\n this.isDisplayed = true;\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n } else {\n this.isDisplayed = false;\n this.viewContainer.clear();\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { Unless } from './Unless';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [Unless],\n exports: [Unless],\n})\nexport class UnlessModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}