@simpleangularcontrols/sac-bootstrap4 10.0.0-rc.2 → 10.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/bundles/simpleangularcontrols-sac-bootstrap4.umd.js +376 -206
- package/bundles/simpleangularcontrols-sac-bootstrap4.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js.map +1 -1
- package/controls/checkbox/checkbox.d.ts +1 -1
- package/controls/checkbox/radiobutton.d.ts +6 -2
- package/controls/contextmenu/contextmenuitembutton.d.ts +3 -4
- package/controls/datetime/date.d.ts +4 -3
- package/controls/datetime/datetime.d.ts +4 -3
- package/controls/datetime/time.d.ts +4 -3
- package/controls/form/inheritform.directive.d.ts +14 -37
- package/controls/grid/gridbutton.d.ts +1 -10
- package/controls/multilanguage/multilanguagemenuitembutton.d.ts +3 -3
- package/controls/static/formcontainer.d.ts +1 -1
- package/controls/tinymce/tinymce.d.ts +1 -1
- package/controls/tooltip/tooltip.d.ts +34 -0
- package/controls/tooltip/tooltip.module.d.ts +2 -0
- package/controls/tooltip/tooltip.module.ngfactory.d.ts +3 -0
- package/controls/tooltip/tooltip.ngfactory.d.ts +1 -0
- package/controls/treeview/treeview.d.ts +14 -0
- package/controls/treeview/treeview.module.d.ts +2 -0
- package/controls/treeview/treeview.module.ngfactory.d.ts +3 -0
- package/controls/treeview/treeview.ngfactory.d.ts +1 -0
- package/controls/upload/dropzonemultiple.d.ts +1 -1
- package/controls/upload/dropzonesingle.d.ts +1 -1
- package/controls/upload/uploadmultiple.d.ts +1 -1
- package/esm2015/controls/checkbox/checkbox.js +4 -5
- package/esm2015/controls/checkbox/checkbox.module.js +7 -2
- package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +1 -1
- package/esm2015/controls/checkbox/radiobutton.js +13 -7
- package/esm2015/controls/checkbox/radiobuttons.js +2 -2
- package/esm2015/controls/confirm/confirm.js +2 -2
- package/esm2015/controls/confirm/confirm.module.ngfactory.js +1 -1
- package/esm2015/controls/contextmenu/contextmenu.js +3 -9
- package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +1 -1
- package/esm2015/controls/contextmenu/contextmenuanchor.js +1 -1
- package/esm2015/controls/contextmenu/contextmenucontainer.js +1 -1
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +15 -11
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +9 -3
- package/esm2015/controls/datetime/date.js +17 -12
- package/esm2015/controls/datetime/datetime.js +9 -7
- package/esm2015/controls/datetime/datetime.module.js +8 -2
- package/esm2015/controls/datetime/datetime.module.ngfactory.js +1 -1
- package/esm2015/controls/datetime/time.js +9 -7
- package/esm2015/controls/dialog/dialog.js +2 -2
- package/esm2015/controls/dialog/dialog.module.ngfactory.js +1 -1
- package/esm2015/controls/form/inheritform.directive.js +42 -56
- package/esm2015/controls/grid/grid.js +2 -2
- package/esm2015/controls/grid/grid.module.js +18 -6
- package/esm2015/controls/grid/grid.module.ngfactory.js +1 -1
- package/esm2015/controls/grid/gridbutton.js +3 -11
- package/esm2015/controls/grid/gridcolumn.js +2 -2
- package/esm2015/controls/input/input.js +2 -2
- package/esm2015/controls/input/input.module.js +7 -2
- package/esm2015/controls/input/input.module.ngfactory.js +1 -1
- package/esm2015/controls/input/inputarea.js +2 -2
- package/esm2015/controls/input/inputcurrency.js +2 -2
- package/esm2015/controls/input/inputdecimal.js +2 -2
- package/esm2015/controls/input/inputemail.js +2 -2
- package/esm2015/controls/input/inputinteger.js +2 -2
- package/esm2015/controls/input/inputpassword.js +2 -2
- package/esm2015/controls/input/inputsearch.js +2 -2
- package/esm2015/controls/list/dropdown.js +2 -2
- package/esm2015/controls/list/dropdown.module.js +7 -2
- package/esm2015/controls/list/dropdown.module.ngfactory.js +1 -1
- package/esm2015/controls/list/list.module.js +7 -2
- package/esm2015/controls/list/list.module.ngfactory.js +1 -1
- package/esm2015/controls/list/listbox.js +2 -2
- package/esm2015/controls/multilanguage/multilanguage.module.js +7 -2
- package/esm2015/controls/multilanguage/multilanguage.module.ngfactory.js +1 -1
- package/esm2015/controls/multilanguage/multilanguageinput.js +2 -2
- package/esm2015/controls/multilanguage/multilanguageinputarea.js +2 -2
- package/esm2015/controls/multilanguage/multilanguagemenuitembutton.js +15 -10
- package/esm2015/controls/static/formcontainer.js +3 -3
- package/esm2015/controls/static/staticlabel.js +2 -2
- package/esm2015/controls/static/staticlabel.module.js +7 -2
- package/esm2015/controls/static/staticlabel.module.ngfactory.js +1 -1
- package/esm2015/controls/tabs/tab.js +2 -2
- package/esm2015/controls/tabs/tabs.module.ngfactory.js +1 -1
- package/esm2015/controls/tinymce/tinymce.js +4 -4
- package/esm2015/controls/tinymce/tinymce.module.js +3 -1
- package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +1 -1
- package/esm2015/controls/tooltip/tooltip.js +52 -0
- package/esm2015/controls/tooltip/tooltip.module.js +13 -0
- package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +7 -0
- package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -0
- package/esm2015/controls/treeview/treeview.js +41 -0
- package/esm2015/controls/treeview/treeview.module.js +16 -0
- package/esm2015/controls/treeview/treeview.module.ngfactory.js +7 -0
- package/esm2015/controls/treeview/treeview.ngfactory.js +7 -0
- package/esm2015/controls/upload/dropzonemultiple.js +4 -4
- package/esm2015/controls/upload/dropzonesingle.js +4 -4
- package/esm2015/controls/upload/upload.js +2 -2
- package/esm2015/controls/upload/upload.module.js +8 -2
- package/esm2015/controls/upload/upload.module.ngfactory.js +1 -1
- package/esm2015/controls/upload/uploadmultiple.js +4 -4
- package/esm2015/public_api.js +60 -3
- package/esm2015/simpleangularcontrols-sac-bootstrap4.js +6 -57
- package/fesm2015/simpleangularcontrols-sac-bootstrap4.js +304 -147
- package/fesm2015/simpleangularcontrols-sac-bootstrap4.js.map +1 -1
- package/package.json +3 -3
- package/public_api.d.ts +57 -2
- package/simpleangularcontrols-sac-bootstrap4-10.0.0-rc.21.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap4.d.ts +5 -56
- package/simpleangularcontrols-sac-bootstrap4.metadata.json +1 -1
- package/simpleangularcontrols-sac-bootstrap4-10.0.0-rc.2.tgz +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
2
2
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
3
|
-
import { Component, NgModule, ElementRef, ChangeDetectorRef, Injectable, ComponentFactoryResolver, Inject, ApplicationRef, Injector,
|
|
3
|
+
import { Component, NgModule, ElementRef, ChangeDetectorRef, Injectable, ComponentFactoryResolver, Inject, ApplicationRef, Injector, NgZone, Renderer2, forwardRef, Directive, HostBinding, SkipSelf, Pipe, Host, Optional, ViewChild, ContentChild, TemplateRef, ContentChildren } from '@angular/core';
|
|
4
4
|
import { NgForm, ControlContainer, FormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
5
|
-
import { SacButtonCommon, SacDialogCommon, SacConfirmCommon, ServiceConfirmCommon, isDefined, SacConfirmButton, SacContextmenuCommon, SacContextmenuItemButtonCommon, SacContextmenuItemCommon, SacContextmenuAnchorCommon, SacContextMenuContrainerCommon, SacFormCommon, SacFormLayoutCommon, ControlHeight, SacDropzoneMultipleCommon, SacDropzoneSingleCommon, SacUploadSingleCommon, SacUploadMultipleCommon, SacFileBrowserCommon, SacCheckboxCommon, SacRadiobuttonsCommon, SacRadiobuttonCommon, SacDateCommon, SacDateSelectorCommon, SacDateTimeCommon, SacTimeCommon, SacGridCommon, SacGridButtonCommon, SacGridColumnCommon, SacGridColumnBaseCommon, SacGridColumnActionCommon, SacGridImageCommon, SacPagingCommon, SacInputCommon, SacInputAreaCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacDropdownCommon, SacDropdownOptionCommon, SacListboxCommon, SacListboxOptionCommon, SacMultilanguageInputCommon, IconType, SacMultilanguageInputAreaCommon, SacStaticFormContainerCommon, SacStaticLabelCommon, SacTabItemCommon, SacTabCommon, SacTinyMceCommon, SacValidationSummaryCommon, SacWizardItemCommon, SacWizardCommon } from '@simpleangularcontrols/sac-common';
|
|
5
|
+
import { SacButtonCommon, SacDialogCommon, SacConfirmCommon, ServiceConfirmCommon, isDefined, SacConfirmButton, SacContextmenuCommon, SacContextmenuItemButtonCommon, SacContextmenuItemCommon, SacContextmenuAnchorCommon, SacContextMenuContrainerCommon, SacFormCommon, SacFormLayoutCommon, ControlHeight, SacTooltipCommon, SacDropzoneMultipleCommon, SacDropzoneSingleCommon, SacUploadSingleCommon, SacUploadMultipleCommon, SacFileBrowserCommon, SacCheckboxCommon, SacRadiobuttonsCommon, SacRadiobuttonCommon, SacDateCommon, SacDateSelectorCommon, SacDateTimeCommon, SacTimeCommon, SacGridCommon, SacGridButtonCommon, SacGridColumnCommon, SacGridColumnBaseCommon, SacGridColumnActionCommon, SacGridImageCommon, SacPagingCommon, SacInputCommon, SacInputAreaCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacDropdownCommon, SacDropdownOptionCommon, SacListboxCommon, SacListboxOptionCommon, SacMultilanguageInputCommon, IconType, SacMultilanguageInputAreaCommon, SacStaticFormContainerCommon, SacStaticLabelCommon, SacTabItemCommon, SacTabCommon, SacTinyMceCommon, SacTreeviewCommon, SacValidationSummaryCommon, SacWizardItemCommon, SacWizardCommon } from '@simpleangularcontrols/sac-common';
|
|
6
6
|
import { forkJoin, Observable } from 'rxjs';
|
|
7
7
|
import { take } from 'rxjs/operators';
|
|
8
8
|
import { IMaskModule } from 'angular-imask';
|
|
@@ -69,7 +69,7 @@ class SacDialogComponent extends SacDialogCommon {
|
|
|
69
69
|
SacDialogComponent.decorators = [
|
|
70
70
|
{ type: Component, args: [{
|
|
71
71
|
selector: 'sac-dialog',
|
|
72
|
-
template: "<div
|
|
72
|
+
template: "<div\r\n #dialog\r\n class=\"modal show\"\r\n style=\"display: block\"\r\n tabindex=\"-1\"\r\n role=\"dialog\"\r\n *ngIf=\"_show\"\r\n>\r\n <div\r\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\r\n role=\"document\"\r\n [class.modal-xl]=\"_size === 'extralarge'\"\r\n [class.modal-lg]=\"_size === 'large'\"\r\n [class.modal-sm]=\"_size === 'small'\"\r\n >\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{title}}</h5>\r\n <button\r\n type=\"button\"\r\n class=\"close\"\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n (click)=\"hide()\"\r\n *ngIf=\"closebutton\"\r\n >\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content select=\"[dialogbody]\"></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[dialogfooter]\"></ng-content>\r\n </div>\r\n </div>\r\n <!-- /.modal-content -->\r\n </div>\r\n <!-- /.modal-dialog -->\r\n</div>\r\n<!-- /.modal -->\r\n<div class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n"
|
|
73
73
|
},] }
|
|
74
74
|
];
|
|
75
75
|
SacDialogComponent.ctorParameters = () => [
|
|
@@ -97,7 +97,7 @@ class SacConfirmComponent extends SacConfirmCommon {
|
|
|
97
97
|
SacConfirmComponent.decorators = [
|
|
98
98
|
{ type: Component, args: [{
|
|
99
99
|
selector: 'sac-confirm',
|
|
100
|
-
template: "<sac-dialog\r\n [(isvisible)]=\"isvisible\"\r\n [title]=\"title\"\r\n [allowesc]=\"false\"\r\n [closebutton]=\"false\"\r\n dialogsize=\"small\"\r\n>\r\n <div dialogbody>\r\n <div class=\"media\">\r\n <img\r\n [attr.src]=\"image\"\r\n class=\"align-self-center mr-3\"\r\n *ngIf=\"hasImage()\"\r\n />\r\n <div class=\"media-body\">{{message}}</div>\r\n </div>\r\n </div>\r\n <ng-container dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button\r\n [name]=\"button.key\"\r\n [text]=\"button.text\"\r\n [role]=\"button.role || 'default'\"\r\n (clicked)=\"confirm(button.key)\"\r\n ></sac-button>\r\n </ng-container>\r\n </ng-container>\r\n</sac-dialog>\r\n"
|
|
100
|
+
template: "<sac-dialog\r\n name=\"confirmDialog\"\r\n [(isvisible)]=\"isvisible\"\r\n [title]=\"title\"\r\n [allowesc]=\"false\"\r\n [closebutton]=\"false\"\r\n dialogsize=\"small\"\r\n>\r\n <div dialogbody>\r\n <div class=\"media\">\r\n <img\r\n [attr.src]=\"image\"\r\n class=\"align-self-center mr-3\"\r\n *ngIf=\"hasImage()\"\r\n />\r\n <div class=\"media-body\">{{message}}</div>\r\n </div>\r\n </div>\r\n <ng-container dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button\r\n [name]=\"button.key\"\r\n [text]=\"button.text\"\r\n [role]=\"button.role || 'default'\"\r\n (clicked)=\"confirm(button.key)\"\r\n ></sac-button>\r\n </ng-container>\r\n </ng-container>\r\n</sac-dialog>\r\n"
|
|
101
101
|
},] }
|
|
102
102
|
];
|
|
103
103
|
|
|
@@ -242,13 +242,7 @@ class SacContextmenuComponent extends SacContextmenuCommon {
|
|
|
242
242
|
SacContextmenuComponent.decorators = [
|
|
243
243
|
{ type: Component, args: [{
|
|
244
244
|
selector: 'sac-contextmenu',
|
|
245
|
-
template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n ></ng-container>\r\n\r\n <div\r\n class=\"dropdown-menu dropdown-menu-right\"\r\n sacContextMenuContainer\r\n [class.show]=\"isopen\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacContextMenuAnchor\r\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n >\r\n <i [class]=\"IconContextMenu\"></i>\r\n </button>\r\n</ng-template>\r\n"
|
|
246
|
-
providers: [
|
|
247
|
-
{
|
|
248
|
-
provide: SacContextmenuCommon,
|
|
249
|
-
useExisting: forwardRef(() => SacContextmenuComponent),
|
|
250
|
-
},
|
|
251
|
-
]
|
|
245
|
+
template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n ></ng-container>\r\n\r\n <div\r\n class=\"dropdown-menu dropdown-menu-right\"\r\n sacContextMenuContainer\r\n [class.show]=\"isopen\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacContextMenuAnchor\r\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n >\r\n <i [class]=\"IconContextMenu\"></i>\r\n </button>\r\n</ng-template>\r\n"
|
|
252
246
|
},] }
|
|
253
247
|
];
|
|
254
248
|
SacContextmenuComponent.ctorParameters = () => [
|
|
@@ -260,26 +254,30 @@ SacContextmenuComponent.ctorParameters = () => [
|
|
|
260
254
|
];
|
|
261
255
|
|
|
262
256
|
/**
|
|
263
|
-
* Component
|
|
257
|
+
* Component for menu entry in context menu
|
|
264
258
|
*/
|
|
265
259
|
class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
|
|
260
|
+
// #region Constructors
|
|
266
261
|
/**
|
|
267
262
|
* Constructor
|
|
268
|
-
* @param contextmenu Instance von Context Menü
|
|
269
263
|
*/
|
|
270
|
-
constructor(
|
|
271
|
-
super(
|
|
264
|
+
constructor() {
|
|
265
|
+
super();
|
|
272
266
|
}
|
|
273
267
|
}
|
|
274
268
|
SacContextmenuItemButtonComponent.decorators = [
|
|
275
269
|
{ type: Component, args: [{
|
|
276
270
|
selector: 'sac-contextmenubutton',
|
|
277
|
-
template: "<button\r\n
|
|
271
|
+
template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\r\n <div class=\"d-flex\">\r\n <div\r\n *ngIf=\"!isicondisabled\"\r\n style=\"min-width: 1.5rem\">\r\n <img\r\n *ngIf=\"image\"\r\n [src]=\"image\"\r\n class=\"align-baseline\" />\r\n <i\r\n *ngIf=\"icon\"\r\n [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n</button>\r\n",
|
|
272
|
+
providers: [
|
|
273
|
+
{
|
|
274
|
+
provide: SacContextmenuItemCommon,
|
|
275
|
+
useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
|
|
276
|
+
},
|
|
277
|
+
]
|
|
278
278
|
},] }
|
|
279
279
|
];
|
|
280
|
-
SacContextmenuItemButtonComponent.ctorParameters = () => [
|
|
281
|
-
{ type: SacContextmenuCommon }
|
|
282
|
-
];
|
|
280
|
+
SacContextmenuItemButtonComponent.ctorParameters = () => [];
|
|
283
281
|
|
|
284
282
|
/**
|
|
285
283
|
* Splitter Komponente in Context Menü
|
|
@@ -289,7 +287,13 @@ class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {
|
|
|
289
287
|
SacContextmenuItemSplitterComponent.decorators = [
|
|
290
288
|
{ type: Component, args: [{
|
|
291
289
|
selector: 'sac-contextmenusplitter',
|
|
292
|
-
template: "<div class=\"dropdown-divider\"></div>"
|
|
290
|
+
template: "<div class=\"dropdown-divider\"></div>",
|
|
291
|
+
providers: [
|
|
292
|
+
{
|
|
293
|
+
provide: SacContextmenuItemCommon,
|
|
294
|
+
useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
|
|
295
|
+
},
|
|
296
|
+
]
|
|
293
297
|
},] }
|
|
294
298
|
];
|
|
295
299
|
|
|
@@ -408,71 +412,58 @@ SacFormDirective.propDecorators = {
|
|
|
408
412
|
cssClassForm: [{ type: HostBinding, args: ['class.form',] }]
|
|
409
413
|
};
|
|
410
414
|
|
|
415
|
+
// #region Classes
|
|
411
416
|
/**
|
|
412
|
-
*
|
|
413
|
-
* @param form SacFormular
|
|
414
|
-
*/
|
|
415
|
-
function SACFORM_FACTORY(form) {
|
|
416
|
-
return form;
|
|
417
|
-
}
|
|
418
|
-
/**
|
|
419
|
-
* Factory Methode für NgForm
|
|
420
|
-
* @param form NgForm
|
|
421
|
-
*/
|
|
422
|
-
function NGFORM_FACTORY(form) {
|
|
423
|
-
return form;
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Directive zum erben eines NgForm/NgFormular einer übergeordneten Komponente
|
|
427
|
-
*
|
|
428
|
-
* @example Implementation in Markup
|
|
429
|
-
*
|
|
430
|
-
* <div sacInheritForm>
|
|
431
|
-
* </div>
|
|
432
|
-
*
|
|
433
|
-
* @example Model an Sub-Komponente übergeben
|
|
434
|
-
*
|
|
435
|
-
* <div sacInheritForm>
|
|
436
|
-
* <div>SubForm</div>
|
|
437
|
-
* <div>
|
|
438
|
-
* <ngInput [(ngModel)]="mymodel.fieldarea2" name="subformField3" label="field 3" [isrequired]="true"></ngInput>
|
|
439
|
-
* </div>
|
|
440
|
-
* </div>
|
|
441
|
-
*
|
|
442
|
-
*
|
|
443
|
-
* (at)Component({
|
|
444
|
-
* selector: 'sacInheritForm',
|
|
445
|
-
* templateUrl: './subform.component.html'
|
|
446
|
-
* })
|
|
447
|
-
* export class SubFormComponent implements DoCheck {
|
|
448
|
-
*
|
|
449
|
-
* (at)Input() mymodel;
|
|
450
|
-
* (at)Output() mymodelChange = new EventEmitter();
|
|
451
|
-
*
|
|
452
|
-
* ngDoCheck() {
|
|
453
|
-
* this.mymodelChange.next(this.mymodel);
|
|
454
|
-
* }
|
|
455
|
-
*}
|
|
456
|
-
*
|
|
417
|
+
* Directive to inherit an NgForm/NgForm from a parent component
|
|
457
418
|
*/
|
|
458
|
-
class SacInheritFormDirective {
|
|
419
|
+
class SacInheritFormDirective extends SacFormCommon {
|
|
420
|
+
// #region Constructors
|
|
421
|
+
/**
|
|
422
|
+
* Construtor
|
|
423
|
+
* @param injector: injector to receive the NgForm instance
|
|
424
|
+
*/
|
|
425
|
+
constructor(injector) {
|
|
426
|
+
super(injector.get(NgForm));
|
|
427
|
+
}
|
|
459
428
|
}
|
|
460
429
|
SacInheritFormDirective.decorators = [
|
|
461
430
|
{ type: Directive, args: [{
|
|
462
431
|
selector: '[sacInheritForm]',
|
|
432
|
+
exportAs: 'sacinheritform',
|
|
463
433
|
providers: [
|
|
464
434
|
{
|
|
465
435
|
provide: SacFormDirective,
|
|
466
436
|
useFactory: SACFORM_FACTORY,
|
|
467
|
-
deps: [[new SkipSelf(), SacFormDirective]]
|
|
468
|
-
},
|
|
437
|
+
deps: [[new SkipSelf(), SacFormDirective]],
|
|
438
|
+
},
|
|
439
|
+
{
|
|
469
440
|
provide: ControlContainer,
|
|
470
441
|
useFactory: NGFORM_FACTORY,
|
|
471
|
-
deps: [NgForm]
|
|
472
|
-
}
|
|
473
|
-
]
|
|
442
|
+
deps: [NgForm],
|
|
443
|
+
},
|
|
444
|
+
],
|
|
474
445
|
},] }
|
|
475
|
-
];
|
|
446
|
+
];
|
|
447
|
+
SacInheritFormDirective.ctorParameters = () => [
|
|
448
|
+
{ type: Injector }
|
|
449
|
+
];
|
|
450
|
+
// #endregion Classes
|
|
451
|
+
// #region Functions
|
|
452
|
+
/**
|
|
453
|
+
* Factory Methode für NgForm
|
|
454
|
+
* @param form NgForm
|
|
455
|
+
*/
|
|
456
|
+
function NGFORM_FACTORY(form) {
|
|
457
|
+
return form;
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Factory Methode für SacForm
|
|
461
|
+
* @param form SacFormular
|
|
462
|
+
*/
|
|
463
|
+
function SACFORM_FACTORY(form) {
|
|
464
|
+
return form;
|
|
465
|
+
}
|
|
466
|
+
// #endregion Functions
|
|
476
467
|
|
|
477
468
|
class SACBootstrap4FormModule {
|
|
478
469
|
}
|
|
@@ -650,6 +641,66 @@ SACBootstrap4LayoutModule.decorators = [
|
|
|
650
641
|
},] }
|
|
651
642
|
];
|
|
652
643
|
|
|
644
|
+
/**
|
|
645
|
+
* Tooltip Komponente
|
|
646
|
+
*
|
|
647
|
+
* @example ToolTip Control
|
|
648
|
+
*
|
|
649
|
+
* <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
|
|
650
|
+
* <i class="tooltip"></i>
|
|
651
|
+
* </ngTooltip>
|
|
652
|
+
*
|
|
653
|
+
* @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.
|
|
654
|
+
*
|
|
655
|
+
* <div class="form-inline">
|
|
656
|
+
* <ngInputSearch iconname="Suchen"></ngInputSearch>
|
|
657
|
+
* <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
|
|
658
|
+
* <i class="tooltip" style="position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;"></i>
|
|
659
|
+
* </ngTooltip>
|
|
660
|
+
* </div>
|
|
661
|
+
*
|
|
662
|
+
*/
|
|
663
|
+
class SacTooltipComponent extends SacTooltipCommon {
|
|
664
|
+
// #region Constructors
|
|
665
|
+
/**
|
|
666
|
+
* Konstrukor
|
|
667
|
+
* @param parent SacFormular Instanz
|
|
668
|
+
* @param injector Component Injector
|
|
669
|
+
*/
|
|
670
|
+
constructor(cdRef, ref) {
|
|
671
|
+
super(cdRef, ref);
|
|
672
|
+
}
|
|
673
|
+
// #endregion Constructors
|
|
674
|
+
// #region Protected Methods
|
|
675
|
+
/**
|
|
676
|
+
* Padding Value for Bootstrap5 Tooltip Padding
|
|
677
|
+
* @returns Static Padding Value for BS5
|
|
678
|
+
*/
|
|
679
|
+
getTooltipOffset() {
|
|
680
|
+
return 2;
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
SacTooltipComponent.decorators = [
|
|
684
|
+
{ type: Component, args: [{
|
|
685
|
+
selector: 'sac-tooltip',
|
|
686
|
+
template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\r\n <div\r\n #container\r\n (mouseenter)=\"ShowTooltip()\"\r\n (mouseleave)=\"HideTooltip()\"\r\n [style.display]=\"inlinemode ? 'inline' : null\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n <div #tooltip *ngIf=\"IsTooltipVisible()\">\r\n <div\r\n [class.show]=\"IsTooltipContentVisible\"\r\n class=\"tooltip bs-tooltip-auto fade\"\r\n style=\"position: absolute\"\r\n [style.left.px]=\"LeftPos\"\r\n [style.top.px]=\"TopPos\"\r\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\r\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\r\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\r\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\r\n [attr.x-placement]=\"GetTooltipPosition() == TooltipPosition.right ? 'right' : GetTooltipPosition() == TooltipPosition.left ? 'left' : GetTooltipPosition() == TooltipPosition.top ? 'top' :GetTooltipPosition() == TooltipPosition.bottom ? 'bottom' : null\"\r\n >\r\n <div\r\n class=\"arrow\"\r\n style=\"position: absolute\"\r\n [style.top.px]=\"GetTooltipPosition() === TooltipPosition.left || GetTooltipPosition() === TooltipPosition.right ? (getToolTipHeight() / 2) - 6.5 : null\"\r\n [style.left.px]=\"GetTooltipPosition() === TooltipPosition.bottom || GetTooltipPosition() === TooltipPosition.top ? (getToolTipWidth() / 2) - 6.5 : null\"\r\n ></div>\r\n <div class=\"tooltip-inner\">{{tooltiptext}}</div>\r\n </div>\r\n </div>\r\n</div>\r\n"
|
|
687
|
+
},] }
|
|
688
|
+
];
|
|
689
|
+
SacTooltipComponent.ctorParameters = () => [
|
|
690
|
+
{ type: ChangeDetectorRef },
|
|
691
|
+
{ type: ElementRef }
|
|
692
|
+
];
|
|
693
|
+
|
|
694
|
+
class SACBootstrap4TooltipModule {
|
|
695
|
+
}
|
|
696
|
+
SACBootstrap4TooltipModule.decorators = [
|
|
697
|
+
{ type: NgModule, args: [{
|
|
698
|
+
declarations: [SacTooltipComponent],
|
|
699
|
+
imports: [CommonModule],
|
|
700
|
+
exports: [SacTooltipComponent],
|
|
701
|
+
},] }
|
|
702
|
+
];
|
|
703
|
+
|
|
653
704
|
/**
|
|
654
705
|
* Dropzone Komponente für mehrere Uploads
|
|
655
706
|
* @see https://github.com/kukhariev/ngx-uploadx/
|
|
@@ -678,7 +729,7 @@ class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
|
|
|
678
729
|
SacDropzoneMultipleComponent.decorators = [
|
|
679
730
|
{ type: Component, args: [{
|
|
680
731
|
selector: 'sac-dropzonemultiple',
|
|
681
|
-
template: "<div class=\"row form-group\"
|
|
732
|
+
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\"></span> </sac-tooltip\r\n ></label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div class=\"align-self-center text-center\">\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length > 0\">\r\n <div class=\"align-self-center progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
682
733
|
providers: [
|
|
683
734
|
{
|
|
684
735
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -729,7 +780,7 @@ class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
|
|
|
729
780
|
SacDropzoneSingleComponent.decorators = [
|
|
730
781
|
{ type: Component, args: [{
|
|
731
782
|
selector: 'sac-dropzonesingle',
|
|
732
|
-
template: "<div class=\"row form-group\"
|
|
783
|
+
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\"></span> </sac-tooltip\r\n ></label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.active]=\"active\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div class=\"align-self-center text-center\">\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length > 0\">\r\n <div class=\"align-self-center progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n *ngFor=\"let file of uploads\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
733
784
|
providers: [
|
|
734
785
|
{
|
|
735
786
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -772,7 +823,7 @@ class SacUploadComponent extends SacUploadSingleCommon {
|
|
|
772
823
|
SacUploadComponent.decorators = [
|
|
773
824
|
{ type: Component, args: [{
|
|
774
825
|
selector: 'sac-upload',
|
|
775
|
-
template: "<div class=\"row form-group\"
|
|
826
|
+
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div class=\"input-group-prepend\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i\r\n class=\"pr-2\"\r\n [ngClass]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">{{ lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async }}</span>\r\n <input\r\n type=\"file\"\r\n id=\"{{ name }}_uploadinput\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress() === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\">\r\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <input type=\"textimage-preview-filename\" class=\"form-control image-preview-filename\" disabled=\"disabled\"> --><!-- don't give a name === doesn't send on POST/GET -->\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [ngClass]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [ngClass]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [ngClass]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [ngClass]=\"IconUpload\"\r\n class=\"pr-2\"></span\r\n >{{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
776
827
|
providers: [
|
|
777
828
|
{
|
|
778
829
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -815,7 +866,7 @@ class SacUploadMultipleComponent extends SacUploadMultipleCommon {
|
|
|
815
866
|
SacUploadMultipleComponent.decorators = [
|
|
816
867
|
{ type: Component, args: [{
|
|
817
868
|
selector: 'sac-uploadmultiple',
|
|
818
|
-
template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\" class=\"pr-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span> {{\r\n lngResourceService.GetString(validationKeyService.UploadButtonUpload)\r\n | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let file of uploads\" style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString(validationKeyService.UploadButtonUpload)\r\n | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
869
|
+
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i\r\n [ngClass]=\"IconBrowse\"\r\n class=\"pr-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n type=\"file\"\r\n id=\"{{ name }}_uploadinput\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [ngClass]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [ngClass]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [ngClass]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [ngClass]=\"IconUpload\"\r\n class=\"pr-2\"></span>\r\n {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let file of uploads\"\r\n style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [class]=\"IconUpload\"\r\n class=\"pr-2\"></span\r\n >{{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n</div>\r\n",
|
|
819
870
|
providers: [
|
|
820
871
|
{
|
|
821
872
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -848,7 +899,12 @@ SACBootstrap4UploadModule.decorators = [
|
|
|
848
899
|
SacDropzoneSingleComponent,
|
|
849
900
|
SacDropzoneMultipleComponent,
|
|
850
901
|
],
|
|
851
|
-
imports: [
|
|
902
|
+
imports: [
|
|
903
|
+
CommonModule,
|
|
904
|
+
FormsModule,
|
|
905
|
+
SACBootstrap4LayoutModule,
|
|
906
|
+
SACBootstrap4TooltipModule,
|
|
907
|
+
],
|
|
852
908
|
exports: [
|
|
853
909
|
SacUploadComponent,
|
|
854
910
|
SacUploadMultipleComponent,
|
|
@@ -997,7 +1053,7 @@ class SacCheckboxComponent extends SacCheckboxCommon {
|
|
|
997
1053
|
SacCheckboxComponent.decorators = [
|
|
998
1054
|
{ type: Component, args: [{
|
|
999
1055
|
selector: 'sac-checkbox',
|
|
1000
|
-
template: "<div\r\n
|
|
1056
|
+
template: "<div\r\n class=\"row\"\r\n [class.no-gutters]=\"disablelabel\"\r\n [class.form-group]=\"!stacked\">\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{ name }}\"\r\n class=\"col-form-label d-flex\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\r\n >{{ label }}</div\r\n >\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n </div>\r\n <div\r\n class=\"align-self-center col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div\r\n [class.form-check]=\"checkboxstyle === 'checkbox'\"\r\n [class.custom-control]=\"checkboxstyle === 'switch'\"\r\n [class.custom-switch]=\"checkboxstyle === 'switch'\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n [class.form-check-input]=\"checkboxstyle === 'checkbox'\"\r\n [class.custom-control-input]=\"checkboxstyle === 'switch'\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\" />\r\n <label\r\n for=\"{{ name }}\"\r\n [class.form-check-label]=\"checkboxstyle === 'checkbox'\"\r\n [class.custom-control-label]=\"checkboxstyle === 'switch'\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <ng-container *ngIf=\"checkboxtext\">{{ checkboxtext }}</ng-container>\r\n </label>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\r\n class=\"ml-2 mr-1 d-inline-block\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n</div>\r\n",
|
|
1001
1057
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1002
1058
|
providers: [
|
|
1003
1059
|
{
|
|
@@ -1036,7 +1092,7 @@ class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
|
|
|
1036
1092
|
SacRadiobuttonsComponent.decorators = [
|
|
1037
1093
|
{ type: Component, args: [{
|
|
1038
1094
|
selector: 'sac-radiobuttons',
|
|
1039
|
-
template: "<div class=\"row form-group\">\r\n
|
|
1095
|
+
template: "<div class=\"row form-group\">\r\n <div\r\n *ngIf=\"disablelabel === false\"\r\n class=\"col-12 pt-0\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\r\n <label\r\n class=\"col-form-label d-flex\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n *ngIf=\"!disablelabel\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\r\n >{{ label }}</div\r\n >\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\r\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\">\r\n <ng-content></ng-content>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n</div>\r\n",
|
|
1040
1096
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1041
1097
|
providers: [
|
|
1042
1098
|
{
|
|
@@ -1061,23 +1117,28 @@ SacRadiobuttonsComponent.ctorParameters = () => [
|
|
|
1061
1117
|
* Radiobutton Komponente
|
|
1062
1118
|
*/
|
|
1063
1119
|
class SacRadiobuttonComponent extends SacRadiobuttonCommon {
|
|
1120
|
+
// #region Constructors
|
|
1064
1121
|
/**
|
|
1065
1122
|
* Konstruktor
|
|
1066
1123
|
* @param SacRadioButtons Radio Buttons Group Komponente
|
|
1124
|
+
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
1125
|
+
* @param injector Injector for injecting services
|
|
1067
1126
|
*/
|
|
1068
|
-
constructor(sacRadioButtons) {
|
|
1069
|
-
super(sacRadioButtons);
|
|
1127
|
+
constructor(sacRadioButtons, formLayout, injector) {
|
|
1128
|
+
super(sacRadioButtons, formLayout, injector);
|
|
1070
1129
|
}
|
|
1071
1130
|
}
|
|
1072
1131
|
SacRadiobuttonComponent.decorators = [
|
|
1073
1132
|
{ type: Component, args: [{
|
|
1074
1133
|
selector: 'sac-radiobutton',
|
|
1075
|
-
template: "<div\r\n
|
|
1134
|
+
template: "<div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n *ngIf=\"hidden === false\">\r\n <input\r\n id=\"{{ getName }}_{{ getIndex }}\"\r\n name=\"{{ getName }}\"\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"ChangeEvent()\"\r\n [disabled]=\"isDisabled\" />\r\n <label\r\n for=\"{{ getName }}_{{ getIndex }}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"> </ng-template>\r\n </label>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n class=\"ml-2 mr-1 d-inline-block\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n <ng-container>{{ label }}</ng-container>\r\n</ng-template>\r\n",
|
|
1076
1135
|
styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{height:1rem;width:1rem}.form-check-input-sm{height:.875rem;margin-top:.4rem;width:.875rem}.form-check-input-lg{height:1.25rem;margin-left:-1.75rem;margin-top:.4rem;width:1.25rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}"]
|
|
1077
1136
|
},] }
|
|
1078
1137
|
];
|
|
1079
1138
|
SacRadiobuttonComponent.ctorParameters = () => [
|
|
1080
|
-
{ type: SacRadiobuttonsComponent, decorators: [{ type: Host }] }
|
|
1139
|
+
{ type: SacRadiobuttonsComponent, decorators: [{ type: Host }] },
|
|
1140
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1141
|
+
{ type: Injector }
|
|
1081
1142
|
];
|
|
1082
1143
|
|
|
1083
1144
|
class SACBootstrap4CheckboxModule {
|
|
@@ -1089,7 +1150,11 @@ SACBootstrap4CheckboxModule.decorators = [
|
|
|
1089
1150
|
SacRadiobuttonComponent,
|
|
1090
1151
|
SacRadiobuttonsComponent,
|
|
1091
1152
|
],
|
|
1092
|
-
imports: [
|
|
1153
|
+
imports: [
|
|
1154
|
+
CommonModule,
|
|
1155
|
+
SACBootstrap4LayoutModule,
|
|
1156
|
+
SACBootstrap4TooltipModule,
|
|
1157
|
+
],
|
|
1093
1158
|
exports: [
|
|
1094
1159
|
SacCheckboxComponent,
|
|
1095
1160
|
SacRadiobuttonComponent,
|
|
@@ -1098,10 +1163,7 @@ SACBootstrap4CheckboxModule.decorators = [
|
|
|
1098
1163
|
},] }
|
|
1099
1164
|
];
|
|
1100
1165
|
|
|
1101
|
-
|
|
1102
|
-
* Referenz auf Moment.JS
|
|
1103
|
-
*/
|
|
1104
|
-
const moment = moment_;
|
|
1166
|
+
// #region Classes
|
|
1105
1167
|
/**
|
|
1106
1168
|
* Komponente für Datumauswahl
|
|
1107
1169
|
*/
|
|
@@ -1112,15 +1174,16 @@ class SacDateComponent extends SacDateCommon {
|
|
|
1112
1174
|
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1113
1175
|
* @param injector Injector for injecting services
|
|
1114
1176
|
* @param elementRef Reference to html dom element
|
|
1177
|
+
* @param cdRef Change Dectection Servie
|
|
1115
1178
|
*/
|
|
1116
|
-
constructor(formLayout, injector, elementRef) {
|
|
1117
|
-
super(formLayout, injector, elementRef);
|
|
1179
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
1180
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
1118
1181
|
}
|
|
1119
1182
|
}
|
|
1120
1183
|
SacDateComponent.decorators = [
|
|
1121
1184
|
{ type: Component, args: [{
|
|
1122
1185
|
selector: 'sac-date',
|
|
1123
|
-
template: "<div
|
|
1186
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <div class=\"input-group-append\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute m-0\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n [class.bs-popover-bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.bs-popover-top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"arrow position-absolute m-0\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1124
1187
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1125
1188
|
providers: [
|
|
1126
1189
|
{
|
|
@@ -1139,8 +1202,16 @@ SacDateComponent.decorators = [
|
|
|
1139
1202
|
SacDateComponent.ctorParameters = () => [
|
|
1140
1203
|
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1141
1204
|
{ type: Injector },
|
|
1142
|
-
{ type: ElementRef }
|
|
1143
|
-
|
|
1205
|
+
{ type: ElementRef },
|
|
1206
|
+
{ type: ChangeDetectorRef }
|
|
1207
|
+
];
|
|
1208
|
+
// #endregion Classes
|
|
1209
|
+
// #region Variables
|
|
1210
|
+
/**
|
|
1211
|
+
* Referenz auf Moment.JS
|
|
1212
|
+
*/
|
|
1213
|
+
const moment = moment_;
|
|
1214
|
+
// #endregion Variables
|
|
1144
1215
|
|
|
1145
1216
|
/**
|
|
1146
1217
|
* DateTime Selektor Komponente
|
|
@@ -1164,15 +1235,16 @@ class SacDateTimeComponent extends SacDateTimeCommon {
|
|
|
1164
1235
|
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1165
1236
|
* @param injector Injector for injecting services
|
|
1166
1237
|
* @param elementRef Reference to html dom element
|
|
1238
|
+
* @param cdRef Change Dectection Servie
|
|
1167
1239
|
*/
|
|
1168
|
-
constructor(formLayout, injector, elementRef) {
|
|
1169
|
-
super(formLayout, injector, elementRef);
|
|
1240
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
1241
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
1170
1242
|
}
|
|
1171
1243
|
}
|
|
1172
1244
|
SacDateTimeComponent.decorators = [
|
|
1173
1245
|
{ type: Component, args: [{
|
|
1174
1246
|
selector: 'sac-datetime',
|
|
1175
|
-
template: "<div
|
|
1247
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <div class=\"input-group-append\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\"\r\n ><div\r\n class=\"popover fade show position-absolute m-0\"\r\n role=\"tooltip\"\r\n [class.bs-popover-bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.bs-popover-top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"arrow position-absolute m-0\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1176
1248
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1177
1249
|
providers: [
|
|
1178
1250
|
{
|
|
@@ -1191,7 +1263,8 @@ SacDateTimeComponent.decorators = [
|
|
|
1191
1263
|
SacDateTimeComponent.ctorParameters = () => [
|
|
1192
1264
|
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1193
1265
|
{ type: Injector },
|
|
1194
|
-
{ type: ElementRef }
|
|
1266
|
+
{ type: ElementRef },
|
|
1267
|
+
{ type: ChangeDetectorRef }
|
|
1195
1268
|
];
|
|
1196
1269
|
|
|
1197
1270
|
/**
|
|
@@ -1204,15 +1277,16 @@ class SacTimeComponent extends SacTimeCommon {
|
|
|
1204
1277
|
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1205
1278
|
* @param injector Injector for injecting services
|
|
1206
1279
|
* @param elementRef Reference to html dom element
|
|
1280
|
+
* @param cdRef Change Dectection Servie
|
|
1207
1281
|
*/
|
|
1208
|
-
constructor(formLayout, injector, elementRef) {
|
|
1209
|
-
super(formLayout, injector, elementRef);
|
|
1282
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
1283
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
1210
1284
|
}
|
|
1211
1285
|
}
|
|
1212
1286
|
SacTimeComponent.decorators = [
|
|
1213
1287
|
{ type: Component, args: [{
|
|
1214
1288
|
selector: 'sac-time',
|
|
1215
|
-
template: "<div
|
|
1289
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <div class=\"input-group-append\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute m-0\"\r\n role=\"tooltip\"\r\n [class.bs-popover-bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.bs-popover-top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"arrow position-absolute m-0\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1216
1290
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1217
1291
|
providers: [
|
|
1218
1292
|
{
|
|
@@ -1231,7 +1305,8 @@ SacTimeComponent.decorators = [
|
|
|
1231
1305
|
SacTimeComponent.ctorParameters = () => [
|
|
1232
1306
|
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1233
1307
|
{ type: Injector },
|
|
1234
|
-
{ type: ElementRef }
|
|
1308
|
+
{ type: ElementRef },
|
|
1309
|
+
{ type: ChangeDetectorRef }
|
|
1235
1310
|
];
|
|
1236
1311
|
|
|
1237
1312
|
class SACBootstrap4DateTimeModule {
|
|
@@ -1244,7 +1319,12 @@ SACBootstrap4DateTimeModule.decorators = [
|
|
|
1244
1319
|
SacTimeComponent,
|
|
1245
1320
|
SacDateSelectorComponent,
|
|
1246
1321
|
],
|
|
1247
|
-
imports: [
|
|
1322
|
+
imports: [
|
|
1323
|
+
CommonModule,
|
|
1324
|
+
IMaskModule,
|
|
1325
|
+
SACBootstrap4LayoutModule,
|
|
1326
|
+
SACBootstrap4TooltipModule,
|
|
1327
|
+
],
|
|
1248
1328
|
exports: [
|
|
1249
1329
|
SacDateComponent,
|
|
1250
1330
|
SacDateTimeComponent,
|
|
@@ -1275,7 +1355,7 @@ class SacGridComponent extends SacGridCommon {
|
|
|
1275
1355
|
SacGridComponent.decorators = [
|
|
1276
1356
|
{ type: Component, args: [{
|
|
1277
1357
|
selector: 'sac-grid',
|
|
1278
|
-
template: "<div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover\" id
|
|
1358
|
+
template: "<div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover\" id=\"{{name}}\">\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let item of value; let i=index\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n <tr\r\n *ngIf=\"value === undefined || value === null || value.length===0\"\r\n data-e2e=\"emptyrow\"\r\n >\r\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\r\n </tr>\r\n </tbody>\r\n <tfoot *ngIf=\"pagerdata\">\r\n <tr>\r\n <td [attr.colspan]=\"ColumnCount\">\r\n <div class=\"container-fluid\">\r\n <sac-paging\r\n name=\"{{name}}Paging\"\r\n (paging)=\"pageChange($event)\"\r\n [pagerdata]=\"pagerdata\"\r\n [pagesizes]=\"pagesizes\"\r\n [pagingtext]=\"pagingtext\"\r\n [pagesizetext]=\"pagesizetext\"\r\n [pagesizedisabled]=\"pagesizedisabled\"\r\n ></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n</div>\r\n",
|
|
1279
1359
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1280
1360
|
providers: [
|
|
1281
1361
|
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
|
|
@@ -1297,19 +1377,11 @@ SacGridComponent.propDecorators = {
|
|
|
1297
1377
|
|
|
1298
1378
|
/**
|
|
1299
1379
|
* Grid Action Button
|
|
1300
|
-
*
|
|
1301
|
-
* @example Standard Action
|
|
1302
|
-
*
|
|
1303
|
-
* <ngGridButton icon="edit" (clicked)="action('edit')" [isdisabled]="true"></ngGridButton>
|
|
1304
|
-
*
|
|
1305
|
-
* @example Custom Action
|
|
1306
|
-
*
|
|
1307
|
-
* <ngGridButton iconstyle="sprite" icon="icon-sprite-base-main_info" (clicked)="action("info")"></ngGridButton>
|
|
1308
|
-
*
|
|
1309
1380
|
*/
|
|
1310
1381
|
class SacGridButtonComponent extends SacGridButtonCommon {
|
|
1382
|
+
// #region Public Methods
|
|
1311
1383
|
/**
|
|
1312
|
-
*
|
|
1384
|
+
* Returns the icon for the button
|
|
1313
1385
|
*/
|
|
1314
1386
|
getIconClass() {
|
|
1315
1387
|
let iconset = this.iconstyle;
|
|
@@ -1356,7 +1428,7 @@ class SacGridColumnComponent extends SacGridColumnCommon {
|
|
|
1356
1428
|
SacGridColumnComponent.decorators = [
|
|
1357
1429
|
{ type: Component, args: [{
|
|
1358
1430
|
selector: 'sac-gridcolumn',
|
|
1359
|
-
template: "<th\r\n
|
|
1431
|
+
template: "<th\r\n scope=\"col\"\r\n *ngIf=\"IsHeader()\"\r\n [style.width]=\"width\"\r\n (click)=\"SortByColumn()\">\r\n <span>{{ header }}</span>\r\n <span\r\n class=\"pl-2\"\r\n [class]=\"IconSortUp\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\r\n <span\r\n class=\"pl-2\"\r\n [class]=\"IconSortDown\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\r\n</th>\r\n<td\r\n scope=\"col\"\r\n *ngIf=\"IsBody()\"\r\n [style.width]=\"width\"\r\n [class.ellipsis]=\"IsEllipsis()\"\r\n (click)=\"ColumnClick()\"\r\n [style.max-width]=\"IsEllipsis() ? width : null\"\r\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\r\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\r\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\r\n <span\r\n [attr.title]=\"IsEllipsis() ? value : null\"\r\n [innerHtml]=\"value\"></span>\r\n</td>\r\n",
|
|
1360
1432
|
providers: [
|
|
1361
1433
|
{
|
|
1362
1434
|
provide: SacGridColumnBaseCommon,
|
|
@@ -1464,11 +1536,23 @@ class SACBootstrap4GridModule {
|
|
|
1464
1536
|
}
|
|
1465
1537
|
SACBootstrap4GridModule.decorators = [
|
|
1466
1538
|
{ type: NgModule, args: [{
|
|
1467
|
-
declarations: [
|
|
1468
|
-
|
|
1469
|
-
|
|
1539
|
+
declarations: [
|
|
1540
|
+
SacGridComponent,
|
|
1541
|
+
SacGridColumnComponent,
|
|
1542
|
+
SacGridColumnActionComponent,
|
|
1543
|
+
SacPagingComponent,
|
|
1544
|
+
SacGridButtonComponent,
|
|
1545
|
+
SacGridImageComponent,
|
|
1546
|
+
],
|
|
1547
|
+
imports: [CommonModule, FormsModule],
|
|
1548
|
+
exports: [
|
|
1549
|
+
SacGridComponent,
|
|
1550
|
+
SacGridColumnComponent,
|
|
1551
|
+
SacGridColumnActionComponent,
|
|
1552
|
+
SacPagingComponent,
|
|
1553
|
+
SacGridButtonComponent,
|
|
1554
|
+
SacGridImageComponent,
|
|
1470
1555
|
],
|
|
1471
|
-
exports: [SacGridComponent, SacGridColumnComponent, SacGridColumnActionComponent, SacPagingComponent, SacGridButtonComponent, SacGridImageComponent]
|
|
1472
1556
|
},] }
|
|
1473
1557
|
];
|
|
1474
1558
|
|
|
@@ -1489,7 +1573,7 @@ class SacInputComponent extends SacInputCommon {
|
|
|
1489
1573
|
SacInputComponent.decorators = [
|
|
1490
1574
|
{ type: Component, args: [{
|
|
1491
1575
|
selector: 'sac-input',
|
|
1492
|
-
template: "<div
|
|
1576
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\" />\r\n\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1493
1577
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1494
1578
|
providers: [
|
|
1495
1579
|
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
|
|
@@ -1523,7 +1607,7 @@ class SacInputAreaComponent extends SacInputAreaCommon {
|
|
|
1523
1607
|
SacInputAreaComponent.decorators = [
|
|
1524
1608
|
{ type: Component, args: [{
|
|
1525
1609
|
selector: 'sac-inputarea',
|
|
1526
|
-
template: "<div class=\"form-group row\">\r\n
|
|
1610
|
+
template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [readonly]=\"readonly\"></textarea>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1527
1611
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1528
1612
|
providers: [
|
|
1529
1613
|
{
|
|
@@ -1561,7 +1645,7 @@ class SacInputCurrencyComponent extends SacInputCurrencyCommon {
|
|
|
1561
1645
|
SacInputCurrencyComponent.decorators = [
|
|
1562
1646
|
{ type: Component, args: [{
|
|
1563
1647
|
selector: 'sac-inputcurrency',
|
|
1564
|
-
template: "<div
|
|
1648
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n <div class=\"input-group-append\">\r\n <span class=\"input-group-text\">{{ currency }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1565
1649
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1566
1650
|
providers: [
|
|
1567
1651
|
{
|
|
@@ -1599,7 +1683,7 @@ class SacInputDecimalComponent extends SacInputDecimalCommon {
|
|
|
1599
1683
|
SacInputDecimalComponent.decorators = [
|
|
1600
1684
|
{ type: Component, args: [{
|
|
1601
1685
|
selector: 'sac-inputdecimal',
|
|
1602
|
-
template: "<div
|
|
1686
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1603
1687
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1604
1688
|
providers: [
|
|
1605
1689
|
{
|
|
@@ -1637,7 +1721,7 @@ class SacInputEmailComponent extends SacInputEmailCommon {
|
|
|
1637
1721
|
SacInputEmailComponent.decorators = [
|
|
1638
1722
|
{ type: Component, args: [{
|
|
1639
1723
|
selector: 'sac-inputemail',
|
|
1640
|
-
template: "<div class=\"form-group row\">\r\n
|
|
1724
|
+
template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div class=\"input-group-prepend\">\r\n <span class=\"input-group-text\">@</span>\r\n </div>\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n autocomplete=\"email\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1641
1725
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1642
1726
|
providers: [
|
|
1643
1727
|
{
|
|
@@ -1675,7 +1759,7 @@ class SacInputIntegerComponent extends SacInputIntegerCommon {
|
|
|
1675
1759
|
SacInputIntegerComponent.decorators = [
|
|
1676
1760
|
{ type: Component, args: [{
|
|
1677
1761
|
selector: 'sac-inputinteger',
|
|
1678
|
-
template: "<div class=\"form-group row\">\r\n
|
|
1762
|
+
template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1679
1763
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1680
1764
|
providers: [
|
|
1681
1765
|
{
|
|
@@ -1713,7 +1797,7 @@ class SacInputPasswordComponent extends SacInputPasswordCommon {
|
|
|
1713
1797
|
SacInputPasswordComponent.decorators = [
|
|
1714
1798
|
{ type: Component, args: [{
|
|
1715
1799
|
selector: 'sac-inputpassword',
|
|
1716
|
-
template: "<div class=\"form-group row\">\r\n
|
|
1800
|
+
template: "<div class=\"form-group row\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n autocomplete=\"new-password\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1717
1801
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1718
1802
|
providers: [
|
|
1719
1803
|
{
|
|
@@ -1751,7 +1835,7 @@ class SacInputSearchComponent extends SacInputSearchCommon {
|
|
|
1751
1835
|
SacInputSearchComponent.decorators = [
|
|
1752
1836
|
{ type: Component, args: [{
|
|
1753
1837
|
selector: 'sac-inputsearch',
|
|
1754
|
-
template: "<div
|
|
1838
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <div class=\"input-group-append\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n id=\"{{ name }}_search\"\r\n (click)=\"searchClick()\">\r\n <i\r\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\r\n [class]=\"iconname\"\r\n [class.mr-2]=\"buttonmode === 'mixed'\"></i>\r\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\r\n </button>\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1755
1839
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1756
1840
|
providers: [
|
|
1757
1841
|
{
|
|
@@ -1786,7 +1870,11 @@ SACBootstrap4InputModule.decorators = [
|
|
|
1786
1870
|
SacInputPasswordComponent,
|
|
1787
1871
|
SacInputSearchComponent,
|
|
1788
1872
|
],
|
|
1789
|
-
imports: [
|
|
1873
|
+
imports: [
|
|
1874
|
+
CommonModule,
|
|
1875
|
+
SACBootstrap4LayoutModule,
|
|
1876
|
+
SACBootstrap4TooltipModule,
|
|
1877
|
+
],
|
|
1790
1878
|
exports: [
|
|
1791
1879
|
SacInputComponent,
|
|
1792
1880
|
SacInputAreaComponent,
|
|
@@ -1820,7 +1908,7 @@ class SacDropdownComponent extends SacDropdownCommon {
|
|
|
1820
1908
|
SacDropdownComponent.decorators = [
|
|
1821
1909
|
{ type: Component, args: [{
|
|
1822
1910
|
selector: 'sac-dropdown',
|
|
1823
|
-
template: "<div
|
|
1911
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\"\r\n ><div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <select\r\n #dropdownitem\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-control\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue(dropdownitem.value)\"\r\n [disabled]=\"isdisabled\">\r\n <option\r\n *ngIf=\"emptylabel !== ''\"\r\n [ngValue]=\"emptyvalue\">\r\n {{ emptylabel }}\r\n </option>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let item of options\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let group of options\"\r\n [attr.label]=\"group[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of group[groupitems]\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n {{ label }}\r\n</ng-template>\r\n",
|
|
1824
1912
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1825
1913
|
providers: [
|
|
1826
1914
|
{
|
|
@@ -1872,7 +1960,11 @@ class SACBootstrap4DropdownModule {
|
|
|
1872
1960
|
SACBootstrap4DropdownModule.decorators = [
|
|
1873
1961
|
{ type: NgModule, args: [{
|
|
1874
1962
|
declarations: [SacDropdownComponent, SacDropdownOptionDirective],
|
|
1875
|
-
imports: [
|
|
1963
|
+
imports: [
|
|
1964
|
+
CommonModule,
|
|
1965
|
+
SACBootstrap4LayoutModule,
|
|
1966
|
+
SACBootstrap4TooltipModule,
|
|
1967
|
+
],
|
|
1876
1968
|
exports: [SacDropdownComponent, SacDropdownOptionDirective],
|
|
1877
1969
|
},] }
|
|
1878
1970
|
];
|
|
@@ -1895,7 +1987,7 @@ class SacListboxComponent extends SacListboxCommon {
|
|
|
1895
1987
|
SacListboxComponent.decorators = [
|
|
1896
1988
|
{ type: Component, args: [{
|
|
1897
1989
|
selector: 'sac-listbox',
|
|
1898
|
-
template: "<div
|
|
1990
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\"\r\n ><div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <select\r\n multiple\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-control\"\r\n [size]=\"rowsize\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"getSelectedItems($event.target)\"\r\n [disabled]=\"isdisabled\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [value]=\"option[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\r\n {{ option[optionlabel] }}\r\n </option>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let option of options\"\r\n [attr.label]=\"option[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of option[groupitems]\"\r\n [value]=\"item[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n {{ item[optionlabel] }}\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1899
1991
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1900
1992
|
providers: [
|
|
1901
1993
|
{
|
|
@@ -1945,7 +2037,11 @@ class SACBootstrap4ListModule {
|
|
|
1945
2037
|
SACBootstrap4ListModule.decorators = [
|
|
1946
2038
|
{ type: NgModule, args: [{
|
|
1947
2039
|
declarations: [SacListboxComponent, SacListboxOptionDirective],
|
|
1948
|
-
imports: [
|
|
2040
|
+
imports: [
|
|
2041
|
+
CommonModule,
|
|
2042
|
+
SACBootstrap4LayoutModule,
|
|
2043
|
+
SACBootstrap4TooltipModule,
|
|
2044
|
+
],
|
|
1949
2045
|
exports: [SacListboxComponent, SacListboxOptionDirective],
|
|
1950
2046
|
},] }
|
|
1951
2047
|
];
|
|
@@ -1973,7 +2069,7 @@ class SacMultilanguageInputComponent extends SacMultilanguageInputCommon {
|
|
|
1973
2069
|
SacMultilanguageInputComponent.decorators = [
|
|
1974
2070
|
{ type: Component, args: [{
|
|
1975
2071
|
selector: 'sac-multilanguageinput',
|
|
1976
|
-
template: "<div
|
|
2072
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\" />\r\n <div\r\n placement=\"bottom-right\"\r\n class=\"input-group-append\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n #contextmenu>\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\r\n <img\r\n src=\"{{ SelectedIcon }}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\" />\r\n <span\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\r\n </button>\r\n </ng-template>\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{ sprache.Text }}\"\r\n image=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{ sprache.Text }}\"\r\n icon=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n",
|
|
1977
2073
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1978
2074
|
providers: [
|
|
1979
2075
|
{
|
|
@@ -2017,7 +2113,7 @@ class SacMultilanguageInputAreaComponent extends SacMultilanguageInputAreaCommon
|
|
|
2017
2113
|
SacMultilanguageInputAreaComponent.decorators = [
|
|
2018
2114
|
{ type: Component, args: [{
|
|
2019
2115
|
selector: 'sac-multilanguageinputarea',
|
|
2020
|
-
template: "<div
|
|
2116
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n style=\"height: auto\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.rows]=\"rows\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"></textarea>\r\n\r\n <div\r\n placement=\"bottom-right\"\r\n class=\"input-group-append\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n #contextmenu>\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\r\n <img\r\n src=\"{{ SelectedIcon }}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\" />\r\n <i\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\r\n </button>\r\n </ng-template>\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{ sprache.Text }}\"\r\n image=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{ sprache.Text }}\"\r\n icon=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n",
|
|
2021
2117
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
2022
2118
|
providers: [
|
|
2023
2119
|
{
|
|
@@ -2132,26 +2228,31 @@ SacMultilanguagemenuContainerDirective.ctorParameters = () => [
|
|
|
2132
2228
|
];
|
|
2133
2229
|
|
|
2134
2230
|
/**
|
|
2135
|
-
* Component
|
|
2231
|
+
* Component for menu entry in context menu
|
|
2136
2232
|
*/
|
|
2137
2233
|
class SacMultilanguagemenuItemButtonComponent extends SacContextmenuItemButtonCommon {
|
|
2234
|
+
// #region Constructors
|
|
2138
2235
|
/**
|
|
2139
2236
|
* Constructor
|
|
2140
2237
|
* @param contextmenu Instance von Context Menü
|
|
2141
2238
|
*/
|
|
2142
|
-
constructor(
|
|
2143
|
-
super(
|
|
2239
|
+
constructor() {
|
|
2240
|
+
super();
|
|
2144
2241
|
}
|
|
2145
2242
|
}
|
|
2146
2243
|
SacMultilanguagemenuItemButtonComponent.decorators = [
|
|
2147
2244
|
{ type: Component, args: [{
|
|
2148
2245
|
selector: 'sac-multilanguagemenubutton',
|
|
2149
|
-
template: "<button\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\r\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\r\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n</button>\r\n"
|
|
2246
|
+
template: "<button\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\r\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\r\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n</button>\r\n",
|
|
2247
|
+
providers: [
|
|
2248
|
+
{
|
|
2249
|
+
provide: SacContextmenuItemCommon,
|
|
2250
|
+
useExisting: forwardRef(() => SacMultilanguagemenuItemButtonComponent),
|
|
2251
|
+
},
|
|
2252
|
+
]
|
|
2150
2253
|
},] }
|
|
2151
2254
|
];
|
|
2152
|
-
SacMultilanguagemenuItemButtonComponent.ctorParameters = () => [
|
|
2153
|
-
{ type: SacContextmenuCommon }
|
|
2154
|
-
];
|
|
2255
|
+
SacMultilanguagemenuItemButtonComponent.ctorParameters = () => [];
|
|
2155
2256
|
|
|
2156
2257
|
class SACBootstrap4MultilanguageModule {
|
|
2157
2258
|
}
|
|
@@ -2165,7 +2266,11 @@ SACBootstrap4MultilanguageModule.decorators = [
|
|
|
2165
2266
|
SacMultilanguagemenuContainerDirective,
|
|
2166
2267
|
SacMultilanguagemenuItemButtonComponent,
|
|
2167
2268
|
],
|
|
2168
|
-
imports: [
|
|
2269
|
+
imports: [
|
|
2270
|
+
CommonModule,
|
|
2271
|
+
SACBootstrap4LayoutModule,
|
|
2272
|
+
SACBootstrap4TooltipModule,
|
|
2273
|
+
],
|
|
2169
2274
|
exports: [SacMultilanguageInputComponent, SacMultilanguageInputAreaComponent],
|
|
2170
2275
|
},] }
|
|
2171
2276
|
];
|
|
@@ -2198,7 +2303,7 @@ class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
|
|
|
2198
2303
|
SacStaticFormContainerComponent.decorators = [
|
|
2199
2304
|
{ type: Component, args: [{
|
|
2200
2305
|
selector: 'sac-staticformcontainer',
|
|
2201
|
-
template: "<div
|
|
2306
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\r\n <ng-content></ng-content>\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ required: isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\">\r\n {{ label }}\r\n </label>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\r\n {{ errormessage }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
2202
2307
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
2203
2308
|
providers: [
|
|
2204
2309
|
{
|
|
@@ -2236,7 +2341,7 @@ class SacStaticLabelComponent extends SacStaticLabelCommon {
|
|
|
2236
2341
|
SacStaticLabelComponent.decorators = [
|
|
2237
2342
|
{ type: Component, args: [{
|
|
2238
2343
|
selector: 'sac-staticlabel',
|
|
2239
|
-
template: "<div
|
|
2344
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\"></span> </sac-tooltip\r\n ></label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div>\r\n <div\r\n [id]=\"name\"\r\n class=\"form-control-plaintext\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [innerHTML]=\"value\"></div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
2240
2345
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
2241
2346
|
providers: [
|
|
2242
2347
|
{
|
|
@@ -2262,7 +2367,11 @@ class SACBootstrap4StaticLabelModule {
|
|
|
2262
2367
|
SACBootstrap4StaticLabelModule.decorators = [
|
|
2263
2368
|
{ type: NgModule, args: [{
|
|
2264
2369
|
declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
2265
|
-
imports: [
|
|
2370
|
+
imports: [
|
|
2371
|
+
CommonModule,
|
|
2372
|
+
SACBootstrap4LayoutModule,
|
|
2373
|
+
SACBootstrap4TooltipModule,
|
|
2374
|
+
],
|
|
2266
2375
|
exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
2267
2376
|
},] }
|
|
2268
2377
|
];
|
|
@@ -2294,7 +2403,7 @@ class SacTabComponent extends SacTabCommon {
|
|
|
2294
2403
|
SacTabComponent.decorators = [
|
|
2295
2404
|
{ type: Component, args: [{
|
|
2296
2405
|
selector: 'sac-tab',
|
|
2297
|
-
template: "<!-- Nav tabs -->\r\n<div class=\"nav nav-tabs\" role=\"tablist\">\r\n <a\r\n *ngFor=\"let item of _tabItems\"\r\n role=\"tab\"\r\n class=\"nav-item nav-link active\"\r\n data-toggle=\"tab\"\r\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\r\n (click)=\"selectTab(item)\"\r\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\r\n >{{item.label}}</a\r\n >\r\n</div>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content pl-3 pt-2\">\r\n <ng-content></ng-content>\r\n</div>\r\n"
|
|
2406
|
+
template: "<!-- Nav tabs -->\r\n<div class=\"nav nav-tabs\" role=\"tablist\">\r\n <a\r\n *ngFor=\"let item of _tabItems\"\r\n [id]=\"GetTabItemButtonId(item.id)\"\r\n role=\"tab\"\r\n class=\"nav-item nav-link active\"\r\n data-toggle=\"tab\"\r\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\r\n (click)=\"selectTab(item)\"\r\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\r\n >{{item.label}}</a\r\n >\r\n</div>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content pl-3 pt-2\">\r\n <ng-content></ng-content>\r\n</div>\r\n"
|
|
2298
2407
|
},] }
|
|
2299
2408
|
];
|
|
2300
2409
|
SacTabComponent.propDecorators = {
|
|
@@ -2340,7 +2449,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
|
|
|
2340
2449
|
SacTinyMceComponent.decorators = [
|
|
2341
2450
|
{ type: Component, args: [{
|
|
2342
2451
|
selector: 'sac-tinymce',
|
|
2343
|
-
template: "<div class=\"
|
|
2452
|
+
template: "<div class=\"row form-group\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\"\r\n ><div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n </editor>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\r\n size=\"large\"\r\n height=\"500px\">\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\r\n (clicked)=\"closeSelectDialog()\"></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n",
|
|
2344
2453
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
2345
2454
|
providers: [
|
|
2346
2455
|
{
|
|
@@ -2376,11 +2485,59 @@ SACBootstrap4TinyMceModule.decorators = [
|
|
|
2376
2485
|
SACBootstrap4ButtonModule,
|
|
2377
2486
|
SACBootstrap4DialogModule,
|
|
2378
2487
|
SACBootstrap4BrowserModule,
|
|
2488
|
+
SACBootstrap4TooltipModule,
|
|
2379
2489
|
],
|
|
2380
2490
|
exports: [SacTinyMceComponent],
|
|
2381
2491
|
},] }
|
|
2382
2492
|
];
|
|
2383
2493
|
|
|
2494
|
+
/**
|
|
2495
|
+
* Treeview Compomnent
|
|
2496
|
+
*/
|
|
2497
|
+
class SacTreeviewComponent extends SacTreeviewCommon {
|
|
2498
|
+
// #region Constructors
|
|
2499
|
+
/**
|
|
2500
|
+
* Constructor
|
|
2501
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
2502
|
+
* @param injector Component Injector
|
|
2503
|
+
*/
|
|
2504
|
+
constructor(formLayout, injector) {
|
|
2505
|
+
super(formLayout, injector);
|
|
2506
|
+
}
|
|
2507
|
+
}
|
|
2508
|
+
SacTreeviewComponent.decorators = [
|
|
2509
|
+
{ type: Component, args: [{
|
|
2510
|
+
selector: 'sac-treeview',
|
|
2511
|
+
template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"w-100\"\r\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\r\n [class.mr-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <ul\r\n class=\"list-group list-group-flush\"\r\n id=\"{{ name }}\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.border]=\"invalid && (dirty || touched)\"\r\n [class.border-danger]=\"invalid && (dirty || touched)\">\r\n <ng-container *ngFor=\"let node of data\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\r\n </ng-template>\r\n </ng-container>\r\n </ul>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template\r\n #treeItem\r\n let-node=\"node\"\r\n let-deep=\"deep\"\r\n let-path=\"path\"\r\n let-textpath=\"textpath\">\r\n <li\r\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\r\n [class.active]=\"isSelectedState(node)\"\r\n (mouseenter)=\"setHoverState(node, true)\"\r\n (mouseleave)=\"setHoverState(node, false)\"\r\n style=\"cursor: pointer\"\r\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\r\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\r\n <div\r\n class=\"mx-3\"\r\n *ngFor=\"let i of count(deep)\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\r\n class=\"mr-2\"\r\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"attricon && getStringField(node, attricon)\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\r\n [ngTemplateOutletContext]=\"{ node: node }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n class=\"flex-grow-1 py-1\"\r\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\r\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\r\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\r\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"setSelectedState(node)\"\r\n class=\"flex-shrink-0\"\r\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\r\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\r\n </ng-template>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"isExpandedState(node)\">\r\n <ng-template\r\n *ngFor=\"let child of getChildren(node)\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{\r\n node: child,\r\n deep: deep + 1,\r\n path: path + '/' + getStringField(node, attrid),\r\n textpath: textpath + '/' + getStringField(node, attrlabel)\r\n }\">\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template\r\n #defaultTemplateLabel\r\n let-label=\"label\"\r\n let-node=\"node\">\r\n <span [title]=\"label\">\r\n {{ label }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateIcon\r\n let-node=\"node\">\r\n <div\r\n class=\"mr-2\"\r\n [ngClass]=\"getStringField(node, attricon)\">\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateAction\r\n let-node=\"node\"\r\n let-actionhandler=\"actionhandler\">\r\n <a\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"actionhandler({ action: 'default', node: node })\">\r\n <i [class]=\"iconAction\"></i>\r\n </a>\r\n</ng-template>\r\n",
|
|
2512
|
+
providers: [
|
|
2513
|
+
{
|
|
2514
|
+
provide: NG_VALUE_ACCESSOR,
|
|
2515
|
+
multi: true,
|
|
2516
|
+
useExisting: SacTreeviewComponent,
|
|
2517
|
+
},
|
|
2518
|
+
{
|
|
2519
|
+
provide: NG_VALIDATORS,
|
|
2520
|
+
useExisting: forwardRef(() => SacTreeviewComponent),
|
|
2521
|
+
multi: true,
|
|
2522
|
+
},
|
|
2523
|
+
]
|
|
2524
|
+
},] }
|
|
2525
|
+
];
|
|
2526
|
+
SacTreeviewComponent.ctorParameters = () => [
|
|
2527
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
2528
|
+
{ type: Injector }
|
|
2529
|
+
];
|
|
2530
|
+
|
|
2531
|
+
class SACBootstrap4TreeviewModule {
|
|
2532
|
+
}
|
|
2533
|
+
SACBootstrap4TreeviewModule.decorators = [
|
|
2534
|
+
{ type: NgModule, args: [{
|
|
2535
|
+
declarations: [SacTreeviewComponent],
|
|
2536
|
+
imports: [CommonModule, SACBootstrap4TooltipModule, SACBootstrap4LayoutModule, SACBootstrap4ContextmenuModule],
|
|
2537
|
+
exports: [SacTreeviewComponent],
|
|
2538
|
+
},] }
|
|
2539
|
+
];
|
|
2540
|
+
|
|
2384
2541
|
/**
|
|
2385
2542
|
* Validation Summary Kompontente
|
|
2386
2543
|
*/
|
|
@@ -2484,5 +2641,5 @@ SACBootstrap4WizardModule.decorators = [
|
|
|
2484
2641
|
* Generated bundle index. Do not edit.
|
|
2485
2642
|
*/
|
|
2486
2643
|
|
|
2487
|
-
export { SACBootstrap4BrowserModule, SACBootstrap4ButtonModule, SACBootstrap4CheckboxModule, SACBootstrap4ConfirmModule, SACBootstrap4ContextmenuModule, SACBootstrap4DateTimeModule, SACBootstrap4DialogModule, SACBootstrap4DropdownModule, SACBootstrap4FormModule, SACBootstrap4GridModule, SACBootstrap4InputModule, SACBootstrap4LayoutModule, SACBootstrap4ListModule, SACBootstrap4MultilanguageModule, SACBootstrap4StaticLabelModule, SACBootstrap4TabsModule, SACBootstrap4TinyMceModule, SACBootstrap4UploadModule, SACBootstrap4ValidationSummaryModule, SACBootstrap4WizardModule,
|
|
2644
|
+
export { NGFORM_FACTORY, SACBootstrap4BrowserModule, SACBootstrap4ButtonModule, SACBootstrap4CheckboxModule, SACBootstrap4ConfirmModule, SACBootstrap4ContextmenuModule, SACBootstrap4DateTimeModule, SACBootstrap4DialogModule, SACBootstrap4DropdownModule, SACBootstrap4FormModule, SACBootstrap4GridModule, SACBootstrap4InputModule, SACBootstrap4LayoutModule, SACBootstrap4ListModule, SACBootstrap4MultilanguageModule, SACBootstrap4StaticLabelModule, SACBootstrap4TabsModule, SACBootstrap4TinyMceModule, SACBootstrap4TooltipModule, SACBootstrap4TreeviewModule, SACBootstrap4UploadModule, SACBootstrap4ValidationSummaryModule, SACBootstrap4WizardModule, SACFORM_FACTORY, SacBrowserComponent, SacButtonComponent, SacCheckboxComponent, SacConfirmComponent, SacContextmenuAnchorDirective, SacContextmenuComponent, SacContextmenuItemButtonComponent, SacContextmenuItemSplitterComponent, SacDateComponent, SacDateSelectorComponent, SacDateTimeComponent, SacDialogComponent, SacDropdownComponent, SacDropdownOptionDirective, SacDropzoneMultipleComponent, SacDropzoneSingleComponent, SacFormDirective, SacFormLayoutDirective, SacGridButtonComponent, SacGridColumnActionComponent, SacGridColumnComponent, SacGridComponent, SacGridImageComponent, SacInheritFormDirective, SacInputAreaComponent, SacInputComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent, SacListboxComponent, SacListboxOptionDirective, SacMultilanguageInputAreaComponent, SacMultilanguageInputComponent, SacPagingComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent, SacStaticFormContainerComponent, SacStaticLabelComponent, SacTabComponent, SacTabItemComponent, SacTimeComponent, SacTinyMceComponent, SacToControlHeightPipe, SacToControlWidthCssPipe, SacToLabelHeightPipe, SacToLabelWidthCssPipe, SacTooltipComponent, SacTreeviewComponent, SacUploadComponent, SacUploadMultipleComponent, SacValidationSummaryComponent, SacWizardComponent, SacWizardItemComponent, ServiceConfirm, SacContextmenuContainerDirective as ɵa, SacMultilanguagemenuComponent as ɵb, SacMultilanguagemenuAnchorDirective as ɵc, SacMultilanguagemenuContainerDirective as ɵd, SacMultilanguagemenuItemButtonComponent as ɵe };
|
|
2488
2645
|
//# sourceMappingURL=simpleangularcontrols-sac-bootstrap4.js.map
|