@simpleangularcontrols/sac-bootstrap5 13.0.0-rc.20 → 13.0.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/controls/grid/gridcolumn.mjs +3 -3
- package/esm2020/controls/grid/gridcolumnaction.mjs +3 -3
- package/fesm2015/simpleangularcontrols-sac-bootstrap5.mjs +4 -4
- package/fesm2015/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
- package/fesm2020/simpleangularcontrols-sac-bootstrap5.mjs +4 -4
- package/fesm2020/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
- package/package.json +2 -2
- package/simpleangularcontrols-sac-bootstrap5-13.0.0-rc.21.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap5-13.0.0-rc.20.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleangularcontrols-sac-bootstrap5.mjs","sources":["../../../projects/sac-bootstrap5/src/controls/buttons/button.ts","../../../projects/sac-bootstrap5/src/controls/buttons/button.html","../../../projects/sac-bootstrap5/src/controls/buttons/button.module.ts","../../../projects/sac-bootstrap5/src/controls/dialog/dialog.ts","../../../projects/sac-bootstrap5/src/controls/dialog/dialog.html","../../../projects/sac-bootstrap5/src/controls/dialog/dialog.module.ts","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.ts","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.html","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.service.ts","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.module.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenucontainer.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuanchor.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenu.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenu.html","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitembutton.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitembutton.html","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitemsplitter.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitemsplitter.html","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenu.module.ts","../../../projects/sac-bootstrap5/src/controls/form/form.ts","../../../projects/sac-bootstrap5/src/controls/form/inheritform.directive.ts","../../../projects/sac-bootstrap5/src/controls/form/form.module.ts","../../../projects/sac-bootstrap5/src/controls/layout/formlayout.directive.ts","../../../projects/sac-bootstrap5/src/controls/layout/tocontrolheight.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/tocontrolwidthcss.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/tolabelheight.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/tolabelwidthcss.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/layout.module.ts","../../../projects/sac-bootstrap5/src/controls/tooltip/tooltip.ts","../../../projects/sac-bootstrap5/src/controls/tooltip/tooltip.html","../../../projects/sac-bootstrap5/src/controls/tooltip/tooltip.module.ts","../../../projects/sac-bootstrap5/src/controls/upload/dropzonemultiple.ts","../../../projects/sac-bootstrap5/src/controls/upload/dropzonemultiple.html","../../../projects/sac-bootstrap5/src/controls/upload/dropzonesingle.ts","../../../projects/sac-bootstrap5/src/controls/upload/dropzonesingle.html","../../../projects/sac-bootstrap5/src/controls/upload/upload.ts","../../../projects/sac-bootstrap5/src/controls/upload/upload.html","../../../projects/sac-bootstrap5/src/controls/upload/uploadmultiple.ts","../../../projects/sac-bootstrap5/src/controls/upload/uploadmultiple.html","../../../projects/sac-bootstrap5/src/controls/upload/upload.module.ts","../../../projects/sac-bootstrap5/src/components/browser/browser.ts","../../../projects/sac-bootstrap5/src/components/browser/browser.html","../../../projects/sac-bootstrap5/src/components/browser/browser.module.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/checkbox.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/checkbox.html","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobuttons.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobuttons.html","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobutton.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobutton.html","../../../projects/sac-bootstrap5/src/controls/checkbox/checkbox.module.ts","../../../projects/sac-bootstrap5/src/controls/datetime/dateselector.ts","../../../projects/sac-bootstrap5/src/controls/datetime/dateselector.html","../../../projects/sac-bootstrap5/src/controls/datetime/date.ts","../../../projects/sac-bootstrap5/src/controls/datetime/date.html","../../../projects/sac-bootstrap5/src/controls/datetime/datetime.ts","../../../projects/sac-bootstrap5/src/controls/datetime/datetime.html","../../../projects/sac-bootstrap5/src/controls/datetime/time.ts","../../../projects/sac-bootstrap5/src/controls/datetime/time.html","../../../projects/sac-bootstrap5/src/controls/datetime/datetime.module.ts","../../../projects/sac-bootstrap5/src/controls/grid/paging.ts","../../../projects/sac-bootstrap5/src/controls/grid/paging.html","../../../projects/sac-bootstrap5/src/controls/grid/grid.ts","../../../projects/sac-bootstrap5/src/controls/grid/grid.html","../../../projects/sac-bootstrap5/src/controls/grid/gridbutton.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridbutton.html","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumn.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumn.html","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumnaction.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumnaction.html","../../../projects/sac-bootstrap5/src/controls/grid/gridimage.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridimage.html","../../../projects/sac-bootstrap5/src/controls/grid/grid.module.ts","../../../projects/sac-bootstrap5/src/controls/input/input.ts","../../../projects/sac-bootstrap5/src/controls/input/input.html","../../../projects/sac-bootstrap5/src/controls/input/inputarea.ts","../../../projects/sac-bootstrap5/src/controls/input/inputarea.html","../../../projects/sac-bootstrap5/src/controls/input/inputcurrency.ts","../../../projects/sac-bootstrap5/src/controls/input/inputcurrency.html","../../../projects/sac-bootstrap5/src/controls/input/inputdecimal.ts","../../../projects/sac-bootstrap5/src/controls/input/inputdecimal.html","../../../projects/sac-bootstrap5/src/controls/input/inputemail.ts","../../../projects/sac-bootstrap5/src/controls/input/inputemail.html","../../../projects/sac-bootstrap5/src/controls/input/inputinteger.ts","../../../projects/sac-bootstrap5/src/controls/input/inputinteger.html","../../../projects/sac-bootstrap5/src/controls/input/inputpassword.ts","../../../projects/sac-bootstrap5/src/controls/input/inputpassword.html","../../../projects/sac-bootstrap5/src/controls/input/inputsearch.ts","../../../projects/sac-bootstrap5/src/controls/input/inputsearch.html","../../../projects/sac-bootstrap5/src/controls/input/input.module.ts","../../../projects/sac-bootstrap5/src/controls/list/list.token.ts","../../../projects/sac-bootstrap5/src/controls/list/dropdownoption.directive.ts","../../../projects/sac-bootstrap5/src/controls/list/dropdown.ts","../../../projects/sac-bootstrap5/src/controls/list/dropdown.html","../../../projects/sac-bootstrap5/src/controls/list/dropdown.module.ts","../../../projects/sac-bootstrap5/src/controls/list/listboxoption.directive.ts","../../../projects/sac-bootstrap5/src/controls/list/listbox.ts","../../../projects/sac-bootstrap5/src/controls/list/listbox.html","../../../projects/sac-bootstrap5/src/controls/list/list.module.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenucontainer.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenuanchor.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenu.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenu.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenuitembutton.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenuitembutton.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinput.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinput.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinputarea.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinputarea.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguage.module.ts","../../../projects/sac-bootstrap5/src/controls/static/formcontainer.ts","../../../projects/sac-bootstrap5/src/controls/static/formcontainer.html","../../../projects/sac-bootstrap5/src/controls/static/staticlabel.ts","../../../projects/sac-bootstrap5/src/controls/static/staticlabel.html","../../../projects/sac-bootstrap5/src/controls/static/staticlabel.module.ts","../../../projects/sac-bootstrap5/src/controls/tabs/tabitem.ts","../../../projects/sac-bootstrap5/src/controls/tabs/tabitem.html","../../../projects/sac-bootstrap5/src/controls/tabs/tab.ts","../../../projects/sac-bootstrap5/src/controls/tabs/tab.html","../../../projects/sac-bootstrap5/src/controls/tabs/tabs.module.ts","../../../projects/sac-bootstrap5/src/controls/tinymce/tinymce.ts","../../../projects/sac-bootstrap5/src/controls/tinymce/tinymce.html","../../../projects/sac-bootstrap5/src/controls/tinymce/tinymce.module.ts","../../../projects/sac-bootstrap5/src/controls/treeview/treeview.ts","../../../projects/sac-bootstrap5/src/controls/treeview/treeview.html","../../../projects/sac-bootstrap5/src/controls/treeview/treeview.module.ts","../../../projects/sac-bootstrap5/src/controls/validation/validationsummary.ts","../../../projects/sac-bootstrap5/src/controls/validation/validationsummary.html","../../../projects/sac-bootstrap5/src/controls/validation/validationsummary.module.ts","../../../projects/sac-bootstrap5/src/controls/wizard/wizarditem.ts","../../../projects/sac-bootstrap5/src/controls/wizard/wizarditem.html","../../../projects/sac-bootstrap5/src/controls/wizard/wizard.ts","../../../projects/sac-bootstrap5/src/controls/wizard/wizard.html","../../../projects/sac-bootstrap5/src/controls/wizard/wizard.module.ts","../../../projects/sac-bootstrap5/src/public-api.ts","../../../projects/sac-bootstrap5/src/simpleangularcontrols-sac-bootstrap5.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { SacButtonCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Button Component\n *\n * <example-url>http://localhost/demo/mysample.component.html</example-url>\n */\n@Component({\n selector: 'sac-button',\n templateUrl: './button.html',\n})\nexport class SacButtonComponent extends SacButtonCommon {}\n","<button\n [id]=\"name\"\n type=\"button\"\n class=\"btn d-flex justify-content-center align-items-center\"\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n (click)=\"buttonClick()\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-link]=\"role === 'link'\">\n <span\n *ngIf=\"isloading\"\n class=\"spinner-border spinner-border-sm me-2\"\n role=\"status\"\n aria-hidden=\"true\"></span>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [class.me-2]=\"text\"></i\n >{{ text }}\n</button>\n","import { SacButtonComponent } from './button';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacButtonComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacButtonComponent],\n})\nexport class SACBootstrap5ButtonModule {}\n","import { ChangeDetectorRef, Component, ElementRef, OnDestroy, OnInit } from '@angular/core';\nimport { SacDialogCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dialog Komponente\n */\n@Component({\n selector: 'sac-dialog',\n templateUrl: './dialog.html',\n})\nexport class SacDialogComponent extends SacDialogCommon implements OnInit, OnDestroy {\n // #region Properties\n\n /**\n * Referenz auf DOM Element\n */\n private element: any;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param el DOM Element Referenz\n * @param cdRef Change Detection Service\n */\n constructor(el: ElementRef, cdRef: ChangeDetectorRef) {\n super(cdRef);\n\n this.element = el.nativeElement;\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Event wenn Element entfernt wird\n */\n public ngOnDestroy() {\n this.hide();\n if (document.body.contains(this.element)) {\n document.body.removeChild(this.element);\n }\n super.ngOnDestroy();\n }\n\n /**\n * Event wenn Komponente initialisiert wird\n */\n public ngOnInit() {\n // Element an Body für korrektes Styling unter Bootstrap 3 verschieben\n document.body.appendChild(this.element);\n }\n\n // #endregion Public Methods\n}\n","<div\n #dialog\n class=\"modal show\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n *ngIf=\"_show\">\n <div\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\n role=\"document\"\n [class.modal-xl]=\"_size === 'extralarge'\"\n [class.modal-lg]=\"_size === 'large'\"\n [class.modal-sm]=\"_size === 'small'\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ title }}</h5>\n <button\n type=\"button\"\n class=\"btn-close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"></button>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n</div>\n<!-- /.modal -->\n<div\n class=\"modal-backdrop show\"\n *ngIf=\"_show && backdrop\"\n #backdrop></div>\n","import { SacDialogComponent } from './dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacDialogComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacDialogComponent],\n})\nexport class SACBootstrap5DialogModule {}\n","import { Component } from '@angular/core';\nimport { SacConfirmCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Confirm Komponente\n */\n@Component({\n selector: 'sac-confirm',\n templateUrl: './confirm.html',\n})\nexport class SacConfirmComponent extends SacConfirmCommon {}\n","<sac-dialog\n name=\"confirmDialog\"\n [(isvisible)]=\"isvisible\"\n [title]=\"title\"\n [allowesc]=\"false\"\n [closebutton]=\"false\"\n dialogsize=\"small\">\n <div dialogbody>\n <div class=\"d-flex align-items-center\">\n <div class=\"me-2\">\n <img\n [attr.src]=\"image\"\n class=\"align-self-center mr-3\"\n *ngIf=\"hasImage()\" />\n </div>\n <div class=\"flex-grow-1\">{{ message }}</div>\n </div>\n </div>\n <ng-container dialogfooter>\n <ng-container *ngFor=\"let button of buttons\">\n <sac-button\n [name]=\"button.key\"\n [text]=\"button.text\"\n [role]=\"button.role || 'default'\"\n (clicked)=\"confirm(button.key)\"></sac-button>\n </ng-container>\n </ng-container>\n</sac-dialog>\n","import { SacConfirmComponent } from './confirm';\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { SacConfirmButton, ServiceConfirmCommon, isDefined } from '@simpleangularcontrols/sac-common';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Service für Confirm Messages in TypeScript Code\n *\n * @example\n * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).\n * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });\n *\n * @example\n * // Beispiel für ConfirmMessage mit eigenen Buttons\n * let buttons: SacConfirmButton[] = [];\n * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));\n * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));\n * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });\n */\n@Injectable()\nexport class ServiceConfirm extends ServiceConfirmCommon {\n // #region Properties\n\n /**\n * Collection von Buttons die angezeigt werden müssen.\n */\n private buttons: SacConfirmButton[] = [];\n\n /**\n * Message die in Dialog angezeigt werden soll.\n */\n private message: string = '';\n\n /**\n * Titel der im Dialog angezeigt werden soll.\n */\n private title: string = '';\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param componentFactoryResolver Component Factory Resolver Instanz\n * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen\n * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen\n */\n constructor(\n @Inject(ComponentFactoryResolver)\n private componentFactoryResolver: ComponentFactoryResolver,\n appRef: ApplicationRef,\n injector: Injector\n ) {\n super(appRef, injector);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Confirm Dialog anzeigen\n * @param message Nachricht die angezeigt werden soll.\n * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.\n */\n public ConfirmMessage(title: string, message: string, buttons: SacConfirmButton[] = null): EventEmitter<string> {\n this.title = title;\n this.message = message;\n\n // Default Buttons setzen, wenn keine Buttons angegeben sind\n if (!isDefined(buttons)) {\n this.buttons = [];\n\n forkJoin({\n button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),\n button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),\n })\n .pipe(take(1))\n .subscribe((texte) => {\n this.buttons.push(new SacConfirmButton('yes', texte.button_yes, 'primary'));\n this.buttons.push(new SacConfirmButton('no', texte.button_no));\n });\n } else {\n this.buttons = buttons;\n }\n return super.Confirm();\n }\n\n /**\n * Erzeugen einer Component Factory für einen Dialog\n */\n public GetComponentFactory(): ComponentFactory<SacConfirmComponent> {\n return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n /**\n * Konfiguration des Dialogs\n * @param instance Instanz eines SacConfirm Dialogs\n */\n protected ConfigureDialog(instance: SacConfirmComponent) {\n // Text in Dialog setzen\n instance.title = this.title;\n instance.message = this.message;\n instance.buttons = this.buttons;\n instance.image = this.iconService.ConfirmDefaultImage;\n }\n\n // #endregion Protected Methods\n}\n","import { SACBootstrap5ButtonModule } from '../buttons/button.module';\nimport { SACBootstrap5DialogModule } from '../dialog/dialog.module';\nimport { SacConfirmComponent } from './confirm';\nimport { ServiceConfirm } from './confirm.service';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n/**\n * Module für Confirm Messages\n *\n * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: SACBootstrap5ConfirmModule.forRoot()\n *\n */\n@NgModule({\n declarations: [SacConfirmComponent],\n imports: [CommonModule, SACBootstrap5DialogModule, SACBootstrap5ButtonModule, SACCommonUtliltiesModule],\n exports: [SacConfirmComponent],\n})\nexport class SACBootstrap5ConfirmModule {\n // #region Public Static Methods\n\n public static forRoot(): ModuleWithProviders<SACBootstrap5ConfirmModule> {\n return {\n ngModule: SACBootstrap5ConfirmModule,\n providers: [ServiceConfirm],\n };\n }\n\n // #endregion Public Static Methods\n}\n\nexport { ServiceConfirm } from './confirm.service';\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextMenuContrainerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Marker Komponente für Context Menü\n */\n@Directive({\n selector: '[sacContextMenuContainer]',\n providers: [\n {\n provide: SacContextMenuContrainerCommon,\n useExisting: forwardRef(() => SacContextmenuContainerDirective),\n },\n ],\n})\nexport class SacContextmenuContainerDirective extends SacContextMenuContrainerCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf DOM Element\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextmenuAnchorCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.\n */\n@Directive({\n selector: '[sacContextMenuAnchor]',\n providers: [\n {\n provide: SacContextmenuAnchorCommon,\n useExisting: forwardRef(() => SacContextmenuAnchorDirective),\n },\n ],\n})\nexport class SacContextmenuAnchorDirective extends SacContextmenuAnchorCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef HTML DOM Referenz\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, ElementRef, Inject, Injector, NgZone, Renderer2 } from '@angular/core';\nimport { SacContextmenuCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component für Contextmenü\n */\n@Component({\n selector: 'sac-contextmenu',\n templateUrl: './contextmenu.html',\n})\nexport class SacContextmenuComponent extends SacContextmenuCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param document Referenz auf HTML Document\n * @param ngZone Angular Zone Service\n * @param elementRef Referenz auf HTML Element der aktuellen Komponente\n * @param renderer Render Service von Angular\n * @param injector injector to resolve services\n */\n constructor(\n @Inject(DOCUMENT) document: any,\n ngZone: NgZone,\n elementRef: ElementRef<HTMLElement>,\n renderer: Renderer2,\n injector: Injector\n ) {\n super(document, ngZone, elementRef, renderer, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"dropdown\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [ngClass]=\"cssclass\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-end\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n","import { Component, forwardRef } from '@angular/core';\nimport { SacContextmenuItemButtonCommon, SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component for menu entry in context menu\n */\n@Component({\n selector: 'sac-contextmenubutton',\n templateUrl: './contextmenuitembutton.html',\n providers: [\n {\n provide: SacContextmenuItemCommon,\n useExisting: forwardRef(() => SacContextmenuItemButtonComponent),\n },\n ],\n})\nexport class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {\n // #region Constructors\n\n /**\n * Constructor\n */\n constructor() {\n super();\n }\n\n // #endregion Constructors\n}\n","<li>\n <button\n [id]=\"name\"\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [ngClass]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\n <div class=\"d-flex\">\n <div\n *ngIf=\"!isicondisabled\"\n style=\"min-width: 1.5rem\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n class=\"align-baseline\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n","import { Component, forwardRef } from '@angular/core';\nimport { SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Splitter Komponente in Context Menü\n */\n@Component({\n selector: 'sac-contextmenusplitter',\n templateUrl: './contextmenuitemsplitter.html',\n providers: [\n {\n provide: SacContextmenuItemCommon,\n useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),\n },\n ],\n})\nexport class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {}\n","<li><div class=\"dropdown-divider\"></div></li>\n","import { SacContextmenuComponent } from './contextmenu';\nimport { SacContextmenuAnchorDirective } from './contextmenuanchor';\nimport { SacContextmenuContainerDirective } from './contextmenucontainer';\nimport { SacContextmenuItemButtonComponent } from './contextmenuitembutton';\nimport { SacContextmenuItemSplitterComponent } from './contextmenuitemsplitter';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacContextmenuComponent,\n SacContextmenuItemButtonComponent,\n SacContextmenuItemSplitterComponent,\n SacContextmenuAnchorDirective,\n SacContextmenuContainerDirective,\n ],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [\n SacContextmenuComponent,\n SacContextmenuItemButtonComponent,\n SacContextmenuItemSplitterComponent,\n SacContextmenuAnchorDirective,\n ],\n})\nexport class SACBootstrap5ContextmenuModule {}\n","import { Directive, HostBinding } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { SacFormCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.\n *\n * @example Beispiel über Div Container\n *\n * <div ngForm></div>\n *\n * @example Beispiel über Form Tag\n *\n * <form></form>\n *\n */\n@Directive({\n selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]', // eslint-disable-line @angular-eslint/directive-selector -- required as extension to form\n exportAs: 'sacform',\n})\nexport class SacFormDirective extends SacFormCommon {\n // #region Properties\n\n /**\n * Setzt die Standard CSS Klasse für auf dem Form Container\n */\n @HostBinding('class.form')\n public cssClassForm: boolean = true;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param form Instanz von NgForm für eigene automatische Formular Logik\n */\n constructor(form: NgForm) {\n super(form);\n }\n\n // #endregion Constructors\n}\n","import { SacFormDirective } from './form';\nimport { Directive, Injector, SkipSelf } from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { SacFormCommon } from '@simpleangularcontrols/sac-common';\n\n// #region Exported Functions\n\n/**\n * Factory Methode für NgForm\n * @param form NgForm\n */\nexport function NGFORM_FACTORY(form: NgForm) {\n return form;\n}\n\n/**\n * Factory Methode für SacForm\n * @param form SacFormular\n */\nexport function SACFORM_FACTORY(form: SacFormDirective) {\n return form;\n}\n\n// #endregion Exported Functions\n\n// #region Exported Classes\n\n/**\n * Directive to inherit an NgForm/NgForm from a parent component\n */\n@Directive({\n selector: '[sacInheritForm]',\n exportAs: 'sacinheritform',\n providers: [\n {\n provide: SacFormDirective,\n useFactory: SACFORM_FACTORY,\n deps: [[new SkipSelf(), SacFormDirective]],\n },\n {\n provide: ControlContainer,\n useFactory: NGFORM_FACTORY,\n deps: [NgForm],\n },\n ],\n})\nexport class SacInheritFormDirective extends SacFormCommon {\n // #region Constructors\n\n /**\n * Construtor\n * @param injector: injector to receive the NgForm instance\n */\n constructor(injector: Injector) {\n super(injector.get(NgForm));\n }\n\n // #endregion Constructors\n}\n\n// #endregion Exported Classes\n","import { SacFormDirective } from './form';\nimport { SacInheritFormDirective } from './inheritform.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SacFormDirective, SacInheritFormDirective],\n imports: [CommonModule, FormsModule],\n exports: [SacFormDirective, SacInheritFormDirective],\n})\nexport class SACBootstrap5FormModule {}\n","import { Directive } from '@angular/core';\nimport { SacFormLayoutCommon } from '@simpleangularcontrols/sac-common';\n\n@Directive({\n selector: '[sacFormLayout]',\n})\nexport class SacFormLayoutDirective extends SacFormLayoutCommon {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ControlHeight } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toControlHeight',\n})\nexport class SacToControlHeightPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Returns the CSS class that defines the height for the control\n * @param value ControlHeight value or null\n */\n public transform(value: ControlHeight | null): string {\n // Return default value\n if (!value) {\n return '';\n }\n\n switch (value) {\n case ControlHeight.Small:\n return 'form-control-sm';\n case ControlHeight.Large:\n return 'form-control-lg';\n default:\n return '';\n }\n }\n\n // #endregion Public Methods\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ISacLabelSizes } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toControlWidthCss',\n})\nexport class SacToControlWidthCssPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Get CSS classes from label width configuration to set control size\n * @param value Configuration with grid columns for different viewports\n * @returns string with css classe for bootstrap3\n */\n public transform(value: ISacLabelSizes): string {\n const classes: string[] = [];\n\n if (value.labelSizeXs) {\n classes.push('col-' + this.calcControlSize(value.labelSizeXs));\n }\n\n if (value.labelSizeSm) {\n classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));\n }\n\n if (value.labelSizeMd) {\n classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));\n }\n\n if (value.labelSizeLg) {\n classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));\n }\n\n if (value.labelSizeXl) {\n classes.push('col-xl-' + this.calcControlSize(value.labelSizeXl));\n }\n\n if (value.labelSizeXxl) {\n classes.push('col-xxl-' + this.calcControlSize(value.labelSizeXxl));\n }\n\n return classes.join(' ');\n }\n\n // #endregion Public Methods\n\n // #region Private Methods\n\n /**\n * calculate the control size\n * @param labelsize grid size of label\n * @returns grid size for control. should be between 1 and 12\n */\n private calcControlSize(labelsize: number) {\n if (labelsize === 12) {\n return 12;\n }\n\n if (!labelsize) {\n return 12;\n }\n\n return 12 - labelsize;\n }\n\n // #endregion Private Methods\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ControlHeight } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toLabelHeight',\n})\nexport class SacToLabelHeightPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Returns the CSS class that defines the height for the control\n * @param value ControlHeight value or null\n */\n public transform(value: ControlHeight | null): string {\n // Return default value\n if (!value) {\n return '';\n }\n\n switch (value) {\n case ControlHeight.Small:\n return 'col-form-label-sm';\n case ControlHeight.Large:\n return 'col-form-label-lg';\n default:\n return '';\n }\n }\n\n // #endregion Public Methods\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ISacLabelSizes } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toLabelWidthCss',\n})\nexport class SacToLabelWidthCssPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Get CSS classes from label width configuration to set label size\n * @param value Configuration with grid columns for different viewports\n * @returns string with css classe for bootstrap3\n */\n public transform(value: ISacLabelSizes): string {\n const classes: string[] = [];\n\n if (value.labelSizeXs) {\n classes.push('col-' + value.labelSizeXs);\n }\n\n if (value.labelSizeSm) {\n classes.push('col-sm-' + value.labelSizeSm);\n }\n\n if (value.labelSizeMd) {\n classes.push('col-md-' + value.labelSizeMd);\n }\n\n if (value.labelSizeLg) {\n classes.push('col-lg-' + value.labelSizeLg);\n }\n\n if (value.labelSizeXl) {\n classes.push('col-xl-' + value.labelSizeXl);\n }\n\n if (value.labelSizeXxl) {\n classes.push('col-xxl-' + value.labelSizeXxl);\n }\n\n return classes.join(' ');\n }\n\n // #endregion Public Methods\n}\n","import { SacFormLayoutDirective } from './formlayout.directive';\nimport { SacToControlHeightPipe } from './tocontrolheight.pipe';\nimport { SacToControlWidthCssPipe } from './tocontrolwidthcss.pipe';\nimport { SacToLabelHeightPipe } from './tolabelheight.pipe';\nimport { SacToLabelWidthCssPipe } from './tolabelwidthcss.pipe';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n SacFormLayoutDirective,\n SacToControlHeightPipe,\n SacToControlWidthCssPipe,\n SacToLabelHeightPipe,\n SacToLabelWidthCssPipe,\n ],\n imports: [CommonModule],\n exports: [\n SacFormLayoutDirective,\n SacToControlHeightPipe,\n SacToControlWidthCssPipe,\n SacToLabelHeightPipe,\n SacToLabelWidthCssPipe,\n ],\n})\nexport class SACBootstrap5LayoutModule {}\n","import { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\nimport { SacTooltipCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Tooltip Komponente\n *\n * @example ToolTip Control\n *\n * <ngTooltip tooltiptext=\"Mein Tooltip\" [inlinemode]=\"true\">\n * <i class=\"tooltip\"></i>\n * </ngTooltip>\n *\n * @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.\n *\n * <div class=\"form-inline\">\n * <ngInputSearch iconname=\"Suchen\"></ngInputSearch>\n * <ngTooltip tooltiptext=\"Mein Tooltip\" [inlinemode]=\"true\">\n * <i class=\"tooltip\" style=\"position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;\"></i>\n * </ngTooltip>\n * </div>\n *\n */\n@Component({\n selector: 'sac-tooltip',\n templateUrl: './tooltip.html',\n})\nexport class SacTooltipComponent extends SacTooltipCommon {\n // #region Constructors\n\n /**\n * Konstrukor\n * @param parent SacFormular Instanz\n * @param injector Component Injector\n */\n constructor(cdRef: ChangeDetectorRef, ref: ElementRef) {\n super(cdRef, ref);\n }\n\n // #endregion Constructors\n\n // #region Protected Methods\n\n /**\n * Padding Value for Bootstrap5 Tooltip Padding\n * @returns Static Padding Value for BS5\n */\n protected getTooltipOffset(): number {\n return 8;\n }\n\n // #endregion Protected Methods\n}\n","<div\n [style.display]=\"inlinemode ? 'inline' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n #container\n (mouseenter)=\"ShowTooltip()\"\n (mouseleave)=\"HideTooltip()\"\n [style.display]=\"inlinemode ? 'inline' : null\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [class.show]=\"IsTooltipContentVisible\"\n class=\"tooltip bs-tooltip-auto fade\"\n style=\"position: absolute\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\n [attr.data-popper-placement]=\"\n GetTooltipPosition() === TooltipPosition.right\n ? 'right'\n : GetTooltipPosition() === TooltipPosition.left\n ? 'left'\n : GetTooltipPosition() === TooltipPosition.top\n ? 'top'\n : GetTooltipPosition() === TooltipPosition.bottom\n ? 'bottom'\n : null\n \">\n <div\n class=\"tooltip-arrow\"\n style=\"position: absolute\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n","import { SacTooltipComponent } from './tooltip';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacTooltipComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacTooltipComponent],\n})\nexport class SACBootstrap5TooltipModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, OnInit, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDropzoneMultipleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dropzone Komponente für mehrere Uploads\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-dropzonemultiple',\n templateUrl: './dropzonemultiple.html',\n styleUrls: ['./dropzone.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacDropzoneMultipleComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDropzoneMultipleComponent),\n },\n ],\n})\nexport class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon implements OnInit {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Initialisiert das Control\n */\n public ngOnInit() {\n super.ngOnInit();\n }\n\n // #endregion Public Methods\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content d-flex justify-content-center\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, OnInit, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDropzoneSingleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dropzone Komponente für den Upload eines Files\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-dropzonesingle',\n templateUrl: './dropzonesingle.html',\n styleUrls: ['./dropzone.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacDropzoneSingleComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDropzoneSingleComponent),\n },\n ],\n})\nexport class SacDropzoneSingleComponent extends SacDropzoneSingleCommon implements OnInit {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Initialisiert das Control\n */\n public ngOnInit() {\n super.ngOnInit();\n }\n\n // #endregion Public Methods\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content d-flex justify-content-center position-relative\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacUploadSingleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Upload Komponten\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-upload',\n templateUrl: './upload.html',\n styleUrls: ['./upload.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacUploadComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacUploadComponent),\n },\n ],\n})\nexport class SacUploadComponent extends SacUploadSingleCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n class=\"pe-2\"\n [ngClass]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n type=\"file\"\n id=\"{{ name }}_uploadinput\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n <div\n class=\"form-control upload-progress\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacUploadMultipleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Upload Komponente für den Upload mehrer Files\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-uploadmultiple',\n templateUrl: './uploadmultiple.html',\n styleUrls: ['./upload.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacUploadMultipleComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacUploadMultipleComponent),\n },\n ],\n})\nexport class SacUploadMultipleComponent extends SacUploadMultipleCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n [ngClass]=\"IconBrowse\"\n class=\"pe-2\"></i>\n <span class=\"upload-browse\">{{\n buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async)\n }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"form-control upload-progress\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n\n <button\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacDropzoneMultipleComponent } from './dropzonemultiple';\nimport { SacDropzoneSingleComponent } from './dropzonesingle';\nimport { SacUploadComponent } from './upload';\nimport { SacUploadMultipleComponent } from './uploadmultiple';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacUploadComponent,\n SacUploadMultipleComponent,\n SacDropzoneSingleComponent,\n SacDropzoneMultipleComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],\n})\nexport class SACBootstrap5UploadModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Injector, ViewChild } from '@angular/core';\nimport {\n IBrowserFile,\n IBrowserNode,\n SacFileBrowserCommon,\n} from '@simpleangularcontrols/sac-common';\nimport { Observable, forkJoin } from 'rxjs';\nimport { ServiceConfirm } from '../../controls/confirm/confirm.service';\nimport { SacDropzoneMultipleComponent } from '../../controls/upload/dropzonemultiple';\n\n/**\n * Server File Browser Komponente\n */\n@Component({\n selector: 'sac-filebrowser',\n templateUrl: './browser.html',\n providers: [ServiceConfirm],\n})\nexport class SacBrowserComponent extends SacFileBrowserCommon {\n // #region Properties\n\n /**\n * Referenz auf Upload Component\n */\n @ViewChild(SacDropzoneMultipleComponent, { static: false })\n private uploadComponent: SacDropzoneMultipleComponent;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param httpClient HTTP Client\n * @param injector Angular Dependency Injection Service\n * @param confirmService Confirm Service\n */\n constructor(\n httpClient: HttpClient,\n injector: Injector,\n private confirmService: ServiceConfirm\n ) {\n super(httpClient, injector);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Confirm Action wenn ein File gelöscht werden soll\n * @param file File das gelöscht werden soll.\n * @returns Observable ob File gelöscht werden kann.\n */\n public confirmDeleteFile(file: IBrowserFile): Observable<boolean> {\n return new Observable<boolean>((observer) => {\n forkJoin({\n title: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserButtonDelete\n ),\n message: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserButtonDelete\n ),\n }).subscribe((text) => {\n this.confirmService\n .ConfirmMessage(text.title, text.message)\n .subscribe((result) => {\n if (result === 'yes') {\n observer.next(true);\n } else {\n observer.next(false);\n }\n observer.complete();\n });\n });\n });\n }\n\n /**\n * Confirm Action wenn ein Ordner gelöscht werden soll\n * @param node Ordner der gelöscht werden soll\n * @returns Observable ob Ordner gelöscht kann.\n */\n public confirmDeleteNode(node: IBrowserNode): Observable<boolean> {\n return new Observable<boolean>((observer) => {\n forkJoin({\n title: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserButtonDelete\n ),\n message: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserConfirmTextDeleteFolder\n ),\n }).subscribe((text) => {\n this.confirmService\n .ConfirmMessage(text.title, text.message)\n .subscribe((result) => {\n if (result === 'yes') {\n observer.next(true);\n } else {\n observer.next(false);\n }\n observer.complete();\n });\n });\n });\n }\n\n /**\n * Erzeugt ein Array von einer bestimmten grösse\n * @param anzahl Grösse des Array\n * @returns Array\n */\n public count(anzahl: number): Array<void> {\n return new Array(anzahl);\n }\n\n /**\n * Methode wird aufgerufen, wenn eine Datei verschoben wird\n * @param uploadid Upload ID\n */\n public uploadedFileMoved(uploadid: string): void {\n const item = this.uploadComponent.uploads.find(\n (itm) => itm.documentid === uploadid\n );\n\n if (item) {\n this.uploadComponent.cancel(item.uploadId);\n }\n }\n\n // #endregion Public Methods\n}\n","<div class=\"row\">\n <div class=\"col-12 col-md-5 col-lg-4\">\n <ul class=\"list-group list-group-flush\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\n ></ng-template>\n </ul>\n\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\n <li\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\n [class.list-group-item-secondary]=\"node === selectedNode\"\n (click)=\"selectNode(node)\"\n style=\"cursor: pointer\"\n >\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\n <div\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\n class=\"me-2\"\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\n ></div>\n <ng-container *ngIf=\"!node.IsEditMode\">\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\n </ng-container>\n <ng-container *ngIf=\"node.IsEditMode\">\n <div class=\"flex-grow-1\" ngForm>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"node.Name\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameNode(node, $event)\"\n (keydown.enter)=\"$event.target.blur();false;\"\n (blur)=\"renameNode(node, null)\"\n (click)=\"$event.stopPropagation()\"\n />\n </div>\n </ng-container>\n <div class=\"flex-shrink-0\">\n <a\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editNode(node);$event.stopPropagation();\"\n >\n <i [class]=\"iconEdit\"></i>\n </a>\n <sac-contextmenu cssclass=\"d-inline-block\">\n <sac-contextmenubutton\n *ngIf=\"allowfoldercreate\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\n [icon]=\"iconFolderNew\"\n (clicked)=\"newNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenubutton\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\n [icon]=\"iconDelete\"\n (clicked)=\"deleteNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenusplitter\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\n ></sac-contextmenusplitter>\n <sac-contextmenubutton\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\n [icon]=\"iconRefresh\"\n (clicked)=\"refreshNode(node)\"\n ></sac-contextmenubutton>\n </sac-contextmenu>\n </div>\n </li>\n\n <ng-container *ngIf=\"node.IsExpanded\">\n <ng-template\n *ngFor=\"let child of node.ChildNodes\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\n ></ng-template>\n </ng-container>\n </ng-template>\n </div>\n <div class=\"col-12 col-md-7 col-lg-8\">\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\n <div *ngIf=\"allowfileupload\" ngForm>\n <sac-dropzonemultiple\n [disablelabel]=\"true\"\n [endpoint]=\"apiurl + '/uploadregister'\"\n name=\"upload\"\n uploadheight=\"5rem\"\n [ngModel]=\"uploads\"\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\n [allowedtypes]=\"allowedtypes\"\n >{{\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\n | async }}</sac-dropzonemultiple\n >\n </div>\n <div class=\"table-responsive\">\n <table class=\"table table-striped table-hover align-middle\">\n <thead>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\n | async }}\n </th>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\n | async }}\n </th>\n <th style=\"width: 80px\"></th>\n </thead>\n <tbody>\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\n <tr>\n <td colspan=\"3\">\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\n | async }}\n </td>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\n <tr\n *ngFor=\"let item of selectedNode.Files\"\n (click)=\"selectFile(item)\"\n [class.table-primary]=\"selectedFileItem === item\"\n >\n <td [class.p-2]=\"item.IsEditMode\">\n <ng-container *ngIf=\"!item.IsEditMode\">\n {{ item.Filename }}\n </ng-container>\n <ng-container *ngIf=\"item.IsEditMode\">\n <div>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"item.Filename\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameFile(item, $event)\"\n (keydown.enter)=\"$event.target.blur();false\"\n (blur)=\"renameFile(item, null)\"\n (click)=\"$event.stopPropagation();\"\n />\n </div>\n </ng-container>\n </td>\n <td>{{ item.Size}}</td>\n <td class=\"p-2\">\n <div class=\"btn-toolbar\" role=\"toolbar\">\n <div class=\"btn-group ml-auto\" role=\"group\">\n <a\n *ngIf=\"allowfilerename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconEdit\"></i\n ></a>\n </div>\n <div class=\"btn-group\" role=\"group\">\n <a\n *ngIf=\"allowfiledelete\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"deleteFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconDelete\"></i\n ></a>\n </div>\n </div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACBootstrap5ConfirmModule } from '../../controls/confirm/confirm.module';\nimport { SACBootstrap5ContextmenuModule } from '../../controls/contextmenu/contextmenu.module';\nimport { SACBootstrap5FormModule } from '../../controls/form/form.module';\nimport { SACBootstrap5UploadModule } from '../../controls/upload/upload.module';\nimport { SacBrowserComponent } from './browser';\n\n@NgModule({\n declarations: [SacBrowserComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n SACBootstrap5ConfirmModule,\n SACBootstrap5ContextmenuModule,\n SACBootstrap5UploadModule,\n SACBootstrap5FormModule,\n FormsModule,\n ],\n exports: [SacBrowserComponent],\n bootstrap: [SacBrowserComponent],\n})\nexport class SACBootstrap5BrowserModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n// import { SacBaseModelControl } from '../../common/basemodelcontrol';\nimport { SacCheckboxCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Checkbox Kompontente\n */\n@Component({\n selector: 'sac-checkbox',\n templateUrl: './checkbox.html',\n styleUrls: ['./checkbox.scss'],\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacCheckboxComponent,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacCheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class SacCheckboxComponent extends SacCheckboxCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row\"\n [class.g-0]=\"disablelabel\"\n [class.mb-3]=\"!stacked\">\n <div\n class=\"col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"align-self-center col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"form-check\"\n [class.form-switch]=\"checkboxstyle === 'switch'\"\n [attr.role]=\"checkboxstyle === 'switch' ? 'switch' : null\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n [checked]=\"value\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\"\n [disabled]=\"isdisabled\" />\n <label\n for=\"{{ name }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-container *ngIf=\"checkboxtext\">{{ checkboxtext }}</ng-container>\n </label>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacRadiobuttonsCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Radiobuttons Group Komponente\n */\n@Component({\n selector: 'sac-radiobuttons',\n templateUrl: './radiobuttons.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SacRadiobuttonsComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacRadiobuttonsComponent),\n multi: true,\n },\n ],\n})\nexport class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <div\n *ngIf=\"disablelabel === false\"\n class=\"col-12 pt-0\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n *ngIf=\"!disablelabel\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\">\n <ng-content></ng-content>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\"\n >{{ helptext }}</div\n >\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { SacRadiobuttonsComponent } from './radiobuttons';\nimport { Component, Host, Injector, Optional } from '@angular/core';\nimport { SacRadiobuttonCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Radiobutton Komponente\n */\n@Component({\n selector: 'sac-radiobutton',\n templateUrl: './radiobutton.html',\n styleUrls: ['./radiobutton.scss'],\n})\nexport class SacRadiobuttonComponent extends SacRadiobuttonCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param SacRadioButtons Radio Buttons Group Komponente\n * @param formlayout SacFormLayoutCommon to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(\n @Host() sacRadioButtons: SacRadiobuttonsComponent,\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector\n ) {\n super(sacRadioButtons, formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"form-check\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\n *ngIf=\"hidden === false\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <label\n for=\"{{ getName }}_{{ getIndex }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"> </ng-template>\n </label>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <ng-container>{{ label }}</ng-container>\n</ng-template>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacCheckboxComponent } from './checkbox';\nimport { SacRadiobuttonComponent } from './radiobutton';\nimport { SacRadiobuttonsComponent } from './radiobuttons';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent],\n})\nexport class SACBootstrap5CheckboxModule {}\n","import { Component } from '@angular/core';\nimport { SacDateSelectorCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * DateTime Selektor Komponente\n */\n@Component({\n selector: 'sac-dateselector',\n templateUrl: './dateselector.html',\n})\nexport class SacDateSelectorComponent extends SacDateSelectorCommon {}\n","<div\n class=\"calendar-selector\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div *ngIf=\"dateselection\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col text-start\">\n <a (click)=\"monthBack()\"><span [class]=\"iconMonthPrev\"></span></a>\n </div>\n <div class=\"col text-center\">{{ month + 1 }}/{{ year }}</div>\n <div class=\"col text-end\">\n <a (click)=\"monthNext()\"><span [class]=\"iconMonthNext\"></span></a>\n </div>\n </div>\n </div>\n <div></div>\n <div class=\"container\">\n <div class=\"row\">\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <ng-container *ngFor=\"let item of week\">\n <div\n class=\"p-2 col text-center\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\"\n >{{ item.displaytext }}</div\n >\n </ng-container>\n <div class=\"w-100\"></div>\n </ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"d-flex justify-content-start\"\n *ngIf=\"timeselection\">\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"flex-grow-1 p-2\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"p-2\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n </div>\n <div class=\"p-2\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDateCommon } from '@simpleangularcontrols/sac-common';\nimport * as moment_ from 'moment';\n\n// #region Variables\n\n/**\n * Referenz auf Moment.JS\n */\nconst moment = moment_['default'];\n\n// #endregion Variables\n\n// #region Exported Classes\n\n/**\n * Komponente für Datumauswahl\n */\n@Component({\n selector: 'sac-date',\n templateUrl: './date.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacDateComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDateComponent),\n },\n ],\n})\nexport class SacDateComponent extends SacDateCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef Reference to html dom element\n * @param cdRef Change Dectection Servie\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n elementRef: ElementRef,\n cdRef: ChangeDetectorRef\n ) {\n super(formLayout, injector, elementRef, cdRef);\n }\n\n // #endregion Constructors\n}\n\n// #endregion Exported Classes\n","<div\n class=\"row mb-3\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() === TooltipPosition.right\n ? 'right'\n : GetPickerPosition() === TooltipPosition.left\n ? 'left'\n : GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n name=\"{{ name }}_picker\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDateTimeCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Date und Time Komponente\n */\n@Component({\n selector: 'sac-datetime',\n templateUrl: './datetime.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacDateTimeComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDateTimeComponent),\n },\n ],\n})\nexport class SacDateTimeComponent extends SacDateTimeCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef Reference to html dom element\n * @param cdRef Change Dectection Servie\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n elementRef: ElementRef,\n cdRef: ChangeDetectorRef\n ) {\n super(formLayout, injector, elementRef, cdRef);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() === TooltipPosition.right\n ? 'right'\n : GetPickerPosition() === TooltipPosition.left\n ? 'left'\n : GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n name=\"{{ name }}_picker\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacTimeCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Time Auswahl Komponente\n */\n@Component({\n selector: 'sac-time',\n templateUrl: './time.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacTimeComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacTimeComponent),\n },\n ],\n})\nexport class SacTimeComponent extends SacTimeCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef Reference to html dom element\n * @param cdRef Change Dectection Servie\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n elementRef: ElementRef,\n cdRef: ChangeDetectorRef\n ) {\n super(formLayout, injector, elementRef, cdRef);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() === TooltipPosition.right\n ? 'right'\n : GetPickerPosition() === TooltipPosition.left\n ? 'left'\n : GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n name=\"{{ name }}_picker\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacDateComponent } from './date';\nimport { SacDateSelectorComponent } from './dateselector';\nimport { SacDateTimeComponent } from './datetime';\nimport { SacTimeComponent } from './time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\nimport { IMaskModule } from 'angular-imask';\n\n@NgModule({\n declarations: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],\n imports: [\n CommonModule,\n IMaskModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],\n})\nexport class SACBootstrap5DateTimeModule {}\n","import { Component, Injector, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacPagingCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Paging Komponente\n */\n@Component({\n selector: 'sac-paging',\n templateUrl: './paging.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacPagingComponent),\n },\n ],\n})\nexport class SacPagingComponent extends SacPagingCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param injector Angular Dependency Injection Service\n */\n constructor(injector: Injector) {\n super(injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"d-flex justify-content-between align-items-center flex-wrap\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n id=\"{{ name }}\">\n <div\n class=\"col-pagination order-2 order-md-1\"\n id=\"{{ name }}_pages\">\n <ul class=\"pagination mb-4 mb-md-0\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === firstPageIndex }\">\n <a\n class=\"page-link\"\n (click)=\"firstPage()\"\n >«</a\n >\n </li>\n <li\n class=\"page-item\"\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{ active: page === activePageIndex }\">\n <a\n class=\"page-link\"\n (click)=\"changePage(page)\"\n >{{ page + 1 }}</a\n >\n </li>\n <li\n class=\"page-item\"\n [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === lastPageIndex }\">\n <a\n class=\"page-link\"\n (click)=\"lastPage()\"\n >»</a\n >\n </li>\n </ul>\n </div>\n <div class=\"col-summary order-1 order-md-2\">\n <div class=\"mb-4 mb-md-0 mr-4 mb-md-0\">{{ PagingText | async }}</div>\n </div>\n <div\n class=\"col-pagesize order-3\"\n *ngIf=\"!pagesizedisabled\">\n <div\n class=\"d-flex align-items-center\"\n id=\"{{ name }}_size\">\n <select\n class=\"form-select form-select-sm\"\n style=\"width: 85px\"\n id=\"{{ name }}_pagesize\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\">\n <option\n [ngValue]=\"size\"\n *ngFor=\"let size of getPageSizes\">\n {{ size }}\n </option>\n </select>\n <div class=\"ms-2\">{{ PageSizeText | async }}</div>\n </div>\n </div>\n</div>\n","import { ChangeDetectorRef, Component, ContentChild, Injector, TemplateRef, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacGridCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Komponente\n */\n@Component({\n selector: 'sac-grid',\n templateUrl: './grid.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacGridComponent),\n },\n ],\n})\nexport class SacGridComponent extends SacGridCommon {\n // #region Properties\n\n /**\n * Setzt die Ellipsis Funktion auf der Column\n */\n public ellipsis: boolean = false;\n\n /**\n * Referenz auf Column Template\n */\n @ContentChild(TemplateRef, { static: false })\n public template: TemplateRef<any>;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstrukor\n * @param cdRef Change Detection Reference\n */\n constructor(cdRef: ChangeDetectorRef, injector: Injector) {\n super(cdRef, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"table-responsive\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <table\n class=\"table table-striped table-hover\"\n id=\"{{ name }}\">\n <thead class=\"thead-light\">\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: {}, type: 'header' }\"> </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i = index\">\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: item, type: 'body' }\"> </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\">\n <td [attr.colspan]=\"ColumnCount\">{{ emptytext }}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr *ngIf=\"pagerdata\">\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{ name }}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagesizes]=\"pagesizes\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n [pagesizedisabled]=\"pagesizedisabled\"></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n </table>\n</div>\n","import { Component, Injector } from '@angular/core';\nimport { SacGridButtonCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Action Button\n */\n@Component({\n selector: 'sac-gridbutton',\n templateUrl: './gridbutton.html',\n})\nexport class SacGridButtonComponent extends SacGridButtonCommon {\n // #region Constructors\n\n /**\n * Construtor\n *\n * @param injector Injector to resolve icons\n */\n constructor(injector: Injector) {\n super(injector);\n }\n\n // #endregion Constructors\n}\n","<a\n (click)=\"callaction()\"\n [attr.data-e2e]=\"name\"\n style=\"padding-right: 5px\"\n [style.cursor]=\"!isdisabled ? 'pointer' : null\"\n [class.disabled]=\"isdisabled\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n ><span class=\"{{ getIconClass() }}\"></span\n></a>\n","import { SacGridComponent } from './grid';\nimport { Component, ElementRef, Injector, forwardRef } from '@angular/core';\nimport { SacGridColumnBaseCommon, SacGridColumnCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Column Komponente\n */\n@Component({\n selector: 'sac-gridcolumn',\n templateUrl: './gridcolumn.html',\n providers: [\n {\n provide: SacGridColumnBaseCommon,\n useExisting: forwardRef(() => SacGridColumnComponent),\n },\n ],\n})\nexport class SacGridColumnComponent extends SacGridColumnCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param grid Grid Referenz\n * @param el HTML DOM Element\n */\n constructor(grid: SacGridComponent, injector: Injector, el: ElementRef) {\n super(grid, injector, el);\n }\n\n // #endregion Constructors\n}\n","<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span>{{ header }}</span>\n <span\n class=\"ps-2\"\n [class]=\"IconSortUp\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n class=\"ps-2\"\n [class]=\"IconSortDown\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\">\n </span>\n</td>\n","import { SacGridComponent } from './grid';\nimport { Component, ElementRef, Injector, forwardRef } from '@angular/core';\nimport { SacGridColumnActionCommon, SacGridColumnBaseCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Action Komponent\n */\n@Component({\n selector: 'sac-gridcolumnaction',\n templateUrl: './gridcolumnaction.html',\n providers: [\n {\n provide: SacGridColumnBaseCommon,\n useExisting: forwardRef(() => SacGridColumnActionComponent),\n },\n ],\n})\nexport class SacGridColumnActionComponent extends SacGridColumnActionCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param grid Referenz auf Grid\n * @param el HTML Element Referenz\n */\n constructor(grid: SacGridComponent, injector: Injector, el: ElementRef) {\n super(grid, injector, el);\n\n this.width = '60px';\n }\n\n // #endregion Constructors\n}\n","<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n class=\"px-2\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\"\n *ngIf=\"IsBody()\">\n <ng-content></ng-content>\n</td>\n","import { Component } from '@angular/core';\nimport { SacGridImageCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Image Item für Grid\n */\n@Component({\n selector: 'sac-gridimage',\n templateUrl: './gridimage.html',\n})\nexport class SacGridImageComponent extends SacGridImageCommon {}\n","<span><span [ngClass]=\"iconstyle\"></span></span>\n","import { SacGridComponent } from './grid';\nimport { SacGridButtonComponent } from './gridbutton';\nimport { SacGridColumnComponent } from './gridcolumn';\nimport { SacGridColumnActionComponent } from './gridcolumnaction';\nimport { SacGridImageComponent } from './gridimage';\nimport { SacPagingComponent } from './paging';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacGridComponent,\n SacGridColumnComponent,\n SacGridColumnActionComponent,\n SacPagingComponent,\n SacGridButtonComponent,\n SacGridImageComponent,\n ],\n imports: [CommonModule, FormsModule, SACCommonUtliltiesModule],\n exports: [\n SacGridComponent,\n SacGridColumnComponent,\n SacGridColumnActionComponent,\n SacPagingComponent,\n SacGridButtonComponent,\n SacGridImageComponent,\n ],\n})\nexport class SACBootstrap5GridModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Komponente\n */\n@Component({\n selector: 'sac-input',\n templateUrl: './input.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputComponent),\n },\n ],\n})\nexport class SacInputComponent extends SacInputCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputAreaCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für lange Texte\n */\n@Component({\n selector: 'sac-inputarea',\n templateUrl: './inputarea.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputAreaComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputAreaComponent),\n },\n ],\n})\nexport class SacInputAreaComponent extends SacInputAreaCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [attr.maxlength]=\"maxtextlength\"\n [readonly]=\"readonly\"></textarea>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputCurrencyCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Control für Währungen\n */\n@Component({\n selector: 'sac-inputcurrency',\n templateUrl: './inputcurrency.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputCurrencyComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputCurrencyComponent),\n },\n ],\n})\nexport class SacInputCurrencyComponent extends SacInputCurrencyCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group input-group-sm\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n <span class=\"input-group-text\">{{ currency }}</span>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputDecimalCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Komponente für Zahlen\n */\n@Component({\n selector: 'sac-inputdecimal',\n templateUrl: './inputdecimal.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputDecimalComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputDecimalComponent),\n },\n ],\n})\nexport class SacInputDecimalComponent extends SacInputDecimalCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputEmailCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für E-Mail Adressen\n */\n@Component({\n selector: 'sac-inputemail',\n templateUrl: './inputemail.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputEmailComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputEmailComponent),\n },\n ],\n})\nexport class SacInputEmailComponent extends SacInputEmailCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <span class=\"input-group-text\">@</span>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"email\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"email\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputIntegerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Komponten für Ganzzahlen\n */\n@Component({\n selector: 'sac-inputinteger',\n templateUrl: './inputinteger.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacInputIntegerComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputIntegerComponent),\n },\n ],\n})\nexport class SacInputIntegerComponent extends SacInputIntegerCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputPasswordCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für Passwörter\n */\n@Component({\n selector: 'sac-inputpassword',\n templateUrl: './inputpassword.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacInputPasswordComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputPasswordComponent),\n },\n ],\n})\nexport class SacInputPasswordComponent extends SacInputPasswordCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.input-group]=\"passwordeye\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputSearchCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für Suche\n */\n@Component({\n selector: 'sac-inputsearch',\n templateUrl: './inputsearch.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacInputSearchComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputSearchComponent),\n },\n ],\n})\nexport class SacInputSearchComponent extends SacInputSearchCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacInputComponent } from './input';\nimport { SacInputAreaComponent } from './inputarea';\nimport { SacInputCurrencyComponent } from './inputcurrency';\nimport { SacInputDecimalComponent } from './inputdecimal';\nimport { SacInputEmailComponent } from './inputemail';\nimport { SacInputIntegerComponent } from './inputinteger';\nimport { SacInputPasswordComponent } from './inputpassword';\nimport { SacInputSearchComponent } from './inputsearch';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacInputComponent,\n SacInputAreaComponent,\n SacInputCurrencyComponent,\n SacInputDecimalComponent,\n SacInputEmailComponent,\n SacInputIntegerComponent,\n SacInputPasswordComponent,\n SacInputSearchComponent,\n ],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [\n SacInputComponent,\n SacInputAreaComponent,\n SacInputCurrencyComponent,\n SacInputDecimalComponent,\n SacInputEmailComponent,\n SacInputIntegerComponent,\n SacInputPasswordComponent,\n SacInputSearchComponent,\n ],\n})\nexport class SACBootstrap5InputModule {}\n","import { InjectionToken } from '@angular/core';\n\n// #region Variables\n\nexport const DROPDOWN_TOKEN = new InjectionToken<any>('SacDropdownToken');\nexport const LISTBOX_TOKEN = new InjectionToken<any>('SacListboxToken');\n\n// #endregion Variables\n","import { DROPDOWN_TOKEN } from './list.token';\nimport { Directive, ElementRef, Inject, Optional, Renderer2 } from '@angular/core';\nimport { SacDropdownOptionCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Direktive für Dropdown Option List\n */\n@Directive({ selector: '[sacOption],option' })\nexport class SacDropdownOptionDirective extends SacDropdownOptionCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf HTML DOM Element\n * @param renderer Angular Rendering Engine\n * @param dropdownList Referenz auf DropDown Komponente\n */\n constructor(elementRef: ElementRef, renderer: Renderer2, @Optional() @Inject(DROPDOWN_TOKEN) dropdownList: any) {\n super(elementRef, renderer, dropdownList);\n }\n\n // #endregion Constructors\n}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { DROPDOWN_TOKEN } from './list.token';\nimport { Component, ElementRef, Host, Injector, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDropdownCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dropdown Komponente\n */\n@Component({\n selector: 'sac-dropdown',\n templateUrl: './dropdown.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: DROPDOWN_TOKEN, useExisting: forwardRef(() => SacDropdownComponent) },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacDropdownComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDropdownComponent),\n },\n ],\n})\nexport class SacDropdownComponent extends SacDropdownCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param elementRef Reference to html dom element\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n elementRef: ElementRef\n ) {\n super(formLayout, injector, renderer, elementRef);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\"\n >{{ emptylabel }}</option\n >\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacDropdownComponent } from './dropdown';\nimport { SacDropdownOptionDirective } from './dropdownoption.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacDropdownComponent, SacDropdownOptionDirective],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacDropdownComponent, SacDropdownOptionDirective],\n})\nexport class SACBootstrap5DropdownModule {}\n","import { LISTBOX_TOKEN } from './list.token';\nimport { Directive, ElementRef, Inject, Optional, Renderer2 } from '@angular/core';\nimport { SacListboxOptionCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Option Item in Listbox\n */\n@Directive({ selector: '[sacOption],option' })\nexport class SacListboxOptionDirective extends SacListboxOptionCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf DOM Element\n * @param renderer Angular Rendering Engine\n * @param listbox Referenz auf Listbox Komponente\n */\n constructor(elementRef: ElementRef, renderer: Renderer2, @Optional() @Inject(LISTBOX_TOKEN) listbox: any) {\n super(elementRef, renderer, listbox);\n }\n\n // #endregion Constructors\n}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { LISTBOX_TOKEN } from './list.token';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacListboxCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Listbox Komponente\n */\n@Component({\n selector: 'sac-listbox',\n templateUrl: './listbox.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: LISTBOX_TOKEN, useExisting: SacListboxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacListboxComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacListboxComponent),\n },\n ],\n})\nexport class SacListboxComponent extends SacListboxCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [size]=\"rowsize\"\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\"\n >{{ option[optionlabel] }}</option\n >\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\n >{{ item[optionlabel] }}</option\n >\n </optgroup>\n </ng-container>\n </select>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacListboxComponent } from './listbox';\nimport { SacListboxOptionDirective } from './listboxoption.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacListboxComponent, SacListboxOptionDirective],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacListboxComponent, SacListboxOptionDirective],\n})\nexport class SACBootstrap5ListModule {}\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextMenuContrainerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Marker Komponente für Context Menü\n */\n@Directive({\n selector: '[sacMultilanguageMenuContainer]',\n providers: [\n {\n provide: SacContextMenuContrainerCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuContainerDirective),\n },\n ],\n})\nexport class SacMultilanguagemenuContainerDirective extends SacContextMenuContrainerCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf DOM Element\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextmenuAnchorCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.\n */\n@Directive({\n selector: '[sacMultilanguageMenuAnchor]',\n providers: [\n {\n provide: SacContextmenuAnchorCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuAnchorDirective),\n },\n ],\n})\nexport class SacMultilanguagemenuAnchorDirective extends SacContextmenuAnchorCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef HTML DOM Referenz\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Component,\n ElementRef,\n Inject,\n Injector,\n Input,\n NgZone,\n Renderer2,\n TemplateRef,\n forwardRef,\n} from '@angular/core';\nimport { SacContextmenuCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component für Contextmenü\n */\n@Component({\n selector: '[sac-multilanguagemenu]', // eslint-disable-line @angular-eslint/component-selector -- bootstrap requires append-items direct behind the previews element\n templateUrl: './multilanguagemenu.html',\n providers: [\n {\n provide: SacContextmenuCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuComponent),\n },\n ],\n})\nexport class SacMultilanguagemenuComponent extends SacContextmenuCommon {\n // #region Properties\n\n /**\n * template with input box for multilangauge component\n */\n @Input()\n public inputtemplate: TemplateRef<any>;\n\n /**\n * template with markup for inline validation messages in component\n */\n @Input()\n public validationtemplate: TemplateRef<any>;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param document Referenz auf HTML Document\n * @param ngZone Angular Zone Service\n * @param elementRef Referenz auf HTML Element der aktuellen Komponente\n * @param renderer Render Service von Angular\n * @param injector injector to resolve services in base component\n */\n constructor(\n @Inject(DOCUMENT) document: any,\n ngZone: NgZone,\n elementRef: ElementRef<HTMLElement>,\n renderer: Renderer2,\n injector: Injector\n ) {\n super(document, ngZone, elementRef, renderer, injector);\n }\n\n // #endregion Constructors\n}\n","<ng-container [ngTemplateOutlet]=\"inputtemplate || defaultInputTemplate\"></ng-container>\n<ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n<ng-container [ngTemplateOutlet]=\"validationtemplate || defaultValidationTemplate\"></ng-container>\n\n<ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacMultilanguageMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n</ul>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacMultilanguageMenuAnchor\n class=\"btn btn-secondary dropdown-toggle\"\n type=\"button\"\n (click)=\"toggle()\"></button>\n</ng-template>\n\n<ng-template #defaultInputTemplate>\n <input\n type=\"text\"\n class=\"form-control\" />\n</ng-template>\n\n<ng-template #defaultValidationTemplate></ng-template>\n","import { Component, forwardRef } from '@angular/core';\nimport { SacContextmenuItemButtonCommon, SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component for menu entry in context menu\n */\n@Component({\n selector: 'sac-multilanguagemenubutton',\n templateUrl: './multilanguagemenuitembutton.html',\n providers: [\n {\n provide: SacContextmenuItemCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuItemButtonComponent),\n },\n ],\n})\nexport class SacMultilanguagemenuItemButtonComponent extends SacContextmenuItemButtonCommon {\n // #region Constructors\n\n /**\n * Constructor\n */\n constructor() {\n super();\n }\n\n // #endregion Constructors\n}\n","<li>\n <button\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [class]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\n <div class=\"d-flex\">\n <div\n *ngIf=\"!isicondisabled\"\n style=\"min-width: 1.5rem\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n class=\"align-baseline\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IconType, SacMultilanguageInputCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Componente für Mehrsprache Texte\n */\n@Component({\n selector: 'sac-multilanguageinput',\n templateUrl: './multilanguageinput.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacMultilanguageInputComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacMultilanguageInputComponent),\n },\n ],\n})\nexport class SacMultilanguageInputComponent extends SacMultilanguageInputCommon {\n // #region Properties\n\n /**\n * Enum für IconType in HTML Template\n */\n public IconType = IconType;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <span\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IconType, SacMultilanguageInputAreaCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Componente für Mehrsprache Texte als mehrzeiliger Text\n */\n@Component({\n selector: 'sac-multilanguageinputarea',\n templateUrl: './multilanguageinputarea.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacMultilanguageInputAreaComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacMultilanguageInputAreaComponent),\n },\n ],\n})\nexport class SacMultilanguageInputAreaComponent extends SacMultilanguageInputAreaCommon {\n // #region Properties\n\n /**\n * Enum für IconType in HTML Template\n */\n public IconType = IconType;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n style=\"height: auto\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.rows]=\"rows\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"></textarea>\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <i\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacMultilanguageInputComponent } from './multilanguageinput';\nimport { SacMultilanguageInputAreaComponent } from './multilanguageinputarea';\nimport { SacMultilanguagemenuComponent } from './multilanguagemenu';\nimport { SacMultilanguagemenuAnchorDirective } from './multilanguagemenuanchor';\nimport { SacMultilanguagemenuContainerDirective } from './multilanguagemenucontainer';\nimport { SacMultilanguagemenuItemButtonComponent } from './multilanguagemenuitembutton';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacMultilanguageInputComponent,\n SacMultilanguageInputAreaComponent,\n SacMultilanguagemenuComponent,\n SacMultilanguagemenuAnchorDirective,\n SacMultilanguagemenuContainerDirective,\n SacMultilanguagemenuItemButtonComponent,\n ],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacMultilanguageInputComponent, SacMultilanguageInputAreaComponent],\n})\nexport class SACBootstrap5MultilanguageModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacStaticFormContainerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component für einbindung eines beliebigen Controls in die Form Struktur\n *\n * @example\n * <ngStaticFormContainer name='myformcontainer' label=\"My Custom Form Control\" [isrequired]='false'>\n * <input type=\"range\" class=\"form-control\" />\n * </ngStaticFormContainer>\n *\n * @example\n * <ngStaticFormContainer name='myformcintainer' label=\"My Custom Form Control\" [isrequired]='false' tooltiptext=\"Dies ist ein Tooltip Text\">\n * <input type=\"range\" class=\"form-control\" />\n * </ngStaticFormContainer>\n *\n **/\n@Component({\n selector: 'sac-staticformcontainer',\n templateUrl: './formcontainer.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacStaticFormContainerComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacStaticFormContainerComponent),\n },\n ],\n})\nexport class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\n <ng-content></ng-content>\n <label\n for=\"{{ name }}\"\n class=\"form-label-adaptive form-label-fixed\"\n [ngClass]=\"{ required: isrequired }\"\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\n >{{ label }}</label\n >\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacStaticLabelCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Komponente für statischen Text in einem Formular\n */\n@Component({\n selector: 'sac-staticlabel',\n templateUrl: './staticlabel.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacStaticLabelComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacStaticLabelComponent),\n },\n ],\n})\nexport class SacStaticLabelComponent extends SacStaticLabelCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div>\n <div\n [id]=\"name\"\n class=\"form-control-plaintext\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [innerHTML]=\"value\"></div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacStaticFormContainerComponent } from './formcontainer';\nimport { SacStaticLabelComponent } from './staticlabel';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],\n})\nexport class SACBootstrap5StaticLabelModule {}\n","import { Component } from '@angular/core';\nimport { SacTabItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Tab Item Komponente\n */\n@Component({\n selector: 'sac-tabitem',\n templateUrl: './tabitem.html',\n})\nexport class SacTabItemComponent extends SacTabItemCommon {}\n","<div\n [id]=\"id\"\n [hidden]=\"unloadwhenhidden === false && active === false\"\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\"\n class=\"tab-pane\">\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\n</div>\n","import { SacTabItemComponent } from './tabitem';\nimport { Component, ContentChildren, QueryList } from '@angular/core';\nimport { SacTabCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Komponente für Tabs\n */\n@Component({\n selector: 'sac-tab',\n templateUrl: './tab.html',\n})\nexport class SacTabComponent extends SacTabCommon {\n // #region Properties\n\n /**\n * Collection von TabItems\n */\n @ContentChildren(SacTabItemComponent)\n public _tabItems: QueryList<SacTabItemComponent>;\n\n // #endregion Properties\n\n // #region Public Methods\n\n /**\n * Gibt die TabItems zurück\n * @returns Array von TabItems\n */\n public tabItems(): SacTabItemComponent[] {\n return this._tabItems.toArray() as Array<SacTabItemComponent>;\n }\n\n // #endregion Public Methods\n}\n","<!-- Nav tabs -->\n<ul\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"nav nav-tabs\"\n role=\"tablist\">\n <li\n class=\"nav-item\"\n *ngFor=\"let item of _tabItems\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\"\n class=\"nav-link\"\n data-toggle=\"tab\"\n [ngClass]=\"{ active: item.active, disabled: item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{ cursor: item.disabled ? 'not-allowed' : 'pointer' }\"\n >{{ item.label }}</a\n >\n </li>\n</ul>\n\n<!-- Tab panes -->\n<div class=\"tab-content pl-3 pt-2\">\n <ng-content></ng-content>\n</div>\n","import { SacTabComponent } from './tab';\nimport { SacTabItemComponent } from './tabitem';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacTabComponent, SacTabItemComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacTabComponent, SacTabItemComponent],\n})\nexport class SACBootstrap5TabsModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacTinyMceCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * TinyMCE Komponente\n */\n@Component({\n selector: 'sac-tinymce',\n templateUrl: './tinymce.html',\n styleUrls: ['./tinymce.scss'],\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacTinyMceComponent,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacTinyMceComponent),\n multi: true,\n },\n ],\n})\nexport class SacTinyMceComponent extends SacTinyMceCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector, ngZone: NgZone) {\n super(formLayout, injector, ngZone);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * overwrite tinymce defaults\n * @returns boostrap5 has no overwrites\n */\n public overwriteDefaultSettings() {\n return {};\n }\n\n // #endregion Public Methods\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <editor\n [id]=\"name + '_tinymce'\"\n [init]=\"_config\"\n [initialValue]=\"value\"\n ngModel\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"setValue($event)\"\n (onSaveContent)=\"save($event.event.content)\"\n (onBlur)=\"blur()\"\n [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody>\n <sac-filebrowser\n [apiurl]=\"filebrowserapiurl\"\n (file)=\"selectDialogSettings.value = $event\"\n [allowfoldercreate]=\"allowfoldercreate\"\n [allowfolderrename]=\"allowfolderrename\"\n [allowfolderdelete]=\"allowfolderdelete\"\n [allowfileupload]=\"allowfileupload\"\n [allowfilerename]=\"allowfilerename\"\n [allowfiledelete]=\"allowfiledelete\"\n [selectedfile]=\"selectDialogSettings.value\"\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\n </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n </sac-dialog>\n</div>\n","import { SACBootstrap5BrowserModule } from '../../components/browser/browser.module';\nimport { SACBootstrap5ButtonModule } from '../buttons/button.module';\nimport { SACBootstrap5DialogModule } from '../dialog/dialog.module';\nimport { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacTinyMceComponent } from './tinymce';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\nimport { EditorModule } from '@tinymce/tinymce-angular';\n\n@NgModule({\n declarations: [SacTinyMceComponent],\n imports: [\n CommonModule,\n FormsModule,\n EditorModule,\n SACBootstrap5ButtonModule,\n SACBootstrap5DialogModule,\n SACBootstrap5BrowserModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacTinyMceComponent],\n})\nexport class SACBootstrap5TinyMceModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacTreeviewCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Treeview Compomnent\n */\n@Component({\n selector: 'sac-treeview',\n templateUrl: './treeview.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacTreeviewComponent,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacTreeviewComponent),\n multi: true,\n },\n ],\n})\nexport class SacTreeviewComponent extends SacTreeviewCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Component Injector\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"w-100\"\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\n [class.me-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <ul\n class=\"list-group list-group-flush\"\n id=\"{{ name }}\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </ul>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <li\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\n [class.active]=\"isSelectedState(node)\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\"\n style=\"cursor: pointer\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <div\n class=\"mx-3\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n class=\"me-2\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n class=\"flex-grow-1 py-1\"\n [style.max-width.percent]=\"enableellipsis ? '100' : null\"\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\n <ng-template\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"setSelectedState(node)\"\n class=\"flex-shrink-0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </li>\n\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">{{ label }}</span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n class=\"me-2\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n","import { SACBootstrap5ContextmenuModule } from '../contextmenu/contextmenu.module';\nimport { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacTreeviewComponent } from './treeview';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacTreeviewComponent],\n imports: [\n CommonModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5ContextmenuModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacTreeviewComponent],\n})\nexport class SACBootstrap5TreeviewModule {}\n","import { SacFormDirective } from '../form';\nimport { Component, Host, Injector, Optional } from '@angular/core';\nimport { ControlContainer, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacValidationSummaryCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Validation Summary Kompontente\n */\n@Component({\n selector: 'sac-validationsummary',\n templateUrl: './validationsummary.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacValidationSummaryComponent,\n },\n ],\n // View Provider, damit das Formular an das Control gebunden werden kann\n viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }],\n})\nexport class SacValidationSummaryComponent extends SacValidationSummaryCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formControl Instance of Form Component to receive invalid form controls\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formControl: SacFormDirective, injector: Injector) {\n super(formControl, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"alert alert-danger\"\n role=\"alert\"\n *ngIf=\"hasErrors\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul class=\"mb-0\">\n <li *ngFor=\"let error of formErrors\">{{ error | async }}</li>\n </ul>\n</div>\n","import { SacValidationSummaryComponent } from './validationsummary';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacValidationSummaryComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacValidationSummaryComponent],\n})\nexport class SACBootstrap5ValidationSummaryModule {}\n","import { Component } from '@angular/core';\nimport { SacWizardItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Wizard Komponente Item\n */\n@Component({\n selector: 'sac-wizarditem',\n templateUrl: './wizarditem.html',\n})\nexport class SacWizardItemComponent extends SacWizardItemCommon {}\n","","import { SacWizardItemComponent } from './wizarditem';\nimport { Component, ContentChildren, QueryList } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacWizardCommon, SacWizardItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Wizard Komponente\n */\n@Component({\n selector: 'sac-wizard',\n templateUrl: './wizard.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }],\n})\nexport class SacWizardComponent extends SacWizardCommon {\n // #region Properties\n\n /**\n * Wizard Items\n */\n @ContentChildren(SacWizardItemComponent)\n public _wizardItems: QueryList<SacWizardItemComponent>;\n\n // #endregion Properties\n\n // #region Public Methods\n\n /**\n * Gibt die Wizard Items zurück\n * @returns Collection von WizardItems\n */\n public wizardItems(): QueryList<SacWizardItemCommon> {\n return this._wizardItems as QueryList<SacWizardItemCommon>;\n }\n\n // #endregion Public Methods\n}\n","<ul\n class=\"nav nav-wizard\"\n role=\"tablist\">\n <li\n *ngFor=\"let item of _wizardItems\"\n class=\"nav-item\"\n [ngClass]=\"{ active: item._active, disabled: item._disabled, success: item._iscomplete }\"\n [ngStyle]=\"{ cursor: item._disabled ? 'not-allowed' : 'pointer' }\">\n <a\n role=\"tab\"\n (click)=\"selectStep(item)\">\n <div class=\"circle\">\n <span class=\"step\"></span>\n </div>\n </a>\n <div class=\"info\">\n <a>{{ item._label }}</a>\n </div>\n </li>\n</ul>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SacWizardComponent } from './wizard';\nimport { SacWizardItemComponent } from './wizarditem';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacWizardComponent, SacWizardItemComponent],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACCommonUtliltiesModule],\n exports: [SacWizardComponent, SacWizardItemComponent],\n})\nexport class SACBootstrap5WizardModule {}\n","/*\n * Public API Surface of sac-bootstrap5\n */\nexport * from './components/browser/browser.module';\n\nexport * from './controls/buttons/button.module';\n\nexport * from './controls/checkbox/checkbox.module';\n\nexport { SACBootstrap5ConfirmModule, ServiceConfirm } from './controls/confirm/confirm.module';\n\nexport * from './controls/contextmenu/contextmenu.module';\n\nexport * from './controls/datetime/datetime.module';\n\nexport * from './controls/dialog/dialog.module';\n\nexport * from './controls/form/form.module';\n\nexport * from './controls/grid/grid.module';\n\nexport * from './controls/input/input.module';\n\nexport * from './controls/layout/layout.module';\n\nexport * from './controls/list/dropdown.module';\n\nexport * from './controls/list/list.module';\n\nexport * from './controls/multilanguage/multilanguage.module';\n\nexport * from './controls/static/staticlabel.module';\n\nexport * from './controls/tabs/tabs.module';\n\nexport * from './controls/tinymce/tinymce.module';\n\nexport * from './controls/tooltip/tooltip.module';\n\nexport * from './controls/upload/upload.module';\n\nexport * from './controls/treeview/treeview.module';\n\nexport * from './controls/validation/validationsummary.module';\n\nexport * from './controls/wizard/wizard.module';\n\n// Export Controls\nexport * from './controls/buttons/button';\n\nexport * from './controls/checkbox/checkbox';\n\nexport * from './controls/checkbox/radiobutton';\n\nexport * from './controls/checkbox/radiobuttons';\n\nexport * from './controls/confirm/confirm';\n\nexport * from './controls/contextmenu/contextmenu';\n\nexport * from './controls/contextmenu/contextmenuanchor';\n\nexport * from './controls/contextmenu/contextmenuitembutton';\n\nexport * from './controls/contextmenu/contextmenuitemsplitter';\n\nexport * from './controls/datetime/date';\n\nexport * from './controls/datetime/dateselector';\n\nexport * from './controls/datetime/datetime';\n\nexport * from './controls/datetime/time';\n\nexport * from './controls/dialog/dialog';\n\nexport * from './controls/form/form';\n\nexport * from './controls/form/inheritform.directive';\n\nexport * from './controls/grid/grid';\n\nexport * from './controls/grid/gridbutton';\n\nexport * from './controls/grid/gridcolumn';\n\nexport * from './controls/grid/gridcolumnaction';\n\nexport * from './controls/grid/gridimage';\n\nexport * from './controls/grid/paging';\n\nexport * from './controls/input/input';\n\nexport * from './controls/input/inputarea';\n\nexport * from './controls/input/inputcurrency';\n\nexport * from './controls/input/inputdecimal';\n\nexport * from './controls/input/inputemail';\n\nexport * from './controls/input/inputinteger';\n\nexport * from './controls/input/inputpassword';\n\nexport * from './controls/input/inputsearch';\n\nexport * from './controls/layout/formlayout.directive';\n\nexport * from './controls/layout/tocontrolheight.pipe';\n\nexport * from './controls/layout/tocontrolwidthcss.pipe';\n\nexport * from './controls/layout/tolabelheight.pipe';\n\nexport * from './controls/layout/tolabelwidthcss.pipe';\n\nexport * from './controls/list/dropdown';\n\nexport * from './controls/list/dropdownoption.directive';\n\nexport * from './controls/list/listbox';\n\nexport * from './controls/list/listboxoption.directive';\n\nexport * from './controls/multilanguage/multilanguageinput';\n\nexport * from './controls/multilanguage/multilanguageinputarea';\n\nexport * from './controls/static/formcontainer';\n\nexport * from './controls/static/staticlabel';\n\nexport * from './controls/tabs/tab';\n\nexport * from './controls/tabs/tabitem';\n\nexport * from './controls/tinymce/tinymce';\n\nexport * from './controls/tooltip/tooltip';\n\nexport * from './controls/treeview/treeview';\n\nexport * from './controls/upload/dropzonemultiple';\n\nexport * from './controls/upload/dropzonesingle';\n\nexport * from './controls/upload/upload';\n\nexport * from './controls/upload/uploadmultiple';\n\nexport * from './controls/validation/validationsummary';\n\nexport * from './controls/wizard/wizard';\n\nexport * from './controls/wizard/wizarditem';\n\n// Export Components\nexport * from './components/browser/browser';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.SacDialogComponent","i2.SacButtonComponent","i2.SacContextmenuContainerDirective","i3.SacContextmenuAnchorDirective","i1.SacFormLayoutDirective","i2.SacTooltipComponent","i5.SacToLabelWidthCssPipe","i6.SacToLabelHeightPipe","i7.SacToControlWidthCssPipe","i8.SacToControlHeightPipe","i2.ServiceConfirm","i3.SacContextmenuComponent","i4.SacContextmenuItemButtonComponent","i5.SacContextmenuItemSplitterComponent","i6.SacDropzoneMultipleComponent","i7","i8.SacFormDirective","i1.SacRadiobuttonsComponent","i2.SacFormLayoutDirective","i3.SacDateSelectorComponent","i4","i6","i7.SacToLabelWidthCssPipe","i8.SacToLabelHeightPipe","i9.SacToControlWidthCssPipe","i10.SacToControlHeightPipe","i3","i1.SacPagingComponent","i1.SacGridComponent","i4.SacDropdownOptionDirective","i5","i6.SacToLabelWidthCssPipe","i7.SacToLabelHeightPipe","i8.SacToControlWidthCssPipe","i9.SacToControlHeightPipe","i4.SacListboxOptionDirective","i2.SacMultilanguagemenuContainerDirective","i3.SacMultilanguagemenuAnchorDirective","i3.SacMultilanguagemenuComponent","i4.SacMultilanguagemenuItemButtonComponent","i6.SacMultilanguagemenuAnchorDirective","i8.SacToLabelWidthCssPipe","i9.SacToLabelHeightPipe","i10.SacToControlWidthCssPipe","i11.SacToControlHeightPipe","i4.SacDialogComponent","i5.SacBrowserComponent","i6.SacButtonComponent","i8","i9","i10.SacToLabelWidthCssPipe","i11.SacToLabelHeightPipe","i12.SacToControlWidthCssPipe","i13.SacToControlHeightPipe","i1.SacFormDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simpleangularcontrols-sac-bootstrap5.mjs","sources":["../../../projects/sac-bootstrap5/src/controls/buttons/button.ts","../../../projects/sac-bootstrap5/src/controls/buttons/button.html","../../../projects/sac-bootstrap5/src/controls/buttons/button.module.ts","../../../projects/sac-bootstrap5/src/controls/dialog/dialog.ts","../../../projects/sac-bootstrap5/src/controls/dialog/dialog.html","../../../projects/sac-bootstrap5/src/controls/dialog/dialog.module.ts","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.ts","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.html","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.service.ts","../../../projects/sac-bootstrap5/src/controls/confirm/confirm.module.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenucontainer.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuanchor.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenu.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenu.html","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitembutton.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitembutton.html","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitemsplitter.ts","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenuitemsplitter.html","../../../projects/sac-bootstrap5/src/controls/contextmenu/contextmenu.module.ts","../../../projects/sac-bootstrap5/src/controls/form/form.ts","../../../projects/sac-bootstrap5/src/controls/form/inheritform.directive.ts","../../../projects/sac-bootstrap5/src/controls/form/form.module.ts","../../../projects/sac-bootstrap5/src/controls/layout/formlayout.directive.ts","../../../projects/sac-bootstrap5/src/controls/layout/tocontrolheight.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/tocontrolwidthcss.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/tolabelheight.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/tolabelwidthcss.pipe.ts","../../../projects/sac-bootstrap5/src/controls/layout/layout.module.ts","../../../projects/sac-bootstrap5/src/controls/tooltip/tooltip.ts","../../../projects/sac-bootstrap5/src/controls/tooltip/tooltip.html","../../../projects/sac-bootstrap5/src/controls/tooltip/tooltip.module.ts","../../../projects/sac-bootstrap5/src/controls/upload/dropzonemultiple.ts","../../../projects/sac-bootstrap5/src/controls/upload/dropzonemultiple.html","../../../projects/sac-bootstrap5/src/controls/upload/dropzonesingle.ts","../../../projects/sac-bootstrap5/src/controls/upload/dropzonesingle.html","../../../projects/sac-bootstrap5/src/controls/upload/upload.ts","../../../projects/sac-bootstrap5/src/controls/upload/upload.html","../../../projects/sac-bootstrap5/src/controls/upload/uploadmultiple.ts","../../../projects/sac-bootstrap5/src/controls/upload/uploadmultiple.html","../../../projects/sac-bootstrap5/src/controls/upload/upload.module.ts","../../../projects/sac-bootstrap5/src/components/browser/browser.ts","../../../projects/sac-bootstrap5/src/components/browser/browser.html","../../../projects/sac-bootstrap5/src/components/browser/browser.module.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/checkbox.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/checkbox.html","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobuttons.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobuttons.html","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobutton.ts","../../../projects/sac-bootstrap5/src/controls/checkbox/radiobutton.html","../../../projects/sac-bootstrap5/src/controls/checkbox/checkbox.module.ts","../../../projects/sac-bootstrap5/src/controls/datetime/dateselector.ts","../../../projects/sac-bootstrap5/src/controls/datetime/dateselector.html","../../../projects/sac-bootstrap5/src/controls/datetime/date.ts","../../../projects/sac-bootstrap5/src/controls/datetime/date.html","../../../projects/sac-bootstrap5/src/controls/datetime/datetime.ts","../../../projects/sac-bootstrap5/src/controls/datetime/datetime.html","../../../projects/sac-bootstrap5/src/controls/datetime/time.ts","../../../projects/sac-bootstrap5/src/controls/datetime/time.html","../../../projects/sac-bootstrap5/src/controls/datetime/datetime.module.ts","../../../projects/sac-bootstrap5/src/controls/grid/paging.ts","../../../projects/sac-bootstrap5/src/controls/grid/paging.html","../../../projects/sac-bootstrap5/src/controls/grid/grid.ts","../../../projects/sac-bootstrap5/src/controls/grid/grid.html","../../../projects/sac-bootstrap5/src/controls/grid/gridbutton.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridbutton.html","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumn.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumn.html","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumnaction.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridcolumnaction.html","../../../projects/sac-bootstrap5/src/controls/grid/gridimage.ts","../../../projects/sac-bootstrap5/src/controls/grid/gridimage.html","../../../projects/sac-bootstrap5/src/controls/grid/grid.module.ts","../../../projects/sac-bootstrap5/src/controls/input/input.ts","../../../projects/sac-bootstrap5/src/controls/input/input.html","../../../projects/sac-bootstrap5/src/controls/input/inputarea.ts","../../../projects/sac-bootstrap5/src/controls/input/inputarea.html","../../../projects/sac-bootstrap5/src/controls/input/inputcurrency.ts","../../../projects/sac-bootstrap5/src/controls/input/inputcurrency.html","../../../projects/sac-bootstrap5/src/controls/input/inputdecimal.ts","../../../projects/sac-bootstrap5/src/controls/input/inputdecimal.html","../../../projects/sac-bootstrap5/src/controls/input/inputemail.ts","../../../projects/sac-bootstrap5/src/controls/input/inputemail.html","../../../projects/sac-bootstrap5/src/controls/input/inputinteger.ts","../../../projects/sac-bootstrap5/src/controls/input/inputinteger.html","../../../projects/sac-bootstrap5/src/controls/input/inputpassword.ts","../../../projects/sac-bootstrap5/src/controls/input/inputpassword.html","../../../projects/sac-bootstrap5/src/controls/input/inputsearch.ts","../../../projects/sac-bootstrap5/src/controls/input/inputsearch.html","../../../projects/sac-bootstrap5/src/controls/input/input.module.ts","../../../projects/sac-bootstrap5/src/controls/list/list.token.ts","../../../projects/sac-bootstrap5/src/controls/list/dropdownoption.directive.ts","../../../projects/sac-bootstrap5/src/controls/list/dropdown.ts","../../../projects/sac-bootstrap5/src/controls/list/dropdown.html","../../../projects/sac-bootstrap5/src/controls/list/dropdown.module.ts","../../../projects/sac-bootstrap5/src/controls/list/listboxoption.directive.ts","../../../projects/sac-bootstrap5/src/controls/list/listbox.ts","../../../projects/sac-bootstrap5/src/controls/list/listbox.html","../../../projects/sac-bootstrap5/src/controls/list/list.module.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenucontainer.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenuanchor.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenu.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenu.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenuitembutton.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguagemenuitembutton.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinput.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinput.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinputarea.ts","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguageinputarea.html","../../../projects/sac-bootstrap5/src/controls/multilanguage/multilanguage.module.ts","../../../projects/sac-bootstrap5/src/controls/static/formcontainer.ts","../../../projects/sac-bootstrap5/src/controls/static/formcontainer.html","../../../projects/sac-bootstrap5/src/controls/static/staticlabel.ts","../../../projects/sac-bootstrap5/src/controls/static/staticlabel.html","../../../projects/sac-bootstrap5/src/controls/static/staticlabel.module.ts","../../../projects/sac-bootstrap5/src/controls/tabs/tabitem.ts","../../../projects/sac-bootstrap5/src/controls/tabs/tabitem.html","../../../projects/sac-bootstrap5/src/controls/tabs/tab.ts","../../../projects/sac-bootstrap5/src/controls/tabs/tab.html","../../../projects/sac-bootstrap5/src/controls/tabs/tabs.module.ts","../../../projects/sac-bootstrap5/src/controls/tinymce/tinymce.ts","../../../projects/sac-bootstrap5/src/controls/tinymce/tinymce.html","../../../projects/sac-bootstrap5/src/controls/tinymce/tinymce.module.ts","../../../projects/sac-bootstrap5/src/controls/treeview/treeview.ts","../../../projects/sac-bootstrap5/src/controls/treeview/treeview.html","../../../projects/sac-bootstrap5/src/controls/treeview/treeview.module.ts","../../../projects/sac-bootstrap5/src/controls/validation/validationsummary.ts","../../../projects/sac-bootstrap5/src/controls/validation/validationsummary.html","../../../projects/sac-bootstrap5/src/controls/validation/validationsummary.module.ts","../../../projects/sac-bootstrap5/src/controls/wizard/wizarditem.ts","../../../projects/sac-bootstrap5/src/controls/wizard/wizarditem.html","../../../projects/sac-bootstrap5/src/controls/wizard/wizard.ts","../../../projects/sac-bootstrap5/src/controls/wizard/wizard.html","../../../projects/sac-bootstrap5/src/controls/wizard/wizard.module.ts","../../../projects/sac-bootstrap5/src/public-api.ts","../../../projects/sac-bootstrap5/src/simpleangularcontrols-sac-bootstrap5.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { SacButtonCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Button Component\n *\n * <example-url>http://localhost/demo/mysample.component.html</example-url>\n */\n@Component({\n selector: 'sac-button',\n templateUrl: './button.html',\n})\nexport class SacButtonComponent extends SacButtonCommon {}\n","<button\n [id]=\"name\"\n type=\"button\"\n class=\"btn d-flex justify-content-center align-items-center\"\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n (click)=\"buttonClick()\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-link]=\"role === 'link'\">\n <span\n *ngIf=\"isloading\"\n class=\"spinner-border spinner-border-sm me-2\"\n role=\"status\"\n aria-hidden=\"true\"></span>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [class.me-2]=\"text\"></i\n >{{ text }}\n</button>\n","import { SacButtonComponent } from './button';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacButtonComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacButtonComponent],\n})\nexport class SACBootstrap5ButtonModule {}\n","import { ChangeDetectorRef, Component, ElementRef, OnDestroy, OnInit } from '@angular/core';\nimport { SacDialogCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dialog Komponente\n */\n@Component({\n selector: 'sac-dialog',\n templateUrl: './dialog.html',\n})\nexport class SacDialogComponent extends SacDialogCommon implements OnInit, OnDestroy {\n // #region Properties\n\n /**\n * Referenz auf DOM Element\n */\n private element: any;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param el DOM Element Referenz\n * @param cdRef Change Detection Service\n */\n constructor(el: ElementRef, cdRef: ChangeDetectorRef) {\n super(cdRef);\n\n this.element = el.nativeElement;\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Event wenn Element entfernt wird\n */\n public ngOnDestroy() {\n this.hide();\n if (document.body.contains(this.element)) {\n document.body.removeChild(this.element);\n }\n super.ngOnDestroy();\n }\n\n /**\n * Event wenn Komponente initialisiert wird\n */\n public ngOnInit() {\n // Element an Body für korrektes Styling unter Bootstrap 3 verschieben\n document.body.appendChild(this.element);\n }\n\n // #endregion Public Methods\n}\n","<div\n #dialog\n class=\"modal show\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n *ngIf=\"_show\">\n <div\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\n role=\"document\"\n [class.modal-xl]=\"_size === 'extralarge'\"\n [class.modal-lg]=\"_size === 'large'\"\n [class.modal-sm]=\"_size === 'small'\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ title }}</h5>\n <button\n type=\"button\"\n class=\"btn-close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"></button>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n</div>\n<!-- /.modal -->\n<div\n class=\"modal-backdrop show\"\n *ngIf=\"_show && backdrop\"\n #backdrop></div>\n","import { SacDialogComponent } from './dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacDialogComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacDialogComponent],\n})\nexport class SACBootstrap5DialogModule {}\n","import { Component } from '@angular/core';\nimport { SacConfirmCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Confirm Komponente\n */\n@Component({\n selector: 'sac-confirm',\n templateUrl: './confirm.html',\n})\nexport class SacConfirmComponent extends SacConfirmCommon {}\n","<sac-dialog\n name=\"confirmDialog\"\n [(isvisible)]=\"isvisible\"\n [title]=\"title\"\n [allowesc]=\"false\"\n [closebutton]=\"false\"\n dialogsize=\"small\">\n <div dialogbody>\n <div class=\"d-flex align-items-center\">\n <div class=\"me-2\">\n <img\n [attr.src]=\"image\"\n class=\"align-self-center mr-3\"\n *ngIf=\"hasImage()\" />\n </div>\n <div class=\"flex-grow-1\">{{ message }}</div>\n </div>\n </div>\n <ng-container dialogfooter>\n <ng-container *ngFor=\"let button of buttons\">\n <sac-button\n [name]=\"button.key\"\n [text]=\"button.text\"\n [role]=\"button.role || 'default'\"\n (clicked)=\"confirm(button.key)\"></sac-button>\n </ng-container>\n </ng-container>\n</sac-dialog>\n","import { SacConfirmComponent } from './confirm';\nimport {\n ApplicationRef,\n ComponentFactory,\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { SacConfirmButton, ServiceConfirmCommon, isDefined } from '@simpleangularcontrols/sac-common';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Service für Confirm Messages in TypeScript Code\n *\n * @example\n * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).\n * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });\n *\n * @example\n * // Beispiel für ConfirmMessage mit eigenen Buttons\n * let buttons: SacConfirmButton[] = [];\n * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));\n * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));\n * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });\n */\n@Injectable()\nexport class ServiceConfirm extends ServiceConfirmCommon {\n // #region Properties\n\n /**\n * Collection von Buttons die angezeigt werden müssen.\n */\n private buttons: SacConfirmButton[] = [];\n\n /**\n * Message die in Dialog angezeigt werden soll.\n */\n private message: string = '';\n\n /**\n * Titel der im Dialog angezeigt werden soll.\n */\n private title: string = '';\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param componentFactoryResolver Component Factory Resolver Instanz\n * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen\n * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen\n */\n constructor(\n @Inject(ComponentFactoryResolver)\n private componentFactoryResolver: ComponentFactoryResolver,\n appRef: ApplicationRef,\n injector: Injector\n ) {\n super(appRef, injector);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Confirm Dialog anzeigen\n * @param message Nachricht die angezeigt werden soll.\n * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.\n */\n public ConfirmMessage(title: string, message: string, buttons: SacConfirmButton[] = null): EventEmitter<string> {\n this.title = title;\n this.message = message;\n\n // Default Buttons setzen, wenn keine Buttons angegeben sind\n if (!isDefined(buttons)) {\n this.buttons = [];\n\n forkJoin({\n button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),\n button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),\n })\n .pipe(take(1))\n .subscribe((texte) => {\n this.buttons.push(new SacConfirmButton('yes', texte.button_yes, 'primary'));\n this.buttons.push(new SacConfirmButton('no', texte.button_no));\n });\n } else {\n this.buttons = buttons;\n }\n return super.Confirm();\n }\n\n /**\n * Erzeugen einer Component Factory für einen Dialog\n */\n public GetComponentFactory(): ComponentFactory<SacConfirmComponent> {\n return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n /**\n * Konfiguration des Dialogs\n * @param instance Instanz eines SacConfirm Dialogs\n */\n protected ConfigureDialog(instance: SacConfirmComponent) {\n // Text in Dialog setzen\n instance.title = this.title;\n instance.message = this.message;\n instance.buttons = this.buttons;\n instance.image = this.iconService.ConfirmDefaultImage;\n }\n\n // #endregion Protected Methods\n}\n","import { SACBootstrap5ButtonModule } from '../buttons/button.module';\nimport { SACBootstrap5DialogModule } from '../dialog/dialog.module';\nimport { SacConfirmComponent } from './confirm';\nimport { ServiceConfirm } from './confirm.service';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n/**\n * Module für Confirm Messages\n *\n * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: SACBootstrap5ConfirmModule.forRoot()\n *\n */\n@NgModule({\n declarations: [SacConfirmComponent],\n imports: [CommonModule, SACBootstrap5DialogModule, SACBootstrap5ButtonModule, SACCommonUtliltiesModule],\n exports: [SacConfirmComponent],\n})\nexport class SACBootstrap5ConfirmModule {\n // #region Public Static Methods\n\n public static forRoot(): ModuleWithProviders<SACBootstrap5ConfirmModule> {\n return {\n ngModule: SACBootstrap5ConfirmModule,\n providers: [ServiceConfirm],\n };\n }\n\n // #endregion Public Static Methods\n}\n\nexport { ServiceConfirm } from './confirm.service';\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextMenuContrainerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Marker Komponente für Context Menü\n */\n@Directive({\n selector: '[sacContextMenuContainer]',\n providers: [\n {\n provide: SacContextMenuContrainerCommon,\n useExisting: forwardRef(() => SacContextmenuContainerDirective),\n },\n ],\n})\nexport class SacContextmenuContainerDirective extends SacContextMenuContrainerCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf DOM Element\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextmenuAnchorCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.\n */\n@Directive({\n selector: '[sacContextMenuAnchor]',\n providers: [\n {\n provide: SacContextmenuAnchorCommon,\n useExisting: forwardRef(() => SacContextmenuAnchorDirective),\n },\n ],\n})\nexport class SacContextmenuAnchorDirective extends SacContextmenuAnchorCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef HTML DOM Referenz\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, ElementRef, Inject, Injector, NgZone, Renderer2 } from '@angular/core';\nimport { SacContextmenuCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component für Contextmenü\n */\n@Component({\n selector: 'sac-contextmenu',\n templateUrl: './contextmenu.html',\n})\nexport class SacContextmenuComponent extends SacContextmenuCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param document Referenz auf HTML Document\n * @param ngZone Angular Zone Service\n * @param elementRef Referenz auf HTML Element der aktuellen Komponente\n * @param renderer Render Service von Angular\n * @param injector injector to resolve services\n */\n constructor(\n @Inject(DOCUMENT) document: any,\n ngZone: NgZone,\n elementRef: ElementRef<HTMLElement>,\n renderer: Renderer2,\n injector: Injector\n ) {\n super(document, ngZone, elementRef, renderer, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"dropdown\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [ngClass]=\"cssclass\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-end\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n","import { Component, forwardRef } from '@angular/core';\nimport { SacContextmenuItemButtonCommon, SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component for menu entry in context menu\n */\n@Component({\n selector: 'sac-contextmenubutton',\n templateUrl: './contextmenuitembutton.html',\n providers: [\n {\n provide: SacContextmenuItemCommon,\n useExisting: forwardRef(() => SacContextmenuItemButtonComponent),\n },\n ],\n})\nexport class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {\n // #region Constructors\n\n /**\n * Constructor\n */\n constructor() {\n super();\n }\n\n // #endregion Constructors\n}\n","<li>\n <button\n [id]=\"name\"\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [ngClass]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\n <div class=\"d-flex\">\n <div\n *ngIf=\"!isicondisabled\"\n style=\"min-width: 1.5rem\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n class=\"align-baseline\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n","import { Component, forwardRef } from '@angular/core';\nimport { SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Splitter Komponente in Context Menü\n */\n@Component({\n selector: 'sac-contextmenusplitter',\n templateUrl: './contextmenuitemsplitter.html',\n providers: [\n {\n provide: SacContextmenuItemCommon,\n useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),\n },\n ],\n})\nexport class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {}\n","<li><div class=\"dropdown-divider\"></div></li>\n","import { SacContextmenuComponent } from './contextmenu';\nimport { SacContextmenuAnchorDirective } from './contextmenuanchor';\nimport { SacContextmenuContainerDirective } from './contextmenucontainer';\nimport { SacContextmenuItemButtonComponent } from './contextmenuitembutton';\nimport { SacContextmenuItemSplitterComponent } from './contextmenuitemsplitter';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacContextmenuComponent,\n SacContextmenuItemButtonComponent,\n SacContextmenuItemSplitterComponent,\n SacContextmenuAnchorDirective,\n SacContextmenuContainerDirective,\n ],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [\n SacContextmenuComponent,\n SacContextmenuItemButtonComponent,\n SacContextmenuItemSplitterComponent,\n SacContextmenuAnchorDirective,\n ],\n})\nexport class SACBootstrap5ContextmenuModule {}\n","import { Directive, HostBinding } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { SacFormCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.\n *\n * @example Beispiel über Div Container\n *\n * <div ngForm></div>\n *\n * @example Beispiel über Form Tag\n *\n * <form></form>\n *\n */\n@Directive({\n selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]', // eslint-disable-line @angular-eslint/directive-selector -- required as extension to form\n exportAs: 'sacform',\n})\nexport class SacFormDirective extends SacFormCommon {\n // #region Properties\n\n /**\n * Setzt die Standard CSS Klasse für auf dem Form Container\n */\n @HostBinding('class.form')\n public cssClassForm: boolean = true;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param form Instanz von NgForm für eigene automatische Formular Logik\n */\n constructor(form: NgForm) {\n super(form);\n }\n\n // #endregion Constructors\n}\n","import { SacFormDirective } from './form';\nimport { Directive, Injector, SkipSelf } from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { SacFormCommon } from '@simpleangularcontrols/sac-common';\n\n// #region Exported Functions\n\n/**\n * Factory Methode für NgForm\n * @param form NgForm\n */\nexport function NGFORM_FACTORY(form: NgForm) {\n return form;\n}\n\n/**\n * Factory Methode für SacForm\n * @param form SacFormular\n */\nexport function SACFORM_FACTORY(form: SacFormDirective) {\n return form;\n}\n\n// #endregion Exported Functions\n\n// #region Exported Classes\n\n/**\n * Directive to inherit an NgForm/NgForm from a parent component\n */\n@Directive({\n selector: '[sacInheritForm]',\n exportAs: 'sacinheritform',\n providers: [\n {\n provide: SacFormDirective,\n useFactory: SACFORM_FACTORY,\n deps: [[new SkipSelf(), SacFormDirective]],\n },\n {\n provide: ControlContainer,\n useFactory: NGFORM_FACTORY,\n deps: [NgForm],\n },\n ],\n})\nexport class SacInheritFormDirective extends SacFormCommon {\n // #region Constructors\n\n /**\n * Construtor\n * @param injector: injector to receive the NgForm instance\n */\n constructor(injector: Injector) {\n super(injector.get(NgForm));\n }\n\n // #endregion Constructors\n}\n\n// #endregion Exported Classes\n","import { SacFormDirective } from './form';\nimport { SacInheritFormDirective } from './inheritform.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SacFormDirective, SacInheritFormDirective],\n imports: [CommonModule, FormsModule],\n exports: [SacFormDirective, SacInheritFormDirective],\n})\nexport class SACBootstrap5FormModule {}\n","import { Directive } from '@angular/core';\nimport { SacFormLayoutCommon } from '@simpleangularcontrols/sac-common';\n\n@Directive({\n selector: '[sacFormLayout]',\n})\nexport class SacFormLayoutDirective extends SacFormLayoutCommon {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ControlHeight } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toControlHeight',\n})\nexport class SacToControlHeightPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Returns the CSS class that defines the height for the control\n * @param value ControlHeight value or null\n */\n public transform(value: ControlHeight | null): string {\n // Return default value\n if (!value) {\n return '';\n }\n\n switch (value) {\n case ControlHeight.Small:\n return 'form-control-sm';\n case ControlHeight.Large:\n return 'form-control-lg';\n default:\n return '';\n }\n }\n\n // #endregion Public Methods\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ISacLabelSizes } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toControlWidthCss',\n})\nexport class SacToControlWidthCssPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Get CSS classes from label width configuration to set control size\n * @param value Configuration with grid columns for different viewports\n * @returns string with css classe for bootstrap3\n */\n public transform(value: ISacLabelSizes): string {\n const classes: string[] = [];\n\n if (value.labelSizeXs) {\n classes.push('col-' + this.calcControlSize(value.labelSizeXs));\n }\n\n if (value.labelSizeSm) {\n classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));\n }\n\n if (value.labelSizeMd) {\n classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));\n }\n\n if (value.labelSizeLg) {\n classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));\n }\n\n if (value.labelSizeXl) {\n classes.push('col-xl-' + this.calcControlSize(value.labelSizeXl));\n }\n\n if (value.labelSizeXxl) {\n classes.push('col-xxl-' + this.calcControlSize(value.labelSizeXxl));\n }\n\n return classes.join(' ');\n }\n\n // #endregion Public Methods\n\n // #region Private Methods\n\n /**\n * calculate the control size\n * @param labelsize grid size of label\n * @returns grid size for control. should be between 1 and 12\n */\n private calcControlSize(labelsize: number) {\n if (labelsize === 12) {\n return 12;\n }\n\n if (!labelsize) {\n return 12;\n }\n\n return 12 - labelsize;\n }\n\n // #endregion Private Methods\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ControlHeight } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toLabelHeight',\n})\nexport class SacToLabelHeightPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Returns the CSS class that defines the height for the control\n * @param value ControlHeight value or null\n */\n public transform(value: ControlHeight | null): string {\n // Return default value\n if (!value) {\n return '';\n }\n\n switch (value) {\n case ControlHeight.Small:\n return 'col-form-label-sm';\n case ControlHeight.Large:\n return 'col-form-label-lg';\n default:\n return '';\n }\n }\n\n // #endregion Public Methods\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ISacLabelSizes } from '@simpleangularcontrols/sac-common';\n\n@Pipe({\n name: 'toLabelWidthCss',\n})\nexport class SacToLabelWidthCssPipe implements PipeTransform {\n // #region Public Methods\n\n /**\n * Get CSS classes from label width configuration to set label size\n * @param value Configuration with grid columns for different viewports\n * @returns string with css classe for bootstrap3\n */\n public transform(value: ISacLabelSizes): string {\n const classes: string[] = [];\n\n if (value.labelSizeXs) {\n classes.push('col-' + value.labelSizeXs);\n }\n\n if (value.labelSizeSm) {\n classes.push('col-sm-' + value.labelSizeSm);\n }\n\n if (value.labelSizeMd) {\n classes.push('col-md-' + value.labelSizeMd);\n }\n\n if (value.labelSizeLg) {\n classes.push('col-lg-' + value.labelSizeLg);\n }\n\n if (value.labelSizeXl) {\n classes.push('col-xl-' + value.labelSizeXl);\n }\n\n if (value.labelSizeXxl) {\n classes.push('col-xxl-' + value.labelSizeXxl);\n }\n\n return classes.join(' ');\n }\n\n // #endregion Public Methods\n}\n","import { SacFormLayoutDirective } from './formlayout.directive';\nimport { SacToControlHeightPipe } from './tocontrolheight.pipe';\nimport { SacToControlWidthCssPipe } from './tocontrolwidthcss.pipe';\nimport { SacToLabelHeightPipe } from './tolabelheight.pipe';\nimport { SacToLabelWidthCssPipe } from './tolabelwidthcss.pipe';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n SacFormLayoutDirective,\n SacToControlHeightPipe,\n SacToControlWidthCssPipe,\n SacToLabelHeightPipe,\n SacToLabelWidthCssPipe,\n ],\n imports: [CommonModule],\n exports: [\n SacFormLayoutDirective,\n SacToControlHeightPipe,\n SacToControlWidthCssPipe,\n SacToLabelHeightPipe,\n SacToLabelWidthCssPipe,\n ],\n})\nexport class SACBootstrap5LayoutModule {}\n","import { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\nimport { SacTooltipCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Tooltip Komponente\n *\n * @example ToolTip Control\n *\n * <ngTooltip tooltiptext=\"Mein Tooltip\" [inlinemode]=\"true\">\n * <i class=\"tooltip\"></i>\n * </ngTooltip>\n *\n * @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.\n *\n * <div class=\"form-inline\">\n * <ngInputSearch iconname=\"Suchen\"></ngInputSearch>\n * <ngTooltip tooltiptext=\"Mein Tooltip\" [inlinemode]=\"true\">\n * <i class=\"tooltip\" style=\"position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;\"></i>\n * </ngTooltip>\n * </div>\n *\n */\n@Component({\n selector: 'sac-tooltip',\n templateUrl: './tooltip.html',\n})\nexport class SacTooltipComponent extends SacTooltipCommon {\n // #region Constructors\n\n /**\n * Konstrukor\n * @param parent SacFormular Instanz\n * @param injector Component Injector\n */\n constructor(cdRef: ChangeDetectorRef, ref: ElementRef) {\n super(cdRef, ref);\n }\n\n // #endregion Constructors\n\n // #region Protected Methods\n\n /**\n * Padding Value for Bootstrap5 Tooltip Padding\n * @returns Static Padding Value for BS5\n */\n protected getTooltipOffset(): number {\n return 8;\n }\n\n // #endregion Protected Methods\n}\n","<div\n [style.display]=\"inlinemode ? 'inline' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n #container\n (mouseenter)=\"ShowTooltip()\"\n (mouseleave)=\"HideTooltip()\"\n [style.display]=\"inlinemode ? 'inline' : null\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [class.show]=\"IsTooltipContentVisible\"\n class=\"tooltip bs-tooltip-auto fade\"\n style=\"position: absolute\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\n [attr.data-popper-placement]=\"\n GetTooltipPosition() === TooltipPosition.right\n ? 'right'\n : GetTooltipPosition() === TooltipPosition.left\n ? 'left'\n : GetTooltipPosition() === TooltipPosition.top\n ? 'top'\n : GetTooltipPosition() === TooltipPosition.bottom\n ? 'bottom'\n : null\n \">\n <div\n class=\"tooltip-arrow\"\n style=\"position: absolute\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n","import { SacTooltipComponent } from './tooltip';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacTooltipComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacTooltipComponent],\n})\nexport class SACBootstrap5TooltipModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, OnInit, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDropzoneMultipleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dropzone Komponente für mehrere Uploads\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-dropzonemultiple',\n templateUrl: './dropzonemultiple.html',\n styleUrls: ['./dropzone.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacDropzoneMultipleComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDropzoneMultipleComponent),\n },\n ],\n})\nexport class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon implements OnInit {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Initialisiert das Control\n */\n public ngOnInit() {\n super.ngOnInit();\n }\n\n // #endregion Public Methods\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content d-flex justify-content-center\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, OnInit, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDropzoneSingleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dropzone Komponente für den Upload eines Files\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-dropzonesingle',\n templateUrl: './dropzonesingle.html',\n styleUrls: ['./dropzone.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacDropzoneSingleComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDropzoneSingleComponent),\n },\n ],\n})\nexport class SacDropzoneSingleComponent extends SacDropzoneSingleCommon implements OnInit {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Initialisiert das Control\n */\n public ngOnInit() {\n super.ngOnInit();\n }\n\n // #endregion Public Methods\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content d-flex justify-content-center position-relative\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacUploadSingleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Upload Komponten\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-upload',\n templateUrl: './upload.html',\n styleUrls: ['./upload.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacUploadComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacUploadComponent),\n },\n ],\n})\nexport class SacUploadComponent extends SacUploadSingleCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n class=\"pe-2\"\n [ngClass]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n type=\"file\"\n id=\"{{ name }}_uploadinput\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n <div\n class=\"form-control upload-progress\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacUploadMultipleCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Upload Komponente für den Upload mehrer Files\n * @see https://github.com/kukhariev/ngx-uploadx/\n */\n@Component({\n selector: 'sac-uploadmultiple',\n templateUrl: './uploadmultiple.html',\n styleUrls: ['./upload.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacUploadMultipleComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacUploadMultipleComponent),\n },\n ],\n})\nexport class SacUploadMultipleComponent extends SacUploadMultipleCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n ngZone: NgZone\n ) {\n super(formLayout, injector, renderer, ngZone);\n }\n\n // #endregion Constructors\n}\n","<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n [ngClass]=\"IconBrowse\"\n class=\"pe-2\"></i>\n <span class=\"upload-browse\">{{\n buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async)\n }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"form-control upload-progress\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n\n <button\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacDropzoneMultipleComponent } from './dropzonemultiple';\nimport { SacDropzoneSingleComponent } from './dropzonesingle';\nimport { SacUploadComponent } from './upload';\nimport { SacUploadMultipleComponent } from './uploadmultiple';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacUploadComponent,\n SacUploadMultipleComponent,\n SacDropzoneSingleComponent,\n SacDropzoneMultipleComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],\n})\nexport class SACBootstrap5UploadModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Injector, ViewChild } from '@angular/core';\nimport {\n IBrowserFile,\n IBrowserNode,\n SacFileBrowserCommon,\n} from '@simpleangularcontrols/sac-common';\nimport { Observable, forkJoin } from 'rxjs';\nimport { ServiceConfirm } from '../../controls/confirm/confirm.service';\nimport { SacDropzoneMultipleComponent } from '../../controls/upload/dropzonemultiple';\n\n/**\n * Server File Browser Komponente\n */\n@Component({\n selector: 'sac-filebrowser',\n templateUrl: './browser.html',\n providers: [ServiceConfirm],\n})\nexport class SacBrowserComponent extends SacFileBrowserCommon {\n // #region Properties\n\n /**\n * Referenz auf Upload Component\n */\n @ViewChild(SacDropzoneMultipleComponent, { static: false })\n private uploadComponent: SacDropzoneMultipleComponent;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param httpClient HTTP Client\n * @param injector Angular Dependency Injection Service\n * @param confirmService Confirm Service\n */\n constructor(\n httpClient: HttpClient,\n injector: Injector,\n private confirmService: ServiceConfirm\n ) {\n super(httpClient, injector);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * Confirm Action wenn ein File gelöscht werden soll\n * @param file File das gelöscht werden soll.\n * @returns Observable ob File gelöscht werden kann.\n */\n public confirmDeleteFile(file: IBrowserFile): Observable<boolean> {\n return new Observable<boolean>((observer) => {\n forkJoin({\n title: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserButtonDelete\n ),\n message: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserButtonDelete\n ),\n }).subscribe((text) => {\n this.confirmService\n .ConfirmMessage(text.title, text.message)\n .subscribe((result) => {\n if (result === 'yes') {\n observer.next(true);\n } else {\n observer.next(false);\n }\n observer.complete();\n });\n });\n });\n }\n\n /**\n * Confirm Action wenn ein Ordner gelöscht werden soll\n * @param node Ordner der gelöscht werden soll\n * @returns Observable ob Ordner gelöscht kann.\n */\n public confirmDeleteNode(node: IBrowserNode): Observable<boolean> {\n return new Observable<boolean>((observer) => {\n forkJoin({\n title: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserButtonDelete\n ),\n message: this.lngResourceService.GetString(\n this.validationKeyService.FilebrowserConfirmTextDeleteFolder\n ),\n }).subscribe((text) => {\n this.confirmService\n .ConfirmMessage(text.title, text.message)\n .subscribe((result) => {\n if (result === 'yes') {\n observer.next(true);\n } else {\n observer.next(false);\n }\n observer.complete();\n });\n });\n });\n }\n\n /**\n * Erzeugt ein Array von einer bestimmten grösse\n * @param anzahl Grösse des Array\n * @returns Array\n */\n public count(anzahl: number): Array<void> {\n return new Array(anzahl);\n }\n\n /**\n * Methode wird aufgerufen, wenn eine Datei verschoben wird\n * @param uploadid Upload ID\n */\n public uploadedFileMoved(uploadid: string): void {\n const item = this.uploadComponent.uploads.find(\n (itm) => itm.documentid === uploadid\n );\n\n if (item) {\n this.uploadComponent.cancel(item.uploadId);\n }\n }\n\n // #endregion Public Methods\n}\n","<div class=\"row\">\n <div class=\"col-12 col-md-5 col-lg-4\">\n <ul class=\"list-group list-group-flush\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\n ></ng-template>\n </ul>\n\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\n <li\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\n [class.list-group-item-secondary]=\"node === selectedNode\"\n (click)=\"selectNode(node)\"\n style=\"cursor: pointer\"\n >\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\n <div\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\n class=\"me-2\"\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\n ></div>\n <ng-container *ngIf=\"!node.IsEditMode\">\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\n </ng-container>\n <ng-container *ngIf=\"node.IsEditMode\">\n <div class=\"flex-grow-1\" ngForm>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"node.Name\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameNode(node, $event)\"\n (keydown.enter)=\"$event.target.blur();false;\"\n (blur)=\"renameNode(node, null)\"\n (click)=\"$event.stopPropagation()\"\n />\n </div>\n </ng-container>\n <div class=\"flex-shrink-0\">\n <a\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editNode(node);$event.stopPropagation();\"\n >\n <i [class]=\"iconEdit\"></i>\n </a>\n <sac-contextmenu cssclass=\"d-inline-block\">\n <sac-contextmenubutton\n *ngIf=\"allowfoldercreate\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\n [icon]=\"iconFolderNew\"\n (clicked)=\"newNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenubutton\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\n [icon]=\"iconDelete\"\n (clicked)=\"deleteNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenusplitter\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\n ></sac-contextmenusplitter>\n <sac-contextmenubutton\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\n [icon]=\"iconRefresh\"\n (clicked)=\"refreshNode(node)\"\n ></sac-contextmenubutton>\n </sac-contextmenu>\n </div>\n </li>\n\n <ng-container *ngIf=\"node.IsExpanded\">\n <ng-template\n *ngFor=\"let child of node.ChildNodes\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\n ></ng-template>\n </ng-container>\n </ng-template>\n </div>\n <div class=\"col-12 col-md-7 col-lg-8\">\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\n <div *ngIf=\"allowfileupload\" ngForm>\n <sac-dropzonemultiple\n [disablelabel]=\"true\"\n [endpoint]=\"apiurl + '/uploadregister'\"\n name=\"upload\"\n uploadheight=\"5rem\"\n [ngModel]=\"uploads\"\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\n [allowedtypes]=\"allowedtypes\"\n >{{\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\n | async }}</sac-dropzonemultiple\n >\n </div>\n <div class=\"table-responsive\">\n <table class=\"table table-striped table-hover align-middle\">\n <thead>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\n | async }}\n </th>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\n | async }}\n </th>\n <th style=\"width: 80px\"></th>\n </thead>\n <tbody>\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\n <tr>\n <td colspan=\"3\">\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\n | async }}\n </td>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\n <tr\n *ngFor=\"let item of selectedNode.Files\"\n (click)=\"selectFile(item)\"\n [class.table-primary]=\"selectedFileItem === item\"\n >\n <td [class.p-2]=\"item.IsEditMode\">\n <ng-container *ngIf=\"!item.IsEditMode\">\n {{ item.Filename }}\n </ng-container>\n <ng-container *ngIf=\"item.IsEditMode\">\n <div>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"item.Filename\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameFile(item, $event)\"\n (keydown.enter)=\"$event.target.blur();false\"\n (blur)=\"renameFile(item, null)\"\n (click)=\"$event.stopPropagation();\"\n />\n </div>\n </ng-container>\n </td>\n <td>{{ item.Size}}</td>\n <td class=\"p-2\">\n <div class=\"btn-toolbar\" role=\"toolbar\">\n <div class=\"btn-group ml-auto\" role=\"group\">\n <a\n *ngIf=\"allowfilerename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconEdit\"></i\n ></a>\n </div>\n <div class=\"btn-group\" role=\"group\">\n <a\n *ngIf=\"allowfiledelete\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"deleteFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconDelete\"></i\n ></a>\n </div>\n </div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACBootstrap5ConfirmModule } from '../../controls/confirm/confirm.module';\nimport { SACBootstrap5ContextmenuModule } from '../../controls/contextmenu/contextmenu.module';\nimport { SACBootstrap5FormModule } from '../../controls/form/form.module';\nimport { SACBootstrap5UploadModule } from '../../controls/upload/upload.module';\nimport { SacBrowserComponent } from './browser';\n\n@NgModule({\n declarations: [SacBrowserComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n SACBootstrap5ConfirmModule,\n SACBootstrap5ContextmenuModule,\n SACBootstrap5UploadModule,\n SACBootstrap5FormModule,\n FormsModule,\n ],\n exports: [SacBrowserComponent],\n bootstrap: [SacBrowserComponent],\n})\nexport class SACBootstrap5BrowserModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n// import { SacBaseModelControl } from '../../common/basemodelcontrol';\nimport { SacCheckboxCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Checkbox Kompontente\n */\n@Component({\n selector: 'sac-checkbox',\n templateUrl: './checkbox.html',\n styleUrls: ['./checkbox.scss'],\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacCheckboxComponent,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacCheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class SacCheckboxComponent extends SacCheckboxCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row\"\n [class.g-0]=\"disablelabel\"\n [class.mb-3]=\"!stacked\">\n <div\n class=\"col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"align-self-center col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"form-check\"\n [class.form-switch]=\"checkboxstyle === 'switch'\"\n [attr.role]=\"checkboxstyle === 'switch' ? 'switch' : null\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n [checked]=\"value\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\"\n [disabled]=\"isdisabled\" />\n <label\n for=\"{{ name }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-container *ngIf=\"checkboxtext\">{{ checkboxtext }}</ng-container>\n </label>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacRadiobuttonsCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Radiobuttons Group Komponente\n */\n@Component({\n selector: 'sac-radiobuttons',\n templateUrl: './radiobuttons.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SacRadiobuttonsComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacRadiobuttonsComponent),\n multi: true,\n },\n ],\n})\nexport class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <div\n *ngIf=\"disablelabel === false\"\n class=\"col-12 pt-0\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n *ngIf=\"!disablelabel\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\">\n <ng-content></ng-content>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\"\n >{{ helptext }}</div\n >\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { SacRadiobuttonsComponent } from './radiobuttons';\nimport { Component, Host, Injector, Optional } from '@angular/core';\nimport { SacRadiobuttonCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Radiobutton Komponente\n */\n@Component({\n selector: 'sac-radiobutton',\n templateUrl: './radiobutton.html',\n styleUrls: ['./radiobutton.scss'],\n})\nexport class SacRadiobuttonComponent extends SacRadiobuttonCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param SacRadioButtons Radio Buttons Group Komponente\n * @param formlayout SacFormLayoutCommon to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(\n @Host() sacRadioButtons: SacRadiobuttonsComponent,\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector\n ) {\n super(sacRadioButtons, formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"form-check\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\n *ngIf=\"hidden === false\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <label\n for=\"{{ getName }}_{{ getIndex }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"> </ng-template>\n </label>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <ng-container>{{ label }}</ng-container>\n</ng-template>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacCheckboxComponent } from './checkbox';\nimport { SacRadiobuttonComponent } from './radiobutton';\nimport { SacRadiobuttonsComponent } from './radiobuttons';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent],\n})\nexport class SACBootstrap5CheckboxModule {}\n","import { Component } from '@angular/core';\nimport { SacDateSelectorCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * DateTime Selektor Komponente\n */\n@Component({\n selector: 'sac-dateselector',\n templateUrl: './dateselector.html',\n})\nexport class SacDateSelectorComponent extends SacDateSelectorCommon {}\n","<div\n class=\"calendar-selector\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div *ngIf=\"dateselection\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col text-start\">\n <a (click)=\"monthBack()\"><span [class]=\"iconMonthPrev\"></span></a>\n </div>\n <div class=\"col text-center\">{{ month + 1 }}/{{ year }}</div>\n <div class=\"col text-end\">\n <a (click)=\"monthNext()\"><span [class]=\"iconMonthNext\"></span></a>\n </div>\n </div>\n </div>\n <div></div>\n <div class=\"container\">\n <div class=\"row\">\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <ng-container *ngFor=\"let item of week\">\n <div\n class=\"p-2 col text-center\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\"\n >{{ item.displaytext }}</div\n >\n </ng-container>\n <div class=\"w-100\"></div>\n </ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"d-flex justify-content-start\"\n *ngIf=\"timeselection\">\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"flex-grow-1 p-2\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"p-2\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n </div>\n <div class=\"p-2\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDateCommon } from '@simpleangularcontrols/sac-common';\nimport * as moment_ from 'moment';\n\n// #region Variables\n\n/**\n * Referenz auf Moment.JS\n */\nconst moment = moment_['default'];\n\n// #endregion Variables\n\n// #region Exported Classes\n\n/**\n * Komponente für Datumauswahl\n */\n@Component({\n selector: 'sac-date',\n templateUrl: './date.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacDateComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDateComponent),\n },\n ],\n})\nexport class SacDateComponent extends SacDateCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef Reference to html dom element\n * @param cdRef Change Dectection Servie\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n elementRef: ElementRef,\n cdRef: ChangeDetectorRef\n ) {\n super(formLayout, injector, elementRef, cdRef);\n }\n\n // #endregion Constructors\n}\n\n// #endregion Exported Classes\n","<div\n class=\"row mb-3\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() === TooltipPosition.right\n ? 'right'\n : GetPickerPosition() === TooltipPosition.left\n ? 'left'\n : GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n name=\"{{ name }}_picker\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDateTimeCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Date und Time Komponente\n */\n@Component({\n selector: 'sac-datetime',\n templateUrl: './datetime.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacDateTimeComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDateTimeComponent),\n },\n ],\n})\nexport class SacDateTimeComponent extends SacDateTimeCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef Reference to html dom element\n * @param cdRef Change Dectection Servie\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n elementRef: ElementRef,\n cdRef: ChangeDetectorRef\n ) {\n super(formLayout, injector, elementRef, cdRef);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() === TooltipPosition.right\n ? 'right'\n : GetPickerPosition() === TooltipPosition.left\n ? 'left'\n : GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n name=\"{{ name }}_picker\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacTimeCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Time Auswahl Komponente\n */\n@Component({\n selector: 'sac-time',\n templateUrl: './time.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacTimeComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacTimeComponent),\n },\n ],\n})\nexport class SacTimeComponent extends SacTimeCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef Reference to html dom element\n * @param cdRef Change Dectection Servie\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n elementRef: ElementRef,\n cdRef: ChangeDetectorRef\n ) {\n super(formLayout, injector, elementRef, cdRef);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() === TooltipPosition.right\n ? 'right'\n : GetPickerPosition() === TooltipPosition.left\n ? 'left'\n : GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n name=\"{{ name }}_picker\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacDateComponent } from './date';\nimport { SacDateSelectorComponent } from './dateselector';\nimport { SacDateTimeComponent } from './datetime';\nimport { SacTimeComponent } from './time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\nimport { IMaskModule } from 'angular-imask';\n\n@NgModule({\n declarations: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],\n imports: [\n CommonModule,\n IMaskModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],\n})\nexport class SACBootstrap5DateTimeModule {}\n","import { Component, Injector, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacPagingCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Paging Komponente\n */\n@Component({\n selector: 'sac-paging',\n templateUrl: './paging.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacPagingComponent),\n },\n ],\n})\nexport class SacPagingComponent extends SacPagingCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param injector Angular Dependency Injection Service\n */\n constructor(injector: Injector) {\n super(injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"d-flex justify-content-between align-items-center flex-wrap\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n id=\"{{ name }}\">\n <div\n class=\"col-pagination order-2 order-md-1\"\n id=\"{{ name }}_pages\">\n <ul class=\"pagination mb-4 mb-md-0\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === firstPageIndex }\">\n <a\n class=\"page-link\"\n (click)=\"firstPage()\"\n >«</a\n >\n </li>\n <li\n class=\"page-item\"\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{ active: page === activePageIndex }\">\n <a\n class=\"page-link\"\n (click)=\"changePage(page)\"\n >{{ page + 1 }}</a\n >\n </li>\n <li\n class=\"page-item\"\n [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === lastPageIndex }\">\n <a\n class=\"page-link\"\n (click)=\"lastPage()\"\n >»</a\n >\n </li>\n </ul>\n </div>\n <div class=\"col-summary order-1 order-md-2\">\n <div class=\"mb-4 mb-md-0 mr-4 mb-md-0\">{{ PagingText | async }}</div>\n </div>\n <div\n class=\"col-pagesize order-3\"\n *ngIf=\"!pagesizedisabled\">\n <div\n class=\"d-flex align-items-center\"\n id=\"{{ name }}_size\">\n <select\n class=\"form-select form-select-sm\"\n style=\"width: 85px\"\n id=\"{{ name }}_pagesize\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\">\n <option\n [ngValue]=\"size\"\n *ngFor=\"let size of getPageSizes\">\n {{ size }}\n </option>\n </select>\n <div class=\"ms-2\">{{ PageSizeText | async }}</div>\n </div>\n </div>\n</div>\n","import { ChangeDetectorRef, Component, ContentChild, Injector, TemplateRef, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacGridCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Komponente\n */\n@Component({\n selector: 'sac-grid',\n templateUrl: './grid.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacGridComponent),\n },\n ],\n})\nexport class SacGridComponent extends SacGridCommon {\n // #region Properties\n\n /**\n * Setzt die Ellipsis Funktion auf der Column\n */\n public ellipsis: boolean = false;\n\n /**\n * Referenz auf Column Template\n */\n @ContentChild(TemplateRef, { static: false })\n public template: TemplateRef<any>;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstrukor\n * @param cdRef Change Detection Reference\n */\n constructor(cdRef: ChangeDetectorRef, injector: Injector) {\n super(cdRef, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"table-responsive\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <table\n class=\"table table-striped table-hover\"\n id=\"{{ name }}\">\n <thead class=\"thead-light\">\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: {}, type: 'header' }\"> </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i = index\">\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: item, type: 'body' }\"> </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\">\n <td [attr.colspan]=\"ColumnCount\">{{ emptytext }}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr *ngIf=\"pagerdata\">\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{ name }}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagesizes]=\"pagesizes\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n [pagesizedisabled]=\"pagesizedisabled\"></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n </table>\n</div>\n","import { Component, Injector } from '@angular/core';\nimport { SacGridButtonCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Action Button\n */\n@Component({\n selector: 'sac-gridbutton',\n templateUrl: './gridbutton.html',\n})\nexport class SacGridButtonComponent extends SacGridButtonCommon {\n // #region Constructors\n\n /**\n * Construtor\n *\n * @param injector Injector to resolve icons\n */\n constructor(injector: Injector) {\n super(injector);\n }\n\n // #endregion Constructors\n}\n","<a\n (click)=\"callaction()\"\n [attr.data-e2e]=\"name\"\n style=\"padding-right: 5px\"\n [style.cursor]=\"!isdisabled ? 'pointer' : null\"\n [class.disabled]=\"isdisabled\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n ><span class=\"{{ getIconClass() }}\"></span\n></a>\n","import { SacGridComponent } from './grid';\nimport { Component, ElementRef, Injector, forwardRef } from '@angular/core';\nimport { SacGridColumnBaseCommon, SacGridColumnCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Column Komponente\n */\n@Component({\n selector: 'sac-gridcolumn',\n templateUrl: './gridcolumn.html',\n providers: [\n {\n provide: SacGridColumnBaseCommon,\n useExisting: forwardRef(() => SacGridColumnComponent),\n },\n ],\n})\nexport class SacGridColumnComponent extends SacGridColumnCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param grid Grid Referenz\n * @param el HTML DOM Element\n */\n constructor(grid: SacGridComponent, injector: Injector, el: ElementRef) {\n super(grid, injector, el);\n }\n\n // #endregion Constructors\n}\n","<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span>{{ header }}</span>\n <span\n class=\"ps-2\"\n [class]=\"IconSortUp\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n class=\"ps-2\"\n [class]=\"IconSortDown\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\"\n [class.table-primary]=\"contextstyle === 'active' || contextstyle === 'primary'\"\n [class.table-secondary]=\"contextstyle === 'secondary'\"\n [class.table-light]=\"contextstyle === 'light'\"\n [class.table-dark]=\"contextstyle === 'dark'\"\n [class.table-success]=\"contextstyle === 'success'\"\n [class.table-warning]=\"contextstyle === 'warning'\"\n [class.table-danger]=\"contextstyle === 'danger'\"\n [class.table-info]=\"contextstyle === 'info'\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\">\n </span>\n</td>\n","import { SacGridComponent } from './grid';\nimport { Component, ElementRef, Injector, forwardRef } from '@angular/core';\nimport { SacGridColumnActionCommon, SacGridColumnBaseCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Grid Action Komponent\n */\n@Component({\n selector: 'sac-gridcolumnaction',\n templateUrl: './gridcolumnaction.html',\n providers: [\n {\n provide: SacGridColumnBaseCommon,\n useExisting: forwardRef(() => SacGridColumnActionComponent),\n },\n ],\n})\nexport class SacGridColumnActionComponent extends SacGridColumnActionCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param grid Referenz auf Grid\n * @param el HTML Element Referenz\n */\n constructor(grid: SacGridComponent, injector: Injector, el: ElementRef) {\n super(grid, injector, el);\n\n this.width = '60px';\n }\n\n // #endregion Constructors\n}\n","<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n class=\"px-2\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\"\n *ngIf=\"IsBody()\"\n [class.table-primary]=\"contextstyle === 'active' || contextstyle === 'primary'\"\n [class.table-secondary]=\"contextstyle === 'secondary'\"\n [class.table-light]=\"contextstyle === 'light'\"\n [class.table-dark]=\"contextstyle === 'dark'\"\n [class.table-success]=\"contextstyle === 'success'\"\n [class.table-warning]=\"contextstyle === 'warning'\"\n [class.table-danger]=\"contextstyle === 'danger'\"\n [class.table-info]=\"contextstyle === 'info'\">\n <ng-content></ng-content>\n</td>\n","import { Component } from '@angular/core';\nimport { SacGridImageCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Image Item für Grid\n */\n@Component({\n selector: 'sac-gridimage',\n templateUrl: './gridimage.html',\n})\nexport class SacGridImageComponent extends SacGridImageCommon {}\n","<span><span [ngClass]=\"iconstyle\"></span></span>\n","import { SacGridComponent } from './grid';\nimport { SacGridButtonComponent } from './gridbutton';\nimport { SacGridColumnComponent } from './gridcolumn';\nimport { SacGridColumnActionComponent } from './gridcolumnaction';\nimport { SacGridImageComponent } from './gridimage';\nimport { SacPagingComponent } from './paging';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacGridComponent,\n SacGridColumnComponent,\n SacGridColumnActionComponent,\n SacPagingComponent,\n SacGridButtonComponent,\n SacGridImageComponent,\n ],\n imports: [CommonModule, FormsModule, SACCommonUtliltiesModule],\n exports: [\n SacGridComponent,\n SacGridColumnComponent,\n SacGridColumnActionComponent,\n SacPagingComponent,\n SacGridButtonComponent,\n SacGridImageComponent,\n ],\n})\nexport class SACBootstrap5GridModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Komponente\n */\n@Component({\n selector: 'sac-input',\n templateUrl: './input.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputComponent),\n },\n ],\n})\nexport class SacInputComponent extends SacInputCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputAreaCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für lange Texte\n */\n@Component({\n selector: 'sac-inputarea',\n templateUrl: './inputarea.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputAreaComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputAreaComponent),\n },\n ],\n})\nexport class SacInputAreaComponent extends SacInputAreaCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [attr.maxlength]=\"maxtextlength\"\n [readonly]=\"readonly\"></textarea>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputCurrencyCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Control für Währungen\n */\n@Component({\n selector: 'sac-inputcurrency',\n templateUrl: './inputcurrency.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputCurrencyComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputCurrencyComponent),\n },\n ],\n})\nexport class SacInputCurrencyComponent extends SacInputCurrencyCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group input-group-sm\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n <span class=\"input-group-text\">{{ currency }}</span>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputDecimalCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Komponente für Zahlen\n */\n@Component({\n selector: 'sac-inputdecimal',\n templateUrl: './inputdecimal.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputDecimalComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputDecimalComponent),\n },\n ],\n})\nexport class SacInputDecimalComponent extends SacInputDecimalCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputEmailCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für E-Mail Adressen\n */\n@Component({\n selector: 'sac-inputemail',\n templateUrl: './inputemail.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SacInputEmailComponent),\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputEmailComponent),\n },\n ],\n})\nexport class SacInputEmailComponent extends SacInputEmailCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <span class=\"input-group-text\">@</span>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"email\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"email\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputIntegerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Komponten für Ganzzahlen\n */\n@Component({\n selector: 'sac-inputinteger',\n templateUrl: './inputinteger.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacInputIntegerComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputIntegerComponent),\n },\n ],\n})\nexport class SacInputIntegerComponent extends SacInputIntegerCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputPasswordCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für Passwörter\n */\n@Component({\n selector: 'sac-inputpassword',\n templateUrl: './inputpassword.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacInputPasswordComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputPasswordComponent),\n },\n ],\n})\nexport class SacInputPasswordComponent extends SacInputPasswordCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.input-group]=\"passwordeye\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacInputSearchCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Input Box für Suche\n */\n@Component({\n selector: 'sac-inputsearch',\n templateUrl: './inputsearch.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacInputSearchComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacInputSearchComponent),\n },\n ],\n})\nexport class SacInputSearchComponent extends SacInputSearchCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacInputComponent } from './input';\nimport { SacInputAreaComponent } from './inputarea';\nimport { SacInputCurrencyComponent } from './inputcurrency';\nimport { SacInputDecimalComponent } from './inputdecimal';\nimport { SacInputEmailComponent } from './inputemail';\nimport { SacInputIntegerComponent } from './inputinteger';\nimport { SacInputPasswordComponent } from './inputpassword';\nimport { SacInputSearchComponent } from './inputsearch';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacInputComponent,\n SacInputAreaComponent,\n SacInputCurrencyComponent,\n SacInputDecimalComponent,\n SacInputEmailComponent,\n SacInputIntegerComponent,\n SacInputPasswordComponent,\n SacInputSearchComponent,\n ],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [\n SacInputComponent,\n SacInputAreaComponent,\n SacInputCurrencyComponent,\n SacInputDecimalComponent,\n SacInputEmailComponent,\n SacInputIntegerComponent,\n SacInputPasswordComponent,\n SacInputSearchComponent,\n ],\n})\nexport class SACBootstrap5InputModule {}\n","import { InjectionToken } from '@angular/core';\n\n// #region Variables\n\nexport const DROPDOWN_TOKEN = new InjectionToken<any>('SacDropdownToken');\nexport const LISTBOX_TOKEN = new InjectionToken<any>('SacListboxToken');\n\n// #endregion Variables\n","import { DROPDOWN_TOKEN } from './list.token';\nimport { Directive, ElementRef, Inject, Optional, Renderer2 } from '@angular/core';\nimport { SacDropdownOptionCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Direktive für Dropdown Option List\n */\n@Directive({ selector: '[sacOption],option' })\nexport class SacDropdownOptionDirective extends SacDropdownOptionCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf HTML DOM Element\n * @param renderer Angular Rendering Engine\n * @param dropdownList Referenz auf DropDown Komponente\n */\n constructor(elementRef: ElementRef, renderer: Renderer2, @Optional() @Inject(DROPDOWN_TOKEN) dropdownList: any) {\n super(elementRef, renderer, dropdownList);\n }\n\n // #endregion Constructors\n}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { DROPDOWN_TOKEN } from './list.token';\nimport { Component, ElementRef, Host, Injector, Optional, Renderer2, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacDropdownCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Dropdown Komponente\n */\n@Component({\n selector: 'sac-dropdown',\n templateUrl: './dropdown.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: DROPDOWN_TOKEN, useExisting: forwardRef(() => SacDropdownComponent) },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacDropdownComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacDropdownComponent),\n },\n ],\n})\nexport class SacDropdownComponent extends SacDropdownCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param renderer Angular rendering engine\n * @param elementRef Reference to html dom element\n */\n constructor(\n @Host() @Optional() formLayout: SacFormLayoutDirective,\n injector: Injector,\n renderer: Renderer2,\n elementRef: ElementRef\n ) {\n super(formLayout, injector, renderer, elementRef);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\"\n >{{ emptylabel }}</option\n >\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacDropdownComponent } from './dropdown';\nimport { SacDropdownOptionDirective } from './dropdownoption.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacDropdownComponent, SacDropdownOptionDirective],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacDropdownComponent, SacDropdownOptionDirective],\n})\nexport class SACBootstrap5DropdownModule {}\n","import { LISTBOX_TOKEN } from './list.token';\nimport { Directive, ElementRef, Inject, Optional, Renderer2 } from '@angular/core';\nimport { SacListboxOptionCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Option Item in Listbox\n */\n@Directive({ selector: '[sacOption],option' })\nexport class SacListboxOptionDirective extends SacListboxOptionCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf DOM Element\n * @param renderer Angular Rendering Engine\n * @param listbox Referenz auf Listbox Komponente\n */\n constructor(elementRef: ElementRef, renderer: Renderer2, @Optional() @Inject(LISTBOX_TOKEN) listbox: any) {\n super(elementRef, renderer, listbox);\n }\n\n // #endregion Constructors\n}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { LISTBOX_TOKEN } from './list.token';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacListboxCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Listbox Komponente\n */\n@Component({\n selector: 'sac-listbox',\n templateUrl: './listbox.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n { provide: LISTBOX_TOKEN, useExisting: SacListboxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacListboxComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacListboxComponent),\n },\n ],\n})\nexport class SacListboxComponent extends SacListboxCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [size]=\"rowsize\"\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\"\n >{{ option[optionlabel] }}</option\n >\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\"\n >{{ item[optionlabel] }}</option\n >\n </optgroup>\n </ng-container>\n </select>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacListboxComponent } from './listbox';\nimport { SacListboxOptionDirective } from './listboxoption.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacListboxComponent, SacListboxOptionDirective],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacListboxComponent, SacListboxOptionDirective],\n})\nexport class SACBootstrap5ListModule {}\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextMenuContrainerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Marker Komponente für Context Menü\n */\n@Directive({\n selector: '[sacMultilanguageMenuContainer]',\n providers: [\n {\n provide: SacContextMenuContrainerCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuContainerDirective),\n },\n ],\n})\nexport class SacMultilanguagemenuContainerDirective extends SacContextMenuContrainerCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef Referenz auf DOM Element\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { Directive, ElementRef, forwardRef } from '@angular/core';\nimport { SacContextmenuAnchorCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.\n */\n@Directive({\n selector: '[sacMultilanguageMenuAnchor]',\n providers: [\n {\n provide: SacContextmenuAnchorCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuAnchorDirective),\n },\n ],\n})\nexport class SacMultilanguagemenuAnchorDirective extends SacContextmenuAnchorCommon {\n // #region Constructors\n\n /**\n * Konstruktor\n * @param elementRef HTML DOM Referenz\n */\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n // #endregion Constructors\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Component,\n ElementRef,\n Inject,\n Injector,\n Input,\n NgZone,\n Renderer2,\n TemplateRef,\n forwardRef,\n} from '@angular/core';\nimport { SacContextmenuCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component für Contextmenü\n */\n@Component({\n selector: '[sac-multilanguagemenu]', // eslint-disable-line @angular-eslint/component-selector -- bootstrap requires append-items direct behind the previews element\n templateUrl: './multilanguagemenu.html',\n providers: [\n {\n provide: SacContextmenuCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuComponent),\n },\n ],\n})\nexport class SacMultilanguagemenuComponent extends SacContextmenuCommon {\n // #region Properties\n\n /**\n * template with input box for multilangauge component\n */\n @Input()\n public inputtemplate: TemplateRef<any>;\n\n /**\n * template with markup for inline validation messages in component\n */\n @Input()\n public validationtemplate: TemplateRef<any>;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param document Referenz auf HTML Document\n * @param ngZone Angular Zone Service\n * @param elementRef Referenz auf HTML Element der aktuellen Komponente\n * @param renderer Render Service von Angular\n * @param injector injector to resolve services in base component\n */\n constructor(\n @Inject(DOCUMENT) document: any,\n ngZone: NgZone,\n elementRef: ElementRef<HTMLElement>,\n renderer: Renderer2,\n injector: Injector\n ) {\n super(document, ngZone, elementRef, renderer, injector);\n }\n\n // #endregion Constructors\n}\n","<ng-container [ngTemplateOutlet]=\"inputtemplate || defaultInputTemplate\"></ng-container>\n<ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n<ng-container [ngTemplateOutlet]=\"validationtemplate || defaultValidationTemplate\"></ng-container>\n\n<ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacMultilanguageMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n</ul>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacMultilanguageMenuAnchor\n class=\"btn btn-secondary dropdown-toggle\"\n type=\"button\"\n (click)=\"toggle()\"></button>\n</ng-template>\n\n<ng-template #defaultInputTemplate>\n <input\n type=\"text\"\n class=\"form-control\" />\n</ng-template>\n\n<ng-template #defaultValidationTemplate></ng-template>\n","import { Component, forwardRef } from '@angular/core';\nimport { SacContextmenuItemButtonCommon, SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component for menu entry in context menu\n */\n@Component({\n selector: 'sac-multilanguagemenubutton',\n templateUrl: './multilanguagemenuitembutton.html',\n providers: [\n {\n provide: SacContextmenuItemCommon,\n useExisting: forwardRef(() => SacMultilanguagemenuItemButtonComponent),\n },\n ],\n})\nexport class SacMultilanguagemenuItemButtonComponent extends SacContextmenuItemButtonCommon {\n // #region Constructors\n\n /**\n * Constructor\n */\n constructor() {\n super();\n }\n\n // #endregion Constructors\n}\n","<li>\n <button\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [class]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\n <div class=\"d-flex\">\n <div\n *ngIf=\"!isicondisabled\"\n style=\"min-width: 1.5rem\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n class=\"align-baseline\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IconType, SacMultilanguageInputCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Componente für Mehrsprache Texte\n */\n@Component({\n selector: 'sac-multilanguageinput',\n templateUrl: './multilanguageinput.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacMultilanguageInputComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacMultilanguageInputComponent),\n },\n ],\n})\nexport class SacMultilanguageInputComponent extends SacMultilanguageInputCommon {\n // #region Properties\n\n /**\n * Enum für IconType in HTML Template\n */\n public IconType = IconType;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <span\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IconType, SacMultilanguageInputAreaCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Componente für Mehrsprache Texte als mehrzeiliger Text\n */\n@Component({\n selector: 'sac-multilanguageinputarea',\n templateUrl: './multilanguageinputarea.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacMultilanguageInputAreaComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacMultilanguageInputAreaComponent),\n },\n ],\n})\nexport class SacMultilanguageInputAreaComponent extends SacMultilanguageInputAreaCommon {\n // #region Properties\n\n /**\n * Enum für IconType in HTML Template\n */\n public IconType = IconType;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n style=\"height: auto\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.rows]=\"rows\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"></textarea>\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <i\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacMultilanguageInputComponent } from './multilanguageinput';\nimport { SacMultilanguageInputAreaComponent } from './multilanguageinputarea';\nimport { SacMultilanguagemenuComponent } from './multilanguagemenu';\nimport { SacMultilanguagemenuAnchorDirective } from './multilanguagemenuanchor';\nimport { SacMultilanguagemenuContainerDirective } from './multilanguagemenucontainer';\nimport { SacMultilanguagemenuItemButtonComponent } from './multilanguagemenuitembutton';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [\n SacMultilanguageInputComponent,\n SacMultilanguageInputAreaComponent,\n SacMultilanguagemenuComponent,\n SacMultilanguagemenuAnchorDirective,\n SacMultilanguagemenuContainerDirective,\n SacMultilanguagemenuItemButtonComponent,\n ],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacMultilanguageInputComponent, SacMultilanguageInputAreaComponent],\n})\nexport class SACBootstrap5MultilanguageModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacStaticFormContainerCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Component für einbindung eines beliebigen Controls in die Form Struktur\n *\n * @example\n * <ngStaticFormContainer name='myformcontainer' label=\"My Custom Form Control\" [isrequired]='false'>\n * <input type=\"range\" class=\"form-control\" />\n * </ngStaticFormContainer>\n *\n * @example\n * <ngStaticFormContainer name='myformcintainer' label=\"My Custom Form Control\" [isrequired]='false' tooltiptext=\"Dies ist ein Tooltip Text\">\n * <input type=\"range\" class=\"form-control\" />\n * </ngStaticFormContainer>\n *\n **/\n@Component({\n selector: 'sac-staticformcontainer',\n templateUrl: './formcontainer.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacStaticFormContainerComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacStaticFormContainerComponent),\n },\n ],\n})\nexport class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\n <ng-content></ng-content>\n <label\n for=\"{{ name }}\"\n class=\"form-label-adaptive form-label-fixed\"\n [ngClass]=\"{ required: isrequired }\"\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\n >{{ label }}</label\n >\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacStaticLabelCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Komponente für statischen Text in einem Formular\n */\n@Component({\n selector: 'sac-staticlabel',\n templateUrl: './staticlabel.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacStaticLabelComponent,\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => SacStaticLabelComponent),\n },\n ],\n})\nexport class SacStaticLabelComponent extends SacStaticLabelCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div>\n <div\n [id]=\"name\"\n class=\"form-control-plaintext\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [innerHTML]=\"value\"></div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacStaticFormContainerComponent } from './formcontainer';\nimport { SacStaticLabelComponent } from './staticlabel';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACBootstrap5TooltipModule, SACCommonUtliltiesModule],\n exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],\n})\nexport class SACBootstrap5StaticLabelModule {}\n","import { Component } from '@angular/core';\nimport { SacTabItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Tab Item Komponente\n */\n@Component({\n selector: 'sac-tabitem',\n templateUrl: './tabitem.html',\n})\nexport class SacTabItemComponent extends SacTabItemCommon {}\n","<div\n [id]=\"id\"\n [hidden]=\"unloadwhenhidden === false && active === false\"\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\"\n class=\"tab-pane\">\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\n</div>\n","import { SacTabItemComponent } from './tabitem';\nimport { Component, ContentChildren, QueryList } from '@angular/core';\nimport { SacTabCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Komponente für Tabs\n */\n@Component({\n selector: 'sac-tab',\n templateUrl: './tab.html',\n})\nexport class SacTabComponent extends SacTabCommon {\n // #region Properties\n\n /**\n * Collection von TabItems\n */\n @ContentChildren(SacTabItemComponent)\n public _tabItems: QueryList<SacTabItemComponent>;\n\n // #endregion Properties\n\n // #region Public Methods\n\n /**\n * Gibt die TabItems zurück\n * @returns Array von TabItems\n */\n public tabItems(): SacTabItemComponent[] {\n return this._tabItems.toArray() as Array<SacTabItemComponent>;\n }\n\n // #endregion Public Methods\n}\n","<!-- Nav tabs -->\n<ul\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"nav nav-tabs\"\n role=\"tablist\">\n <li\n class=\"nav-item\"\n *ngFor=\"let item of _tabItems\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\"\n class=\"nav-link\"\n data-toggle=\"tab\"\n [ngClass]=\"{ active: item.active, disabled: item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{ cursor: item.disabled ? 'not-allowed' : 'pointer' }\"\n >{{ item.label }}</a\n >\n </li>\n</ul>\n\n<!-- Tab panes -->\n<div class=\"tab-content pl-3 pt-2\">\n <ng-content></ng-content>\n</div>\n","import { SacTabComponent } from './tab';\nimport { SacTabItemComponent } from './tabitem';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacTabComponent, SacTabItemComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacTabComponent, SacTabItemComponent],\n})\nexport class SACBootstrap5TabsModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, NgZone, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacTinyMceCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * TinyMCE Komponente\n */\n@Component({\n selector: 'sac-tinymce',\n templateUrl: './tinymce.html',\n styleUrls: ['./tinymce.scss'],\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacTinyMceComponent,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacTinyMceComponent),\n multi: true,\n },\n ],\n})\nexport class SacTinyMceComponent extends SacTinyMceCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Injector for injecting services\n * @param ngZone ngZone to manage external javascripts\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector, ngZone: NgZone) {\n super(formLayout, injector, ngZone);\n }\n\n // #endregion Constructors\n\n // #region Public Methods\n\n /**\n * overwrite tinymce defaults\n * @returns boostrap5 has no overwrites\n */\n public overwriteDefaultSettings() {\n return {};\n }\n\n // #endregion Public Methods\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <editor\n [id]=\"name + '_tinymce'\"\n [init]=\"_config\"\n [initialValue]=\"value\"\n ngModel\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"setValue($event)\"\n (onSaveContent)=\"save($event.event.content)\"\n (onBlur)=\"blur()\"\n [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody>\n <sac-filebrowser\n [apiurl]=\"filebrowserapiurl\"\n (file)=\"selectDialogSettings.value = $event\"\n [allowfoldercreate]=\"allowfoldercreate\"\n [allowfolderrename]=\"allowfolderrename\"\n [allowfolderdelete]=\"allowfolderdelete\"\n [allowfileupload]=\"allowfileupload\"\n [allowfilerename]=\"allowfilerename\"\n [allowfiledelete]=\"allowfiledelete\"\n [selectedfile]=\"selectDialogSettings.value\"\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\n </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n </sac-dialog>\n</div>\n","import { SACBootstrap5BrowserModule } from '../../components/browser/browser.module';\nimport { SACBootstrap5ButtonModule } from '../buttons/button.module';\nimport { SACBootstrap5DialogModule } from '../dialog/dialog.module';\nimport { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacTinyMceComponent } from './tinymce';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\nimport { EditorModule } from '@tinymce/tinymce-angular';\n\n@NgModule({\n declarations: [SacTinyMceComponent],\n imports: [\n CommonModule,\n FormsModule,\n EditorModule,\n SACBootstrap5ButtonModule,\n SACBootstrap5DialogModule,\n SACBootstrap5BrowserModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacTinyMceComponent],\n})\nexport class SACBootstrap5TinyMceModule {}\n","import { SacFormLayoutDirective } from '../layout/formlayout.directive';\nimport { Component, Host, Injector, Optional, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacTreeviewCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Treeview Compomnent\n */\n@Component({\n selector: 'sac-treeview',\n templateUrl: './treeview.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacTreeviewComponent,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SacTreeviewComponent),\n multi: true,\n },\n ],\n})\nexport class SacTreeviewComponent extends SacTreeviewCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formLayout SacFormLayout to define scoped layout settings\n * @param injector Component Injector\n */\n constructor(@Host() @Optional() formLayout: SacFormLayoutDirective, injector: Injector) {\n super(formLayout, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"w-100\"\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\n [class.me-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <ul\n class=\"list-group list-group-flush\"\n id=\"{{ name }}\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </ul>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <li\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\n [class.active]=\"isSelectedState(node)\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\"\n style=\"cursor: pointer\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <div\n class=\"mx-3\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n class=\"me-2\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n class=\"flex-grow-1 py-1\"\n [style.max-width.percent]=\"enableellipsis ? '100' : null\"\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\n <ng-template\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"setSelectedState(node)\"\n class=\"flex-shrink-0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </li>\n\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">{{ label }}</span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n class=\"me-2\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n","import { SACBootstrap5ContextmenuModule } from '../contextmenu/contextmenu.module';\nimport { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';\nimport { SacTreeviewComponent } from './treeview';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacTreeviewComponent],\n imports: [\n CommonModule,\n SACBootstrap5LayoutModule,\n SACBootstrap5ContextmenuModule,\n SACBootstrap5TooltipModule,\n SACCommonUtliltiesModule,\n ],\n exports: [SacTreeviewComponent],\n})\nexport class SACBootstrap5TreeviewModule {}\n","import { SacFormDirective } from '../form';\nimport { Component, Host, Injector, Optional } from '@angular/core';\nimport { ControlContainer, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacValidationSummaryCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Validation Summary Kompontente\n */\n@Component({\n selector: 'sac-validationsummary',\n templateUrl: './validationsummary.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: SacValidationSummaryComponent,\n },\n ],\n // View Provider, damit das Formular an das Control gebunden werden kann\n viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }],\n})\nexport class SacValidationSummaryComponent extends SacValidationSummaryCommon {\n // #region Constructors\n\n /**\n * Constructor\n * @param formControl Instance of Form Component to receive invalid form controls\n * @param injector Injector for injecting services\n */\n constructor(@Host() @Optional() formControl: SacFormDirective, injector: Injector) {\n super(formControl, injector);\n }\n\n // #endregion Constructors\n}\n","<div\n class=\"alert alert-danger\"\n role=\"alert\"\n *ngIf=\"hasErrors\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul class=\"mb-0\">\n <li *ngFor=\"let error of formErrors\">{{ error | async }}</li>\n </ul>\n</div>\n","import { SacValidationSummaryComponent } from './validationsummary';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacValidationSummaryComponent],\n imports: [CommonModule, SACCommonUtliltiesModule],\n exports: [SacValidationSummaryComponent],\n})\nexport class SACBootstrap5ValidationSummaryModule {}\n","import { Component } from '@angular/core';\nimport { SacWizardItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Wizard Komponente Item\n */\n@Component({\n selector: 'sac-wizarditem',\n templateUrl: './wizarditem.html',\n})\nexport class SacWizardItemComponent extends SacWizardItemCommon {}\n","","import { SacWizardItemComponent } from './wizarditem';\nimport { Component, ContentChildren, QueryList } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SacWizardCommon, SacWizardItemCommon } from '@simpleangularcontrols/sac-common';\n\n/**\n * Wizard Komponente\n */\n@Component({\n selector: 'sac-wizard',\n templateUrl: './wizard.html',\n // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann\n providers: [{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }],\n})\nexport class SacWizardComponent extends SacWizardCommon {\n // #region Properties\n\n /**\n * Wizard Items\n */\n @ContentChildren(SacWizardItemComponent)\n public _wizardItems: QueryList<SacWizardItemComponent>;\n\n // #endregion Properties\n\n // #region Public Methods\n\n /**\n * Gibt die Wizard Items zurück\n * @returns Collection von WizardItems\n */\n public wizardItems(): QueryList<SacWizardItemCommon> {\n return this._wizardItems as QueryList<SacWizardItemCommon>;\n }\n\n // #endregion Public Methods\n}\n","<ul\n class=\"nav nav-wizard\"\n role=\"tablist\">\n <li\n *ngFor=\"let item of _wizardItems\"\n class=\"nav-item\"\n [ngClass]=\"{ active: item._active, disabled: item._disabled, success: item._iscomplete }\"\n [ngStyle]=\"{ cursor: item._disabled ? 'not-allowed' : 'pointer' }\">\n <a\n role=\"tab\"\n (click)=\"selectStep(item)\">\n <div class=\"circle\">\n <span class=\"step\"></span>\n </div>\n </a>\n <div class=\"info\">\n <a>{{ item._label }}</a>\n </div>\n </li>\n</ul>\n","import { SACBootstrap5LayoutModule } from '../layout/layout.module';\nimport { SacWizardComponent } from './wizard';\nimport { SacWizardItemComponent } from './wizarditem';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';\n\n@NgModule({\n declarations: [SacWizardComponent, SacWizardItemComponent],\n imports: [CommonModule, SACBootstrap5LayoutModule, SACCommonUtliltiesModule],\n exports: [SacWizardComponent, SacWizardItemComponent],\n})\nexport class SACBootstrap5WizardModule {}\n","/*\n * Public API Surface of sac-bootstrap5\n */\nexport * from './components/browser/browser.module';\n\nexport * from './controls/buttons/button.module';\n\nexport * from './controls/checkbox/checkbox.module';\n\nexport { SACBootstrap5ConfirmModule, ServiceConfirm } from './controls/confirm/confirm.module';\n\nexport * from './controls/contextmenu/contextmenu.module';\n\nexport * from './controls/datetime/datetime.module';\n\nexport * from './controls/dialog/dialog.module';\n\nexport * from './controls/form/form.module';\n\nexport * from './controls/grid/grid.module';\n\nexport * from './controls/input/input.module';\n\nexport * from './controls/layout/layout.module';\n\nexport * from './controls/list/dropdown.module';\n\nexport * from './controls/list/list.module';\n\nexport * from './controls/multilanguage/multilanguage.module';\n\nexport * from './controls/static/staticlabel.module';\n\nexport * from './controls/tabs/tabs.module';\n\nexport * from './controls/tinymce/tinymce.module';\n\nexport * from './controls/tooltip/tooltip.module';\n\nexport * from './controls/upload/upload.module';\n\nexport * from './controls/treeview/treeview.module';\n\nexport * from './controls/validation/validationsummary.module';\n\nexport * from './controls/wizard/wizard.module';\n\n// Export Controls\nexport * from './controls/buttons/button';\n\nexport * from './controls/checkbox/checkbox';\n\nexport * from './controls/checkbox/radiobutton';\n\nexport * from './controls/checkbox/radiobuttons';\n\nexport * from './controls/confirm/confirm';\n\nexport * from './controls/contextmenu/contextmenu';\n\nexport * from './controls/contextmenu/contextmenuanchor';\n\nexport * from './controls/contextmenu/contextmenuitembutton';\n\nexport * from './controls/contextmenu/contextmenuitemsplitter';\n\nexport * from './controls/datetime/date';\n\nexport * from './controls/datetime/dateselector';\n\nexport * from './controls/datetime/datetime';\n\nexport * from './controls/datetime/time';\n\nexport * from './controls/dialog/dialog';\n\nexport * from './controls/form/form';\n\nexport * from './controls/form/inheritform.directive';\n\nexport * from './controls/grid/grid';\n\nexport * from './controls/grid/gridbutton';\n\nexport * from './controls/grid/gridcolumn';\n\nexport * from './controls/grid/gridcolumnaction';\n\nexport * from './controls/grid/gridimage';\n\nexport * from './controls/grid/paging';\n\nexport * from './controls/input/input';\n\nexport * from './controls/input/inputarea';\n\nexport * from './controls/input/inputcurrency';\n\nexport * from './controls/input/inputdecimal';\n\nexport * from './controls/input/inputemail';\n\nexport * from './controls/input/inputinteger';\n\nexport * from './controls/input/inputpassword';\n\nexport * from './controls/input/inputsearch';\n\nexport * from './controls/layout/formlayout.directive';\n\nexport * from './controls/layout/tocontrolheight.pipe';\n\nexport * from './controls/layout/tocontrolwidthcss.pipe';\n\nexport * from './controls/layout/tolabelheight.pipe';\n\nexport * from './controls/layout/tolabelwidthcss.pipe';\n\nexport * from './controls/list/dropdown';\n\nexport * from './controls/list/dropdownoption.directive';\n\nexport * from './controls/list/listbox';\n\nexport * from './controls/list/listboxoption.directive';\n\nexport * from './controls/multilanguage/multilanguageinput';\n\nexport * from './controls/multilanguage/multilanguageinputarea';\n\nexport * from './controls/static/formcontainer';\n\nexport * from './controls/static/staticlabel';\n\nexport * from './controls/tabs/tab';\n\nexport * from './controls/tabs/tabitem';\n\nexport * from './controls/tinymce/tinymce';\n\nexport * from './controls/tooltip/tooltip';\n\nexport * from './controls/treeview/treeview';\n\nexport * from './controls/upload/dropzonemultiple';\n\nexport * from './controls/upload/dropzonesingle';\n\nexport * from './controls/upload/upload';\n\nexport * from './controls/upload/uploadmultiple';\n\nexport * from './controls/validation/validationsummary';\n\nexport * from './controls/wizard/wizard';\n\nexport * from './controls/wizard/wizarditem';\n\n// Export Components\nexport * from './components/browser/browser';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.SacDialogComponent","i2.SacButtonComponent","i2.SacContextmenuContainerDirective","i3.SacContextmenuAnchorDirective","i1.SacFormLayoutDirective","i2.SacTooltipComponent","i5.SacToLabelWidthCssPipe","i6.SacToLabelHeightPipe","i7.SacToControlWidthCssPipe","i8.SacToControlHeightPipe","i2.ServiceConfirm","i3.SacContextmenuComponent","i4.SacContextmenuItemButtonComponent","i5.SacContextmenuItemSplitterComponent","i6.SacDropzoneMultipleComponent","i7","i8.SacFormDirective","i1.SacRadiobuttonsComponent","i2.SacFormLayoutDirective","i3.SacDateSelectorComponent","i4","i6","i7.SacToLabelWidthCssPipe","i8.SacToLabelHeightPipe","i9.SacToControlWidthCssPipe","i10.SacToControlHeightPipe","i3","i1.SacPagingComponent","i1.SacGridComponent","i4.SacDropdownOptionDirective","i5","i6.SacToLabelWidthCssPipe","i7.SacToLabelHeightPipe","i8.SacToControlWidthCssPipe","i9.SacToControlHeightPipe","i4.SacListboxOptionDirective","i2.SacMultilanguagemenuContainerDirective","i3.SacMultilanguagemenuAnchorDirective","i3.SacMultilanguagemenuComponent","i4.SacMultilanguagemenuItemButtonComponent","i6.SacMultilanguagemenuAnchorDirective","i8.SacToLabelWidthCssPipe","i9.SacToLabelHeightPipe","i10.SacToControlWidthCssPipe","i11.SacToControlHeightPipe","i4.SacDialogComponent","i5.SacBrowserComponent","i6.SacButtonComponent","i8","i9","i10.SacToLabelWidthCssPipe","i11.SacToLabelHeightPipe","i12.SacToControlWidthCssPipe","i13.SacToControlHeightPipe","i1.SacFormDirective"],"mappings":"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"}
|