@simpleangularcontrols/sac-bootstrap3 10.0.0-rc.28 → 10.0.0-rc.29
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-bootstrap3.umd.js +2 -2
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js.map +1 -1
- package/esm2015/controls/grid/grid.module.ngfactory.js +1 -1
- package/esm2015/controls/grid/gridcolumn.js +2 -2
- package/esm2015/controls/grid/gridcolumnaction.js +2 -2
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js +2 -2
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js.map +1 -1
- package/package.json +2 -2
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.29.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap3.metadata.json +1 -1
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.28.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@simpleangularcontrols/sac-common"),require("@angular/common"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("moment"),require("angular-imask"),require("@tinymce/tinymce-angular")):"function"==typeof define&&define.amd?define("@simpleangularcontrols/sac-bootstrap3",["exports","@angular/core","@simpleangularcontrols/sac-common","@angular/common","@angular/forms","rxjs","rxjs/operators","moment","angular-imask","@tinymce/tinymce-angular"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).simpleangularcontrols=e.simpleangularcontrols||{},e.simpleangularcontrols["sac-bootstrap3"]={}),e.ng.core,e.sacCommon,e.ng.common,e.ng.forms,e.rxjs,e.rxjs.operators,e.moment,e.angularImask,e.tinymceAngular)}(this,(function(e,t,n,o,l,a,i,s,r,p){"use strict";function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=d(s),u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,l,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(e){l={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(l)throw l.error}}return i}function h(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}Object.create;"function"==typeof SuppressedError&&SuppressedError;var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacButtonCommon);b.decorators=[{type:t.Component,args:[{selector:"sac-button",template:'<a\n [id]="name"\n class="btn"\n [class.btn-primary]="role === \'primary\'"\n [class.btn-secondary]="role === \'secondary\'"\n [class.btn-success]="role === \'success\'"\n [class.btn-danger]="role === \'danger\'"\n [class.btn-warning]="role === \'warning\'"\n [class.btn-info]="role === \'info\'"\n [class.btn-default]="role === \'default\'"\n [class.btn-link]="role === \'link\'"\n [attr.disabled]="_isdisabled || isloading ? \'disabled\' : null"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier"\n (click)="buttonClick()">\n <i\n *ngIf="isloading"\n role="status"\n aria-hidden="true"\n class="glyphicon glyphicon-repeat spin"\n [ngStyle]="{ \'margin-right\': text ? \'0.5rem\' : null }"></i>\n <i\n *ngIf="!isloading && icon !== \'\'"\n [ngClass]="icon"\n [ngStyle]="{ \'margin-right\': text ? \'0.5rem\' : null }"></i\n >{{ text }}\n</a>\n',encapsulation:t.ViewEncapsulation.None,styles:["sac-button+sac-button {margin-left: 5px}",".spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }"]}]}];var f=function(){};f.decorators=[{type:t.NgModule,args:[{declarations:[b],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[b]}]}];var x=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacFormLayoutCommon);x.decorators=[{type:t.Directive,args:[{selector:"[sacFormLayout]"}]}];var v=function(){function e(){}return e.prototype.transform=function(e){if(!e)return"";switch(e){case n.ControlHeight.Small:return"input-sm";case n.ControlHeight.Large:return"input-lg";default:return""}},e}();v.decorators=[{type:t.Pipe,args:[{name:"toControlHeight"}]}];var y=function(){function e(){}return e.prototype.transform=function(e){var t=[];return e.labelSizeXs&&t.push("col-xs-"+this.calcControlSize(e.labelSizeXs)),e.labelSizeSm&&t.push("col-sm-"+this.calcControlSize(e.labelSizeSm)),e.labelSizeMd&&t.push("col-md-"+this.calcControlSize(e.labelSizeMd)),e.labelSizeLg&&t.push("col-lg-"+this.calcControlSize(e.labelSizeLg)),t.join(" ")},e.prototype.calcControlSize=function(e){return 12===e?12:e?12-e:12},e}();y.decorators=[{type:t.Pipe,args:[{name:"toControlWidthCss"}]}];var C=function(){function e(){}return e.prototype.transform=function(e){if(!e)return"";switch(e){case n.ControlHeight.Small:return"form-group-sm";case n.ControlHeight.Large:return"form-group-lg";default:return""}},e}();C.decorators=[{type:t.Pipe,args:[{name:"toLabelHeight"}]}];var S=function(){function e(){}return e.prototype.transform=function(e){var t=[];return e.labelSizeXs&&t.push("col-xs-"+e.labelSizeXs),e.labelSizeSm&&t.push("col-sm-"+e.labelSizeSm),e.labelSizeMd&&t.push("col-md-"+e.labelSizeMd),e.labelSizeLg&&t.push("col-lg-"+e.labelSizeLg),t.join(" ")},e}();S.decorators=[{type:t.Pipe,args:[{name:"toLabelWidthCss"}]}];var I=function(){};I.decorators=[{type:t.NgModule,args:[{declarations:[x,v,y,C,S],imports:[o.CommonModule],exports:[x,v,y,C,S]}]}];var w=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t.prototype.getTooltipOffset=function(){return 0},t}(n.SacTooltipCommon);w.decorators=[{type:t.Component,args:[{selector:"sac-tooltip",template:'<div\n [style.display]="inlinemode ? \'inline\' : null"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <div\n #container\n (mouseenter)="ShowTooltip()"\n (mouseleave)="HideTooltip()"\n [style.display]="inlinemode ? \'inline\' : null">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf="IsTooltipVisible()"\n #tooltip>\n <div\n [style.visibility]="IsTooltipContentVisible ? \'visible\' : \'hidden\'"\n class="tooltip in"\n style="display: block"\n [style.left.px]="LeftPos"\n [style.top.px]="TopPos"\n [class.top]="GetTooltipPosition() === TooltipPosition.top"\n [class.left]="GetTooltipPosition() === TooltipPosition.left"\n [class.right]="GetTooltipPosition() === TooltipPosition.right"\n [class.bottom]="GetTooltipPosition() === TooltipPosition.bottom">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n'}]}],w.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:t.ElementRef}]};var k=function(){};k.decorators=[{type:t.NgModule,args:[{declarations:[w],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[w]}]}];var H=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacCheckboxCommon);H.decorators=[{type:t.Component,args:[{selector:"sac-checkbox",template:'<div\n class="row"\n [class.form-group]="!stacked"\n [class.has-error]="invalid && (dirty || touched)"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier"\n [ngClass]="componentHeight | toLabelHeight">\n <label\n *ngIf="!disablelabel && !stacked"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div\n class="checkbox"\n [class.checkbox-sm]="componentHeight === ControlHeight.Small"\n [class.checkbox-lg]="componentHeight === ControlHeight.Large">\n <label for="{{ name }}">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="checkbox"\n class="visible-checkbox"\n [checked]="value"\n [disabled]="isdisabled"\n (blur)="onTouch()"\n (change)="setValue($event.target.checked)" />\n <ng-container *ngIf="checkboxtext">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && (disablelabel || stacked)"\n class="form-control-static"\n style="display: inline">\n <sac-tooltip\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:H},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return H})),multi:!0}],styles:[".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;margin-top:2px;width:12px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;margin-top:2px;width:20px}.checkbox-lg label{font-size:18px;padding-top:4px}"]}]}],H.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var T=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacRadiobuttonsCommon);T.decorators=[{type:t.Component,args:[{selector:"sac-radiobuttons",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block"\n >{{ helptext }}</p\n >\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return T})),multi:!0},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return T})),multi:!0}]}]}],T.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var A=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacRadiobuttonCommon);A.decorators=[{type:t.Component,args:[{selector:"sac-radiobutton",template:'<div\n class="radio"\n *ngIf="hidden === false"\n [class.radio-sm]="componentHeight === ControlHeight.Small"\n [class.radio-lg]="componentHeight === ControlHeight.Large">\n <label for="{{ getName }}_{{ getIndex }}">\n <input\n id="{{ getName }}_{{ getIndex }}"\n name="{{ getName }}"\n type="radio"\n [value]="value"\n [checked]="checked"\n (change)="ChangeEvent()"\n [disabled]="isDisabled" />\n <ng-template *ngTemplateOutlet="labeltemplate || defaultItemLabelTemplate; context: { label: label }"></ng-template>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block"\n >{{ helptext }}</p\n >\n </label>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext"\n class="form-control-static"\n style="display: inline">\n <sac-tooltip\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label="label">\n <span>{{ label }}</span>\n</ng-template>\n',styles:[".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{height:20px;margin-top:2px;width:20px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{height:12px;margin-top:2px;width:12px}"]}]}],A.ctorParameters=function(){return[{type:T,decorators:[{type:t.Host}]},{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var E=function(){};E.decorators=[{type:t.NgModule,args:[{declarations:[H,A,T],imports:[o.CommonModule,I,k,n.SACCommonUtliltiesModule],exports:[H,A,T]}]}];var L=function(e){function t(t,n){var o=e.call(this,n)||this;return o._lastDialogMarginTop=0,o.zindex=20002,o.element=t.nativeElement,o}return m(t,e),Object.defineProperty(t.prototype,"dialogMarginTop",{get:function(){var e=0;return null!==this.dialogElement&&void 0!==this.dialogElement&&(e=this.dialogElement.nativeElement.clientHeight/2*-1),this._lastDialogMarginTop!==e&&(this._lastDialogMarginTop=e,this.ChangeDetector.detectChanges()),e},enumerable:!1,configurable:!0}),t.prototype.ngOnDestroy=function(){this.hide(),document.body.contains(this.element)&&document.body.removeChild(this.element),e.prototype.ngOnDestroy.call(this)},t.prototype.ngOnInit=function(){document.body.appendChild(this.element)},t}(n.SacDialogCommon);L.decorators=[{type:t.Component,args:[{selector:"sac-dialog",template:'<div\n [id]="name"\n *ngIf="_show"\n [ngStyle]="{ \'z-index\': zindex }"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <div\n class="modal in"\n style="display: block"\n tabindex="-1"\n role="dialog"\n #dialog>\n <div\n class="modal-dialog"\n [class.modal-sm]="_size === \'small\'"\n [class.modal-lg]="_size === \'large\' || _size === \'extralarge\'"\n role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button\n type="button"\n class="close"\n data-dismiss="modal"\n aria-label="Close"\n (click)="hide()"\n *ngIf="closebutton">\n <span aria-hidden="true">×</span>\n </button>\n <span class="modal-title">{{ title }}</span>\n </div>\n <div class="modal-body">\n <ng-content select="[dialogbody]"></ng-content>\n </div>\n <div class="modal-footer">\n <ng-content select="[dialogfooter]"></ng-content>\n </div>\n </div>\n \x3c!-- /.modal-content --\x3e\n </div>\n \x3c!-- /.modal-dialog --\x3e\n </div>\n \x3c!-- /.modal --\x3e\n</div>\n<div\n class="modal-backdrop in"\n *ngIf="_show && backdrop"\n #backdrop></div>\n'}]}],L.ctorParameters=function(){return[{type:t.ElementRef},{type:t.ChangeDetectorRef}]},L.propDecorators={zindex:[{type:t.Input}]};var z=function(){};z.decorators=[{type:t.NgModule,args:[{declarations:[L],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[L]}]}];var M=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacConfirmCommon);M.decorators=[{type:t.Component,args:[{selector:"sac-confirm",template:'<sac-dialog\n name="confirmDialog"\n [(isvisible)]="isvisible"\n [title]="title"\n [allowesc]="false"\n [closebutton]="false"\n>\n <div dialogbody>\n <div class="media">\n <div class="media-left media-middle" *ngIf="hasImage()">\n <img [attr.src]="image" />\n </div>\n <div class="media-body">{{message}}</div>\n </div>\n </div>\n <div dialogfooter>\n <ng-container *ngFor="let button of buttons">\n <sac-button\n [name]="button.key"\n [text]="button.text"\n [role]="button.role || \'default\'"\n (clicked)="confirm(button.key)"\n ></sac-button>\n </ng-container>\n </div>\n</sac-dialog>\n'}]}];var P=function(e){function t(t,n,o){var l=e.call(this,n,o)||this;return l.componentFactoryResolver=t,l.buttons=[],l.message="",l.title="",l}return m(t,e),t.prototype.ConfirmMessage=function(t,o,l){var s=this;return void 0===l&&(l=null),this.title=t,this.message=o,n.isDefined(l)?this.buttons=l:(this.buttons=[],a.forkJoin({button_yes:this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),button_no:this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo)}).pipe(i.take(1)).subscribe((function(e){s.buttons.push(new n.SacConfirmButton("yes",e.button_yes,"primary")),s.buttons.push(new n.SacConfirmButton("no",e.button_no))}))),e.prototype.Confirm.call(this)},t.prototype.GetComponentFactory=function(){return this.componentFactoryResolver.resolveComponentFactory(M)},t.prototype.ConfigureDialog=function(e){e.title=this.title,e.message=this.message,e.buttons=this.buttons,e.image=this.iconService.ConfirmDefaultImage},t}(n.ServiceConfirmCommon);P.decorators=[{type:t.Injectable}],P.ctorParameters=function(){return[{type:t.ComponentFactoryResolver,decorators:[{type:t.Inject,args:[t.ComponentFactoryResolver]}]},{type:t.ApplicationRef},{type:t.Injector}]};var _=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[P]}},e}();_.decorators=[{type:t.NgModule,args:[{declarations:[M],imports:[o.CommonModule,z,f,n.SACCommonUtliltiesModule],exports:[M],entryComponents:[M]}]}];var R=function(e){function t(t,n,o,l,a){return e.call(this,t,n,o,l,a)||this}return m(t,e),t}(n.SacContextmenuCommon);R.decorators=[{type:t.Component,args:[{selector:"sac-contextmenu",template:'<div\n class="dropdown"\n [ngClass]="cssclass"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <ng-container [ngTemplateOutlet]="buttontemplate || defaultButtonTemplate"></ng-container>\n\n <ul\n class="dropdown-menu dropdown-menu-right"\n sacContextMenuContainer\n [class.show]="isopen">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class="btn btn-link"\n type="button"\n (click)="toggle()">\n <i [class]="IconContextMenu"></i>\n </button>\n</ng-template>\n'}]}],R.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[o.DOCUMENT]}]},{type:t.NgZone},{type:t.ElementRef},{type:t.Renderer2},{type:t.Injector}]};var O=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacContextmenuAnchorCommon);O.decorators=[{type:t.Directive,args:[{selector:"[sacContextMenuAnchor]",providers:[{provide:n.SacContextmenuAnchorCommon,useExisting:t.forwardRef((function(){return O}))}]}]}],O.ctorParameters=function(){return[{type:t.ElementRef}]};var G=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacContextMenuContrainerCommon);G.decorators=[{type:t.Directive,args:[{selector:"[sacContextMenuContainer]",providers:[{provide:n.SacContextMenuContrainerCommon,useExisting:t.forwardRef((function(){return G}))}]}]}],G.ctorParameters=function(){return[{type:t.ElementRef}]};var D=function(e){function t(t){var n=e.call(this)||this;return n.el=t,n.ref=[],n}return m(t,e),t.prototype.ngOnDestroy=function(){for(var e=0;e<this.ref.length;e++)this.ref[e].parentElement.removeChild(this.ref[e])},t.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)this.ref.push(e.firstChild),t.insertBefore(e.firstChild,e);t.removeChild(e)},t}(n.SacContextmenuItemButtonCommon);D.decorators=[{type:t.Component,args:[{selector:"sac-contextmenubutton",template:'<li\n [class.disabled]="isdisabled"\n [ngClass]="cssclass">\n <a\n [id]="name"\n (click)="callaction($event)"\n [attr.disabled]="isdisabled ? \'disabled\' : null"\n [ngStyle]="{ cursor: !isdisabled ? \'pointer\' : null }"\n style="display: flex">\n <div\n style="min-width: 25px"\n *ngIf="!isicondisabled">\n <img\n *ngIf="image"\n [src]="image"\n style="vertical-align: baseline"\n [ngStyle]="{ \'margin-right\': text ? \'5px\' : null }" />\n <i\n *ngIf="icon"\n [class]="iconstyle + \' \' + icon"\n [ngStyle]="{ \'margin-right\': text ? \'5px\' : null }">\n </i>\n </div>\n <div>{{ text }}</div>\n </a>\n</li>\n',providers:[{provide:n.SacContextmenuItemCommon,useExisting:t.forwardRef((function(){return D}))}]}]}],D.ctorParameters=function(){return[{type:t.ElementRef}]};var N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacContextmenuItemCommon);N.decorators=[{type:t.Component,args:[{selector:"sac-contextmenusplitter",template:'<li\n role="separator"\n class="divider"></li>\n',providers:[{provide:n.SacContextmenuItemCommon,useExisting:t.forwardRef((function(){return N}))}]}]}];var V=function(){};V.decorators=[{type:t.NgModule,args:[{declarations:[R,D,N,O,G],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[R,D,N,O]}]}];c.default;var F=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacDateCommon);F.decorators=[{type:t.Component,args:[{selector:"sac-date",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n style="position: relative"\n [style.width.px]="componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140">\n <div\n class="datetime-textbox input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n \x3c!-- this class comes in the div above when disabled [ngClass]="[disablelabel === false ? \'col-md-\' + _inputsize : \'col-md-12\']" --\x3e\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control date-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [ngClass]="[componentHeight | toControlHeight]"\n [imask]="imaskDate"\n [attr.placeholder]="placeholder"\n [value]="valuestring"\n (blur)="onTouch()"\n (accept)="setValueString($event)"\n [disabled]="isdisabled"\n (click)="showDateSelector()" />\n <span class="input-group-btn">\n <button\n #pickerbutton\n class="btn btn-default"\n type="button"\n (click)="showDateSelector()"\n [disabled]="isdisabled">\n <i [class]="IconSelector"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf="_showselector">\n <div\n class="popover in"\n role="tooltip"\n style="display: block; max-width: unset; margin: 0"\n [class.bottom]="GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend"\n [class.top]="GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend"\n [style.left.px]="posPopupLeft"\n [style.top.px]="posPopupTop">\n <div\n #pickerarrow\n style="margin: 0"\n class="arrow"\n [style.top.px]="posArrowTop"\n [style.left.px]="posArrowLeft">\n </div>\n\n <div class="popover-content">\n <sac-dateselector\n *ngIf="_showselector"\n [initialvalue]="value"\n (selectdate)="dateselect($event)"\n dateselection="true">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:t.forwardRef((function(){return F}))},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return F}))}]}]}],F.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.ElementRef},{type:t.ChangeDetectorRef}]};var U=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacDateSelectorCommon);U.decorators=[{type:t.Component,args:[{selector:"sac-dateselector",template:'<div\n class="calendar-selector"\n style="min-width: 265px"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <table\n class="table-condensed"\n style="width: 100%"\n *ngIf="dateselection">\n <thead>\n <tr>\n <th\n class="prev text-left"\n (click)="monthBack()">\n <i [class]="iconMonthPrev"></i>\n </th>\n <th\n colspan="5"\n class="switch text-center"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class="next text-right"\n (click)="monthNext()">\n <i [class]="iconMonthNext"></i>\n </th>\n </tr>\n <tr>\n <th class="dow text-center">Mo</th>\n <th class="dow text-center">Di</th>\n <th class="dow text-center">Mi</th>\n <th class="dow text-center">Do</th>\n <th class="dow text-center">Fr</th>\n <th class="dow text-center">Sa</th>\n <th class="dow text-center">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor="let week of dates; let i = index">\n <tr>\n <td\n class="text-center"\n *ngFor="let item of week"\n [ngStyle]="{ cursor: item.isenabled ? \'pointer\' : null }"\n [ngClass]="{ \'day-current\': item.iscurrent, \'day-selected\': item.isselected, \'day-new\': item.isnew, \'day-disabled\': !item.isenabled }"\n (click)="selectDate(item)"\n >{{ item.displaytext }}</td\n >\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf="timeselection"\n style="margin-top: 10px">\n <div class="row">\n <div\n class="col-xs-6"\n style="padding-right: 20px">\n <div class="form-group">\n <label>Stunde</label>\n <input\n type="number"\n class="form-control"\n [value]="getHours()"\n (input)="setHours($event.target.value)"\n min="0"\n max="23" />\n </div>\n </div>\n <div\n class="col-xs-6"\n style="padding-left: 20px">\n <div class="form-group">\n <label>Minute</label>\n <input\n type="number"\n class="form-control"\n [value]="getMinutes()"\n (input)="setMinutes($event.target.value)"\n min="0"\n max="59" />\n </div>\n </div>\n </div>\n </div>\n <div\n class="row"\n style="margin-top: 10px">\n <div class="col-xs-4 text-left">\n <button\n type="button"\n class="btn btn-default"\n (click)="setToday()">\n Heute\n </button>\n </div>\n <div class="col-xs-8 text-right">\n <button\n type="button"\n class="btn btn-default"\n (click)="resetSelection()">\n Reset\n </button>\n <button\n type="button"\n class="btn btn-primary"\n style="margin-left: 10px"\n (click)="applySelection()">\n Apply\n </button>\n </div>\n </div>\n</div>\n'}]}];var j=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacDateTimeCommon);j.decorators=[{type:t.Component,args:[{selector:"sac-datetime",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n style="position: relative"\n [style.width.px]="componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180">\n <div\n class="datetime-textbox input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control date-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [ngClass]="[componentHeight | toControlHeight]"\n [imask]="imaskDate"\n [attr.placeholder]="placeholder"\n [value]="valuestring"\n (blur)="onTouch()"\n (accept)="setValueString($event)"\n [disabled]="isdisabled"\n (click)="showDateSelector()" />\n <span class="input-group-btn">\n <button\n #pickerbutton\n class="btn btn-default"\n type="button"\n (click)="showDateSelector()"\n [disabled]="isdisabled">\n <i [class]="IconSelector"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf="_showselector">\n <div\n class="popover in"\n role="tooltip"\n style="display: block; max-width: unset; margin: 0"\n [class.bottom]="GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend"\n [class.top]="GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend"\n [style.left.px]="posPopupLeft"\n [style.top.px]="posPopupTop">\n <div\n #pickerarrow\n style="margin: 0"\n class="arrow"\n [style.top.px]="posArrowTop"\n [style.left.px]="posArrowLeft">\n </div>\n\n <div class="popover-content">\n <sac-dateselector\n *ngIf="_showselector"\n [initialvalue]="value"\n (selectdate)="dateselect($event)"\n dateselection="true"\n timeselection="true"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:t.forwardRef((function(){return j}))},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return j}))}]}]}],j.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.ElementRef},{type:t.ChangeDetectorRef}]};var W=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacTimeCommon);W.decorators=[{type:t.Component,args:[{selector:"sac-time",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n style="position: relative"\n [style.width.px]="componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140">\n <div\n class="datetime-textbox input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control time-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [ngClass]="[componentHeight | toControlHeight]"\n [imask]="imaskDate"\n [attr.placeholder]="placeholder"\n [value]="valuestring"\n (blur)="onTouch()"\n (accept)="setValueString($event)"\n [disabled]="isdisabled"\n (click)="showTimeSelector()"\n maxlength="6"\n size="6" />\n <span class="input-group-btn">\n <button\n #pickerbutton\n class="btn btn-default"\n type="button"\n (click)="showTimeSelector()"\n [disabled]="isdisabled">\n <i [class]="IconSelector"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf="_showselector">\n <div\n class="popover in"\n role="tooltip"\n style="display: block; max-width: unset; margin: 0"\n [class.bottom]="GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend"\n [class.top]="GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend"\n [style.left.px]="posPopupLeft"\n [style.top.px]="posPopupTop">\n <div\n #pickerarrow\n style="margin: 0"\n class="arrow"\n [style.top.px]="posArrowTop"\n [style.left.px]="posArrowLeft">\n </div>\n\n <div class="popover-content">\n <sac-dateselector\n *ngIf="_showselector"\n [initialvalue]="value"\n (selectdate)="timeselect($event)"\n timeselection="true"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:t.forwardRef((function(){return W}))},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return W}))}]}]}],W.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.ElementRef},{type:t.ChangeDetectorRef}]};var B=function(){};B.decorators=[{type:t.NgModule,args:[{declarations:[F,j,W,U],imports:[o.CommonModule,r.IMaskModule,I,k,n.SACCommonUtliltiesModule],exports:[F,j,W,U]}]}];var q=function(e){function t(){var t=e.apply(this,h(arguments))||this;return t.ellipsis=!1,t}return m(t,e),t}(n.SacGridCommon);q.decorators=[{type:t.Component,args:[{selector:"sac-grid",template:'<table\n class="table table-striped table-condensed table-hover"\n id="{{ name }}"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <thead>\n <tr>\n <ng-container *ngTemplateOutlet="template; context: { row: {}, type: \'header\' }"> </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor="let item of value; let i = index">\n <tr>\n <ng-container *ngTemplateOutlet="template; context: { row: item, type: \'body\' }"> </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf="value === undefined || value === null || value.length === 0"\n data-e2e="emptyrow">\n <td [attr.colspan]="ColumnCount">{{ emptytext }}</td>\n </tr>\n </tbody>\n <tfoot *ngIf="pagerdata">\n <tr>\n <td [attr.colspan]="ColumnCount">\n <div class="container-fluid">\n <sac-paging\n name="{{ name }}Paging"\n (paging)="pageChange($event)"\n [pagerdata]="pagerdata"\n [pagingtext]="pagingtext"\n [pagesizes]="pagesizes"\n [pagesizetext]="pagesizetext"\n [pagesizedisabled]="pagesizedisabled"></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:q},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return q}))}]}]}],q.propDecorators={template:[{type:t.ContentChild,args:[t.TemplateRef,{static:!0}]}]};var $=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacGridButtonCommon);$.decorators=[{type:t.Component,args:[{selector:"sac-gridbutton",template:'<a\n (click)="callaction()"\n [attr.data-e2e]="name"\n style="padding-right: 5px"\n [style.cursor]="!isdisabled ? \'pointer\' : null"\n [class.disabled]="isdisabled"\n [attr.disabled]="isdisabled ? \'disabled\' : null"\n ><span class="{{ getIconClass() }}"></span\n></a>\n'}]}],$.ctorParameters=function(){return[{type:t.Injector}]};var K=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacGridColumnCommon);K.decorators=[{type:t.Component,args:[{selector:"sac-gridcolumn",template:'<th\n #headerElement\n scope="col"\n *ngIf="IsHeader()"\n [style.width]="width"\n (click)="SortByColumn()"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'">\n <span>{{ header }}</span>\n <span\n [class]="IconSortUp"\n style="padding-left: 0.5rem"\n *ngIf="IsSortedColumn() && GetSortDirection() === \'asc\'"></span>\n <span\n [class]="IconSortDown"\n style="padding-left: 0.5rem"\n *ngIf="IsSortedColumn() && GetSortDirection() === \'desc\'"></span>\n</th>\n<td\n #bodyElement\n scope="col"\n *ngIf="IsBody()"\n [style.width]="width"\n [class.ellipsis]="IsEllipsis()"\n (click)="ColumnClick()"\n [style.max-width]="IsEllipsis() ? width : null"\n [style.overflow]="IsEllipsis() ? \'hidden\' : null"\n [style.text-overflow]="IsEllipsis() ? \'ellipsis\' : null"\n [style.white-space]="IsEllipsis() ? \'nowrap\' : null"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'">\n <span\n [attr.title]="IsEllipsis() ? value : null"\n [innerHtml]="value"></span>\n</td>\n',providers:[{provide:n.SacGridColumnBaseCommon,useExisting:t.forwardRef((function(){return K}))}]}]}],K.ctorParameters=function(){return[{type:q},{type:t.Injector},{type:t.ElementRef}]};var Y=function(e){function t(t,n,o){var l=e.call(this,t,n,o)||this;return l.width="52px",l}return m(t,e),t}(n.SacGridColumnActionCommon);Y.decorators=[{type:t.Component,args:[{selector:"sac-gridcolumnaction",template:'<th\n #headerElement\n scope="col"\n *ngIf="IsHeader()"\n [style.width]="width"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'">\n <span></span>\n</th>\n<td\n #bodyElement\n scope="col"\n *ngIf="IsBody()"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'">\n <ng-content></ng-content>\n</td>\n',providers:[{provide:n.SacGridColumnBaseCommon,useExisting:t.forwardRef((function(){return Y}))}]}]}],Y.ctorParameters=function(){return[{type:q},{type:t.Injector},{type:t.ElementRef}]};var Q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacGridImageCommon);Q.decorators=[{type:t.Component,args:[{selector:"sac-gridimage",template:'<span style="padding-right: 5px"><span [ngClass]="iconstyle"></span></span>\n'}]}];var Z=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacPagingCommon);Z.decorators=[{type:t.Component,args:[{selector:"sac-paging",template:'<div\n class="row"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <div\n class="pager-nav col-sm-4"\n id="{{ name }}">\n <ul\n class="pagination"\n style="margin: 10px 0">\n <li [ngClass]="{ \'aspNetDisabled disabled\': activePageIndex === firstPageIndex }">\n <a (click)="firstPage()">«</a>\n </li>\n <li\n *ngFor="let page of paginators; let i = index"\n [ngClass]="{ active: page === activePageIndex }">\n <a (click)="changePage(page)">{{ page + 1 }}</a>\n </li>\n <li [ngClass]="{ \'aspNetDisabled disabled\': activePageIndex === lastPageIndex }">\n <a (click)="lastPage()">»</a>\n </li>\n </ul>\n </div>\n <div\n class="col-sm-4 text-center"\n style="margin: 20px 0">\n {{ PagingText | async }}\n </div>\n <div\n class="col-sm-4 text-right"\n *ngIf="!pagesizedisabled"\n style="margin: 12px 0">\n <div class="form-inline">\n <div\n class="form-group"\n id="{{ name }}_size">\n <select\n class="form-control form-control-sm"\n style="width: 85px"\n id="{{ name }}_pagesize"\n [ngModel]="pageSize"\n (ngModelChange)="changePageSize($event)">\n <option\n [ngValue]="size"\n *ngFor="let size of getPageSizes">\n {{ size }}\n </option>\n </select>\n <span style="margin-left: 5px">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Z},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return Z}))}]}]}],Z.ctorParameters=function(){return[{type:t.Injector}]};var X=function(){};X.decorators=[{type:t.NgModule,args:[{declarations:[q,K,Y,Z,$,Q],imports:[o.CommonModule,l.FormsModule,n.SACCommonUtliltiesModule],exports:[q,K,Y,Z,$,Q]}]}];var J=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputCommon);J.decorators=[{type:t.Component,args:[{selector:"sac-input",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.maxlength]="maxtextlength"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:J},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return J}))}]}]}],J.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ee=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputAreaCommon);ee.decorators=[{type:t.Component,args:[{selector:"sac-inputarea",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <textarea\n id="{{ name }}"\n name="{{ name }}"\n type=""\n class="form-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [class.validation-error]="invalid && (dirty || touched)"\n [class.required]="isrequired"\n [ngClass]="[componentHeight | toControlHeight]"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.rows]="rows"\n [disabled]="isdisabled"\n [readonly]="readonly">\n </textarea>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ee},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ee}))}]}]}],ee.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var te=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputCurrencyCommon);te.decorators=[{type:t.Component,args:[{selector:"sac-inputcurrency",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.clearfix]="helptextmode === \'tooltip\' && helptext && disablelabel">\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static pull-right"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class="input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="decimal"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n <div class="input-group-addon">{{ currency }}</div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:te},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return te}))}]}]}],te.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ne=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputDecimalCommon);ne.decorators=[{type:t.Component,args:[{selector:"sac-inputdecimal",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="decimal"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ne},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ne}))}]}]}],ne.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var oe=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputEmailCommon);oe.decorators=[{type:t.Component,args:[{selector:"sac-inputemail",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.clearfix]="helptextmode === \'tooltip\' && helptext && disablelabel">\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static pull-right"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class="input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="input-group-addon">@</div>\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="email"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n autocomplete="email"\n [attr.maxlength]="maxtextlength"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:oe},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return oe}))}]}]}],oe.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var le=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputIntegerCommon);le.decorators=[{type:t.Component,args:[{selector:"sac-inputinteger",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="decimal"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:le},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return le}))}]}]}],le.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ae=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputPasswordCommon);ae.decorators=[{type:t.Component,args:[{selector:"sac-inputpassword",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [class.input-group]="passwordeye">\n <input\n id="{{ name }}"\n name="{{ name }}"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [type]="passwordeyevisible ? \'text\' : \'password\'"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.maxlength]="maxtextlength"\n autocomplete="new-password"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n <div\n *ngIf="passwordeye"\n class="input-group-btn">\n <a\n class="btn btn-default"\n (click)="onTogglePasswordEye()"\n ><span [ngClass]="passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon"></span\n ></a>\n </div>\n </div>\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ae},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ae}))}]}]}],ae.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ie=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputSearchCommon);ie.decorators=[{type:t.Component,args:[{selector:"sac-inputsearch",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.clearfix]="helptextmode === \'tooltip\' && helptext && disablelabel">\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static pull-right"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class="input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="search"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.maxlength]="maxtextlength"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n <span class="input-group-btn">\n <button\n type="button"\n class="btn btn-default"\n id="{{ name }}_search"\n (click)="searchClick()">\n <i\n *ngIf="buttonmode === \'icon\' || buttonmode === \'mixed\'"\n [class]="iconname"\n [style.margin-right.px]="buttonmode === \'mixed\' ? 7 : null">\n </i>\n <ng-container *ngIf="buttonmode === \'text\' || buttonmode === \'mixed\'">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ie},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ie}))}]}]}],ie.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var se=function(){};se.decorators=[{type:t.NgModule,args:[{declarations:[J,ee,te,ne,oe,le,ae,ie],imports:[o.CommonModule,o.CommonModule,l.FormsModule,k,I,n.SACCommonUtliltiesModule],exports:[J,ee,te,ne,oe,le,ae,ie]}]}];var re=new t.InjectionToken("SacDropdownToken"),pe=new t.InjectionToken("SacListboxToken"),de=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacDropdownCommon);de.decorators=[{type:t.Component,args:[{selector:"sac-dropdown",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <select\n #dropdownitem\n id="{{ name }}"\n name="{{ name }}"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n (blur)="onTouch()"\n (change)="setValue(dropdownitem.value)"\n [disabled]="isdisabled">\n <option\n *ngIf="emptylabel !== \'\'"\n [ngValue]="emptyvalue"\n >{{ emptylabel }}</option\n >\n\n <ng-content></ng-content>\n\n <ng-container *ngIf="groupitems === \'\'">\n <option\n *ngFor="let item of options"\n [ngValue]="optionvalue ? item[optionvalue] : item"\n [disabled]="optionenabled !== \'\' && item[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf="groupitems !== \'\'">\n <optgroup\n *ngFor="let group of options"\n [attr.label]="group[grouplabel]">\n <option\n *ngFor="let item of group[groupitems]"\n [ngValue]="optionvalue ? item[optionvalue] : item"\n [disabled]="optionenabled !== \'\' && item[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label="label"\n >{{ label }}</ng-template\n>\n',providers:[{provide:re,useExisting:t.forwardRef((function(){return de}))},{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:de},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return de}))}]}]}],de.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.ElementRef}]};var ce=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacDropdownOptionCommon);ce.decorators=[{type:t.Directive,args:[{selector:"option,[sacOption]"}]}],ce.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:[re]}]}]};var ue=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacListboxCommon);ue.decorators=[{type:t.Component,args:[{selector:"sac-listbox",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <select\n multiple\n id="{{ name }}"\n name="{{ name }}"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [size]="rowsize"\n (blur)="onTouch()"\n (change)="getSelectedItems($event.target)"\n [disabled]="isdisabled">\n <ng-content></ng-content>\n <ng-container *ngIf="groupitems === \'\'">\n <option\n *ngFor="let option of options"\n [value]="option[optionvalue]"\n [disabled]="optionenabled !== \'\' && option[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf="groupitems !== \'\'">\n <optgroup\n *ngFor="let option of options"\n [attr.label]="option[grouplabel]">\n <option\n *ngFor="let item of option[groupitems]"\n [value]="item[optionvalue]"\n [disabled]="optionenabled !== \'\' && item[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label="label"\n >{{ label }}</ng-template\n>\n',providers:[{provide:pe,useExisting:ue},{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ue},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ue}))}]}]}],ue.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var me=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacListboxOptionCommon);me.decorators=[{type:t.Directive,args:[{selector:"option,[sacOption]"}]}],me.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:[pe]}]}]};var ge=function(){};ge.decorators=[{type:t.NgModule,args:[{declarations:[de,ce,ue,me],imports:[o.CommonModule,n.SACCommonListboxOptionModule,k,l.FormsModule,I,n.SACCommonUtliltiesModule],exports:[de,ce,ue,me]}]}];var he=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacStaticFormContainerCommon);he.decorators=[{type:t.Component,args:[{selector:"sac-staticformcontainer",template:'<div\n class="row form-group"\n [class.has-error]="isinvalid && errormessage"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <ng-content></ng-content>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && isinvalid && errormessage">\n {{ errormessage }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:he},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return he}))}]}]}],he.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var be=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacStaticLabelCommon);be.decorators=[{type:t.Component,args:[{selector:"sac-staticlabel",template:'<div\n class="row form-group"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n [id]="name"\n class="form-control-static"\n [style.padding-left.px]="0"\n [innerHTML]="value">\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:be},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return be}))}]}]}],be.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var fe=function(){};fe.decorators=[{type:t.NgModule,args:[{declarations:[be,he],imports:[o.CommonModule,k,I,n.SACCommonUtliltiesModule],exports:[be,he]}]}];var xe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacTabItemCommon);xe.decorators=[{type:t.Component,args:[{selector:"sac-tabitem",template:'<div [id]="id" [hidden]="unloadwhenhidden === false && active === false"\n *ngIf="(unloadwhenhidden === true && active === true) || unloadwhenhidden === false" class="tab-pane">\n <ng-template [ngTemplateOutlet]="templateRef"></ng-template>\n</div>\n\n'}]}];var ve=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.tabItems=function(){return this._tabItems.toArray()},t}(n.SacTabCommon);ve.decorators=[{type:t.Component,args:[{selector:"sac-tab",template:'\x3c!-- Nav tabs --\x3e\n<div\n [id]="name"\n class="content-nav-tabs"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <ul\n class="nav nav-tabs"\n role="tablist">\n <li\n *ngFor="let item of _tabItems"\n [ngClass]="{ \'active show\': item.active, disabled: item.disabled }"\n (click)="selectTab(item)"\n [ngStyle]="{ cursor: item._disabled ? \'not-allowed\' : \'pointer\' }"\n [id]="GetTabItemButtonId(item.id)">\n <a\n [id]="GetTabItemButtonId(item.id)"\n role="tab">\n <ng-template *ngTemplateOutlet="tablabeltemplate || defaultTabLabelTemplate; context: { label: item.label }"> </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n\x3c!-- Tab panes --\x3e\n<div\n class="tab-content"\n style="margin-top: 15px">\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultTabLabelTemplate\n let-label="label">\n {{ label }}\n</ng-template>\n'}]}],ve.propDecorators={_tabItems:[{type:t.ContentChildren,args:[xe]}]};var ye=function(){};ye.decorators=[{type:t.NgModule,args:[{declarations:[ve,xe],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[ve,xe]}]}];var Ce=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t.prototype.overwriteDefaultSettings=function(){return{file_picker_types:void 0,file_picker_callback:void 0}},t}(n.SacTinyMceCommon);Ce.decorators=[{type:t.Component,args:[{selector:"sac-tinymce",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.has-error]="isinlineerrorenabled && invalid && (dirty || touched)"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <editor\n [id]="name + \'_tinymce\'"\n [init]="_config"\n [initialValue]="value"\n ngModel\n [ngModelOptions]="{ standalone: true }"\n (ngModelChange)="setValue($event)"\n (onSaveContent)="save($event.event.content)"\n (onBlur)="blur()"\n [disabled]="disabled"\n [class.is-invalid]="isinlineerrorenabled && invalid && (dirty || touched)"></editor>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<sac-dialog\n *ngIf="selectdialogvisible"\n [allowesc]="false"\n [backdrop]="true"\n [(isvisible)]="selectdialogvisible"\n title="{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}"\n size="large"\n height="500px">\n <ng-container dialogbody> </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role="primary"\n [name]="name + \'_modalOk\'"\n text="{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}"\n (clicked)="setSelectDialogResult()"></sac-button>\n <sac-button\n [name]="name + \'_modalClose\'"\n text="{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}"\n (clicked)="closeSelectDialog()"></sac-button>\n </ng-container>\n</sac-dialog>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Ce},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return Ce})),multi:!0}]}]}],Ce.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.NgZone}]};var Se=function(){};Se.decorators=[{type:t.NgModule,args:[{declarations:[Ce],imports:[o.CommonModule,l.FormsModule,p.EditorModule,f,z,I,k,n.SACCommonUtliltiesModule],exports:[Ce]}]}];var Ie=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacTreeviewCommon);Ie.decorators=[{type:t.Component,args:[{selector:"sac-treeview",template:'<div\n class="row mb-3"\n [class.g-0]="disablelabel"\n [class.has-error]="invalid && (dirty || touched)"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.has-error]="isinlineerrorenabled && invalid && (dirty || touched)">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.width.%]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'100\' : null">\n <table\n class="table table-hover table-condensed"\n id="{{ name }}"\n style="table-layout: fixed"\n [class.is-invalid]="invalid && (dirty || touched)"\n [class.border]="invalid && (dirty || touched)"\n [class.border-danger]="invalid && (dirty || touched)">\n <tbody>\n <ng-container *ngFor="let node of data">\n <ng-template\n [ngTemplateOutlet]="treeItem"\n [ngTemplateOutletContext]="{ node: node, deep: 0, path: \'\', textpath: \'\' }">\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node="node"\n let-deep="deep"\n let-path="path"\n let-textpath="textpath">\n <tr\n [class.active]="isSelectedState(node)"\n attr.data-path="{{ path }}/{{ getStringField(node, attrid) }}"\n attr.data-textpath="{{ textpath }}/{{ getStringField(node, attrlabel) }}">\n <td>\n <div\n class="py-1 px-2 d-flex align-items-center"\n style="display: flex; flex-direction: row; cursor: pointer; align-items: center"\n (mouseenter)="setHoverState(node, true)"\n (mouseleave)="setHoverState(node, false)">\n <div\n style="margin-right: 15px"\n *ngFor="let i of count(deep)">\n </div>\n\n <div\n (click)="onNodeClicked(node)"\n *ngIf="expandedstate === \'true\' || expandedstate === true"\n style="margin-right: 15px"\n [ngClass]="!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : \'\'">\n </div>\n\n <div\n (click)="onNodeClicked(node)"\n *ngIf="attricon && getStringField(node, attricon)">\n <ng-template\n [ngTemplateOutlet]="templateicon || defaultTemplateIcon"\n [ngTemplateOutletContext]="{ node: node }">\n </ng-template>\n </div>\n\n <div\n (click)="onNodeClicked(node)"\n style="padding-top: 7px; padding-bottom: 7px; flex-grow: 1"\n [style.max-width.%]="enableellipsis ? \'100\' : null"\n [style.overflow]="enableellipsis ? \'hidden\' : null"\n [style.text-overflow]="enableellipsis ? \'ellipsis\' : null"\n [style.white-space]="enableellipsis ? \'nowrap\' : null">\n <ng-template\n [ngTemplateOutlet]="templatelabel || defaultTemplateLabel"\n [ngTemplateOutletContext]="{ node: node, label: getStringField(node, attrlabel) }">\n </ng-template>\n </div>\n\n <div\n (click)="setSelectedState(node)"\n style="flex-shrink: 0"\n *ngIf="!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))">\n <ng-template\n [ngTemplateOutlet]="templateaction || defaultTemplateAction"\n [ngTemplateOutletContext]="{ node: node, actionhandler: onActionClicked.bind(this) }">\n </ng-template>\n </div>\n </div>\n </td>\n </tr>\n <ng-container *ngIf="isExpandedState(node)">\n <ng-template\n *ngFor="let child of getChildren(node)"\n [ngTemplateOutlet]="treeItem"\n [ngTemplateOutletContext]="{\n node: child,\n deep: deep + 1,\n path: path + \'/\' + getStringField(node, attrid),\n textpath: textpath + \'/\' + getStringField(node, attrlabel)\n }">\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #defaultTemplateLabel\n let-label="label"\n let-node="node">\n <span [title]="label">{{ label }}</span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node="node">\n <div\n style="margin-right: 15px"\n [ngClass]="getStringField(node, attricon)">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node="node"\n let-actionhandler="actionhandler">\n <a\n class="btn btn-link text-secondary"\n (click)="actionhandler({ action: \'default\', node: node })">\n <i [class]="iconAction"></i>\n </a>\n</ng-template>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Ie},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return Ie})),multi:!0}]}]}],Ie.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var we=function(){};we.decorators=[{type:t.NgModule,args:[{declarations:[Ie],imports:[o.CommonModule,k,I,V,n.SACCommonUtliltiesModule],exports:[Ie]}]}];var ke=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this)},t}(n.SacDropzoneMultipleCommon);ke.decorators=[{type:t.Component,args:[{selector:"sac-dropzonemultiple",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <div\n class="img-rounded dropzone control-label"\n (drop)="dropHandler($event)"\n (dragover)="onDragOver($event)"\n (dragleave)="onDragLeave($event)"\n [class.active]="active"\n [style.min-height]="uploadheight"\n [class.is-invalid]="invalid && (dirty || touched)">\n <div\n class="content"\n *ngIf="uploads.length === 0">\n <div>\n <div [class.is-invalid]="isinlineerrorenabled && invalid && (dirty || touched)">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf="uploads.length > 0">\n <div>\n <div\n class="dropzone-uploadstates"\n [class.mt-1]="i > 0"\n *ngFor="let file of uploads; let i = index">\n <div\n class="input-group upload-component upload-component-multiple"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="form-control upload-progress border-secondary">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="file.progress === 100"\n role="progressbar"\n [attr.aria-valuenow]="file.progress"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="file.progress">\n <span class="progress-text">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class="input-group-btn">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancel(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n [disabled]="HasQueueItem()" />\n </div>\n <small\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </small>\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block help-block-error">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ke},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ke}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],ke.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var He=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this)},t}(n.SacDropzoneSingleCommon);He.decorators=[{type:t.Component,args:[{selector:"sac-dropzonesingle",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <div\n class="img-rounded dropzone control-label"\n (drop)="dropHandler($event)"\n (dragover)="onDragOver($event)"\n (dragleave)="onDragLeave($event)"\n [style.min-height]="uploadheight"\n [class.active]="active"\n [class.is-invalid]="invalid && (dirty || touched)">\n <div\n class="content"\n *ngIf="uploads.length === 0">\n <div>\n <div [class.is-invalid]="isinlineerrorenabled && invalid && (dirty || touched)">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf="uploads.length > 0">\n <div>\n <div\n class="dropzone-uploadstates"\n *ngFor="let file of uploads">\n <div\n class="input-group upload-component upload-component-multiple"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="form-control upload-progress">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="file.progress === 100"\n role="progressbar"\n [attr.aria-valuenow]="file.progress"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="file.progress">\n <span class="progress-text">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class="input-group-btn">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancel(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n [disabled]="HasQueueItem()" />\n </div>\n <small\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </small>\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block help-block-error">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:He},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return He}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],He.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var Te=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacUploadSingleCommon);Te.decorators=[{type:t.Component,args:[{selector:"sac-upload",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <div\n class="input-group upload-component upload-single"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="input-group-btn">\n \x3c!-- image-preview-input --\x3e\n <div\n class="btn upload-input custom-file"\n [class.disabled]="HasQueueItem()"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <i [class]="IconBrowse"></i>\n <span class="upload-browse">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n #files\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n multiple\n [disabled]="HasQueueItem()" />\n </div>\n </div>\n <div class="form-control upload-progress">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="Progress() === 100"\n role="progressbar"\n [attr.aria-valuenow]="Progress()"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="Progress()">\n <span class="progress-text text-dark">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class="input-group-btn">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancelAll()"\n [attr.disabled]="HasQueueItem() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n <a\n *ngIf="(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)"\n class="btn"\n (click)="pauseAll()"\n [attr.disabled]="IsUploading() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconPause"></span>\n </a>\n <a\n *ngIf="autoupload && enablepause && IsPaused()"\n class="btn"\n (click)="uploadAll()"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconContinue"></span>\n </a>\n <a\n *ngIf="autoupload === false"\n class="btn"\n (click)="uploadAll()"\n [attr.disabled]="IsStateToUpload() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconUpload"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Te},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return Te}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],Te.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var Ae=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacUploadMultipleCommon);Ae.decorators=[{type:t.Component,args:[{selector:"sac-uploadmultiple",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div class="upload-component">\n <div class="row">\n <div\n class="col-xs-12"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n class="btn-group"\n [class.btn-group-sm]="componentHeight === ControlHeight.Small"\n [class.btn-group-lg]="componentHeight === ControlHeight.Large">\n <div\n class="btn upload-input custom-file"\n [class.disabled]="maxfiles > 0 && uploads.length >= maxfiles"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <i [class]="IconBrowse"></i>\n <span class="upload-browse">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n #files\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n multiple\n [disabled]="maxfiles > 0 && uploads.length >= maxfiles" />\n </div>\n\n <div\n class="btn-group"\n [class.btn-group-sm]="componentHeight === ControlHeight.Small"\n [class.btn-group-lg]="componentHeight === ControlHeight.Large">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancelAll()"\n [attr.disabled]="HasQueueItem() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n <a\n *ngIf="(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)"\n class="btn"\n (click)="pauseAll()"\n [attr.disabled]="IsUploading() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconPause"></span>\n </a>\n <a\n *ngIf="autoupload && enablepause && IsPaused() === true"\n class="btn"\n (click)="uploadAll()"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconContinue"></span>\n </a>\n <a\n *ngIf="autoupload === false"\n class="btn"\n (click)="uploadAll()"\n [attr.disabled]="IsStateToUpload() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconUpload"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor="let file of uploads"\n style="margin-top: 5px">\n <div\n class="input-group upload-component upload-multiple"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="form-control upload-progress">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="file.progress === 100"\n role="progressbar"\n [attr.aria-valuenow]="file.progress"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="file.progress">\n <span class="progress-text text-dark">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class="input-group-btn"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancel(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n <a\n *ngIf="(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== \'paused\')"\n class="btn"\n (click)="pause(file.uploadId)"\n [attr.disabled]="file.status !== \'uploading\' ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconPause"></span>\n </a>\n <a\n *ngIf="autoupload && enablepause && file.status === \'paused\'"\n class="btn"\n (click)="upload(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconContinue"></span>\n </a>\n <a\n *ngIf="autoupload === false"\n class="btn"\n (click)="upload(file.uploadId)"\n [attr.disabled]="file.status !== \'added\' && file.status !== \'paused\' ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconUpload"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Ae},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return Ae}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],Ae.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var Ee=function(){};Ee.decorators=[{type:t.NgModule,args:[{declarations:[Te,Ae,He,ke],imports:[o.CommonModule,l.FormsModule,I,k,n.SACCommonUtliltiesModule],exports:[Te,Ae,He,ke]}]}];var Le=function(e){function t(t){var n=e.call(this,t)||this;return n.cssClassForm=!0,n.cssClassHorizontal=!0,n}return m(t,e),t}(n.SacFormCommon);Le.decorators=[{type:t.Directive,args:[{selector:"form:not([ngNoForm]):not([formGroup]),[ngForm]",exportAs:"sacform"}]}],Le.ctorParameters=function(){return[{type:l.NgForm}]},Le.propDecorators={cssClassForm:[{type:t.HostBinding,args:["class.form"]}],cssClassHorizontal:[{type:t.HostBinding,args:["class.form-horizontal"]}]};var ze=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacValidationSummaryCommon);ze.decorators=[{type:t.Component,args:[{selector:"sac-validationsummary",template:'<div\n class="alert alert-danger"\n role="alert"\n *ngIf="hasErrors"\n [id]="name"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <ul>\n <li *ngFor="let error of formErrors">{{ error | async }}</li>\n </ul>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ze}]}]}],ze.ctorParameters=function(){return[{type:Le,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var Me=function(){};Me.decorators=[{type:t.NgModule,args:[{declarations:[ze],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[ze]}]}];var Pe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacWizardItemCommon);Pe.decorators=[{type:t.Component,args:[{selector:"sac-wizarditem",template:""}]}];var _e=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.wizardItems=function(){return this._wizardItems},t}(n.SacWizardCommon);_e.decorators=[{type:t.Component,args:[{selector:"sac-wizard",template:'<ul [id]="name" class="nav nav-wizard" role="tablist">\n <li *ngFor="let item of _wizardItems" class="nav-item" [ngClass]="{ \'active\': item._active, \'disabled\': item._disabled, \'success\': item._iscomplete }"\n [ngStyle]="{\'cursor\': item._disabled ? \'not-allowed\' : \'pointer\'}">\n <a role="tab" (click)="selectStep(item)">\n <div class="circle">\n <span class="step"></span>\n </div>\n </a>\n <div class="info">\n <a (click)="selectStep(item)">{{item.label}}</a>\n </div>\n </li>\n</ul>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:_e}]}]}],_e.propDecorators={_wizardItems:[{type:t.ContentChildren,args:[Pe]}]};var Re=function(){};Re.decorators=[{type:t.NgModule,args:[{declarations:[_e,Pe],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[_e,Pe]}]}];var Oe=function(e){function t(t){return e.call(this,t.get(l.NgForm))||this}return m(t,e),t}(n.SacFormCommon);function Ge(e){return e}function De(e){return e}Oe.decorators=[{type:t.Directive,args:[{selector:"[sacInheritForm]",exportAs:"sacinheritform",providers:[{provide:Le,useFactory:De,deps:[[new t.SkipSelf,Le]]},{provide:l.ControlContainer,useFactory:Ge,deps:[l.NgForm]}]}]}],Oe.ctorParameters=function(){return[{type:t.Injector}]};var Ne=function(){};Ne.decorators=[{type:t.NgModule,args:[{declarations:[Le,Oe],imports:[o.CommonModule,l.FormsModule],exports:[Le,Oe]}]}],e.NGFORM_FACTORY=Ge,e.SACBootstrap3ButtonModule=f,e.SACBootstrap3CheckboxModule=E,e.SACBootstrap3ConfirmModule=_,e.SACBootstrap3ContextmenuModule=V,e.SACBootstrap3DateTimeModule=B,e.SACBootstrap3DialogModule=z,e.SACBootstrap3FormModule=Ne,e.SACBootstrap3GridModule=X,e.SACBootstrap3InputModule=se,e.SACBootstrap3LayoutModule=I,e.SACBootstrap3ListModule=ge,e.SACBootstrap3StaticLabelModule=fe,e.SACBootstrap3TabsModule=ye,e.SACBootstrap3TinyMceModule=Se,e.SACBootstrap3TooltipModule=k,e.SACBootstrap3TreeviewModule=we,e.SACBootstrap3UploadModule=Ee,e.SACBootstrap3ValidationSummaryModule=Me,e.SACBootstrap3WizardModule=Re,e.SACFORM_FACTORY=De,e.SacButtonComponent=b,e.SacCheckboxComponent=H,e.SacConfirmComponent=M,e.SacContextmenuAnchorDirective=O,e.SacContextmenuComponent=R,e.SacContextmenuItemButtonComponent=D,e.SacContextmenuItemSplitterComponent=N,e.SacDateComponent=F,e.SacDateSelectorComponent=U,e.SacDateTimeComponent=j,e.SacDialogComponent=L,e.SacDropdownComponent=de,e.SacDropdownOptionDirective=ce,e.SacDropzoneMultipleComponent=ke,e.SacDropzoneSingleComponent=He,e.SacFormDirective=Le,e.SacFormLayoutDirective=x,e.SacGridButtonComponent=$,e.SacGridColumnActionComponent=Y,e.SacGridColumnComponent=K,e.SacGridComponent=q,e.SacGridImageComponent=Q,e.SacInheritFormDirective=Oe,e.SacInputAreaComponent=ee,e.SacInputComponent=J,e.SacInputCurrencyComponent=te,e.SacInputDecimalComponent=ne,e.SacInputEmailComponent=oe,e.SacInputIntegerComponent=le,e.SacInputPasswordComponent=ae,e.SacInputSearchComponent=ie,e.SacListboxComponent=ue,e.SacListboxOptionDirective=me,e.SacPagingComponent=Z,e.SacRadiobuttonComponent=A,e.SacRadiobuttonsComponent=T,e.SacStaticFormContainerComponent=he,e.SacStaticLabelComponent=be,e.SacTabComponent=ve,e.SacTabItemComponent=xe,e.SacTimeComponent=W,e.SacTinyMceComponent=Ce,e.SacToControlHeightPipe=v,e.SacToControlWidthCssPipe=y,e.SacToLabelHeightPipe=C,e.SacToLabelWidthCssPipe=S,e.SacTooltipComponent=w,e.SacTreeviewComponent=Ie,e.SacUploadComponent=Te,e.SacUploadMultipleComponent=Ae,e.SacValidationSummaryComponent=ze,e.SacWizardComponent=_e,e.SacWizardItemComponent=Pe,e.ServiceConfirm=P,e.ɵa=G,e.ɵb=re,e.ɵc=pe,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@simpleangularcontrols/sac-common"),require("@angular/common"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("moment"),require("angular-imask"),require("@tinymce/tinymce-angular")):"function"==typeof define&&define.amd?define("@simpleangularcontrols/sac-bootstrap3",["exports","@angular/core","@simpleangularcontrols/sac-common","@angular/common","@angular/forms","rxjs","rxjs/operators","moment","angular-imask","@tinymce/tinymce-angular"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).simpleangularcontrols=e.simpleangularcontrols||{},e.simpleangularcontrols["sac-bootstrap3"]={}),e.ng.core,e.sacCommon,e.ng.common,e.ng.forms,e.rxjs,e.rxjs.operators,e.moment,e.angularImask,e.tinymceAngular)}(this,(function(e,t,n,o,l,a,i,s,r,p){"use strict";function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=d(s),u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,l,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(e){l={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(l)throw l.error}}return i}function h(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}Object.create;"function"==typeof SuppressedError&&SuppressedError;var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacButtonCommon);b.decorators=[{type:t.Component,args:[{selector:"sac-button",template:'<a\n [id]="name"\n class="btn"\n [class.btn-primary]="role === \'primary\'"\n [class.btn-secondary]="role === \'secondary\'"\n [class.btn-success]="role === \'success\'"\n [class.btn-danger]="role === \'danger\'"\n [class.btn-warning]="role === \'warning\'"\n [class.btn-info]="role === \'info\'"\n [class.btn-default]="role === \'default\'"\n [class.btn-link]="role === \'link\'"\n [attr.disabled]="_isdisabled || isloading ? \'disabled\' : null"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier"\n (click)="buttonClick()">\n <i\n *ngIf="isloading"\n role="status"\n aria-hidden="true"\n class="glyphicon glyphicon-repeat spin"\n [ngStyle]="{ \'margin-right\': text ? \'0.5rem\' : null }"></i>\n <i\n *ngIf="!isloading && icon !== \'\'"\n [ngClass]="icon"\n [ngStyle]="{ \'margin-right\': text ? \'0.5rem\' : null }"></i\n >{{ text }}\n</a>\n',encapsulation:t.ViewEncapsulation.None,styles:["sac-button+sac-button {margin-left: 5px}",".spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }"]}]}];var f=function(){};f.decorators=[{type:t.NgModule,args:[{declarations:[b],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[b]}]}];var x=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacFormLayoutCommon);x.decorators=[{type:t.Directive,args:[{selector:"[sacFormLayout]"}]}];var v=function(){function e(){}return e.prototype.transform=function(e){if(!e)return"";switch(e){case n.ControlHeight.Small:return"input-sm";case n.ControlHeight.Large:return"input-lg";default:return""}},e}();v.decorators=[{type:t.Pipe,args:[{name:"toControlHeight"}]}];var y=function(){function e(){}return e.prototype.transform=function(e){var t=[];return e.labelSizeXs&&t.push("col-xs-"+this.calcControlSize(e.labelSizeXs)),e.labelSizeSm&&t.push("col-sm-"+this.calcControlSize(e.labelSizeSm)),e.labelSizeMd&&t.push("col-md-"+this.calcControlSize(e.labelSizeMd)),e.labelSizeLg&&t.push("col-lg-"+this.calcControlSize(e.labelSizeLg)),t.join(" ")},e.prototype.calcControlSize=function(e){return 12===e?12:e?12-e:12},e}();y.decorators=[{type:t.Pipe,args:[{name:"toControlWidthCss"}]}];var C=function(){function e(){}return e.prototype.transform=function(e){if(!e)return"";switch(e){case n.ControlHeight.Small:return"form-group-sm";case n.ControlHeight.Large:return"form-group-lg";default:return""}},e}();C.decorators=[{type:t.Pipe,args:[{name:"toLabelHeight"}]}];var S=function(){function e(){}return e.prototype.transform=function(e){var t=[];return e.labelSizeXs&&t.push("col-xs-"+e.labelSizeXs),e.labelSizeSm&&t.push("col-sm-"+e.labelSizeSm),e.labelSizeMd&&t.push("col-md-"+e.labelSizeMd),e.labelSizeLg&&t.push("col-lg-"+e.labelSizeLg),t.join(" ")},e}();S.decorators=[{type:t.Pipe,args:[{name:"toLabelWidthCss"}]}];var I=function(){};I.decorators=[{type:t.NgModule,args:[{declarations:[x,v,y,C,S],imports:[o.CommonModule],exports:[x,v,y,C,S]}]}];var w=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t.prototype.getTooltipOffset=function(){return 0},t}(n.SacTooltipCommon);w.decorators=[{type:t.Component,args:[{selector:"sac-tooltip",template:'<div\n [style.display]="inlinemode ? \'inline\' : null"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <div\n #container\n (mouseenter)="ShowTooltip()"\n (mouseleave)="HideTooltip()"\n [style.display]="inlinemode ? \'inline\' : null">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf="IsTooltipVisible()"\n #tooltip>\n <div\n [style.visibility]="IsTooltipContentVisible ? \'visible\' : \'hidden\'"\n class="tooltip in"\n style="display: block"\n [style.left.px]="LeftPos"\n [style.top.px]="TopPos"\n [class.top]="GetTooltipPosition() === TooltipPosition.top"\n [class.left]="GetTooltipPosition() === TooltipPosition.left"\n [class.right]="GetTooltipPosition() === TooltipPosition.right"\n [class.bottom]="GetTooltipPosition() === TooltipPosition.bottom">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n'}]}],w.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:t.ElementRef}]};var k=function(){};k.decorators=[{type:t.NgModule,args:[{declarations:[w],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[w]}]}];var H=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacCheckboxCommon);H.decorators=[{type:t.Component,args:[{selector:"sac-checkbox",template:'<div\n class="row"\n [class.form-group]="!stacked"\n [class.has-error]="invalid && (dirty || touched)"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier"\n [ngClass]="componentHeight | toLabelHeight">\n <label\n *ngIf="!disablelabel && !stacked"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div\n class="checkbox"\n [class.checkbox-sm]="componentHeight === ControlHeight.Small"\n [class.checkbox-lg]="componentHeight === ControlHeight.Large">\n <label for="{{ name }}">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="checkbox"\n class="visible-checkbox"\n [checked]="value"\n [disabled]="isdisabled"\n (blur)="onTouch()"\n (change)="setValue($event.target.checked)" />\n <ng-container *ngIf="checkboxtext">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && (disablelabel || stacked)"\n class="form-control-static"\n style="display: inline">\n <sac-tooltip\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:H},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return H})),multi:!0}],styles:[".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;margin-top:2px;width:12px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;margin-top:2px;width:20px}.checkbox-lg label{font-size:18px;padding-top:4px}"]}]}],H.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var T=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacRadiobuttonsCommon);T.decorators=[{type:t.Component,args:[{selector:"sac-radiobuttons",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block"\n >{{ helptext }}</p\n >\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return T})),multi:!0},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return T})),multi:!0}]}]}],T.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var A=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacRadiobuttonCommon);A.decorators=[{type:t.Component,args:[{selector:"sac-radiobutton",template:'<div\n class="radio"\n *ngIf="hidden === false"\n [class.radio-sm]="componentHeight === ControlHeight.Small"\n [class.radio-lg]="componentHeight === ControlHeight.Large">\n <label for="{{ getName }}_{{ getIndex }}">\n <input\n id="{{ getName }}_{{ getIndex }}"\n name="{{ getName }}"\n type="radio"\n [value]="value"\n [checked]="checked"\n (change)="ChangeEvent()"\n [disabled]="isDisabled" />\n <ng-template *ngTemplateOutlet="labeltemplate || defaultItemLabelTemplate; context: { label: label }"></ng-template>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block"\n >{{ helptext }}</p\n >\n </label>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext"\n class="form-control-static"\n style="display: inline">\n <sac-tooltip\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label="label">\n <span>{{ label }}</span>\n</ng-template>\n',styles:[".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{height:20px;margin-top:2px;width:20px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{height:12px;margin-top:2px;width:12px}"]}]}],A.ctorParameters=function(){return[{type:T,decorators:[{type:t.Host}]},{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var E=function(){};E.decorators=[{type:t.NgModule,args:[{declarations:[H,A,T],imports:[o.CommonModule,I,k,n.SACCommonUtliltiesModule],exports:[H,A,T]}]}];var L=function(e){function t(t,n){var o=e.call(this,n)||this;return o._lastDialogMarginTop=0,o.zindex=20002,o.element=t.nativeElement,o}return m(t,e),Object.defineProperty(t.prototype,"dialogMarginTop",{get:function(){var e=0;return null!==this.dialogElement&&void 0!==this.dialogElement&&(e=this.dialogElement.nativeElement.clientHeight/2*-1),this._lastDialogMarginTop!==e&&(this._lastDialogMarginTop=e,this.ChangeDetector.detectChanges()),e},enumerable:!1,configurable:!0}),t.prototype.ngOnDestroy=function(){this.hide(),document.body.contains(this.element)&&document.body.removeChild(this.element),e.prototype.ngOnDestroy.call(this)},t.prototype.ngOnInit=function(){document.body.appendChild(this.element)},t}(n.SacDialogCommon);L.decorators=[{type:t.Component,args:[{selector:"sac-dialog",template:'<div\n [id]="name"\n *ngIf="_show"\n [ngStyle]="{ \'z-index\': zindex }"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <div\n class="modal in"\n style="display: block"\n tabindex="-1"\n role="dialog"\n #dialog>\n <div\n class="modal-dialog"\n [class.modal-sm]="_size === \'small\'"\n [class.modal-lg]="_size === \'large\' || _size === \'extralarge\'"\n role="document">\n <div class="modal-content">\n <div class="modal-header">\n <button\n type="button"\n class="close"\n data-dismiss="modal"\n aria-label="Close"\n (click)="hide()"\n *ngIf="closebutton">\n <span aria-hidden="true">×</span>\n </button>\n <span class="modal-title">{{ title }}</span>\n </div>\n <div class="modal-body">\n <ng-content select="[dialogbody]"></ng-content>\n </div>\n <div class="modal-footer">\n <ng-content select="[dialogfooter]"></ng-content>\n </div>\n </div>\n \x3c!-- /.modal-content --\x3e\n </div>\n \x3c!-- /.modal-dialog --\x3e\n </div>\n \x3c!-- /.modal --\x3e\n</div>\n<div\n class="modal-backdrop in"\n *ngIf="_show && backdrop"\n #backdrop></div>\n'}]}],L.ctorParameters=function(){return[{type:t.ElementRef},{type:t.ChangeDetectorRef}]},L.propDecorators={zindex:[{type:t.Input}]};var z=function(){};z.decorators=[{type:t.NgModule,args:[{declarations:[L],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[L]}]}];var M=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacConfirmCommon);M.decorators=[{type:t.Component,args:[{selector:"sac-confirm",template:'<sac-dialog\n name="confirmDialog"\n [(isvisible)]="isvisible"\n [title]="title"\n [allowesc]="false"\n [closebutton]="false"\n>\n <div dialogbody>\n <div class="media">\n <div class="media-left media-middle" *ngIf="hasImage()">\n <img [attr.src]="image" />\n </div>\n <div class="media-body">{{message}}</div>\n </div>\n </div>\n <div dialogfooter>\n <ng-container *ngFor="let button of buttons">\n <sac-button\n [name]="button.key"\n [text]="button.text"\n [role]="button.role || \'default\'"\n (clicked)="confirm(button.key)"\n ></sac-button>\n </ng-container>\n </div>\n</sac-dialog>\n'}]}];var P=function(e){function t(t,n,o){var l=e.call(this,n,o)||this;return l.componentFactoryResolver=t,l.buttons=[],l.message="",l.title="",l}return m(t,e),t.prototype.ConfirmMessage=function(t,o,l){var s=this;return void 0===l&&(l=null),this.title=t,this.message=o,n.isDefined(l)?this.buttons=l:(this.buttons=[],a.forkJoin({button_yes:this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),button_no:this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo)}).pipe(i.take(1)).subscribe((function(e){s.buttons.push(new n.SacConfirmButton("yes",e.button_yes,"primary")),s.buttons.push(new n.SacConfirmButton("no",e.button_no))}))),e.prototype.Confirm.call(this)},t.prototype.GetComponentFactory=function(){return this.componentFactoryResolver.resolveComponentFactory(M)},t.prototype.ConfigureDialog=function(e){e.title=this.title,e.message=this.message,e.buttons=this.buttons,e.image=this.iconService.ConfirmDefaultImage},t}(n.ServiceConfirmCommon);P.decorators=[{type:t.Injectable}],P.ctorParameters=function(){return[{type:t.ComponentFactoryResolver,decorators:[{type:t.Inject,args:[t.ComponentFactoryResolver]}]},{type:t.ApplicationRef},{type:t.Injector}]};var _=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[P]}},e}();_.decorators=[{type:t.NgModule,args:[{declarations:[M],imports:[o.CommonModule,z,f,n.SACCommonUtliltiesModule],exports:[M],entryComponents:[M]}]}];var R=function(e){function t(t,n,o,l,a){return e.call(this,t,n,o,l,a)||this}return m(t,e),t}(n.SacContextmenuCommon);R.decorators=[{type:t.Component,args:[{selector:"sac-contextmenu",template:'<div\n class="dropdown"\n [ngClass]="cssclass"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <ng-container [ngTemplateOutlet]="buttontemplate || defaultButtonTemplate"></ng-container>\n\n <ul\n class="dropdown-menu dropdown-menu-right"\n sacContextMenuContainer\n [class.show]="isopen">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class="btn btn-link"\n type="button"\n (click)="toggle()">\n <i [class]="IconContextMenu"></i>\n </button>\n</ng-template>\n'}]}],R.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[o.DOCUMENT]}]},{type:t.NgZone},{type:t.ElementRef},{type:t.Renderer2},{type:t.Injector}]};var O=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacContextmenuAnchorCommon);O.decorators=[{type:t.Directive,args:[{selector:"[sacContextMenuAnchor]",providers:[{provide:n.SacContextmenuAnchorCommon,useExisting:t.forwardRef((function(){return O}))}]}]}],O.ctorParameters=function(){return[{type:t.ElementRef}]};var G=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacContextMenuContrainerCommon);G.decorators=[{type:t.Directive,args:[{selector:"[sacContextMenuContainer]",providers:[{provide:n.SacContextMenuContrainerCommon,useExisting:t.forwardRef((function(){return G}))}]}]}],G.ctorParameters=function(){return[{type:t.ElementRef}]};var D=function(e){function t(t){var n=e.call(this)||this;return n.el=t,n.ref=[],n}return m(t,e),t.prototype.ngOnDestroy=function(){for(var e=0;e<this.ref.length;e++)this.ref[e].parentElement.removeChild(this.ref[e])},t.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)this.ref.push(e.firstChild),t.insertBefore(e.firstChild,e);t.removeChild(e)},t}(n.SacContextmenuItemButtonCommon);D.decorators=[{type:t.Component,args:[{selector:"sac-contextmenubutton",template:'<li\n [class.disabled]="isdisabled"\n [ngClass]="cssclass">\n <a\n [id]="name"\n (click)="callaction($event)"\n [attr.disabled]="isdisabled ? \'disabled\' : null"\n [ngStyle]="{ cursor: !isdisabled ? \'pointer\' : null }"\n style="display: flex">\n <div\n style="min-width: 25px"\n *ngIf="!isicondisabled">\n <img\n *ngIf="image"\n [src]="image"\n style="vertical-align: baseline"\n [ngStyle]="{ \'margin-right\': text ? \'5px\' : null }" />\n <i\n *ngIf="icon"\n [class]="iconstyle + \' \' + icon"\n [ngStyle]="{ \'margin-right\': text ? \'5px\' : null }">\n </i>\n </div>\n <div>{{ text }}</div>\n </a>\n</li>\n',providers:[{provide:n.SacContextmenuItemCommon,useExisting:t.forwardRef((function(){return D}))}]}]}],D.ctorParameters=function(){return[{type:t.ElementRef}]};var N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacContextmenuItemCommon);N.decorators=[{type:t.Component,args:[{selector:"sac-contextmenusplitter",template:'<li\n role="separator"\n class="divider"></li>\n',providers:[{provide:n.SacContextmenuItemCommon,useExisting:t.forwardRef((function(){return N}))}]}]}];var V=function(){};V.decorators=[{type:t.NgModule,args:[{declarations:[R,D,N,O,G],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[R,D,N,O]}]}];c.default;var F=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacDateCommon);F.decorators=[{type:t.Component,args:[{selector:"sac-date",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n style="position: relative"\n [style.width.px]="componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140">\n <div\n class="datetime-textbox input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n \x3c!-- this class comes in the div above when disabled [ngClass]="[disablelabel === false ? \'col-md-\' + _inputsize : \'col-md-12\']" --\x3e\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control date-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [ngClass]="[componentHeight | toControlHeight]"\n [imask]="imaskDate"\n [attr.placeholder]="placeholder"\n [value]="valuestring"\n (blur)="onTouch()"\n (accept)="setValueString($event)"\n [disabled]="isdisabled"\n (click)="showDateSelector()" />\n <span class="input-group-btn">\n <button\n #pickerbutton\n class="btn btn-default"\n type="button"\n (click)="showDateSelector()"\n [disabled]="isdisabled">\n <i [class]="IconSelector"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf="_showselector">\n <div\n class="popover in"\n role="tooltip"\n style="display: block; max-width: unset; margin: 0"\n [class.bottom]="GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend"\n [class.top]="GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend"\n [style.left.px]="posPopupLeft"\n [style.top.px]="posPopupTop">\n <div\n #pickerarrow\n style="margin: 0"\n class="arrow"\n [style.top.px]="posArrowTop"\n [style.left.px]="posArrowLeft">\n </div>\n\n <div class="popover-content">\n <sac-dateselector\n *ngIf="_showselector"\n [initialvalue]="value"\n (selectdate)="dateselect($event)"\n dateselection="true">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:t.forwardRef((function(){return F}))},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return F}))}]}]}],F.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.ElementRef},{type:t.ChangeDetectorRef}]};var U=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacDateSelectorCommon);U.decorators=[{type:t.Component,args:[{selector:"sac-dateselector",template:'<div\n class="calendar-selector"\n style="min-width: 265px"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <table\n class="table-condensed"\n style="width: 100%"\n *ngIf="dateselection">\n <thead>\n <tr>\n <th\n class="prev text-left"\n (click)="monthBack()">\n <i [class]="iconMonthPrev"></i>\n </th>\n <th\n colspan="5"\n class="switch text-center"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class="next text-right"\n (click)="monthNext()">\n <i [class]="iconMonthNext"></i>\n </th>\n </tr>\n <tr>\n <th class="dow text-center">Mo</th>\n <th class="dow text-center">Di</th>\n <th class="dow text-center">Mi</th>\n <th class="dow text-center">Do</th>\n <th class="dow text-center">Fr</th>\n <th class="dow text-center">Sa</th>\n <th class="dow text-center">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor="let week of dates; let i = index">\n <tr>\n <td\n class="text-center"\n *ngFor="let item of week"\n [ngStyle]="{ cursor: item.isenabled ? \'pointer\' : null }"\n [ngClass]="{ \'day-current\': item.iscurrent, \'day-selected\': item.isselected, \'day-new\': item.isnew, \'day-disabled\': !item.isenabled }"\n (click)="selectDate(item)"\n >{{ item.displaytext }}</td\n >\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf="timeselection"\n style="margin-top: 10px">\n <div class="row">\n <div\n class="col-xs-6"\n style="padding-right: 20px">\n <div class="form-group">\n <label>Stunde</label>\n <input\n type="number"\n class="form-control"\n [value]="getHours()"\n (input)="setHours($event.target.value)"\n min="0"\n max="23" />\n </div>\n </div>\n <div\n class="col-xs-6"\n style="padding-left: 20px">\n <div class="form-group">\n <label>Minute</label>\n <input\n type="number"\n class="form-control"\n [value]="getMinutes()"\n (input)="setMinutes($event.target.value)"\n min="0"\n max="59" />\n </div>\n </div>\n </div>\n </div>\n <div\n class="row"\n style="margin-top: 10px">\n <div class="col-xs-4 text-left">\n <button\n type="button"\n class="btn btn-default"\n (click)="setToday()">\n Heute\n </button>\n </div>\n <div class="col-xs-8 text-right">\n <button\n type="button"\n class="btn btn-default"\n (click)="resetSelection()">\n Reset\n </button>\n <button\n type="button"\n class="btn btn-primary"\n style="margin-left: 10px"\n (click)="applySelection()">\n Apply\n </button>\n </div>\n </div>\n</div>\n'}]}];var j=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacDateTimeCommon);j.decorators=[{type:t.Component,args:[{selector:"sac-datetime",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n style="position: relative"\n [style.width.px]="componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180">\n <div\n class="datetime-textbox input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control date-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [ngClass]="[componentHeight | toControlHeight]"\n [imask]="imaskDate"\n [attr.placeholder]="placeholder"\n [value]="valuestring"\n (blur)="onTouch()"\n (accept)="setValueString($event)"\n [disabled]="isdisabled"\n (click)="showDateSelector()" />\n <span class="input-group-btn">\n <button\n #pickerbutton\n class="btn btn-default"\n type="button"\n (click)="showDateSelector()"\n [disabled]="isdisabled">\n <i [class]="IconSelector"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf="_showselector">\n <div\n class="popover in"\n role="tooltip"\n style="display: block; max-width: unset; margin: 0"\n [class.bottom]="GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend"\n [class.top]="GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend"\n [style.left.px]="posPopupLeft"\n [style.top.px]="posPopupTop">\n <div\n #pickerarrow\n style="margin: 0"\n class="arrow"\n [style.top.px]="posArrowTop"\n [style.left.px]="posArrowLeft">\n </div>\n\n <div class="popover-content">\n <sac-dateselector\n *ngIf="_showselector"\n [initialvalue]="value"\n (selectdate)="dateselect($event)"\n dateselection="true"\n timeselection="true"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:t.forwardRef((function(){return j}))},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return j}))}]}]}],j.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.ElementRef},{type:t.ChangeDetectorRef}]};var W=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacTimeCommon);W.decorators=[{type:t.Component,args:[{selector:"sac-time",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n style="position: relative"\n [style.width.px]="componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140">\n <div\n class="datetime-textbox input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control time-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [ngClass]="[componentHeight | toControlHeight]"\n [imask]="imaskDate"\n [attr.placeholder]="placeholder"\n [value]="valuestring"\n (blur)="onTouch()"\n (accept)="setValueString($event)"\n [disabled]="isdisabled"\n (click)="showTimeSelector()"\n maxlength="6"\n size="6" />\n <span class="input-group-btn">\n <button\n #pickerbutton\n class="btn btn-default"\n type="button"\n (click)="showTimeSelector()"\n [disabled]="isdisabled">\n <i [class]="IconSelector"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf="_showselector">\n <div\n class="popover in"\n role="tooltip"\n style="display: block; max-width: unset; margin: 0"\n [class.bottom]="GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend"\n [class.top]="GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend"\n [style.left.px]="posPopupLeft"\n [style.top.px]="posPopupTop">\n <div\n #pickerarrow\n style="margin: 0"\n class="arrow"\n [style.top.px]="posArrowTop"\n [style.left.px]="posArrowLeft">\n </div>\n\n <div class="popover-content">\n <sac-dateselector\n *ngIf="_showselector"\n [initialvalue]="value"\n (selectdate)="timeselect($event)"\n timeselection="true"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:t.forwardRef((function(){return W}))},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return W}))}]}]}],W.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.ElementRef},{type:t.ChangeDetectorRef}]};var B=function(){};B.decorators=[{type:t.NgModule,args:[{declarations:[F,j,W,U],imports:[o.CommonModule,r.IMaskModule,I,k,n.SACCommonUtliltiesModule],exports:[F,j,W,U]}]}];var q=function(e){function t(){var t=e.apply(this,h(arguments))||this;return t.ellipsis=!1,t}return m(t,e),t}(n.SacGridCommon);q.decorators=[{type:t.Component,args:[{selector:"sac-grid",template:'<table\n class="table table-striped table-condensed table-hover"\n id="{{ name }}"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <thead>\n <tr>\n <ng-container *ngTemplateOutlet="template; context: { row: {}, type: \'header\' }"> </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor="let item of value; let i = index">\n <tr>\n <ng-container *ngTemplateOutlet="template; context: { row: item, type: \'body\' }"> </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf="value === undefined || value === null || value.length === 0"\n data-e2e="emptyrow">\n <td [attr.colspan]="ColumnCount">{{ emptytext }}</td>\n </tr>\n </tbody>\n <tfoot *ngIf="pagerdata">\n <tr>\n <td [attr.colspan]="ColumnCount">\n <div class="container-fluid">\n <sac-paging\n name="{{ name }}Paging"\n (paging)="pageChange($event)"\n [pagerdata]="pagerdata"\n [pagingtext]="pagingtext"\n [pagesizes]="pagesizes"\n [pagesizetext]="pagesizetext"\n [pagesizedisabled]="pagesizedisabled"></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:q},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return q}))}]}]}],q.propDecorators={template:[{type:t.ContentChild,args:[t.TemplateRef,{static:!0}]}]};var $=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacGridButtonCommon);$.decorators=[{type:t.Component,args:[{selector:"sac-gridbutton",template:'<a\n (click)="callaction()"\n [attr.data-e2e]="name"\n style="padding-right: 5px"\n [style.cursor]="!isdisabled ? \'pointer\' : null"\n [class.disabled]="isdisabled"\n [attr.disabled]="isdisabled ? \'disabled\' : null"\n ><span class="{{ getIconClass() }}"></span\n></a>\n'}]}],$.ctorParameters=function(){return[{type:t.Injector}]};var K=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacGridColumnCommon);K.decorators=[{type:t.Component,args:[{selector:"sac-gridcolumn",template:'<th\n #headerElement\n scope="col"\n *ngIf="IsHeader()"\n [style.width]="width"\n (click)="SortByColumn()"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'">\n <span>{{ header }}</span>\n <span\n [class]="IconSortUp"\n style="padding-left: 0.5rem"\n *ngIf="IsSortedColumn() && GetSortDirection() === \'asc\'"></span>\n <span\n [class]="IconSortDown"\n style="padding-left: 0.5rem"\n *ngIf="IsSortedColumn() && GetSortDirection() === \'desc\'"></span>\n</th>\n<td\n #bodyElement\n scope="col"\n *ngIf="IsBody()"\n [style.width]="width"\n [class.ellipsis]="IsEllipsis()"\n (click)="ColumnClick()"\n [style.max-width]="IsEllipsis() ? width : null"\n [style.overflow]="IsEllipsis() ? \'hidden\' : null"\n [style.text-overflow]="IsEllipsis() ? \'ellipsis\' : null"\n [style.white-space]="IsEllipsis() ? \'nowrap\' : null"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'"\n [class.active]="contextstyle === \'active\' || contextstyle === \'primary\' || contextstyle === \'secondary\' || contextstyle === \'light\' || contextstyle === \'dark\'"\n [class.success]="contextstyle === \'success\'"\n [class.warning]="contextstyle === \'warning\'"\n [class.danger]="contextstyle === \'danger\'"\n [class.info]="contextstyle === \'info\'">\n <span\n [attr.title]="IsEllipsis() ? value : null"\n [innerHtml]="value"></span>\n</td>\n',providers:[{provide:n.SacGridColumnBaseCommon,useExisting:t.forwardRef((function(){return K}))}]}]}],K.ctorParameters=function(){return[{type:q},{type:t.Injector},{type:t.ElementRef}]};var Y=function(e){function t(t,n,o){var l=e.call(this,t,n,o)||this;return l.width="52px",l}return m(t,e),t}(n.SacGridColumnActionCommon);Y.decorators=[{type:t.Component,args:[{selector:"sac-gridcolumnaction",template:'<th\n #headerElement\n scope="col"\n *ngIf="IsHeader()"\n [style.width]="width"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'">\n <span></span>\n</th>\n<td\n #bodyElement\n scope="col"\n *ngIf="IsBody()"\n [class.text-right]="alignment === \'right\'"\n [class.text-center]="alignment === \'center\'"\n [class.active]="contextstyle === \'active\' || contextstyle === \'primary\' || contextstyle === \'secondary\' || contextstyle === \'light\' || contextstyle === \'dark\'"\n [class.success]="contextstyle === \'success\'"\n [class.warning]="contextstyle === \'warning\'"\n [class.danger]="contextstyle === \'danger\'"\n [class.info]="contextstyle === \'info\'">\n <ng-content></ng-content>\n</td>\n',providers:[{provide:n.SacGridColumnBaseCommon,useExisting:t.forwardRef((function(){return Y}))}]}]}],Y.ctorParameters=function(){return[{type:q},{type:t.Injector},{type:t.ElementRef}]};var Q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacGridImageCommon);Q.decorators=[{type:t.Component,args:[{selector:"sac-gridimage",template:'<span style="padding-right: 5px"><span [ngClass]="iconstyle"></span></span>\n'}]}];var Z=function(e){function t(t){return e.call(this,t)||this}return m(t,e),t}(n.SacPagingCommon);Z.decorators=[{type:t.Component,args:[{selector:"sac-paging",template:'<div\n class="row"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <div\n class="pager-nav col-sm-4"\n id="{{ name }}">\n <ul\n class="pagination"\n style="margin: 10px 0">\n <li [ngClass]="{ \'aspNetDisabled disabled\': activePageIndex === firstPageIndex }">\n <a (click)="firstPage()">«</a>\n </li>\n <li\n *ngFor="let page of paginators; let i = index"\n [ngClass]="{ active: page === activePageIndex }">\n <a (click)="changePage(page)">{{ page + 1 }}</a>\n </li>\n <li [ngClass]="{ \'aspNetDisabled disabled\': activePageIndex === lastPageIndex }">\n <a (click)="lastPage()">»</a>\n </li>\n </ul>\n </div>\n <div\n class="col-sm-4 text-center"\n style="margin: 20px 0">\n {{ PagingText | async }}\n </div>\n <div\n class="col-sm-4 text-right"\n *ngIf="!pagesizedisabled"\n style="margin: 12px 0">\n <div class="form-inline">\n <div\n class="form-group"\n id="{{ name }}_size">\n <select\n class="form-control form-control-sm"\n style="width: 85px"\n id="{{ name }}_pagesize"\n [ngModel]="pageSize"\n (ngModelChange)="changePageSize($event)">\n <option\n [ngValue]="size"\n *ngFor="let size of getPageSizes">\n {{ size }}\n </option>\n </select>\n <span style="margin-left: 5px">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Z},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return Z}))}]}]}],Z.ctorParameters=function(){return[{type:t.Injector}]};var X=function(){};X.decorators=[{type:t.NgModule,args:[{declarations:[q,K,Y,Z,$,Q],imports:[o.CommonModule,l.FormsModule,n.SACCommonUtliltiesModule],exports:[q,K,Y,Z,$,Q]}]}];var J=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputCommon);J.decorators=[{type:t.Component,args:[{selector:"sac-input",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.maxlength]="maxtextlength"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:J},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return J}))}]}]}],J.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ee=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputAreaCommon);ee.decorators=[{type:t.Component,args:[{selector:"sac-inputarea",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <textarea\n id="{{ name }}"\n name="{{ name }}"\n type=""\n class="form-control"\n [class.is-invalid]="invalid && (dirty || touched)"\n [class.validation-error]="invalid && (dirty || touched)"\n [class.required]="isrequired"\n [ngClass]="[componentHeight | toControlHeight]"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.rows]="rows"\n [disabled]="isdisabled"\n [readonly]="readonly">\n </textarea>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ee},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ee}))}]}]}],ee.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var te=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputCurrencyCommon);te.decorators=[{type:t.Component,args:[{selector:"sac-inputcurrency",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.clearfix]="helptextmode === \'tooltip\' && helptext && disablelabel">\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static pull-right"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class="input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="decimal"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n <div class="input-group-addon">{{ currency }}</div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:te},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return te}))}]}]}],te.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ne=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputDecimalCommon);ne.decorators=[{type:t.Component,args:[{selector:"sac-inputdecimal",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="decimal"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ne},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ne}))}]}]}],ne.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var oe=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputEmailCommon);oe.decorators=[{type:t.Component,args:[{selector:"sac-inputemail",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.clearfix]="helptextmode === \'tooltip\' && helptext && disablelabel">\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static pull-right"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class="input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="input-group-addon">@</div>\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="email"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n autocomplete="email"\n [attr.maxlength]="maxtextlength"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:oe},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return oe}))}]}]}],oe.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var le=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputIntegerCommon);le.decorators=[{type:t.Component,args:[{selector:"sac-inputinteger",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="decimal"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:le},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return le}))}]}]}],le.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ae=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputPasswordCommon);ae.decorators=[{type:t.Component,args:[{selector:"sac-inputpassword",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [class.input-group]="passwordeye">\n <input\n id="{{ name }}"\n name="{{ name }}"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [type]="passwordeyevisible ? \'text\' : \'password\'"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.maxlength]="maxtextlength"\n autocomplete="new-password"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n <div\n *ngIf="passwordeye"\n class="input-group-btn">\n <a\n class="btn btn-default"\n (click)="onTogglePasswordEye()"\n ><span [ngClass]="passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon"></span\n ></a>\n </div>\n </div>\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ae},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ae}))}]}]}],ae.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var ie=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacInputSearchCommon);ie.decorators=[{type:t.Component,args:[{selector:"sac-inputsearch",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.clearfix]="helptextmode === \'tooltip\' && helptext && disablelabel">\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static pull-right"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class="input-group"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <input\n id="{{ name }}"\n name="{{ name }}"\n type="text"\n inputmode="search"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [value]="value"\n [attr.placeholder]="placeholder"\n (blur)="onTouch()"\n (input)="setValue($event.target.value)"\n (keypress)="onKeyPress($event)"\n [attr.maxlength]="maxtextlength"\n [disabled]="isdisabled"\n [readonly]="readonly" />\n <span class="input-group-btn">\n <button\n type="button"\n class="btn btn-default"\n id="{{ name }}_search"\n (click)="searchClick()">\n <i\n *ngIf="buttonmode === \'icon\' || buttonmode === \'mixed\'"\n [class]="iconname"\n [style.margin-right.px]="buttonmode === \'mixed\' ? 7 : null">\n </i>\n <ng-container *ngIf="buttonmode === \'text\' || buttonmode === \'mixed\'">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ie},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ie}))}]}]}],ie.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var se=function(){};se.decorators=[{type:t.NgModule,args:[{declarations:[J,ee,te,ne,oe,le,ae,ie],imports:[o.CommonModule,o.CommonModule,l.FormsModule,k,I,n.SACCommonUtliltiesModule],exports:[J,ee,te,ne,oe,le,ae,ie]}]}];var re=new t.InjectionToken("SacDropdownToken"),pe=new t.InjectionToken("SacListboxToken"),de=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacDropdownCommon);de.decorators=[{type:t.Component,args:[{selector:"sac-dropdown",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <select\n #dropdownitem\n id="{{ name }}"\n name="{{ name }}"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n (blur)="onTouch()"\n (change)="setValue(dropdownitem.value)"\n [disabled]="isdisabled">\n <option\n *ngIf="emptylabel !== \'\'"\n [ngValue]="emptyvalue"\n >{{ emptylabel }}</option\n >\n\n <ng-content></ng-content>\n\n <ng-container *ngIf="groupitems === \'\'">\n <option\n *ngFor="let item of options"\n [ngValue]="optionvalue ? item[optionvalue] : item"\n [disabled]="optionenabled !== \'\' && item[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf="groupitems !== \'\'">\n <optgroup\n *ngFor="let group of options"\n [attr.label]="group[grouplabel]">\n <option\n *ngFor="let item of group[groupitems]"\n [ngValue]="optionvalue ? item[optionvalue] : item"\n [disabled]="optionenabled !== \'\' && item[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label="label"\n >{{ label }}</ng-template\n>\n',providers:[{provide:re,useExisting:t.forwardRef((function(){return de}))},{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:de},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return de}))}]}]}],de.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.ElementRef}]};var ce=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacDropdownOptionCommon);ce.decorators=[{type:t.Directive,args:[{selector:"option,[sacOption]"}]}],ce.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:[re]}]}]};var ue=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacListboxCommon);ue.decorators=[{type:t.Component,args:[{selector:"sac-listbox",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <select\n multiple\n id="{{ name }}"\n name="{{ name }}"\n class="form-control"\n [ngClass]="[componentHeight | toControlHeight]"\n [class.is-invalid]="invalid && (dirty || touched)"\n [size]="rowsize"\n (blur)="onTouch()"\n (change)="getSelectedItems($event.target)"\n [disabled]="isdisabled">\n <ng-content></ng-content>\n <ng-container *ngIf="groupitems === \'\'">\n <option\n *ngFor="let option of options"\n [value]="option[optionvalue]"\n [disabled]="optionenabled !== \'\' && option[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf="groupitems !== \'\'">\n <optgroup\n *ngFor="let option of options"\n [attr.label]="option[grouplabel]">\n <option\n *ngFor="let item of option[groupitems]"\n [value]="item[optionvalue]"\n [disabled]="optionenabled !== \'\' && item[optionenabled] === false">\n <ng-template *ngTemplateOutlet="optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label="label"\n >{{ label }}</ng-template\n>\n',providers:[{provide:pe,useExisting:ue},{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ue},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ue}))}]}]}],ue.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var me=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t}(n.SacListboxOptionCommon);me.decorators=[{type:t.Directive,args:[{selector:"option,[sacOption]"}]}],me.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:[pe]}]}]};var ge=function(){};ge.decorators=[{type:t.NgModule,args:[{declarations:[de,ce,ue,me],imports:[o.CommonModule,n.SACCommonListboxOptionModule,k,l.FormsModule,I,n.SACCommonUtliltiesModule],exports:[de,ce,ue,me]}]}];var he=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacStaticFormContainerCommon);he.decorators=[{type:t.Component,args:[{selector:"sac-staticformcontainer",template:'<div\n class="row form-group"\n [class.has-error]="isinvalid && errormessage"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <ng-content></ng-content>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && isinvalid && errormessage">\n {{ errormessage }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:he},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return he}))}]}]}],he.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var be=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacStaticLabelCommon);be.decorators=[{type:t.Component,args:[{selector:"sac-staticlabel",template:'<div\n class="row form-group"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n [id]="name"\n class="form-control-static"\n [style.padding-left.px]="0"\n [innerHTML]="value">\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:be},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return be}))}]}]}],be.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var fe=function(){};fe.decorators=[{type:t.NgModule,args:[{declarations:[be,he],imports:[o.CommonModule,k,I,n.SACCommonUtliltiesModule],exports:[be,he]}]}];var xe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacTabItemCommon);xe.decorators=[{type:t.Component,args:[{selector:"sac-tabitem",template:'<div [id]="id" [hidden]="unloadwhenhidden === false && active === false"\n *ngIf="(unloadwhenhidden === true && active === true) || unloadwhenhidden === false" class="tab-pane">\n <ng-template [ngTemplateOutlet]="templateRef"></ng-template>\n</div>\n\n'}]}];var ve=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.tabItems=function(){return this._tabItems.toArray()},t}(n.SacTabCommon);ve.decorators=[{type:t.Component,args:[{selector:"sac-tab",template:'\x3c!-- Nav tabs --\x3e\n<div\n [id]="name"\n class="content-nav-tabs"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <ul\n class="nav nav-tabs"\n role="tablist">\n <li\n *ngFor="let item of _tabItems"\n [ngClass]="{ \'active show\': item.active, disabled: item.disabled }"\n (click)="selectTab(item)"\n [ngStyle]="{ cursor: item._disabled ? \'not-allowed\' : \'pointer\' }"\n [id]="GetTabItemButtonId(item.id)">\n <a\n [id]="GetTabItemButtonId(item.id)"\n role="tab">\n <ng-template *ngTemplateOutlet="tablabeltemplate || defaultTabLabelTemplate; context: { label: item.label }"> </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n\x3c!-- Tab panes --\x3e\n<div\n class="tab-content"\n style="margin-top: 15px">\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultTabLabelTemplate\n let-label="label">\n {{ label }}\n</ng-template>\n'}]}],ve.propDecorators={_tabItems:[{type:t.ContentChildren,args:[xe]}]};var ye=function(){};ye.decorators=[{type:t.NgModule,args:[{declarations:[ve,xe],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[ve,xe]}]}];var Ce=function(e){function t(t,n,o){return e.call(this,t,n,o)||this}return m(t,e),t.prototype.overwriteDefaultSettings=function(){return{file_picker_types:void 0,file_picker_callback:void 0}},t}(n.SacTinyMceCommon);Ce.decorators=[{type:t.Component,args:[{selector:"sac-tinymce",template:'<div\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.has-error]="isinlineerrorenabled && invalid && (dirty || touched)"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <editor\n [id]="name + \'_tinymce\'"\n [init]="_config"\n [initialValue]="value"\n ngModel\n [ngModelOptions]="{ standalone: true }"\n (ngModelChange)="setValue($event)"\n (onSaveContent)="save($event.event.content)"\n (onBlur)="blur()"\n [disabled]="disabled"\n [class.is-invalid]="isinlineerrorenabled && invalid && (dirty || touched)"></editor>\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<sac-dialog\n *ngIf="selectdialogvisible"\n [allowesc]="false"\n [backdrop]="true"\n [(isvisible)]="selectdialogvisible"\n title="{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}"\n size="large"\n height="500px">\n <ng-container dialogbody> </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role="primary"\n [name]="name + \'_modalOk\'"\n text="{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}"\n (clicked)="setSelectDialogResult()"></sac-button>\n <sac-button\n [name]="name + \'_modalClose\'"\n text="{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}"\n (clicked)="closeSelectDialog()"></sac-button>\n </ng-container>\n</sac-dialog>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Ce},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return Ce})),multi:!0}]}]}],Ce.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.NgZone}]};var Se=function(){};Se.decorators=[{type:t.NgModule,args:[{declarations:[Ce],imports:[o.CommonModule,l.FormsModule,p.EditorModule,f,z,I,k,n.SACCommonUtliltiesModule],exports:[Ce]}]}];var Ie=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacTreeviewCommon);Ie.decorators=[{type:t.Component,args:[{selector:"sac-treeview",template:'<div\n class="row mb-3"\n [class.g-0]="disablelabel"\n [class.has-error]="invalid && (dirty || touched)"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [class.has-error]="isinlineerrorenabled && invalid && (dirty || touched)">\n <div [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.width.%]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'100\' : null">\n <table\n class="table table-hover table-condensed"\n id="{{ name }}"\n style="table-layout: fixed"\n [class.is-invalid]="invalid && (dirty || touched)"\n [class.border]="invalid && (dirty || touched)"\n [class.border-danger]="invalid && (dirty || touched)">\n <tbody>\n <ng-container *ngFor="let node of data">\n <ng-template\n [ngTemplateOutlet]="treeItem"\n [ngTemplateOutletContext]="{ node: node, deep: 0, path: \'\', textpath: \'\' }">\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node="node"\n let-deep="deep"\n let-path="path"\n let-textpath="textpath">\n <tr\n [class.active]="isSelectedState(node)"\n attr.data-path="{{ path }}/{{ getStringField(node, attrid) }}"\n attr.data-textpath="{{ textpath }}/{{ getStringField(node, attrlabel) }}">\n <td>\n <div\n class="py-1 px-2 d-flex align-items-center"\n style="display: flex; flex-direction: row; cursor: pointer; align-items: center"\n (mouseenter)="setHoverState(node, true)"\n (mouseleave)="setHoverState(node, false)">\n <div\n style="margin-right: 15px"\n *ngFor="let i of count(deep)">\n </div>\n\n <div\n (click)="onNodeClicked(node)"\n *ngIf="expandedstate === \'true\' || expandedstate === true"\n style="margin-right: 15px"\n [ngClass]="!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : \'\'">\n </div>\n\n <div\n (click)="onNodeClicked(node)"\n *ngIf="attricon && getStringField(node, attricon)">\n <ng-template\n [ngTemplateOutlet]="templateicon || defaultTemplateIcon"\n [ngTemplateOutletContext]="{ node: node }">\n </ng-template>\n </div>\n\n <div\n (click)="onNodeClicked(node)"\n style="padding-top: 7px; padding-bottom: 7px; flex-grow: 1"\n [style.max-width.%]="enableellipsis ? \'100\' : null"\n [style.overflow]="enableellipsis ? \'hidden\' : null"\n [style.text-overflow]="enableellipsis ? \'ellipsis\' : null"\n [style.white-space]="enableellipsis ? \'nowrap\' : null">\n <ng-template\n [ngTemplateOutlet]="templatelabel || defaultTemplateLabel"\n [ngTemplateOutletContext]="{ node: node, label: getStringField(node, attrlabel) }">\n </ng-template>\n </div>\n\n <div\n (click)="setSelectedState(node)"\n style="flex-shrink: 0"\n *ngIf="!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))">\n <ng-template\n [ngTemplateOutlet]="templateaction || defaultTemplateAction"\n [ngTemplateOutletContext]="{ node: node, actionhandler: onActionClicked.bind(this) }">\n </ng-template>\n </div>\n </div>\n </td>\n </tr>\n <ng-container *ngIf="isExpandedState(node)">\n <ng-template\n *ngFor="let child of getChildren(node)"\n [ngTemplateOutlet]="treeItem"\n [ngTemplateOutletContext]="{\n node: child,\n deep: deep + 1,\n path: path + \'/\' + getStringField(node, attrid),\n textpath: textpath + \'/\' + getStringField(node, attrlabel)\n }">\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #defaultTemplateLabel\n let-label="label"\n let-node="node">\n <span [title]="label">{{ label }}</span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node="node">\n <div\n style="margin-right: 15px"\n [ngClass]="getStringField(node, attricon)">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node="node"\n let-actionhandler="actionhandler">\n <a\n class="btn btn-link text-secondary"\n (click)="actionhandler({ action: \'default\', node: node })">\n <i [class]="iconAction"></i>\n </a>\n</ng-template>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Ie},{provide:l.NG_VALIDATORS,useExisting:t.forwardRef((function(){return Ie})),multi:!0}]}]}],Ie.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var we=function(){};we.decorators=[{type:t.NgModule,args:[{declarations:[Ie],imports:[o.CommonModule,k,I,V,n.SACCommonUtliltiesModule],exports:[Ie]}]}];var ke=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this)},t}(n.SacDropzoneMultipleCommon);ke.decorators=[{type:t.Component,args:[{selector:"sac-dropzonemultiple",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <div\n class="img-rounded dropzone control-label"\n (drop)="dropHandler($event)"\n (dragover)="onDragOver($event)"\n (dragleave)="onDragLeave($event)"\n [class.active]="active"\n [style.min-height]="uploadheight"\n [class.is-invalid]="invalid && (dirty || touched)">\n <div\n class="content"\n *ngIf="uploads.length === 0">\n <div>\n <div [class.is-invalid]="isinlineerrorenabled && invalid && (dirty || touched)">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf="uploads.length > 0">\n <div>\n <div\n class="dropzone-uploadstates"\n [class.mt-1]="i > 0"\n *ngFor="let file of uploads; let i = index">\n <div\n class="input-group upload-component upload-component-multiple"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="form-control upload-progress border-secondary">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="file.progress === 100"\n role="progressbar"\n [attr.aria-valuenow]="file.progress"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="file.progress">\n <span class="progress-text">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class="input-group-btn">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancel(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n [disabled]="HasQueueItem()" />\n </div>\n <small\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </small>\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block help-block-error">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ke},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return ke}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],ke.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var He=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this)},t}(n.SacDropzoneSingleCommon);He.decorators=[{type:t.Component,args:[{selector:"sac-dropzonesingle",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <div\n class="img-rounded dropzone control-label"\n (drop)="dropHandler($event)"\n (dragover)="onDragOver($event)"\n (dragleave)="onDragLeave($event)"\n [style.min-height]="uploadheight"\n [class.active]="active"\n [class.is-invalid]="invalid && (dirty || touched)">\n <div\n class="content"\n *ngIf="uploads.length === 0">\n <div>\n <div [class.is-invalid]="isinlineerrorenabled && invalid && (dirty || touched)">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf="uploads.length > 0">\n <div>\n <div\n class="dropzone-uploadstates"\n *ngFor="let file of uploads">\n <div\n class="input-group upload-component upload-component-multiple"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="form-control upload-progress">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="file.progress === 100"\n role="progressbar"\n [attr.aria-valuenow]="file.progress"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="file.progress">\n <span class="progress-text">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class="input-group-btn">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancel(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n [disabled]="HasQueueItem()" />\n </div>\n <small\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </small>\n <div\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)"\n class="help-block help-block-error">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:He},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return He}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],He.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var Te=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacUploadSingleCommon);Te.decorators=[{type:t.Component,args:[{selector:"sac-upload",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div [style.flex-grow]="helptextmode === \'tooltip\' && helptext && disablelabel ? 1 : null">\n <div\n class="input-group upload-component upload-single"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="input-group-btn">\n \x3c!-- image-preview-input --\x3e\n <div\n class="btn upload-input custom-file"\n [class.disabled]="HasQueueItem()"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <i [class]="IconBrowse"></i>\n <span class="upload-browse">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n #files\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n multiple\n [disabled]="HasQueueItem()" />\n </div>\n </div>\n <div class="form-control upload-progress">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="Progress() === 100"\n role="progressbar"\n [attr.aria-valuenow]="Progress()"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="Progress()">\n <span class="progress-text text-dark">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class="input-group-btn">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancelAll()"\n [attr.disabled]="HasQueueItem() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n <a\n *ngIf="(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)"\n class="btn"\n (click)="pauseAll()"\n [attr.disabled]="IsUploading() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconPause"></span>\n </a>\n <a\n *ngIf="autoupload && enablepause && IsPaused()"\n class="btn"\n (click)="uploadAll()"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconContinue"></span>\n </a>\n <a\n *ngIf="autoupload === false"\n class="btn"\n (click)="uploadAll()"\n [attr.disabled]="IsStateToUpload() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconUpload"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Te},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return Te}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],Te.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var Ae=function(e){function t(t,n,o,l){return e.call(this,t,n,o,l)||this}return m(t,e),t}(n.SacUploadMultipleCommon);Ae.decorators=[{type:t.Component,args:[{selector:"sac-uploadmultiple",template:'<div\n id="{{ name }}"\n class="row form-group"\n [class.has-error]="invalid && (dirty || touched)"\n [ngClass]="componentHeight | toLabelHeight"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <label\n *ngIf="disablelabel === false && !isAdaptiveLabel"\n id="{{ name }}label"\n for="{{ name }}_uploadinput"\n class="col-xs-12 control-label"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : \'sr-only\']"\n [class.required]="isrequired">\n <span class="text">{{ label }}</span>\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px">\n </span>\n </sac-tooltip>\n </label>\n <div\n class="col-xs-12"\n [ngClass]="[disablelabel === false ? (this.labelSizes | toControlWidthCss) : \'\']">\n <div class="upload-component">\n <div class="row">\n <div\n class="col-xs-12"\n [style.display]="helptextmode === \'tooltip\' && helptext && disablelabel ? \'flex\' : null">\n <div\n class="btn-group"\n [class.btn-group-sm]="componentHeight === ControlHeight.Small"\n [class.btn-group-lg]="componentHeight === ControlHeight.Large">\n <div\n class="btn upload-input custom-file"\n [class.disabled]="maxfiles > 0 && uploads.length >= maxfiles"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <i [class]="IconBrowse"></i>\n <span class="upload-browse">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id="{{ name }}_uploadinput"\n type="file"\n class="custom-file-input"\n #files\n (click)="files.value = \'\'"\n (uploadxState)="onUpload($event)"\n multiple\n [disabled]="maxfiles > 0 && uploads.length >= maxfiles" />\n </div>\n\n <div\n class="btn-group"\n [class.btn-group-sm]="componentHeight === ControlHeight.Small"\n [class.btn-group-lg]="componentHeight === ControlHeight.Large">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancelAll()"\n [attr.disabled]="HasQueueItem() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n <a\n *ngIf="(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)"\n class="btn"\n (click)="pauseAll()"\n [attr.disabled]="IsUploading() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconPause"></span>\n </a>\n <a\n *ngIf="autoupload && enablepause && IsPaused() === true"\n class="btn"\n (click)="uploadAll()"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconContinue"></span>\n </a>\n <a\n *ngIf="autoupload === false"\n class="btn"\n (click)="uploadAll()"\n [attr.disabled]="IsStateToUpload() === false ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconUpload"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf="helptextmode === \'tooltip\' && helptext && disablelabel"\n class="form-control-static"\n style="margin-left: 5px">\n <sac-tooltip\n *ngIf="helptextmode === \'tooltip\' && helptext"\n [tooltiptext]="helptext"\n [inlinemode]="true">\n <span\n [class]="HelptextTooltipIcon"\n style="margin-left: 5px; margin-right: 5px">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor="let file of uploads"\n style="margin-top: 5px">\n <div\n class="input-group upload-component upload-multiple"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n <div class="form-control upload-progress">\n <div class="progress">\n <div\n class="progress-bar"\n [class.progress-bar-success]="file.progress === 100"\n role="progressbar"\n [attr.aria-valuenow]="file.progress"\n aria-valuemin="0"\n aria-valuemax="100"\n [style.width.%]="file.progress">\n <span class="progress-text text-dark">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class="input-group-btn"\n [class.input-group-sm]="componentHeight === ControlHeight.Small"\n [class.input-group-lg]="componentHeight === ControlHeight.Large">\n \x3c!-- image-preview-clear button --\x3e\n <a\n class="btn"\n (click)="cancel(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconDelete"></span>\n </a>\n <a\n *ngIf="(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== \'paused\')"\n class="btn"\n (click)="pause(file.uploadId)"\n [attr.disabled]="file.status !== \'uploading\' ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconPause"></span>\n </a>\n <a\n *ngIf="autoupload && enablepause && file.status === \'paused\'"\n class="btn"\n (click)="upload(file.uploadId)"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconContinue"></span>\n </a>\n <a\n *ngIf="autoupload === false"\n class="btn"\n (click)="upload(file.uploadId)"\n [attr.disabled]="file.status !== \'added\' && file.status !== \'paused\' ? \'disabled\' : null"\n [class.btn-default]="!(invalid && (dirty || touched))"\n [class.btn-danger]="invalid && (dirty || touched)">\n <span [class]="IconUpload"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf="helptextmode === \'text\' && helptext"\n class="help-block">\n {{ helptext }}\n </p>\n <div\n class="help-block help-block-error"\n *ngIf="isinlineerrorenabled && invalid && (dirty || touched)">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:Ae},{provide:l.NG_VALIDATORS,multi:!0,useExisting:t.forwardRef((function(){return Ae}))}],styles:[".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]}]}],Ae.ctorParameters=function(){return[{type:x,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector},{type:t.Renderer2},{type:t.NgZone}]};var Ee=function(){};Ee.decorators=[{type:t.NgModule,args:[{declarations:[Te,Ae,He,ke],imports:[o.CommonModule,l.FormsModule,I,k,n.SACCommonUtliltiesModule],exports:[Te,Ae,He,ke]}]}];var Le=function(e){function t(t){var n=e.call(this,t)||this;return n.cssClassForm=!0,n.cssClassHorizontal=!0,n}return m(t,e),t}(n.SacFormCommon);Le.decorators=[{type:t.Directive,args:[{selector:"form:not([ngNoForm]):not([formGroup]),[ngForm]",exportAs:"sacform"}]}],Le.ctorParameters=function(){return[{type:l.NgForm}]},Le.propDecorators={cssClassForm:[{type:t.HostBinding,args:["class.form"]}],cssClassHorizontal:[{type:t.HostBinding,args:["class.form-horizontal"]}]};var ze=function(e){function t(t,n){return e.call(this,t,n)||this}return m(t,e),t}(n.SacValidationSummaryCommon);ze.decorators=[{type:t.Component,args:[{selector:"sac-validationsummary",template:'<div\n class="alert alert-danger"\n role="alert"\n *ngIf="hasErrors"\n [id]="name"\n [attr.data-e2e-key]="name | testingattribute : e2eidentifier">\n <ul>\n <li *ngFor="let error of formErrors">{{ error | async }}</li>\n </ul>\n</div>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:ze}]}]}],ze.ctorParameters=function(){return[{type:Le,decorators:[{type:t.Host},{type:t.Optional}]},{type:t.Injector}]};var Me=function(){};Me.decorators=[{type:t.NgModule,args:[{declarations:[ze],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[ze]}]}];var Pe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(n.SacWizardItemCommon);Pe.decorators=[{type:t.Component,args:[{selector:"sac-wizarditem",template:""}]}];var _e=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.wizardItems=function(){return this._wizardItems},t}(n.SacWizardCommon);_e.decorators=[{type:t.Component,args:[{selector:"sac-wizard",template:'<ul [id]="name" class="nav nav-wizard" role="tablist">\n <li *ngFor="let item of _wizardItems" class="nav-item" [ngClass]="{ \'active\': item._active, \'disabled\': item._disabled, \'success\': item._iscomplete }"\n [ngStyle]="{\'cursor\': item._disabled ? \'not-allowed\' : \'pointer\'}">\n <a role="tab" (click)="selectStep(item)">\n <div class="circle">\n <span class="step"></span>\n </div>\n </a>\n <div class="info">\n <a (click)="selectStep(item)">{{item.label}}</a>\n </div>\n </li>\n</ul>\n',providers:[{provide:l.NG_VALUE_ACCESSOR,multi:!0,useExisting:_e}]}]}],_e.propDecorators={_wizardItems:[{type:t.ContentChildren,args:[Pe]}]};var Re=function(){};Re.decorators=[{type:t.NgModule,args:[{declarations:[_e,Pe],imports:[o.CommonModule,n.SACCommonUtliltiesModule],exports:[_e,Pe]}]}];var Oe=function(e){function t(t){return e.call(this,t.get(l.NgForm))||this}return m(t,e),t}(n.SacFormCommon);function Ge(e){return e}function De(e){return e}Oe.decorators=[{type:t.Directive,args:[{selector:"[sacInheritForm]",exportAs:"sacinheritform",providers:[{provide:Le,useFactory:De,deps:[[new t.SkipSelf,Le]]},{provide:l.ControlContainer,useFactory:Ge,deps:[l.NgForm]}]}]}],Oe.ctorParameters=function(){return[{type:t.Injector}]};var Ne=function(){};Ne.decorators=[{type:t.NgModule,args:[{declarations:[Le,Oe],imports:[o.CommonModule,l.FormsModule],exports:[Le,Oe]}]}],e.NGFORM_FACTORY=Ge,e.SACBootstrap3ButtonModule=f,e.SACBootstrap3CheckboxModule=E,e.SACBootstrap3ConfirmModule=_,e.SACBootstrap3ContextmenuModule=V,e.SACBootstrap3DateTimeModule=B,e.SACBootstrap3DialogModule=z,e.SACBootstrap3FormModule=Ne,e.SACBootstrap3GridModule=X,e.SACBootstrap3InputModule=se,e.SACBootstrap3LayoutModule=I,e.SACBootstrap3ListModule=ge,e.SACBootstrap3StaticLabelModule=fe,e.SACBootstrap3TabsModule=ye,e.SACBootstrap3TinyMceModule=Se,e.SACBootstrap3TooltipModule=k,e.SACBootstrap3TreeviewModule=we,e.SACBootstrap3UploadModule=Ee,e.SACBootstrap3ValidationSummaryModule=Me,e.SACBootstrap3WizardModule=Re,e.SACFORM_FACTORY=De,e.SacButtonComponent=b,e.SacCheckboxComponent=H,e.SacConfirmComponent=M,e.SacContextmenuAnchorDirective=O,e.SacContextmenuComponent=R,e.SacContextmenuItemButtonComponent=D,e.SacContextmenuItemSplitterComponent=N,e.SacDateComponent=F,e.SacDateSelectorComponent=U,e.SacDateTimeComponent=j,e.SacDialogComponent=L,e.SacDropdownComponent=de,e.SacDropdownOptionDirective=ce,e.SacDropzoneMultipleComponent=ke,e.SacDropzoneSingleComponent=He,e.SacFormDirective=Le,e.SacFormLayoutDirective=x,e.SacGridButtonComponent=$,e.SacGridColumnActionComponent=Y,e.SacGridColumnComponent=K,e.SacGridComponent=q,e.SacGridImageComponent=Q,e.SacInheritFormDirective=Oe,e.SacInputAreaComponent=ee,e.SacInputComponent=J,e.SacInputCurrencyComponent=te,e.SacInputDecimalComponent=ne,e.SacInputEmailComponent=oe,e.SacInputIntegerComponent=le,e.SacInputPasswordComponent=ae,e.SacInputSearchComponent=ie,e.SacListboxComponent=ue,e.SacListboxOptionDirective=me,e.SacPagingComponent=Z,e.SacRadiobuttonComponent=A,e.SacRadiobuttonsComponent=T,e.SacStaticFormContainerComponent=he,e.SacStaticLabelComponent=be,e.SacTabComponent=ve,e.SacTabItemComponent=xe,e.SacTimeComponent=W,e.SacTinyMceComponent=Ce,e.SacToControlHeightPipe=v,e.SacToControlWidthCssPipe=y,e.SacToLabelHeightPipe=C,e.SacToLabelWidthCssPipe=S,e.SacTooltipComponent=w,e.SacTreeviewComponent=Ie,e.SacUploadComponent=Te,e.SacUploadMultipleComponent=Ae,e.SacValidationSummaryComponent=ze,e.SacWizardComponent=_e,e.SacWizardItemComponent=Pe,e.ServiceConfirm=P,e.ɵa=G,e.ɵb=re,e.ɵc=pe,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=simpleangularcontrols-sac-bootstrap3.umd.min.js.map
|