UNPKG

@dlr-eoc/core-ui

Version:

This project includes schematics to add the base UKIS-Layout to an angular application. The Layout is based on Clarity so [add this first](https://clarity.design/get-started/developing/angular)!

1 lines 22.5 kB
{"version":3,"file":"dlr-eoc-core-ui.mjs","sources":["../../../projects/core-ui/src/lib/global-progress/global-progress.component.ts","../../../projects/core-ui/src/lib/global-progress/global-progress.component.html","../../../projects/core-ui/src/lib/global-progress/progress.service.ts","../../../projects/core-ui/src/lib/global-alert/global-alert.component.ts","../../../projects/core-ui/src/lib/global-alert/global-alert.component.html","../../../projects/core-ui/src/lib/global-alert/alert.service.ts","../../../projects/core-ui/src/lib/icons/ukis.ts","../../../projects/core-ui/src/lib/header/header.component.ts","../../../projects/core-ui/src/lib/header/header.component.html","../../../projects/core-ui/src/lib/dynamic-component/dynamic-component.component.ts","../../../projects/core-ui/src/public-api.ts","../../../projects/core-ui/src/dlr-eoc-core-ui.ts"],"sourcesContent":["import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\nimport { IProgress } from './progress.service';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'ukis-global-progress',\n templateUrl: './global-progress.component.html',\n styleUrls: ['./global-progress.component.scss'],\n imports: [NgClass]\n})\nexport class GlobalProgressComponent implements OnInit {\n @Input() progress!: null | IProgress;\n @Output() progressChange = new EventEmitter();\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","@if (progress && progress.indeterminate) {\n <span>\n @if (progress.class) {\n <div class=\"progress loop\" [ngClass]=\"progress.class\"><progress></progress></div>\n }\n </span>\n}\n@if (progress && !progress.indeterminate) {\n <span>\n @if (progress.class) {\n <div class=\"progress\" [ngClass]=\"progress.class\"><progress max=\"{{progress.max}}\"\n value=\"{{progress.value}}\"></progress></div>\n }\n </span>\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport interface IProgress {\n value?: number;\n max?: number;\n class?: string;\n indeterminate?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProgressService {\n private progressSource = new Subject<IProgress>();\n progress$ = this.progressSource.asObservable();\n constructor() { }\n progress(progress: IProgress) {\n this.progressSource.next(progress);\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { IAlert } from './alert.service';\n\nimport { ClarityIcons, infoCircleIcon, windowCloseIcon } from '@cds/core/icon';\nimport { NgClass } from '@angular/common';\nimport { ClrIconModule, ClrAlertModule } from '@clr/angular';\nClarityIcons.addIcons(...[infoCircleIcon, windowCloseIcon]);\n\n@Component({\n selector: 'ukis-global-alert',\n templateUrl: './global-alert.component.html',\n styleUrls: ['./global-alert.component.scss'],\n imports: [NgClass, ClrIconModule, ClrAlertModule]\n})\nexport class GlobalAlertComponent {\n @Input() alert!: null | IAlert;\n @Output() alertChange = new EventEmitter();\n constructor() { }\n\n close() {\n this.alert = null;\n this.alertChange.emit(this.alert);\n }\n\n}\n","@if (alert) {\n <div class=\"alert alert-app-level\" [ngClass]=\"'alert-'+alert.type\" role=\"alert\">\n <div class=\"alert-items\">\n <div class=\"alert-item static\">\n <div class=\"alert-icon-wrapper\">\n <cds-icon class=\"alert-icon\" shape=\"info-circle\"></cds-icon>\n </div>\n <div class=\"alert-text\" [innerHTML]=alert.text></div>\n @if (alert.actions) {\n <div class=\"alert-actions\">\n @for (action of alert.actions; track action) {\n <button class=\"btn alert-action\" aria-label=\"alert action\"\n (click)=\"action.callback()\">{{action.title}}</button>\n }\n </div>\n }\n </div>\n </div>\n @if (alert.closeable) {\n <button type=\"button\" class=\"close\" aria-label=\"alert close\" (click)=\"close()\">\n <cds-icon aria-hidden=\"true\" shape=\"window-close\"></cds-icon>\n </button>\n }\n </div>\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport interface IAlert {\n type: string | 'info';\n text: string;\n closeable: boolean;\n actions?: { title: string, callback: () => void }[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertService {\n private alertSource = new Subject<IAlert>();\n alert$ = this.alertSource.asObservable();\n constructor() { }\n alert(alert: IAlert) {\n this.alertSource.next(alert);\n }\n}\n","type IconSvgString = string;\ntype IconNameString = string;\ntype IconShapeTuple = [IconNameString,IconSvgString];\n\nexport const ukisIcon: IconShapeTuple = ['ukis-icon', `<svg version=\"1.1\" viewBox=\"0 0 36 36\" preserveAspectRatio=\"xMidYMid meet\" class=\"has-solid\"\nxmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" focusable=\"false\" role=\"img\">\n<title>ukis</title>\n<path class=\"clr-i-solid clr-i-solid-path-1\" d=\"M18,31.5c4.7,0,8.9-2.4,11.3-6.1H6.7C9.1,29.1,13.3,31.5,18,31.5z\"/>\n<path class=\"clr-i-solid clr-i-solid-path-2\" d=\"M4.5,17.1c0,0.3,0,0.6,0,0.9c0,1.7,0.3,3.4,0.9,4.9h21.2L4.5,17.1z\"/>\n<path class=\"clr-i-solid clr-i-solid-path-3\" d=\"M31,21.5c0.3-1.1,0.5-2.3,0.5-3.5c0-3-1-5.7-2.6-7.9L8.7,15.6L31,21.5z\"/>\n<path class=\"clr-i-solid clr-i-solid-path-4\" d=\"M18,4.5c-6,0-11.2,4-12.9,9.5l22-6C24.7,5.8,21.5,4.5,18,4.5z\"/>\n</svg>`];\n\nexport const eocIcon: IconShapeTuple = ['eoc-icon', `<svg version=\"1.1\" viewBox=\"0 -180 580 580\" preserveAspectRatio=\"xMidYMid meet\" class=\"has-solid\"\nxmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" focusable=\"false\" role=\"img\">\n<title>eoc</title>\n<path class=\"clr-i-solid clr-i-solid-path-1\" d=\"M284,210c-55.1,0-100-44.9-100-100S228.9,10,284,10s100,44.9,100,100S339.1,210,284,210z M284,28.2\nc-45.1,0-81.8,36.7-81.8,81.8s36.7,81.8,81.8,81.8s81.8-36.7,81.8-81.8S329.1,28.2,284,28.2z M566,180.7l-12.9-12.9\nc-31.9,31.9-83.8,31.9-115.7,0c-31.9-31.9-31.9-83.8,0-115.7c31.9-31.9,83.8-31.9,115.7,0L566,39.3c-39-39-102.5-39-141.5,0\ns-39,102.5,0,141.5c19.5,19.5,45.1,29.3,70.7,29.3S546.5,200.2,566,180.7z M184.7,180.7l-12.9-12.9c-31.9,31.9-83.8,31.9-115.7,0\nc-15.5-15.5-24-36-24-57.8c0-21.9,8.5-42.4,24-57.8c28.6-28.6,73.4-31.8,105.5-8.7l-67.8,75.2l13.5,12.2l80.3-89.1l-6.7-6.1\nC141.4,0.1,80.9,1.7,43.3,39.3C24.4,58.2,14,83.3,14,110c0,26.7,10.4,51.8,29.3,70.7C62.8,200.2,88.4,210,114,210\nC139.6,210,165.2,200.2,184.7,180.7z\"/>\n</svg>`];\n\nexport const dlrIcon: IconShapeTuple = ['dlr-icon', `<svg version=\"1.1\" viewBox=\"0 0 36 36\" preserveAspectRatio=\"xMidYMid meet\" class=\"has-solid\"\nxmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" focusable=\"false\" role=\"img\">\n<title>dlr</title>\n<path class=\"clr-i-solid clr-i-solid-path-1\" d=\"M25.8,13.2V3.8l-9.4,9.4h-8l-7.7,7.7l9.4,0v9.4l9.4-9.4h8l7.7-7.7H25.8L25.8,13.2z M23.9,8.5v4.7h-4.7L23.9,8.5\nL23.9,8.5z M5.4,18.9l3.8-3.8h5.3l-3.8,3.8H5.4L5.4,18.9z M12.1,25.6v-4.8h4.8L12.1,25.6L12.1,25.6z M18.8,18.9h-5.4l3.8-3.8h5.4\nL18.8,18.9L18.8,18.9z M26.8,18.9h-5.2l3.8-3.8h5.2L26.8,18.9L26.8,18.9z M19.6,26.5h1.6c1.8,0,3.3,0.6,3.3,2.9\nc0,2.3-1.6,2.9-3.3,2.9h-1.6V26.5L19.6,26.5z M20.8,31.3h0.6c1,0,1.9-0.7,1.9-2c0-1.2-0.9-2-1.9-2h-0.6V31.3L20.8,31.3z M25.7,26.5\nh1.1v4.8h2.2v0.9h-3.4V26.5L25.7,26.5z M30.1,26.5h1.2c1.2,0,2.7,0,2.7,1.6c0,0.7-0.5,1.2-1.2,1.3v0c0.3,0,0.5,0.3,0.6,0.6l0.9,2.2\nh-1.3l-0.7-1.8c-0.2-0.4-0.3-0.6-0.8-0.6h-0.4v2.4h-1.1V26.5L30.1,26.5z M31.3,28.9h0.4c0.6,0,1.2-0.1,1.2-0.8\nc0-0.7-0.6-0.7-1.2-0.7h-0.4V28.9L31.3,28.9z\"/>\n</svg>`];\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { ClarityIcons, timesIcon } from '@cds/core/icon';\nimport { ukisIcon, dlrIcon } from '../icons/ukis';\nimport { ClrNavigationModule, ClrIconModule, ClrStandaloneCdkTrapFocus } from '@clr/angular';\nimport { NgClass } from '@angular/common';\nClarityIcons.addIcons(ukisIcon, dlrIcon, timesIcon);\n\n@Component({\n selector: 'ukis-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n imports: [ClrNavigationModule, NgClass, ClrIconModule, ClrStandaloneCdkTrapFocus]\n})\nexport class HeaderComponent implements OnInit {\n @Input('ukis-title') title: string = '';\n @Input('ukis-short-title') shortTitle: string = '';\n @Input('ukis-version') version: string = '';\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","<clr-header class=\"header-1\">\n <div class=\"branding\" [ngClass]=\"{'short-title':shortTitle}\">\n <a href=\"https://www.dlr.de\" target=\"_blank\" alt=\"link to dlr\">\n <cds-icon shape=\"dlr-icon\" solid=\"true\" size=\"48\" alt=\"dlr icon\"></cds-icon>\n </a>\n <a href=\"https://www.dlr.de/de/eoc/ueber-uns/deutsches_fernerkundungsdatenzentrum/georisiken-und-zivile-sicherheit/informationssysteme-und-geomatik/ukis-umwelt-und-kriseninformationssysteme\" target=\"_blank\"\n alt=\"link to dlr ukis\">\n <cds-icon shape=\"ukis-icon\" solid=\"true\" size=\"33\" alt=\"ukis icon\"></cds-icon>\n </a>\n <a class=\"nav-link\" routerLink=\"/\" routerLinkActive=\"active\">\n <span class=\"title\" [title]=\"title\">{{title}}</span>\n <span class=\"title short\" [title]=\"title\">{{shortTitle}}</span>\n </a>\n @if (version) {\n <span class=\"version\">{{version}}</span>\n }\n </div>\n <div class=\"header-nav\" [clr-nav-level]=\"1\">\n <ng-content select=\".header-nav-el\"></ng-content>\n </div>\n\n <ng-content></ng-content>\n\n <div class=\"header-actions\">\n <ng-content select=\".header-action-el\"></ng-content>\n </div>\n</clr-header>","import {\n Component, OnInit, ViewChild, ComponentRef, OnDestroy, Input, SimpleChanges, OnChanges,\n EventEmitter, Directive, ViewContainerRef, Type, Output\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n\nexport interface IDynamicComponent {\n component: Type<any>;\n inputs?: { [input: string]: any };\n outputs?: { [inputChange: string]: (value: any) => void };\n}\n\n@Directive({\n selector: '[ukisAddHost]'\n})\nexport class ViewRefDirective {\n constructor(public viewContainerRef: ViewContainerRef) { }\n}\n\n@Component({\n selector: 'ukis-dynamic-component',\n template: `<ng-template ukisAddHost></ng-template>`,\n imports: [ViewRefDirective]\n})\nexport class DynamicComponentComponent implements OnInit, OnDestroy, OnChanges {\n @Input() dynamicComponent!: IDynamicComponent;\n @Output() dynamicComponentChange = new EventEmitter<IDynamicComponent>();\n @ViewChild(ViewRefDirective, { static: true }) ukisAddHost!: ViewRefDirective;\n\n componentRef!: ComponentRef<any>;\n viewContainerRef!: ViewContainerRef;\n subs: Subscription[] = [];\n constructor() { }\n\n // TODO: check if this can be enhanced https://angular.dev/api/core/createComponent#createComponent_0\n loadComponent() {\n if (this.dynamicComponent) {\n this.viewContainerRef = this.ukisAddHost.viewContainerRef;\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(this.dynamicComponent.component);\n this.setInputOutputs();\n }\n }\n\n /**\n * Set's the inputs defined in IDynamicComponent\n *\n * To subscribe to the outputs of the IDynamicComponent.component use '<name>Change' as output name in your component.\n * e.g.\n * @Input() set value()...\n * get value()...\n * @Output() valueChange = new EventEmitter<number>();\n *\n *\n * To reset the Inputs after ngOnInit, change to Object binding for the input 'dynamicComponent' in the parent which creates the dynamic component.\n * e.g.\n * this.Comp.inputs.test = 'value';\n * CustomLayer.action = this.Comp = Object.assign({}, this.Comp);\n */\n setInputOutputs() {\n if (this.componentRef && this.dynamicComponent.inputs) {\n const inputs = Object.keys(this.dynamicComponent.inputs);\n inputs.map(i => {\n const inputname = i;\n if (this.dynamicComponent.inputs) {\n this.componentRef.instance[inputname] = this.dynamicComponent.inputs[inputname];\n const outupName = `${inputname}Change`;\n /** subscribe to output for same name as input */\n if (this.componentRef.instance[outupName] && this.componentRef.instance[outupName] instanceof EventEmitter) {\n const sub = this.componentRef.instance[outupName].subscribe((val: any) => {\n if (this.dynamicComponent.inputs) {\n this.dynamicComponent.inputs[inputname] = val;\n /** if outputs are defined on IDynamicComponent pass the value to there functions */\n }\n if (this.dynamicComponent.outputs) {\n if (this.dynamicComponent.outputs[outupName]) {\n this.dynamicComponent.outputs[outupName](val);\n }\n }\n this.dynamicComponentChange.emit(this.dynamicComponent);\n });\n this.subs.push(sub);\n }\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.dynamicComponent) {\n if (Array.isArray(this.subs)) {\n this.subs.map(s => s.unsubscribe());\n }\n // unsub befor new sub on changes\n this.subs.map(s => s.unsubscribe());\n this.subs = [];\n this.setInputOutputs();\n }\n }\n\n\n ngOnInit(): void {\n this.loadComponent();\n }\n\n ngOnDestroy(): void {\n if (this.componentRef) {\n this.subs.map(s => s.unsubscribe());\n this.componentRef.destroy();\n this.componentRef = null as any;\n }\n if (this.viewContainerRef) {\n this.viewContainerRef.clear();\n this.viewContainerRef = null as any;\n }\n }\n}\n","/*\n * Public API Surface of core-ui\n */\n\nexport * from './lib/global-progress/global-progress.component';\nexport * from './lib/global-progress/progress.service';\nexport * from './lib/global-alert/global-alert.component';\nexport * from './lib/global-alert/alert.service';\nexport * from './lib/header/header.component';\nexport * from './lib/icons/ukis';\nexport * from './lib/dynamic-component/dynamic-component.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}