ngx-ode-ui 4.6.0-dev-produit.0 → 4.6.0-dev.1
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/ngx-ode-ui.umd.js +0 -1
- package/bundles/ngx-ode-ui.umd.js.map +1 -1
- package/bundles/ngx-ode-ui.umd.min.js +1 -1
- package/bundles/ngx-ode-ui.umd.min.js.map +1 -1
- package/esm2015/lib/components/search-input/search-input.component.js +1 -2
- package/esm5/lib/components/search-input/search-input.component.js +1 -2
- package/fesm2015/ngx-ode-ui.js +0 -1
- package/fesm2015/ngx-ode-ui.js.map +1 -1
- package/fesm5/ngx-ode-ui.js +0 -1
- package/fesm5/ngx-ode-ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
14
|
and limitations under the License.
|
|
15
15
|
***************************************************************************** */
|
|
16
|
-
var d=function(e,t){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function u(e,t){function n(){this.constructor=e}d(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function f(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,r=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}var g=function(){function e(){this.imports=[]}return e.decorators=[{type:t.Injectable}],e}();var y=function(){function e(){}return e.prototype.validateFiles=function(e,t,o){if(!e)return n.throwError("files is empty");if(e.length>t)return n.throwError("Only "+t+" file(s) allowed");for(var i=[],r=[],s=0;s<e.length;s++){var l=e[s].name.split("."),a=l[l.length-1];-1!==o.lastIndexOf(a.toLowerCase())?i.push(e[s]):r.push(e[s])}return new n.Observable((function(e){i.length>0&&e.next(i),r.length>0&&e.error("Extension not allowed. Allowed extensions: "+o),e.complete()}))},e.prototype.isSrcExternalUrl=function(e){return!!e&&(e.startsWith("http://")||e.startsWith("https://"))},e.prototype.isSrcWorkspace=function(e){return!!e&&e.startsWith("/workspace")},e.decorators=[{type:t.Injectable}],e}(),v=function(){function e(){this.labels={"select.all":"Select all","deselect.all":"Deselect all",search:"Search"}}return e.withLabels=function(t){var n=new e;for(var o in t)n.labels[o]=t[o];return n},e.prototype.getLabel=function(e){return this.labels[e]||e},e.prototype.mixin=function(e){for(var t in e)this.labels[t]=e[t]},e.decorators=[{type:t.Injectable}],e}();var b=function(){function e(e){var t=this;this.appRef=e,this.timer=250,this.loading=new Set,this.timers=new Map,this._trigger=new n.Subject,this.wrap=function(e,n,o){void 0===o&&(o={});for(var i=[],r=3;r<arguments.length;r++)i[r-3]=arguments[r];t.load(n,o.delay);var s=o.binding?e.bind(o.binding).apply(void 0,m(i)):e.apply(void 0,m(i));return s.catch((function(e){throw t.done(n),e})).then((function(e){return t.done(n),e})),o.cdRef&&o.cdRef.markForCheck(),s}}return Object.defineProperty(e.prototype,"trigger",{get:function(){return this._trigger},enumerable:!0,configurable:!0}),e.prototype.isLoading=function(e,t){return void 0===t&&(t=!1),this.loading.has(e)||t&&this.timers.has(e)},e.prototype.perform=function(e,t,n){var o=this;return this.load(e,n),t.catch((function(t){throw o.done(e),t})).then((function(t){return o.done(e),t}))},e.prototype.load=function(e,t){var n=this;this.timers.has(e)&&window.clearTimeout(this.timers.get(e));var o=function(){n.loading.add(e),n.timers.delete(e),n.appRef.tick(),n.trigger.next(!0)};0===t?o():this.timers.set(e,window.setTimeout(o,t||this.timer))},e.prototype.done=function(e){window.clearTimeout(this.timers.get(e)),this.timers.delete(e),this.loading.delete(e),this.trigger.next(!0),this.appRef.tick()},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:t.ApplicationRef}]},e}();var C=function(){},x={provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return w})),multi:!0},w=function(e){function n(n,o,i){var r=e.call(this,i)||this;return r.renderer=n,r.labelsService=o,r.innerValue="",r.disabled=!1,r._readonly=!1,r.enableTime=!1,r.placeholder="",r.changeDate=new t.EventEmitter,r.onChangeCallback=C,r.onTouchedCallback=C,r}return u(n,e),Object.defineProperty(n.prototype,"value",{get:function(){return this.innerValue},set:function(e){var t=!1;void 0===this.innerValue&&(t=!0),e!==this.innerValue&&(this.innerValue=e,this.onChangeCallback(e),t||this.changeDate.emit(e))},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=e,this.datePickerInst&&this.datePickerInst.altInput&&(e?this.datePickerInst.altInput.setAttribute("readonly",""):this.datePickerInst.altInput.removeAttribute("readonly"))},enumerable:!0,configurable:!0}),n.prototype.ngAfterViewInit=function(){var t=this;e.prototype.ngAfterViewInit.call(this),this.renderer.setAttribute(this.inputElement.nativeElement,"data-input",""),!0===this.disabled&&this.model.control.disable();var n={};"fr"===navigator.language.split("-")[0]&&(n=s.fr);var o={altInput:!this.disabled,altFormat:"d/m/Y",dateFormat:"Y-m-d",allowInput:!1,enableTime:this.enableTime,minDate:this.minDate,maxDate:this.maxDate,clickOpens:!1,wrap:!0,locale:n};this.datePickerInst=new r(this.datePickerElement.nativeElement,o),this.disabled||this.datePickerInst.altInput.addEventListener("click",(function(e){t.readonly||t.datePickerInst.toggle()})),this.readonly=this._readonly},n.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.datePickerInst.destroy()},n.prototype.writeValue=function(e){e!==this.innerValue&&this.datePickerInst&&(this.innerValue=e,this.datePickerInst.setDate(e),this.onChangeCallback(e))},n.prototype.registerOnChange=function(e){this.onChangeCallback=e},n.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},n.prototype.labels=function(e){return this.labelsService.getLabel(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-date-picker",template:'<div class="flatpickr" #datePickerElement>\n <input type="date" [(ngModel)]="value" [disabled]="disabled" [ngClass]="{ \'cursor-default\': disabled }" placeholder="{{ placeholder }}" #inputRef>\n <a *ngIf="!disabled" [class.hidden]="readonly" data-toggle [title]="labels(\'datepicker.open\')"><i class="fa fa-calendar open" aria-hidden="true"></i></a>\n <a *ngIf="!disabled" [class.hidden]="readonly" data-clear [title]="labels(\'datepicker.delete\')"><i class="fa fa-times delete" aria-hidden="true"></i></a>\n</div>\n',providers:[x],styles:[".hidden{visibility:hidden}"]}]}],n.ctorParameters=function(){return[{type:t.Renderer2},{type:v},{type:t.Injector}]},n.propDecorators={datePickerElement:[{type:t.ViewChild,args:["datePickerElement",{static:!1}]}],inputElement:[{type:t.ViewChild,args:["inputRef",{static:!1}]}],model:[{type:t.ViewChild,args:[i.NgModel,{static:!1}]}],disabled:[{type:t.Input}],readonly:[{type:t.Input}],enableTime:[{type:t.Input}],placeholder:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],changeDate:[{type:t.Output}]},n}(o.OdeComponent);var I=function(e){function n(t,n){var o=e.call(this,n)||this;return o.eltRef=t,o._ellipsis="hide",o.isExpanded=!1,o.initialStyle=Object.assign({},o.eltRef.nativeElement.style),o}return u(n,e),Object.defineProperty(n.prototype,"ellipsis",{set:function(e){e&&(this._ellipsis=e,"expand"==this._ellipsis&&(this.eltRef.nativeElement.className="expand"))},enumerable:!0,configurable:!0}),n.prototype.onClick=function(){"hide"!=this._ellipsis&&(this.isExpanded?(this.isExpanded=!1,this.eltRef.nativeElement.style=this.initialStyle):(this.isExpanded=!0,Object.assign(this.eltRef.nativeElement.style,{textOverflow:"clip",overflow:"auto",whiteSpace:"normal"})))},n.decorators=[{type:t.Component,args:[{selector:"[ellipsis]",template:"<ng-content></ng-content>",host:{"(click)":"onClick()"},styles:[":host{display:block;width:8em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host.expand{cursor:pointer}"]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Injector}]},n.propDecorators={ellipsis:[{type:t.Input}]},n}(o.OdeComponent);var k=function(e){function n(t,n){var o=e.call(this,n)||this;return o.labelsService=t,o}return u(n,e),n.prototype.getErrorsArray=function(){var e=[];for(var t in this.ref.errors)e.push({name:t,value:this.ref.errors[t]});return e},n.prototype.labels=function(e){return this.labelsService.getLabel(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-form-errors",template:'<div *ngIf="ref && ref.errors && (ref.dirty || ref.touched)" class="form-errors">\n <div *ngFor="let error of getErrorsArray()">\n <span>{{ \'form.error.\' + error.name | translate: error.value }}</span>\n <span *ngIf="error.name == \'pattern\'">{{expectedPatternMsg}}</span>\n </div>\n</div>\n',styles:[".form-errors{font-size:.8em;color:#dc143c;font-style:italic}"]}]}],n.ctorParameters=function(){return[{type:v},{type:t.Injector}]},n.propDecorators={ref:[{type:t.Input,args:["control"]}],expectedPatternMsg:[{type:t.Input,args:["expectedPatternMsg"]}]},n}(o.OdeComponent);var _=function(e){function n(t){return e.call(this,t)||this}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-form-field",template:'<div class="form-field">\n <label>\n {{ label | translate }}\n <span *ngIf="required" class="asterisque">*</span>\n <ode-message-sticker *ngIf="help"\n [type]="\'info\'"\n [messages]="[help]">\n </ode-message-sticker>\n </label>\n <ng-content></ng-content>\n</div>\n',styles:["div.form-field{display:flex;align-items:center}div.form-field>>>>*{flex:1;margin-left:5px}div.form-field>:first-child{flex:0 0 200px;margin-left:0}div.form-field message-sticker{font-size:1.3em}div.form-field .asterisque{color:#dc143c}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={label:[{type:t.Input}],help:[{type:t.Input}],required:[{type:t.Input}]},n}(o.OdeComponent);var O=function(e){function n(n){var o=e.call(this,n)||this;return o.items=[],o.childrenProperty="children",o.displayProperty="label",o.filter="",o.order=[],o.reverse=!1,o._flattenProps=[],o.disableOpener=!1,o.checkboxMode=!1,o.onSelect=new t.EventEmitter,o.onCheck=new t.EventEmitter,o._depth=0,o.unfolded=[],o}return u(n,e),Object.defineProperty(n.prototype,"flatten",{get:function(){return this._flattenProps},set:function(e){!this.isFlattened()&&e.length>0?this._selectedItem=this._lastSelectedItem:this.isFlattened&&e.length<1&&this.flagIfParent(),this._flattenProps=e},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.flagIfParent()},n.prototype.selectItem=function(e){this._selectedItem=e,this.childItemTree&&delete this.childItemTree._selectedItem;var t=this.unfolded.indexOf(e);!this.disableOpener&&t<0?this.unfolded.push(e):this.unfolded.splice(t,1),this.bubbleSelect(e)},n.prototype.checkItem=function(e){this.onCheck.emit(e)},n.prototype.bubbleSelect=function(e){this._lastSelectedItem=e,this.onSelect.emit(e)},n.prototype.isSelected=function(e){return(this.disableOpener?this._selectedItem:this._lastSelectedItem)===e},n.prototype.toggleFold=function(e,t){e.stopPropagation();var n=this.unfolded.indexOf(t);n<0?this.unfolded.push(t):this.unfolded.splice(n,1)},n.prototype.isFolded=function(e){return this.disableOpener?!this.isSelected(e):this.unfolded.indexOf(e)<0},n.prototype.display=function(e){return this.displayProperty&&e[this.displayProperty]},n.prototype.getChildren=function(e){return e[this.childrenProperty]||[]},n.prototype.hasChildren=function(e){return this.getChildren(e).length>0},n.prototype.isFlattened=function(){return this._flattenProps.length},n.prototype.flagIfParent=function(){var e=this;if(this._lastSelectedItem){var t=function(n,o){return n===o||!!e.hasChildren(n)&&e.getChildren(n).find((function(e){return t(e,o)}))};for(var n in this.items){var o=this.items[n];if(o===this._lastSelectedItem||t(o,this._lastSelectedItem)){this._selectedItem=o,this.unfolded=[o];break}}this.changeDetector.markForCheck()}},n.decorators=[{type:t.Component,args:[{selector:"ode-item-tree",template:'<ul [ngClass]="{ flattened: isFlattened() }">\n <li *ngFor="let item of (items | flattenObjArray: flatten | filter: filter | orderBy: order:reverse)"\n [ngClass]="{ selected: isSelected(item), unfolded: !isFolded(item), parent: hasChildren(item), root: _depth === 0 }">\n <a href="javascript:void(0)" (click)="selectItem(item)" *ngIf="!checkboxMode">\n <i class="opener" (click)="toggleFold($event, item)"\n *ngIf="!isFlattened() && hasChildren(item) && !disableOpener"></i>\n <span *ngIf="displayProperty">{{ display(item) }}</span>\n <span *ngIf="displayTemplate">\n <ng-template [ngTemplateOutlet]="displayTemplate" [ngTemplateOutletContext]="{$implicit: item}"></ng-template>\n </span>\n </a>\n <div class="checkbox__item" *ngIf="checkboxMode">\n <input id="all" type="checkbox" [(ngModel)]="item.check" ngDefaultControl>\n <label *ngIf="displayProperty" for="all" (click)="checkItem(item)">{{display(item)}}</label>\n <span *ngIf="displayTemplate">\n <ng-template [ngTemplateOutlet]="displayTemplate" [ngTemplateOutletContext]="{$implicit: item}"></ng-template>\n </span>\n </div>\n <ode-item-tree\n [items]="getChildren(item)"\n [children]="childrenProperty"\n [display]="displayProperty"\n [displayTemplate]="displayTemplate"\n [filter]="filter"\n [order]="order"\n [reverse]="reverse"\n [lastSelected]="_lastSelectedItem"\n [depth]="_depth + 1"\n [disableOpener]="disableOpener"\n [checkboxMode]="checkboxMode"\n (onSelect)="bubbleSelect($event)"\n (onCheck)="checkItem($event)"\n *ngIf="(checkboxMode && hasChildren(item)) || (!isFlattened() && hasChildren(item) && !isFolded(item))">\n </ode-item-tree>\n </li>\n</ul>\n'}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={items:[{type:t.Input}],childrenProperty:[{type:t.Input,args:["children"]}],displayProperty:[{type:t.Input,args:["display"]}],displayTemplate:[{type:t.Input}],filter:[{type:t.Input}],order:[{type:t.Input}],reverse:[{type:t.Input}],flatten:[{type:t.Input}],disableOpener:[{type:t.Input}],checkboxMode:[{type:t.Input}],onSelect:[{type:t.Output}],onCheck:[{type:t.Output}],childItemTree:[{type:t.ViewChild,args:[n,{static:!1}]}],_lastSelectedItem:[{type:t.Input,args:["lastSelected"]}],_depth:[{type:t.Input,args:["depth"]}]},n}(o.OdeComponent);var E=function(e){function n(n,o,i){var r=e.call(this,n)||this;return r.renderer=o,r.host=i,r._show=!1,r.showCloseButton=!0,r.onClose=new t.EventEmitter,r}return u(n,e),Object.defineProperty(n.prototype,"show",{get:function(){return this._show},set:function(e){var t=this;if(this.timer&&clearTimeout(this.timer),e)this._show=!0,this.timer=window.setTimeout((function(){t.renderer.addClass(t.host.nativeElement,"shown"),t.timer=null,t.changeDetector.markForCheck()}),100);else{var n=parseFloat(this.section&&window.getComputedStyle(this.section.nativeElement)["transition-duration"]);this.renderer.removeClass(this.host.nativeElement,"shown"),this.timer=window.setTimeout((function(){t._show=!1,t.timer=null,t.changeDetector.markForCheck()}),1e3*n)}},enumerable:!0,configurable:!0}),n.prototype.onClick=function(e){this.overlay.nativeElement.contains(e.target)&&this.close()},n.prototype.close=function(){this.show=!1,this.onClose.emit()},n.decorators=[{type:t.Component,args:[{selector:"ode-lightbox",template:'<section *ngIf="_show" #section>\n <div overlay #overlay></div>\n <div content>\n <i (click)="close()" *ngIf="showCloseButton == true"></i>\n <ng-content></ng-content>\n </div>\n</section>\n',host:{"(click)":"onClick($event)"},styles:["section{position:fixed;display:flex;align-items:center;justify-content:center;height:100%;width:100%;z-index:100;top:0;left:0;opacity:0;transition:opacity .35s}section[hidden]{display:none!important}:host.shown>section{opacity:1}div[overlay]{position:absolute;top:0;left:0;opacity:.7;width:100%;height:100%;background-color:#000}div[content]{flex:0 0 auto;max-width:75%;max-height:75%;overflow:auto;background-color:#fff;z-index:2;position:relative}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.Renderer2},{type:t.ElementRef}]},n.propDecorators={show:[{type:t.Input}],showCloseButton:[{type:t.Input}],onClose:[{type:t.Output}],section:[{type:t.ViewChild,args:["section",{static:!1}]}],overlay:[{type:t.ViewChild,args:["overlay",{static:!1}]}]},n}(o.OdeComponent);var S=function(e){function n(n){var o=e.call(this,n)||this;return o.cancelText="cancel",o.confirmText="confirm",o.extraButtons=[],o.disableConfirm=!1,o.onConfirm=new t.EventEmitter,o.onCancel=new t.EventEmitter,o.onExtra=new t.EventEmitter,o}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-lightbox-confirm",template:'<ode-lightbox [show]="show" (onClose)="onCancel.emit()">\n <h2 class="lightbox-confirm__header">{{ lightboxTitle | translate }}</h2>\n <div class="lightbox-confirm-content">\n <ng-content></ng-content>\n </div>\n <div class="lightbox-confirm-action">\n <button (click)="onConfirm.emit()" [disabled]="disableConfirm" class="confirm">{{ confirmText | translate }}</button>\n <button\n *ngFor="let extraBtn of extraButtons.slice().reverse(); index as i;"\n (click)="onExtra.emit(extraButtons.length - 1 - i)" class="confirm">{{ extraBtn | translate }}</button>\n <button (click)="onCancel.emit()" class="cancel">{{ cancelText | translate }}</button>\n </div>\n</ode-lightbox>\n',styles:[".lightbox-confirm__header{margin-bottom:0}.lightbox-confirm-content{font-size:16px;padding:20px 0}.lightbox-confirm-action button{float:right;text-align:center;margin-left:5px;margin-bottom:20px}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={lightboxTitle:[{type:t.Input}],show:[{type:t.Input}],cancelText:[{type:t.Input}],confirmText:[{type:t.Input}],extraButtons:[{type:t.Input}],disableConfirm:[{type:t.Input}],onConfirm:[{type:t.Output}],onCancel:[{type:t.Output}],onExtra:[{type:t.Output}]},n}(o.OdeComponent);var D=function(e){function n(n){var o=e.call(this,n)||this;return o.self=o,o._storedElements=[],o.searchPlaceholder="search",o.noResultsLabel="list.results.no.items",o.placeholder="list.placeholder",o.isSearchActive=!0,o.isSearchButtonDisabled=!1,o.searchInput=!1,o.inputChange=new t.EventEmitter,o.onSelect=new t.EventEmitter,o.listChange=new t.EventEmitter,o.scrolledDown=new t.EventEmitter,o.isSelected=function(e){return!1},o.isDisabled=function(e){return!1},o.ngClass=function(e){return{}},o}return u(n,e),Object.defineProperty(n.prototype,"storedElements",{get:function(){return this._storedElements},set:function(e){this._storedElements=e,this.listChange.emit(e)},enumerable:!0,configurable:!0}),n.decorators=[{type:t.Component,args:[{selector:"ode-list",template:'<ode-search-input\n *ngIf="isSearchActive"\n [isSearchButtonDisabled]="isSearchButtonDisabled"\n [searchInput]="searchInput"\n [searchSubmit]="searchSubmit"\n [delay]="searchDelay"\n [attr.placeholder]="searchPlaceholder | translate"\n (onChange)="inputChange.emit($event)"\n>\n</ode-search-input>\n\n<div class="toolbar">\n <ng-content select="[toolbar]"></ng-content>\n</div>\n\n<div\n class="list-wrapper"\n infiniteScroll\n [scrollWindow]="false"\n (scrolled)="scrolledDown.emit()"\n [infiniteScrollThrottle]="50"\n>\n <ul>\n <li\n *ngFor="let item of model | filter: filters | filter: inputFilter | store:self:\'storedElements\' | orderBy: sort | slice: 0:limit"\n (click)="onSelect.emit(item)"\n [class.selected]="isSelected(item)"\n [class.disabled]="isDisabled(item)"\n [ngClass]="ngClass(item)"\n class="lct-list-item"\n >\n <ng-template [ngTemplateOutlet]="templateRef" [ngTemplateOutletContext]="{$implicit: item}">\n </ng-template>\n </li>\n </ul>\n\n <ul *ngIf="storedElements && storedElements.length === 0">\n <li class="no-results">{{ noResultsLabel | translate }}</li>\n </ul>\n\n <ul *ngIf="!model">\n <li class="placeholder">{{ placeholder | translate }}</li>\n </ul>\n</div>\n',styles:["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.no-results{padding:50px;text-align:center;font-style:italic}ul li.no-results:hover{cursor:default!important;background-color:inherit!important}ul li.placeholder{color:#aaa;padding:2rem;text-align:left}ul li.placeholder:hover{cursor:default!important;background-color:inherit!important}ul li.disabled{pointer-events:none}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={model:[{type:t.Input}],filters:[{type:t.Input}],inputFilter:[{type:t.Input}],sort:[{type:t.Input}],limit:[{type:t.Input}],searchPlaceholder:[{type:t.Input}],noResultsLabel:[{type:t.Input}],placeholder:[{type:t.Input}],isSearchActive:[{type:t.Input}],isSearchButtonDisabled:[{type:t.Input}],searchInput:[{type:t.Input}],searchDelay:[{type:t.Input}],searchSubmit:[{type:t.Input}],inputChange:[{type:t.Output}],onSelect:[{type:t.Output}],listChange:[{type:t.Output}],scrolledDown:[{type:t.Output}],templateRef:[{type:t.ContentChild,args:[t.TemplateRef,{static:!1}]}],isSelected:[{type:t.Input}],isDisabled:[{type:t.Input}],ngClass:[{type:t.Input}]},n}(o.OdeComponent);var P=function(e){function n(n){var o=e.call(this,n)||this;return o.model=[],o.noResultsLabel="list.results.no.items",o.readOnly=!1,o.onCheck=new t.EventEmitter,o.listChange=new t.EventEmitter,o.scrolledDown=new t.EventEmitter,o.areAllChecked=function(){return!1},o.isChecked=function(e){return!1},o.isDisabled=function(e){return!1},o.ngClass=function(e){return{}},o.self=o,o._storedElements=[],o}return u(n,e),Object.defineProperty(n.prototype,"storedElements",{get:function(){return this._storedElements},set:function(e){this._storedElements=e,this.listChange.emit(e)},enumerable:!0,configurable:!0}),n.prototype.toggleAll=function(e){var t=this;this.model.forEach((function(n){var o=t.isChecked(n);!t.isDisabled(n)&&(o&&!e||!o&&e)&&t.onCheck.emit({item:n,checked:e})}))},n.decorators=[{type:t.Component,args:[{selector:"ode-list-checkable",template:'<div class="list-checkable-wrapper"\n infiniteScroll\n [scrollWindow]="false"\n (scrolled)="scrolledDown.emit()"\n [infiniteScrollThrottle]="50">\n\n <ul *ngIf="storedElements && storedElements.length === 0">\n <li class="no-results"><span>{{ noResultsLabel | translate }}</span></li>\n </ul>\n \n <ul>\n <li class="select-all" \n [class.checked]="areAllChecked()"\n *ngIf="!readOnly">\n <label>\n <span>{{(areAllChecked() ? \'ux.multiselect.deselect-all\' : \'ux.multiselect.select-all\') | translate}}</span>\n <input type="checkbox" [checked]="areAllChecked()" (change)="toggleAll($event.target.checked)" />\n </label>\n </li>\n\n <li class="lct-list-checkable-item" \n [class.checked]="isChecked(item)"\n [class.disabled]="isDisabled(item)"\n [ngClass]="ngClass(item)"\n *ngFor="let item of model | filter: filters | store:self:\'storedElements\' | orderBy: sort | slice: 0:limit">\n <label>\n <span>\n <ng-template [ngTemplateOutlet]="templateRef" [ngTemplateOutletContext]="{$implicit: item}"></ng-template> \n </span>\n <input *ngIf="!readOnly" type="checkbox" \n [disabled]="isDisabled(item)"\n [checked]="isChecked(item)"\n (change)="onCheck.emit({item:item, checked:$event.target.checked})"/>\n </label>\n </li>\n </ul>\n\n</div>\n',styles:["ul{margin:0;padding:0;font-size:.9em}ul li{border-top:1px solid #ddd;width:-webkit-fill-available;width:-moz-available;display:flex}ul li:not(.checked){color:#939393}ul li.disabled{pointer-events:none}ul li.select-all{background-color:#ff83520a;color:#5b6472}ul li.select-all span{text-align:right}ul li label{cursor:pointer;width:100%;display:flex}ul li label:hover{background-color:#eaedf2}ul li label span{padding:7px 15px;width:100%}ul li label input[type=checkbox]{margin-right:15px;-ms-grid-row-align:center;align-self:center}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={model:[{type:t.Input}],filters:[{type:t.Input}],sort:[{type:t.Input}],limit:[{type:t.Input}],noResultsLabel:[{type:t.Input}],readOnly:[{type:t.Input}],onCheck:[{type:t.Output}],listChange:[{type:t.Output}],scrolledDown:[{type:t.Output}],templateRef:[{type:t.ContentChild,args:[t.TemplateRef,{static:!1}]}],areAllChecked:[{type:t.Input}],isChecked:[{type:t.Input}],isDisabled:[{type:t.Input}],ngClass:[{type:t.Input}]},n}(o.OdeComponent);var j={info:"fa-question-circle",warning:"fa-exclamation-circle",danger:"fa-ban",success:"fa-check-circle"},R=function(e){function n(t,n){var o=e.call(this,n)||this;return o.eltRef=t,o._position="inherit",o.gravity="left",o.hidden=!1,o}return u(n,e),Object.defineProperty(n.prototype,"messages",{get:function(){return this._messages},set:function(e){var t,n;this._messages=[];try{for(var o=f(e),i=o.next();!i.done;i=o.next()){var r=i.value;"string"==typeof r?this._messages.push([r,{}]):"object"==typeof r&&this._messages.push(r)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"position",{set:function(e){this._position=e},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isGravityLeft",{get:function(){return"left"===this.gravity},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isGravityRight",{get:function(){return"right"===this.gravity},enumerable:!0,configurable:!0}),n.prototype.canHide=function(){return"absolute"==this._position},n.prototype.hide=function(){this.hidden=!0,this.hideEvent.emit()},n.prototype.ngOnInit=function(){if(e.prototype.ngOnInit.call(this),null==this.type)throw new Error("MessageSticker : type' property must be set");this.eltRef.nativeElement.style.position=this._position,"absolute"==this._position&&(this.eltRef.nativeElement.style.width="450px",this.eltRef.nativeElement.style.zIndex="10")},n.decorators=[{type:t.Component,args:[{selector:"message-box",template:'<article class="message is-{{type}}" [hidden]="hidden">\n <div *ngIf="header" class="message-header">\n <p>\n <i *ngIf="canHide()" (click)="hide()" class="fa fa-times-circle"></i>\n {{header | translate}}\n </p>\n </div>\n <div class="message-body">\n <i *ngIf="canHide() && !header" (click)="hide()" class="fa fa-times-circle"></i>\n <p *ngFor="let message of messages">\n <s5l [s5l-params]="message[1]">{{message[0]}}</s5l>\n </p>\n </div>\n</article>\n',styles:[":host{font-size:initial;position:inherit;top:-5px}:host.gravity-left{right:-5px}:host.gravity-right{left:-5px}:host .message{border:1px solid}i.fa-times-circle{display:inline-flex;float:right;cursor:pointer;font-weight:700}"]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Injector}]},n.propDecorators={type:[{type:t.Input}],header:[{type:t.Input}],messages:[{type:t.Input}],position:[{type:t.Input}],gravity:[{type:t.Input}],isGravityLeft:[{type:t.HostBinding,args:["class.gravity-left"]}],isGravityRight:[{type:t.HostBinding,args:["class.gravity-right"]}],hideEvent:[{type:t.Output,args:["onHide"]}]},n}(o.OdeComponent);var F=function(){function e(e,t){this.type=e,this.data=t}return e.prototype.assignData=function(e){return Object.assign(this.data,e),this},e}();var M=function(){function e(e,t){this.viewContainerRef=e,this.componentFactoryResolver=t}return e.prototype.load=function(e){var t=this;if(!this.isLoaded()){var n=this.componentFactoryResolver.resolveComponentFactory(this.componentDesc.type);for(var o in this.viewContainerRef.clear(),this.componentRef=this.viewContainerRef.createComponent(n),null!=e&&this.componentDesc.assignData(e),this.componentDesc.data)this.componentRef.instance[o]=this.componentDesc.data[o],"hideEvent"==o&&this.componentRef.instance.hideEvent.subscribe((function(e){t.destroy()}))}},e.prototype.isLoaded=function(){return null!=this.componentRef&&null!=this.componentRef.instance},e.prototype.destroy=function(){null!=this.componentRef.instance.hideEvent&&this.componentRef.instance.hideEvent.unsubscribe(),delete this.componentRef,this.viewContainerRef.clear()},e.decorators=[{type:t.Directive,args:[{selector:"[dynamic-component]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.ComponentFactoryResolver}]},e.propDecorators={componentDesc:[{type:t.Input,args:["dynamic-component"]}]},e}();var T=function(e){function n(t){var n=e.call(this,t)||this;return n.gravity="left",n.icons=j,n}return u(n,e),n.prototype.ngOnInit=function(){if(e.prototype.ngOnInit.call(this),void 0===this.type)throw new Error("MessageSticker : type' property must be set")},n.prototype.newMessageBox=function(){return new F(R,{type:this.type,header:this.header,messages:this.messages,position:"absolute",gravity:this.gravity,hideEvent:new t.EventEmitter})},n.prototype.loadMessageBox=function(){this.dComponent.load()},n.decorators=[{type:t.Component,args:[{selector:"ode-message-sticker",template:'<i (click)="loadMessageBox()" class="fa {{icons[type]}} is-{{type}}"></i>\n<span message-box-anchor>\n <ng-container [dynamic-component]="newMessageBox()"></ng-container>\n </span>\n',styles:[":host{display:inline;padding-left:.2em}span[message-box-anchor]{position:absolute;z-index:8}i{cursor:pointer}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={type:[{type:t.Input}],header:[{type:t.Input}],messages:[{type:t.Input}],gravity:[{type:t.Input}],dComponent:[{type:t.ViewChild,args:[M,{static:!1}]}]},n}(o.OdeComponent);var A=function(e){function n(t,n){var o=e.call(this,n)||this;return o.elementRef=t,o.placeholder="monoselect.placeholder.default",o.options=[],o.translateOptions=!0,o.opened=!1,o.selectedOption=null,o.disabled=!1,o.onChange=function(e){},o.onTouched=function(){},o}return u(n,e),n.prototype.optionClicked=function(e){this.selectedOption=e,this.opened=!1,this.onChange(null!=this.selectedOption?this.selectedOption.value:null)},n.prototype.onClickOnDocument=function(e){return this.opened&&!this.elementRef.nativeElement.querySelector(".lct-form-select").contains(e.target)&&(this.opened=!1),!0},n.prototype.onClickOnHost=function(){this.opened||this.disabled?this.opened=!1:this.opened=!0},n.prototype.registerOnChange=function(e){this.onChange=e},n.prototype.registerOnTouched=function(e){this.onTouched=e},n.prototype.setDisabledState=function(e){this.disabled=e},n.prototype.writeValue=function(e){this.selectedOption=this.options.find((function(t){return t.value===e})),this.onChange(this.selectedOption?this.selectedOption.value:null)},n.decorators=[{type:t.Component,args:[{selector:"ode-mono-select",template:'<div class="form-select lct-form-select" [ngClass]="{\'form-select--opened\': opened, \'form-select--disabled\': disabled}">\n <ul>\n <li class="form-select__options--selected lct-form-select__options--selected">\n <strong>{{selectedOption ? ((translateOptions == true) ? (selectedOption.label | translate) : selectedOption.label) : (placeholder | translate)}}</strong>\n <ul class="form-select__list lct-form-select__list" *ngIf="opened">\n <li class="form-select__options lct-form-select__options"\n (click)="$event.stopPropagation(); optionClicked()">{{placeholder | translate}}</li>\n <li class="form-select__options lct-form-select__options"\n *ngFor="let option of options"\n (click)="$event.stopPropagation(); optionClicked(option)">{{(translateOptions == true) ? (option.label | translate) : option.label}}</li>\n </ul>\n </li>\n </ul>\n</div>\n',providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return n})),multi:!0}],host:{"(document:click)":"onClickOnDocument($event)","(click)":"onClickOnHost()"}}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Injector}]},n.propDecorators={placeholder:[{type:t.Input}],options:[{type:t.Input}],trackByFn:[{type:t.Input}],translateOptions:[{type:t.Input}],disabled:[{type:t.Input}]},n}(o.OdeComponent);var z=function(e){function n(n,o,i){var r=e.call(this,i)||this;return r._eref=n,r.labelsService=o,r.filteredModel=[],r.title="Select",r.reverse=!1,r.disabled=!1,r.onSelectItem=new t.EventEmitter,r.onDeselectItem=new t.EventEmitter,r.filteredModelChange=new t.EventEmitter,r.onOpen=new t.EventEmitter,r.onClose=new t.EventEmitter,r.self=r,r._comboModel=[],r.filteredComboModel=[],r.search={input:"",reset:function(){this.input=""}},r.show=!1,r}return u(n,e),Object.defineProperty(n.prototype,"comboModel",{set:function(e){if(this._comboModel=e,e)for(var t=0;t<this.filteredModel.length;t++){var n=e.indexOf(this.filteredModel[t]);n<0&&(this.filteredModel.splice(n,1),t--)}else this.filteredModel=[]},enumerable:!0,configurable:!0}),n.prototype.labels=function(e){return this.labelsService.getLabel(e)},n.prototype.toggleVisibility=function(){this.show=!this.show,this.show?(this.search.reset(),this.onOpen.emit()):this.onClose.emit()},n.prototype.isSelected=function(e){return this.filteredModel&&this.filteredModel.indexOf(e)>=0},n.prototype.isDisabled=function(){return this.filteredModel&&this.maxSelected&&this.maxSelected<=this.filteredModel.length},n.prototype.toggleItem=function(e){var t=this.filteredModel.indexOf(e);t>=0?(this.filteredModel.splice(t,1),this.onDeselectItem.emit(e)):(!this.maxSelected||this.filteredModel.length<this.maxSelected)&&(this.filteredModel.push(e),this.onSelectItem.emit(e)),this.filteredModelChange.emit(this.filteredModel)},n.prototype.selectAll=function(){this.filteredModel=[];for(var e=0;e<this.filteredComboModel.length;e++)this.filteredModel.push(this.filteredComboModel[e]);this.filteredModelChange.emit(this.filteredModel)},n.prototype.deselectAll=function(){this.filteredModel=[],this.filteredModelChange.emit(this.filteredModel)},n.prototype.displayItem=function(e){return e instanceof Object?this.display&&"string"==typeof this.display?e[this.display]:e.toString():this.display&&this.display instanceof Function?this.display(e||""):e},n.prototype.onClick=function(e){return this.show&&!this._eref.nativeElement.contains(e.target)&&this.toggleVisibility(),!0},n.prototype.getFilter=function(){if(!this.filter)return"";var e="";return this._comboModel.length>0&&("string"==typeof this._comboModel[0]?e=this.search.input:(e={})[this.filter]=this.search.input),e},n.decorators=[{type:t.Component,args:[{selector:"ode-multi-combo",template:'<button (click)="toggleVisibility()"\n [ngClass]="{ opened: show }"\n [disabled]="disabled"\n type="button">\n {{ title }}\n</button>\n<div [ngClass]="{ hidden: !show }">\n <div class="options">\n <button class="select-all" (click)="selectAll()" *ngIf="!maxSelected"\n [title]="labels(\'select.all\')" type="button">{{ labels(\'select.all\') }}</button>\n <button class="deselect-all" (click)="deselectAll()"\n [title]="labels(\'deselect.all\')" type="button">{{ labels(\'deselect.all\') }}</button>\n </div>\n <div *ngIf="filter" class="filter">\n <ode-search-input (onChange)="search.input = $event" [attr.placeholder]="labels(\'search\')"></ode-search-input>\n </div>\n <ul>\n <li *ngFor="let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:\'filteredComboModel\'"\n (click)="toggleItem(item)"\n [ngClass]="{ selected: isSelected(item) }"\n [attr.disabled]="isDisabled()">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n',host:{"(document:click)":"onClick($event)"},styles:[":host{position:relative}:host>button{min-width:150px}:host>div{position:absolute;z-index:2;left:0;overflow:hidden;background:#fff;border:2px solid #000}:host>div.hidden{max-height:0;border-width:0}:host>div>div.options>*{display:inline-block;vertical-align:middle}:host>div>div.filter{margin:10px 0;width:100%;position:relative}:host>div>div.filter input{width:100%}:host>div>ul{list-style:none;padding:0;overflow-y:auto;max-height:200px}:host>div>ul>li{white-space:nowrap;cursor:pointer}:host>div>ul>li:not(.selected)[disabled=true]{pointer-events:none}"]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:v},{type:t.Injector}]},n.propDecorators={comboModel:[{type:t.Input}],filteredModel:[{type:t.Input,args:["outputModel"]}],title:[{type:t.Input}],display:[{type:t.Input}],filter:[{type:t.Input}],orderBy:[{type:t.Input}],reverse:[{type:t.Input}],maxSelected:[{type:t.Input,args:["max"]}],disabled:[{type:t.Input}],onSelectItem:[{type:t.Output}],onDeselectItem:[{type:t.Output}],filteredModelChange:[{type:t.Output,args:["outputModelChange"]}],onOpen:[{type:t.Output}],onClose:[{type:t.Output}]},n}(o.OdeComponent);var L=function(e){function n(t,n){var o=e.call(this,t)||this;return o.elementRef=n,o.label="",o.options=[],o.preview=!1,o.model=[],o.isDisabled=!1,o.isOptionsVisible=!1,o.onChange=function(e){},o.onTouched=function(){},o}return u(n,e),n.prototype.optionClicked=function(e){if(this.model){var t=this.getIndexOfOptionInModel(e);t<0?this.model.push(e.value):this.model.splice(t,1)}else this.model=[e.value];this.onChange(this.model)},n.prototype.selectAll=function(){var e=this;this.options.forEach((function(t){e.model.includes(t.value)||e.model.push(t.value)})),this.onChange(this.model)},n.prototype.deselectAll=function(){this.model=[],this.onChange(this.model)},n.prototype.toggleOptionsVisibility=function(){this.isOptionsVisible=!this.isOptionsVisible},n.prototype.isSelected=function(e){return!!this.model&&this.getIndexOfOptionInModel(e)>=0},n.prototype.closeIfOpened=function(e){return!this.isOptionsVisible||this.elementRef.nativeElement.querySelector(".lct-multi-select__options-container").contains(e.target)||this.elementRef.nativeElement.querySelector(".lct-multi-select__toggle").contains(e.target)||(this.isOptionsVisible=!1),!0},n.prototype.getIndexOfOptionInModel=function(e){return this.model.map(this.trackByFn).indexOf(this.trackByFn(e.value))},n.prototype.registerOnChange=function(e){this.onChange=e},n.prototype.registerOnTouched=function(e){this.onTouched=e},n.prototype.setDisabledState=function(e){this.isDisabled=e},n.prototype.writeValue=function(e){this.model=e,this.onChange(this.model)},n.decorators=[{type:t.Component,args:[{selector:"ode-multi-select",template:'<button type="button"\n (click)="toggleOptionsVisibility()" [disabled]="isDisabled"\n class="multi-select__toggle lct-multi-select__toggle"\n [ngClass]="{\'multi-select__toggle--active\': isOptionsVisible}">{{label | translate}}</button>\n<div class="multi-select__options-container lct-multi-select__options-container"\n [ngClass]="{\'multi-select__options-container--active\': isOptionsVisible}">\n <div class="multi-select__options-actions">\n <button type="button"\n class="multi-select__options-actions-item"\n (click)="selectAll()">{{\'ux.multiselect.select-all\' | translate}}</button>\n <button type="button"\n class="multi-select__options-actions-item"\n (click)="deselectAll()">{{\'ux.multiselect.deselect-all\' | translate}}</button>\n </div>\n <ul class="multi-select__options lct-multi-select__options">\n <li class="multi-select__options-item lct-multi-select__options-item"\n *ngFor="let option of options"\n (click)="optionClicked(option)"\n [ngClass]="{\'multi-select__options-item--selected\': isSelected(option)}">{{option.label | translate}}</li>\n </ul>\n</div>\n<div class="multi-select__options-preview lct-multi-select__options-preview" *ngIf="preview">\n <ng-container *ngFor="let option of options">\n <button *ngIf="isSelected(option)"\n type="button"\n class="multi-select__options-preview-item lct-multi-select__options-preview-item"\n (click)="optionClicked(option)">\n <span>{{option.label | translate}}</span>\n <i class="multi-select__options-preview-item-delete-icon fa fa-trash is-size-5"></i>\n </button>\n </ng-container>\n</div>\n',providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return n})),multi:!0}],host:{"(document:click)":"closeIfOpened($event)"},styles:['@charset "UTF-8";:host{position:relative}.multi-select__toggle{min-width:210px;outline:0;background-color:#f2f2f2}.multi-select__toggle:after{content:"▼";float:right;margin-left:10px;transition:transform .25s,color .25s}.multi-select__toggle:hover:after{color:#fff}.multi-select__toggle.multi-select__toggle--active,.multi-select__toggle:hover{background-color:#ff8352;color:#fff}.multi-select__toggle.multi-select__toggle--active:after{transform:rotate(180deg);color:#fff}.multi-select__options-container{display:none;position:absolute;z-index:2;left:1px;top:31px;overflow:hidden;background:#fff;border:1px solid #ddd;padding:0 10px 0 20px;min-width:160px}.multi-select__options-container.multi-select__options-container--active{display:block}.multi-select__options{list-style:none;padding:0;overflow-y:scroll;max-height:200px;margin-bottom:10px}.multi-select__options-item{white-space:nowrap;cursor:pointer;line-height:25px;font-size:13px;transition:background-color .25s,color .25s;margin-bottom:5px;padding:0 10px}.multi-select__options-item.multi-select__options-item--selected{color:#fff;background-color:#217b9e}.multi-select__options-preview{color:#fff;margin:10px 0}.multi-select__options-preview-item{border:1px solid #217b9e;display:inline-block;font-size:.8em;margin-right:10px;margin-bottom:10px;padding:10px;cursor:pointer;transition:.25s;border-radius:3px;background-color:#217b9e;line-height:1.5em;color:#fff}.multi-select__options-preview-item:hover{background-color:#61bbde;border-color:#fff}.multi-select__options-preview-item-delete-icon{opacity:0;transition:opacity .25s;float:right;padding-left:10px}.multi-select__options-preview-item:hover .multi-select__options-preview-item-delete-icon{opacity:1}.multi-select__options-actions{margin-top:10px}.multi-select__options-actions-item{margin-bottom:3px;min-width:136px}.multi-select__options-actions-item:hover{background:#ffccb8}']}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef}]},n.propDecorators={label:[{type:t.Input}],options:[{type:t.Input}],preview:[{type:t.Input}],trackByFn:[{type:t.Input}]},n}(o.OdeComponent);var B=function(e){function n(t){var n=e.call(this,t)||this;return n.folded=null,n}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-panel-section",template:'<section class="panel-section">\n <div class="panel-section-header is-display-flex has-space-between" (click)="folded !== null ? folded=!folded : null" [class.foldable]="folded !== null">\n <div class="is-display-flex">\n <s5l>{{ sectionTitle }}</s5l>\n <div class="has-left-padding-10">\n <ng-content select="[panel-section-header-icons]"></ng-content>\n </div>\n </div>\n\n <i class="opener" *ngIf="folded !== null"\n [class.opened]="!folded"></i>\n </div>\n <div class="panel-section-content" *ngIf="!folded">\n <ng-content></ng-content>\n </div>\n</section>\n',styles:[".panel-section-header{font-size:1.1em;padding:10px}.panel-section-header.foldable{cursor:pointer}.panel-section-content{padding:15px}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={sectionTitle:[{type:t.Input,args:["section-title"]}],folded:[{type:t.Input}]},n}(o.OdeComponent);var V=function(e){function n(t){return e.call(this,t)||this}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-portal",template:'<header>\n <ng-content select="[header-left]"></ng-content>\n <ng-content select="[header-middle]"></ng-content>\n <ng-content select="[header-right]"></ng-content>\n</header>\n<section>\n <ng-content select="[section]"></ng-content>\n</section>\n<footer>\n <ng-content select="[footer]"></ng-content>\n</footer>\n',styles:["header{position:relative;display:flex;align-items:center;top:0;width:100%}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n}(o.OdeComponent),$=function(e){function n(n){var o=e.call(this,n)||this;return o.onClose=new t.EventEmitter,o}return u(n,e),Object.defineProperty(n.prototype,"toggle",{set:function(e){this._opened=e},enumerable:!0,configurable:!0}),n.prototype.onClick=function(e){var t=this.opener&&this.opener.contains&&this.opener.contains(e.target)||this.opener.nativeElement&&this.opener.nativeElement.contains(e.target);return!this._opened||this.inside.nativeElement.contains(e.target)||t||(this._opened=!1,this.onClose.emit()),!0},n.decorators=[{type:t.Component,args:[{selector:"ode-push-panel",template:'<div [ngClass]="{ opened: _opened }" #inside>\n <ng-content select="[inside]"></ng-content>\n</div>\n<div>\n <ng-content select="[companion]"></ng-content>\n</div>\n',host:{"(document:click)":"onClick($event)"},styles:[":host>div:nth-child(1){position:fixed;z-index:10;overflow-x:hidden;overflow-y:scroll;height:100%;top:0;left:-30%;width:30%;transition:transform .25s}:host>div:nth-child(1).opened{transform:translateX(100%)}:host>div:nth-child(2){position:relative;left:0;opacity:1;transition:transform .25s,opacity .25s}:host>div:nth-child(1).opened+div{opacity:.7;transform:translateX(30%);overflow-x:hidden}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={toggle:[{type:t.Input}],opener:[{type:t.Input}],onClose:[{type:t.Output}],inside:[{type:t.ViewChild,args:["inside",{static:!1}]}]},n}(o.OdeComponent);var N=function(e){function o(o,i,r){var s=e.call(this,o)||this;return s._elRef=i,s._renderer=r,s.isSearchActive=!1,s.isSearchButtonDisabled=!1,s.searchInput=!1,s._delay=200,s.onChange=new t.EventEmitter,s.$searchTerms=new n.Subject,s}return u(o,e),Object.defineProperty(o.prototype,"delay",{get:function(){return this._delay},set:function(e){var t=this;this._delay=e,this.observable=this.$searchTerms.pipe(l.debounceTime(this.delay),l.distinctUntilChanged()),this.observer&&this.observer.unsubscribe(),this.observer=this.observable.subscribe((function(e){t.onChange.emit(e)}))},enumerable:!0,configurable:!0}),o.prototype.evalAttributes=function(){var e=this._elRef.nativeElement;if(e&&this.searchBox)for(var t=0;t<e.attributes.length;t++){var n=e.attributes[t];this._renderer.setAttribute(this.searchBox.nativeElement,n.name,n.value)}},o.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.observable||(this.observable=this.$searchTerms.pipe(l.debounceTime(this.delay),l.distinctUntilChanged()),this.observer=this.observable.subscribe((function(e){t.onChange.emit(e)}))),setTimeout((function(){return t.evalAttributes()}),20)},o.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.observer.unsubscribe()},o.prototype.search=function(e){this.$searchTerms.next(e)},o.prototype.handleSubmit=function(){this.searchSubmit(),this.searchBox.nativeElement.value=""},o.decorators=[{type:t.Component,args:[{selector:"ode-search-input",template:'<form\n class="search-container"\n (ngSubmit)="searchInput && handleSubmit()">\n <input\n #searchBox\n class="search-input"\n name="searchTerm"\n type="search"\n (input)="search(searchBox.value)" />\n <button class="search-button" *ngIf="searchInput" [attr.disabled]="isSearchButtonDisabled ? true : null">\n <i class="fa fa-search is-size-4 search-icon"></i>\n </button>\n</form>\n\n\x3c!-- <input *ngIf="!searchInput" type="search" #searchBox (input)="search(searchBox.value)"/> --\x3e',styles:[":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]}]}],o.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef},{type:t.Renderer2}]},o.propDecorators={isSearchActive:[{type:t.Input}],isSearchButtonDisabled:[{type:t.Input}],searchInput:[{type:t.Input}],searchSubmit:[{type:t.Input}],delay:[{type:t.Input}],onChange:[{type:t.Output}],searchBox:[{type:t.ViewChild,args:["searchBox",{static:!1}]}]},o}(o.OdeComponent);var U=function(e){function n(n){var o=e.call(this,n)||this;return o.showCompanion=!1,o.close=new t.EventEmitter,o}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-side-layout",template:'<div class="side-layout">\n <div class="side-card">\n <ng-content select="[side-card]"></ng-content>\n </div>\n <div class="side-companion" *ngIf="showCompanion">\n <ng-content select="[side-companion]"></ng-content>\n </div>\n</div>\n',styles:["div.side-layout{display:flex;flex-wrap:nowrap;align-items:flex-start}div.side-card{flex:400px 0 0;position:relative}div.side-companion{flex:1;position:relative;margin-left:25px}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={showCompanion:[{type:t.Input}],close:[{type:t.Output,args:["closeCompanion"]}]},n}(o.OdeComponent);var H=function(e){function n(n,o){var i=e.call(this,n)||this;return i.elementRef=o,i.onClose=new t.EventEmitter,i}return u(n,e),Object.defineProperty(n.prototype,"toggle",{set:function(e){this.opened=e},enumerable:!0,configurable:!0}),n.prototype.onClick=function(e){var t=this.opener&&this.opener.contains&&this.opener.contains(e.target)||this.opener.nativeElement&&this.opener.nativeElement.contains(e.target);return!this.opened||this.elementRef.nativeElement.contains(e.target)||t||(this.opened=!1,this.onClose.emit()),!0},n.decorators=[{type:t.Component,args:[{selector:"ode-side-panel",template:'<div [ngClass]="{ opened: opened }">\n <ng-content></ng-content>\n</div>\n',host:{"(document:click)":"onClick($event)"},styles:["div{position:fixed;z-index:10;overflow-x:hidden;overflow-y:scroll;top:0;left:-30%;width:30%;transition:transform .25s}div.opened{transform:translateX(100%)}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef}]},n.propDecorators={toggle:[{type:t.Input}],opener:[{type:t.Input}],onClose:[{type:t.Output}]},n}(o.OdeComponent);var q=function(e){function n(t,n){var o=e.call(this,t)||this;return o.spinner=n,o}return u(n,e),Object.defineProperty(n.prototype,"loadingProp",{get:function(){return this._loadingProp},set:function(e){this._loadingProp=e},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.subscriptions.add(this.spinner.trigger.subscribe((function(){t.changeDetector.markForCheck()})))},n.decorators=[{type:t.Component,args:[{selector:"ode-spinner-cube",changeDetection:t.ChangeDetectionStrategy.OnPush,template:'<div class="spinner-wrapper" *ngIf="spinner.isLoading(loadingProp)">\n <div class="spinner-cube">\n <div class="sk-cube sk-cube1"></div>\n <div class="sk-cube sk-cube2"></div>\n <div class="sk-cube sk-cube3"></div>\n <div class="sk-cube sk-cube4"></div>\n <div class="sk-cube sk-cube5"></div>\n <div class="sk-cube sk-cube6"></div>\n <div class="sk-cube sk-cube7"></div>\n <div class="sk-cube sk-cube8"></div>\n <div class="sk-cube sk-cube9"></div>\n </div>\n</div>\n',styles:["div.spinner-wrapper{position:fixed;width:100%;height:100%;pointer-events:all;display:flex;justify-content:center;align-items:center}div.spinner-cube{width:20vh;height:20vh}div.sk-cube{width:33%;height:33%;float:left;-webkit-animation:1.3s ease-in-out infinite sk-cubeGridScaleDelay;animation:1.3s ease-in-out infinite sk-cubeGridScaleDelay}div.sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}div.sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}div.sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}div.sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}div.sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}div.sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}div.sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}div.sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}div.sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:b}]},n.propDecorators={loadingProp:[{type:t.Input,args:["waitingFor"]}]},n}(o.OdeComponent);var W=function(e){function n(n,o){var i=e.call(this,n)||this;return i.bundles=o,i.offsetChange=new t.EventEmitter,i.translate=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(e=i.bundles).translate.apply(e,m(t))},i}return u(n,e),n.prototype.ngOnInit=function(){},n.prototype.previousPage=function(){this.offset-this.limit>=0?this.offset=this.offset-this.limit:this.offset=0,this.offsetChange.emit(this.offset)},n.prototype.nextPage=function(){this.offset+this.limit<=this.total&&(this.offset=this.offset+this.limit),this.offsetChange.emit(this.offset)},n.prototype.offsetLimit=function(){return this.offset+this.limit<this.total?this.offset+this.limit:this.total},n.decorators=[{type:t.Component,args:[{selector:"ode-pager",template:'<strong><s5l>pager.page</s5l></strong>\n<a class="button" [ngClass]="{\'is-hidden\': offset - limit < 0}" (click)="previousPage()">\n <i class="fa fa-chevron-left"></i> <s5l>pager.page.previous</s5l>\n</a>\n<span>{{"pager.position" | translate : {offset : offset+1, offsetLimit:offsetLimit(), total:total} }}</span>\n<a class="button" [ngClass]="{\'is-hidden\': offset + limit > total}" (click)="nextPage()">\n <s5l>pager.page.next</s5l> <i class="fa fa-chevron-right"></i>\n</a>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:["\n i {cursor: pointer; padding: 0 2px;}\n "]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:a.BundlesService}]},n.propDecorators={limit:[{type:t.Input}],offset:[{type:t.Input}],offsetChange:[{type:t.Output}],total:[{type:t.Input}]},n}(o.OdeComponent);var G=function(e){function n(t,n,o){var i=e.call(this,t)||this;return i.ref=n,i.renderer=o,i.position="bottom",i.offset=5,i.onTransitionEnd=function(){i.tooltipElt&&!i.tooltipElt.classList.contains("shown")&&(i.tooltipElt.parentNode.removeChild(i.tooltipElt),i.tooltipElt=null)},i}return u(n,e),n.prototype.onMouseEnter=function(){this.renderer;if(!this.tooltipElt){this.tooltipElt=this.renderer.createElement("div");var e=this.renderer.createText(this.tooltipContents);this.renderer.appendChild(this.tooltipElt,e),this.renderer.addClass(this.tooltipElt,"tooltip"),this.renderer.appendChild(document.getElementsByTagName("body")[0],this.tooltipElt)}var t=this.tooltipElt,n=this.getPosition(this.ref.nativeElement,t,this.position);for(var o in n)this.renderer.setStyle(t,o,n[o]+"px");this.renderer.addClass(t,"shown")},n.prototype.onMouseLeave=function(){var e=this.tooltipElt&&parseFloat(window.getComputedStyle(this.tooltipElt)["transition-duration"]);this.renderer.removeClass(this.tooltipElt,"shown"),setTimeout(this.onTransitionEnd,1e3*e)},n.prototype.getPosition=function(e,t,n){var o,i,r=e.getBoundingClientRect().top+window.scrollY,s=e.getBoundingClientRect().left+window.scrollX;switch(n){case"top":i=r-t.offsetHeight-this.offset,o=s+e.offsetWidth/2-t.offsetWidth/2;break;case"left":i=r+e.offsetHeight/2-t.offsetHeight/2,o=s-t.offsetWidth-this.offset;break;case"right":i=r+e.offsetHeight/2-t.offsetHeight/2,o=s+e.offsetWidth+this.offset;break;case"bottom":default:i=r+e.offsetHeight+this.offset,o=s+e.offsetWidth/2-t.offsetWidth/2}return o<0&&(o=s+e.offsetWidth+this.offset),i<0&&(i=r+e.offsetHeight+this.offset),o+t.offsetWidth>=window.pageXOffset+window.innerWidth&&(o=s-t.offsetWidth-this.offset),i-t.offsetHeight>=window.pageYOffset+window.innerHeight&&(i=r-t.offsetHeight-this.offset),{top:i<5?5:i,left:o<5?5:o}},n.prototype.ngOnDestroy=function(){this.tooltipElt&&(this.tooltipElt.parentNode.removeChild(this.tooltipElt),this.tooltipElt=null)},n.decorators=[{type:t.Component,args:[{selector:"[tooltip]",template:"<ng-content></ng-content>",host:{"(mouseenter)":"onMouseEnter()","(mouseleave)":"onMouseLeave()"},styles:["body>div.tooltip{position:absolute;z-index:100}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef},{type:t.Renderer2}]},n.propDecorators={tooltipContents:[{type:t.Input,args:["tooltip"]}],position:[{type:t.Input}],offset:[{type:t.Input}]},n}(o.OdeComponent);var X=function(e){function n(n,o){var i=e.call(this,n)||this;return i.inputFileService=o,i.upload=new t.EventEmitter,i.invalidUpload=new t.EventEmitter,i}return u(n,e),n.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.multiple=this.maxFilesNumber>1},n.prototype.onChange=function(e){var t=this;e.target&&this.inputFileService.validateFiles(e.target.files,this.maxFilesNumber,this.allowedExtensions).subscribe((function(e){return t.upload.emit(e)}),(function(e){return t.invalidUpload.emit(e)}))},n.prototype.onClickDropzoneInput=function(e){e.stopPropagation(),this.inputFileRef.nativeElement.click()},n.prototype.onDragAndDrop=function(e){this.upload.emit(e)},n.prototype.onInvalidDragAndDrop=function(e){this.invalidUpload.emit(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-upload-files",template:'<div class="upload-files-dropzone"\n dragAndDropFiles\n [allowedExtensions]="allowedExtensions"\n [maxFilesNumber]="maxFilesNumber"\n [disabled]="disabled"\n (dragAndDrop)="onDragAndDrop($event)"\n (invalidDragAndDrop)="onInvalidDragAndDrop($event)">\n <div *ngIf="fileSrc" class="upload-files-dropzone-image">\n <img src="{{ fileSrc }}"\n *ngIf="inputFileService.isSrcExternalUrl(fileSrc)"\n class="upload-files-dropzone-image__image"/>\n <img src="{{ fileSrc }}"\n *ngIf="inputFileService.isSrcWorkspace(fileSrc)"\n class="upload-files-dropzone-image__image"/>\n <i class="upload-files-dropzone-image__icon {{ fileSrc }}"\n *ngIf="!inputFileService.isSrcExternalUrl(fileSrc)\n && !inputFileService.isSrcWorkspace(fileSrc)"></i>\n </div>\n\n <div class="upload-files-dropzone-input" *ngIf="!disabled">\n <button class="confirm upload-files-dropzone-input__button"\n (click)="onClickDropzoneInput($event)">\n <s5l>ux.upload-files.button.label</s5l>\n </button>\n <i class="upload-files-dropzone-input__icon fa fa-cloud-upload fa-2x">\n </i>\n <span class="upload-files-dropzone-input__help">\n <s5l>ux.upload-files.button.help</s5l>\n </span>\n <input *ngIf="multiple === true else singleFileInput"\n class="upload-files-dropzone-input__input"\n type="file"\n (change)="onChange($event)"\n multiple\n #inputFileRef>\n <ng-template #singleFileInput>\n <input class="upload-files-dropzone-input__input"\n type="file"\n (change)="onChange($event)"\n #inputFileRef>\n </ng-template>\n </div>\n</div>\n',styles:[".upload-files-dropzone{display:flex;align-items:center;justify-content:center;min-height:150px;margin:20px;padding:20px 10px;background-color:#fafafa;border:2px dashed #ddd;border-radius:5px}.upload-files-dropzone-image{display:flex;align-items:center;justify-content:center;width:120px;height:120px}.upload-files-dropzone-image__image{max-height:90%;max-width:90%}.upload-files-dropzone-image__icon{font-size:5em}.upload-files-dropzone-input{display:flex;align-items:center;background-color:#fff;border-radius:5px;box-shadow:1px 1px 5px rgba(0,0,0,.3);padding:10px;margin:0 40px 0 20px}.upload-files-dropzone-input__input{display:none}.upload-files-dropzone-input__icon{margin-left:10px}.upload-files-dropzone-input__help{margin-left:10px;font-style:italic}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:y}]},n.propDecorators={fileSrc:[{type:t.Input}],allowedExtensions:[{type:t.Input}],maxFilesNumber:[{type:t.Input}],disabled:[{type:t.Input}],upload:[{type:t.Output}],invalidUpload:[{type:t.Output}],inputFileRef:[{type:t.ViewChild,args:["inputFileRef",{static:!1}]}]},n}(o.OdeComponent);var Y=function(e){function n(n){var o=e.call(this,n)||this;return o.selectChange=new t.EventEmitter,o}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-simple-select",template:'<select [ngModel]="model[selected]" (ngModelChange)="model[selected] = $event; selectChange.emit($event)">\n\n<option *ngIf="ignoreOption.length > 0 " [ngValue]="ignoreOption[0].value">\n {{ignoreOption[0].label}}\n</option>\n<option *ngFor="let option of options | orderBy: \'label\'" [ngValue]="option.value">\n {{option.label}}\n</option>\n</select>\n',changeDetection:t.ChangeDetectionStrategy.OnPush}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={selected:[{type:t.Input}],model:[{type:t.Input}],options:[{type:t.Input}],ignoreOption:[{type:t.Input}],selectChange:[{type:t.Output}]},n}(o.OdeComponent);var K=function(){function e(){this.hasError=!1,this.isFinished=!1}return e.decorators=[{type:t.Component,args:[{selector:"ode-step",template:"<ng-content></ng-content>",styles:["\n :host {\n display: none;\n overflow: auto;\n padding : 1em;\n }\n :host.active {\n display: block;\n }\n "]}]}],e.propDecorators={name:[{type:t.Input}],isActived:[{type:t.Input}]},e}();var J=function(e){function n(n){var o=e.call(this,n)||this;return o.cancel=new t.EventEmitter,o.previousStep=new t.EventEmitter,o.nextStep=new t.EventEmitter,o.canDoNext=!0,o.activeStep=0,o}return u(n,e),n.prototype.doCancel=function(){this.activeStep=0,this.steps.forEach((function(e,t){e.isActived=0===t})),this.canDoNext=!0},n.prototype.onPreviousStep=function(){this.previousStep.emit(this.activeStep)},n.prototype.doPreviousStep=function(){this.activeStep>0&&(this.steps.toArray()[this.activeStep].isActived=!1,this.steps.toArray()[this.activeStep-1].isActived=!0,this.activeStep--,this.canDoNext=!0)},n.prototype.onNextStep=function(){this.nextStep.emit(this.activeStep)},n.prototype.doNextStep=function(e){this.activeStep<this.steps.length-1&&(this.canDoNext=!e,this.steps.toArray()[this.activeStep].isActived=!1,this.steps.toArray()[this.activeStep+1].isActived=!0,this.activeStep++)},n.prototype.ngAfterContentInit=function(){if(e.prototype.ngAfterContentInit.call(this),0===this.steps.length)throw new Error("<wizard> component musts nest at least 1 <step> compoent")},n.decorators=[{type:t.Component,args:[{selector:"ode-wizard",template:'\n <div class="wizard">\n <nav class="wizard-menu">\n <h2 class="wizard-menu__title"><s5l>wizard.steps</s5l></h2>\n <ul>\n <li *ngFor="let step of steps"\n [class.active]="step.isActived"\n [class.finish]="step.isFinished">\n {{step.name}}\n </li>\n </ul>\n </nav>\n <section class="wizard-content">\n <ng-content select="ode-step"></ng-content>\n <nav class="wizard-content-nav" *ngIf="activeStep < steps.length - 1">\n <button class="wizard-content-nav__button cancel"\n (click)="cancel.emit()"\n [title]="\'cancel\' | translate">\n {{ \'cancel\' | translate }}\n </button>\n <button class="wizard-content-nav__button previous"\n (click)="onPreviousStep()"\n *ngIf="activeStep > 0"\n [title]="\'previous\' | translate">\n {{ \'wizard.previous\' | translate }}\n </button>\n <button class="wizard-content-nav__button wizard-content-nav__button--next"\n (click)="onNextStep()"\n [disabled]="!canDoNext"\n [title]="\'next\' | translate">\n {{ \'wizard.next\' | translate }}\n </button>\n </nav>\n </section>\n </div>\n ',styles:["\n .wizard {\n display: flex;\n }\n .wizard-menu {\n background: #5b6472;\n flex: 0 0 240px;\n }\n .wizard-menu ul {\n padding: 10px 30px;\n }\n .wizard-menu ul li {\n color: #eaedf2;\n list-style-type: none;\n padding: 5px 0;\n }\n .wizard-menu ul li.active,\n .wizard-menu ul li.finish {\n font-weight: bold;\n color: white;\n }\n .wizard-menu ul li.finish {\n color: green;\n }\n .wizard-menu__title {\n font-weight: bold;\n font-size: 1.2em;\n color: white;\n padding: 25px 0 0 10px;\n }\n .wizard-content {\n background: #fff;\n flex: auto;\n }\n .wizard-content-nav {\n text-align : right;\n }\n .wizard-content-nav__button {\n margin: 10px 0;\n }\n .wizard-content-nav__button--next {\n margin-right: 16px;\n }\n "]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={cancel:[{type:t.Output}],previousStep:[{type:t.Output}],nextStep:[{type:t.Output}],steps:[{type:t.ContentChildren,args:[K]}]},n}(o.OdeComponent);var Q=function(){function e(){this.offset=50}return e.prototype.onClick=function(){var e=document.getElementById(this.anchor);window.scrollBy(0,e.getBoundingClientRect().top-this.offset)},e.decorators=[{type:t.Directive,args:[{selector:"[anchor]"}]}],e.propDecorators={anchor:[{type:t.Input,args:["anchor"]}],offset:[{type:t.Input,args:["offset"]}],onClick:[{type:t.HostListener,args:["click"]}]},e}();var Z=function(){function e(e){this.inputFileService=e,this.allowedExtensions=[],this.maxFilesNumber=1,this.dragAndDrop=new t.EventEmitter,this.invalidDragAndDrop=new t.EventEmitter,this.backgroundColor="#fafafa",this.borderColor="#ddd"}return e.prototype.onDragOver=function(e){this.disabled||(e.preventDefault(),e.stopPropagation(),this.highlightColors())},e.prototype.onDragLeave=function(e){this.disabled||(e.preventDefault(),e.stopPropagation(),this.resetColors())},e.prototype.onDrop=function(e){var t=this;this.disabled||(e.preventDefault(),e.stopPropagation(),e.dataTransfer&&this.inputFileService.validateFiles(e.dataTransfer.files,this.maxFilesNumber,this.allowedExtensions).subscribe((function(e){return t.dragAndDrop.emit(e)}),(function(e){return t.invalidDragAndDrop.emit(e)})),this.resetColors())},e.prototype.resetColors=function(){this.backgroundColor="#fafafa",this.borderColor="#ddd"},e.prototype.highlightColors=function(){this.backgroundColor="#ffd1b6",this.borderColor="#ff8352"},e.decorators=[{type:t.Directive,args:[{selector:"[dragAndDropFiles]"}]}],e.ctorParameters=function(){return[{type:y}]},e.propDecorators={allowedExtensions:[{type:t.Input}],maxFilesNumber:[{type:t.Input}],disabled:[{type:t.Input}],dragAndDrop:[{type:t.Output}],invalidDragAndDrop:[{type:t.Output}],backgroundColor:[{type:t.HostBinding,args:["style.background"]}],borderColor:[{type:t.HostBinding,args:["style.border-color"]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}]},e}();var ee=function(){function e(e,t,n,o){this.elementRef=e,this.viewContainer=t,this.compiler=n,this.dynamicModuleImports=o,this._html="",this._selector="dynamic-view"}return Object.defineProperty(e.prototype,"templateContents",{set:function(e){var n=this;if(e){this._html=e;var o=this._createDynamicComponent(),i=this._createDynamicModule(o),r=t.Injector.create({providers:[],parent:this.viewContainer.parentInjector});this.compiler.compileModuleAndAllComponentsAsync(i).then((function(e){for(var t,o=e.componentFactories.length-1;o>=0;o--)if(e.componentFactories[o].selector===n._selector){t=e.componentFactories[o];break}return t})).then((function(e){e&&n.viewContainer&&(n.viewContainer.clear(),n.viewContainer.createComponent(e,0,r))}))}else this._html="",this.viewContainer.clear()},enumerable:!0,configurable:!0}),e.prototype._createDynamicComponent=function(){var e={selector:this._selector,template:this._html,inputs:["template"]},n=function(){};return n.prototype=this.context,t.Component(e)(n)},e.prototype._createDynamicModule=function(e){var n=function(){};return t.NgModule({imports:m([p.CommonModule],this.dynamicModuleImports.imports),declarations:[e],providers:[]})(n)},e.decorators=[{type:t.Directive,args:[{selector:"dynamic-template"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.ViewContainerRef},{type:t.Compiler},{type:g}]},e.propDecorators={templateContents:[{type:t.Input,args:["template"]}],context:[{type:t.Input}]},e}();var te=function(){function e(e){this.elementRef=e}return e.prototype.create=function(e,t){null!==this.objectURL&&window.URL.revokeObjectURL(this.objectURL),this.objectURL=window.URL.createObjectURL(e),this.elementRef.nativeElement.href=this.objectURL,this.elementRef.nativeElement.download=t},e.decorators=[{type:t.Directive,args:[{selector:"[object-url]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e}();var ne=[{label:"quota.byte",value:1},{label:"quota.kilobyte",value:1024},{label:"quota.megabyte",value:Math.pow(1024,2)},{label:"quota.gigabyte",value:Math.pow(1024,3)}];function oe(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}var ie=function(){function e(){}return e.prototype.transform=function(e,t,n){return n?oe(e/t,n):Math.round(e/t)},e.decorators=[{type:t.Pipe,args:[{name:"bytes"}]}],e}(),re=function(){function e(){}return e.prototype.stringFullCompare=function(e,t){return null!==e.match(new RegExp(t,"i"))},e.prototype._filterString=function(e,t,n){return!("string"!=typeof e||"string"!=typeof t||!t.trim()||!this.stringFullCompare(e,t))&&(n.push(e),!0)},e.prototype._filterObject=function(e,t,n,o){if("object"==typeof e&&"object"==typeof t){var i=!0;for(var r in t){if(!i)break;for(var s=t[r],l=r.split(","),a=new Array(l.length),p=l.length;p-- >0;)a[p]=e[l[p].trim()];if(s instanceof Function)i=s.apply(null,a);else{if(s instanceof Object){if(l.length>1)throw"Multi-argument object filtering is not yet supported";return this._filterObject(a[0],s,n,o)}for(p=a.length;p-- >0&&i;){var c=a[p];if(void 0===c&&"string"==typeof s&&s.length>0)i=!1;else if(c instanceof Array&&"string"==typeof s)i=this.stringFullCompare(c.join(),s);else if("string"==typeof s&&"string"==typeof c)i=this.stringFullCompare(c,s);else if(s instanceof Array&&"string"==typeof c)for(var d=0;d<s.length&&!(i=this.stringFullCompare(c,s[d]));d++);}}}return i&&o.push(n),!0}return!1},e.prototype._filterFunction=function(e,t,n){return"function"==typeof t&&(t(e)&&n.push(e),!0)},e.prototype.transform=function(e,t){var n=this;if(!e||!t)return e;var o=[];return e.forEach((function(e){n._filterString(e,t,o)||n._filterObject(e,t,e,o)||n._filterFunction(e,t,o)})),o},e.decorators=[{type:t.Pipe,args:[{name:"filter",pure:!1}]}],e}(),se=function(){function e(){}return e.prototype.transform=function(e,t){if(!e)return[];if(t.length<1)return e;var n=Array.from(e),o=function(e){e.forEach((function(e){for(var i in e){var r=e[i];(r instanceof Array&&!t||t.indexOf(i)>-1)&&(n=m(n,r),o(r))}}))};return o(e),Array.from(new Set(n))},e.decorators=[{type:t.Pipe,args:[{name:"flattenObjArray"}]}],e}(),le=function(){function e(){}return e.prototype.transform=function(e,t){var n=[];for(var o in e)o&&n.push(o);return n},e.decorators=[{type:t.Pipe,args:[{name:"keys"}]}],e}(),ae=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n=0),e.slice(n,t)},e.decorators=[{type:t.Pipe,args:[{name:"limit",pure:!1}]}],e}(),pe=function(){function e(e){this.bundlesService=e}return e.prototype.transform=function(e,t){return void 0===t&&(t="mediumDate"),new p.DatePipe(this.bundlesService.currentLanguage).transform(e,t)},e.decorators=[{type:t.Pipe,args:[{name:"localizedDate",pure:!1}]}],e.ctorParameters=function(){return[{type:a.BundlesService}]},e}();var ce=function(){function e(){}return e.prototype.transform=function(e,t,n,o){if(null==e||!t)return e;var i,r=function(e){return"function"==typeof e},s=function(e){return"object"==typeof e},l=function(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}},a=function(e){return r(e.valueOf)&&(e=e.valueOf(),l(e))?e:(function(e){return e&&"function"==typeof e.toString&&e.toString!==Object.prototype.toString}(e)&&(e=e.toString(),l(e)),e)},p=function(e,t){var n=typeof e;return null===e?(n="string",e="null"):"object"===n&&(e=a(e)),{value:e,type:n,index:t}};(i=t)&&i instanceof Array||(t=[t]),0===t.length&&(t=["+"]);var c=t.map((function(e){var t=1,n=function(e){return e};return r(e)?n=e:"string"==typeof e&&("+"!==e.charAt(0)&&"-"!==e.charAt(0)||(t="-"===e.charAt(0)?-1:1,e=e.substring(1)),""!==e&&(n=function(t){return t[e]})),{get:n,descending:t}})),d=n?-1:1,u=r(o)?o:function(e,t){var n=0,o=e.type,i=t.type;if(o===i){var r=e.value,l=t.value;"string"===o?(r=r.toLowerCase(),l=l.toLowerCase(),n=r.localeCompare(l)):"object"===o&&(s(r)&&(r=e.index),s(l)&&(l=t.index),r!==l&&(n=r<l?-1:1))}else n=o<i?-1:1;return n},f=Array.prototype.map.call(e,(function(e,t){return{value:e,tieBreaker:{value:t,type:"number",index:t},predicateValues:c.map((function(n){return p(n.get(e),t)}))}}));return f.sort((function(e,t){for(var n=0,o=c.length;n<o;n++){var i=u(e.predicateValues[n],t.predicateValues[n]);if(i)return i*c[n].descending*d}return u(e.tieBreaker,t.tieBreaker)*d})),e=f.map((function(e){return e.value}))},e.decorators=[{type:t.Pipe,args:[{name:"orderBy"}]}],e}(),de=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n="_storedRef"),t[n]=e,e},e.decorators=[{type:t.Pipe,args:[{name:"store"}]}],e}(),ue=function(){function e(){}return e.prototype.transform=function(e){return e.length},e.decorators=[{type:t.Pipe,args:[{name:"length",pure:!1}]}],e}();var fe=function(e){return e.normalize("NFD").replace(/\p{Diacritic}/gu,"")};var he=function(e){function n(n){var o=e.call(this,n)||this;return o.name="",o.isDropdownOpened=!1,o.onDropdown=new t.EventEmitter,o}return u(n,e),n.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this)},n.decorators=[{type:t.Component,args:[{selector:"ode-dropdown",template:'<div class="dropdown" [ngClass]="isDropdownOpened ? \'open\' : \'\'">\n <button (click)="onDropdown.emit()" class="dropdown-trigger">\n <span class="cell-ellipsis">{{ name }}</span> <i class="fonticon arrow-select"></i>\n </button>\n <div class="dropdown-list">\n <ng-content></ng-content>\n </div>\n</div>\n',styles:[".dropdown{position:relative;width:230px;box-sizing:border-box}.dropdown *{box-sizing:border-box}.dropdown-trigger{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:#4a4a4a;text-transform:uppercase;text-align:left;width:100%;border-radius:8px;border:1px solid #7a7a7a;background-color:#fff}.dropdown-trigger>span{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-trigger i.arrow-select{display:inline-block;float:none!important;padding-left:0;transform:rotate(180deg);transform-origin:center center}.dropdown-trigger:hover{color:#4a4a4a;border-color:#7a7a7a;background-color:#fff}.dropdown-trigger:hover i.arrow-select{color:#4a4a4a!important}.dropdown-list{display:none;position:absolute;overflow:hidden;z-index:2;top:100%;left:0;right:0;width:316px;box-shadow:0 4px 12px 0 rgba(0,0,0,.15);border-radius:8px;background-color:#fff}.dropdown::ng-deep ode-list li{justify-content:flex-start}.dropdown::ng-deep ode-list input[type=search]{padding:12px 16px}.dropdown.open .dropdown-list{display:block}.dropdown.open i.arrow-select{transform:rotate(0)}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={name:[{type:t.Input}],isDropdownOpened:[{type:t.Input}],onDropdown:[{type:t.Output}]},n}(o.OdeComponent);var me=function(e){function n(n){var o=e.call(this,n)||this;return o.nbItem=0,o.selectSearchType=new t.EventEmitter,o}return u(n,e),n.prototype.ngOnInit=function(){this.searchTypes&&this.searchTypes.length>0&&(this.selectedSearchTypeValue=this.searchTypes[0].value)},n.prototype.handleSearchTypeClick=function(e){this.selectedSearchTypeValue=e,this.selectSearchType.emit(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-search-toolbar",template:'<div class="search-toolbar">\n <div class="search-toolbar-label">\n <s5l>{{ label }}</s5l>\n <button\n *ngFor="let searchType of searchTypes"\n class="button has-left-margin-5"\n [ngClass]="{\n \'is-selected\': searchType.value === selectedSearchTypeValue\n }"\n (click)="handleSearchTypeClick(searchType.value)"\n >\n <s5l>{{ searchType.label }}</s5l>\n </button>\n </div>\n <div>\n <strong class="badge">{{ nbItem }} <s5l>{{ nbItemLabel }}</s5l></strong>\n </div>\n</div>\n',styles:[".search-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px}.search-toolbar .search-toolbar-label{font-size:.85rem}.search-toolbar .search-toolbar-label .button{padding:4px 12px;border-radius:20px;font-size:12px;border-width:2px;border-color:#ff8d2e}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={label:[{type:t.Input}],searchTypes:[{type:t.Input}],nbItem:[{type:t.Input}],nbItemLabel:[{type:t.Input}],selectSearchType:[{type:t.Output}]},n}(o.OdeComponent);var ge=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[g,t||v]}},e.forChild=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:t.NgModule,args:[{declarations:[w,k,_,O,E,S,D,P,A,L,z,B,V,$,N,U,H,K,G,J,Y,T,R,X,q,W,I,Q,ee,M,Z,te,re,se,ae,ce,de,pe,ie,le,ue,he,me],imports:[p.CommonModule,i.FormsModule,a.NgxOdeSijilModule.forChild(),c.InfiniteScrollModule],exports:[w,k,_,O,E,S,D,P,A,L,z,B,V,$,N,U,H,K,G,J,Y,T,R,X,q,W,I,he,me,Q,ee,M,Z,te,re,se,ae,ce,de,pe,ie,le,ue],providers:[y,ce],entryComponents:[Y,R]}]}],e}();e.AnchorDirective=Q,e.BytesPipe=ie,e.CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR=x,e.ComponentDescriptor=F,e.DatepickerComponent=w,e.DragAndDropFilesDirective=Z,e.DynamicComponentDirective=M,e.DynamicModuleImportsService=g,e.DynamicTemplateDirective=ee,e.EllipsisComponent=I,e.FilterPipe=re,e.FlattenObjectArrayPipe=se,e.FormErrorsComponent=k,e.FormFieldComponent=_,e.InputFileService=y,e.ItemTreeComponent=O,e.KeysPipe=le,e.LabelsService=v,e.LengthPipe=ue,e.LightBoxComponent=E,e.LightboxConfirmComponent=S,e.LimitPipe=ae,e.ListCheckableComponent=P,e.ListComponent=D,e.LocalizedDatePipe=pe,e.MessageBoxComponent=R,e.MessageStickerComponent=T,e.MonoSelectComponent=A,e.MultiComboComponent=z,e.MultiSelectComponent=L,e.NgxOdeUiModule=ge,e.ObjectURLDirective=te,e.OrderPipe=ce,e.PagerComponent=W,e.PanelSectionComponent=B,e.PortalComponent=V,e.PushPanelComponent=$,e.SearchInputComponent=N,e.SideLayoutComponent=U,e.SidePanelComponent=H,e.SimpleSelectComponent=Y,e.SpinnerCubeComponent=q,e.SpinnerService=b,e.StepComponent=K,e.StorePipe=de,e.TooltipComponent=G,e.UNITS=ne,e.UploadFilesComponent=X,e.WizardComponent=J,e.clickOn=function(e){return e.triggerEventHandler("click",null)},e.getText=function(e){return e.nativeElement.textContent.trim()},e.getUnit=function(e){for(var t=0,n=e;n>=1024&&t<3;)n/=1024,t++;return ne[t]},e.icons=j,e.removeAccents=fe,e.standardise=function(e){return fe(null!=e?e:"").toLowerCase().replace("\\s+"," ")},e.toDecimal=oe,e.trim=function(e){return e&&e.length>0?e.trim():e},e.ɵa=he,e.ɵb=me,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
|
+
var d=function(e,t){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function u(e,t){function n(){this.constructor=e}d(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function f(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,r=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}var g=function(){function e(){this.imports=[]}return e.decorators=[{type:t.Injectable}],e}();var y=function(){function e(){}return e.prototype.validateFiles=function(e,t,o){if(!e)return n.throwError("files is empty");if(e.length>t)return n.throwError("Only "+t+" file(s) allowed");for(var i=[],r=[],s=0;s<e.length;s++){var l=e[s].name.split("."),a=l[l.length-1];-1!==o.lastIndexOf(a.toLowerCase())?i.push(e[s]):r.push(e[s])}return new n.Observable((function(e){i.length>0&&e.next(i),r.length>0&&e.error("Extension not allowed. Allowed extensions: "+o),e.complete()}))},e.prototype.isSrcExternalUrl=function(e){return!!e&&(e.startsWith("http://")||e.startsWith("https://"))},e.prototype.isSrcWorkspace=function(e){return!!e&&e.startsWith("/workspace")},e.decorators=[{type:t.Injectable}],e}(),v=function(){function e(){this.labels={"select.all":"Select all","deselect.all":"Deselect all",search:"Search"}}return e.withLabels=function(t){var n=new e;for(var o in t)n.labels[o]=t[o];return n},e.prototype.getLabel=function(e){return this.labels[e]||e},e.prototype.mixin=function(e){for(var t in e)this.labels[t]=e[t]},e.decorators=[{type:t.Injectable}],e}();var b=function(){function e(e){var t=this;this.appRef=e,this.timer=250,this.loading=new Set,this.timers=new Map,this._trigger=new n.Subject,this.wrap=function(e,n,o){void 0===o&&(o={});for(var i=[],r=3;r<arguments.length;r++)i[r-3]=arguments[r];t.load(n,o.delay);var s=o.binding?e.bind(o.binding).apply(void 0,m(i)):e.apply(void 0,m(i));return s.catch((function(e){throw t.done(n),e})).then((function(e){return t.done(n),e})),o.cdRef&&o.cdRef.markForCheck(),s}}return Object.defineProperty(e.prototype,"trigger",{get:function(){return this._trigger},enumerable:!0,configurable:!0}),e.prototype.isLoading=function(e,t){return void 0===t&&(t=!1),this.loading.has(e)||t&&this.timers.has(e)},e.prototype.perform=function(e,t,n){var o=this;return this.load(e,n),t.catch((function(t){throw o.done(e),t})).then((function(t){return o.done(e),t}))},e.prototype.load=function(e,t){var n=this;this.timers.has(e)&&window.clearTimeout(this.timers.get(e));var o=function(){n.loading.add(e),n.timers.delete(e),n.appRef.tick(),n.trigger.next(!0)};0===t?o():this.timers.set(e,window.setTimeout(o,t||this.timer))},e.prototype.done=function(e){window.clearTimeout(this.timers.get(e)),this.timers.delete(e),this.loading.delete(e),this.trigger.next(!0),this.appRef.tick()},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:t.ApplicationRef}]},e}();var C=function(){},x={provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return w})),multi:!0},w=function(e){function n(n,o,i){var r=e.call(this,i)||this;return r.renderer=n,r.labelsService=o,r.innerValue="",r.disabled=!1,r._readonly=!1,r.enableTime=!1,r.placeholder="",r.changeDate=new t.EventEmitter,r.onChangeCallback=C,r.onTouchedCallback=C,r}return u(n,e),Object.defineProperty(n.prototype,"value",{get:function(){return this.innerValue},set:function(e){var t=!1;void 0===this.innerValue&&(t=!0),e!==this.innerValue&&(this.innerValue=e,this.onChangeCallback(e),t||this.changeDate.emit(e))},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=e,this.datePickerInst&&this.datePickerInst.altInput&&(e?this.datePickerInst.altInput.setAttribute("readonly",""):this.datePickerInst.altInput.removeAttribute("readonly"))},enumerable:!0,configurable:!0}),n.prototype.ngAfterViewInit=function(){var t=this;e.prototype.ngAfterViewInit.call(this),this.renderer.setAttribute(this.inputElement.nativeElement,"data-input",""),!0===this.disabled&&this.model.control.disable();var n={};"fr"===navigator.language.split("-")[0]&&(n=s.fr);var o={altInput:!this.disabled,altFormat:"d/m/Y",dateFormat:"Y-m-d",allowInput:!1,enableTime:this.enableTime,minDate:this.minDate,maxDate:this.maxDate,clickOpens:!1,wrap:!0,locale:n};this.datePickerInst=new r(this.datePickerElement.nativeElement,o),this.disabled||this.datePickerInst.altInput.addEventListener("click",(function(e){t.readonly||t.datePickerInst.toggle()})),this.readonly=this._readonly},n.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.datePickerInst.destroy()},n.prototype.writeValue=function(e){e!==this.innerValue&&this.datePickerInst&&(this.innerValue=e,this.datePickerInst.setDate(e),this.onChangeCallback(e))},n.prototype.registerOnChange=function(e){this.onChangeCallback=e},n.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},n.prototype.labels=function(e){return this.labelsService.getLabel(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-date-picker",template:'<div class="flatpickr" #datePickerElement>\n <input type="date" [(ngModel)]="value" [disabled]="disabled" [ngClass]="{ \'cursor-default\': disabled }" placeholder="{{ placeholder }}" #inputRef>\n <a *ngIf="!disabled" [class.hidden]="readonly" data-toggle [title]="labels(\'datepicker.open\')"><i class="fa fa-calendar open" aria-hidden="true"></i></a>\n <a *ngIf="!disabled" [class.hidden]="readonly" data-clear [title]="labels(\'datepicker.delete\')"><i class="fa fa-times delete" aria-hidden="true"></i></a>\n</div>\n',providers:[x],styles:[".hidden{visibility:hidden}"]}]}],n.ctorParameters=function(){return[{type:t.Renderer2},{type:v},{type:t.Injector}]},n.propDecorators={datePickerElement:[{type:t.ViewChild,args:["datePickerElement",{static:!1}]}],inputElement:[{type:t.ViewChild,args:["inputRef",{static:!1}]}],model:[{type:t.ViewChild,args:[i.NgModel,{static:!1}]}],disabled:[{type:t.Input}],readonly:[{type:t.Input}],enableTime:[{type:t.Input}],placeholder:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],changeDate:[{type:t.Output}]},n}(o.OdeComponent);var I=function(e){function n(t,n){var o=e.call(this,n)||this;return o.eltRef=t,o._ellipsis="hide",o.isExpanded=!1,o.initialStyle=Object.assign({},o.eltRef.nativeElement.style),o}return u(n,e),Object.defineProperty(n.prototype,"ellipsis",{set:function(e){e&&(this._ellipsis=e,"expand"==this._ellipsis&&(this.eltRef.nativeElement.className="expand"))},enumerable:!0,configurable:!0}),n.prototype.onClick=function(){"hide"!=this._ellipsis&&(this.isExpanded?(this.isExpanded=!1,this.eltRef.nativeElement.style=this.initialStyle):(this.isExpanded=!0,Object.assign(this.eltRef.nativeElement.style,{textOverflow:"clip",overflow:"auto",whiteSpace:"normal"})))},n.decorators=[{type:t.Component,args:[{selector:"[ellipsis]",template:"<ng-content></ng-content>",host:{"(click)":"onClick()"},styles:[":host{display:block;width:8em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host.expand{cursor:pointer}"]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Injector}]},n.propDecorators={ellipsis:[{type:t.Input}]},n}(o.OdeComponent);var k=function(e){function n(t,n){var o=e.call(this,n)||this;return o.labelsService=t,o}return u(n,e),n.prototype.getErrorsArray=function(){var e=[];for(var t in this.ref.errors)e.push({name:t,value:this.ref.errors[t]});return e},n.prototype.labels=function(e){return this.labelsService.getLabel(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-form-errors",template:'<div *ngIf="ref && ref.errors && (ref.dirty || ref.touched)" class="form-errors">\n <div *ngFor="let error of getErrorsArray()">\n <span>{{ \'form.error.\' + error.name | translate: error.value }}</span>\n <span *ngIf="error.name == \'pattern\'">{{expectedPatternMsg}}</span>\n </div>\n</div>\n',styles:[".form-errors{font-size:.8em;color:#dc143c;font-style:italic}"]}]}],n.ctorParameters=function(){return[{type:v},{type:t.Injector}]},n.propDecorators={ref:[{type:t.Input,args:["control"]}],expectedPatternMsg:[{type:t.Input,args:["expectedPatternMsg"]}]},n}(o.OdeComponent);var _=function(e){function n(t){return e.call(this,t)||this}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-form-field",template:'<div class="form-field">\n <label>\n {{ label | translate }}\n <span *ngIf="required" class="asterisque">*</span>\n <ode-message-sticker *ngIf="help"\n [type]="\'info\'"\n [messages]="[help]">\n </ode-message-sticker>\n </label>\n <ng-content></ng-content>\n</div>\n',styles:["div.form-field{display:flex;align-items:center}div.form-field>>>>*{flex:1;margin-left:5px}div.form-field>:first-child{flex:0 0 200px;margin-left:0}div.form-field message-sticker{font-size:1.3em}div.form-field .asterisque{color:#dc143c}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={label:[{type:t.Input}],help:[{type:t.Input}],required:[{type:t.Input}]},n}(o.OdeComponent);var O=function(e){function n(n){var o=e.call(this,n)||this;return o.items=[],o.childrenProperty="children",o.displayProperty="label",o.filter="",o.order=[],o.reverse=!1,o._flattenProps=[],o.disableOpener=!1,o.checkboxMode=!1,o.onSelect=new t.EventEmitter,o.onCheck=new t.EventEmitter,o._depth=0,o.unfolded=[],o}return u(n,e),Object.defineProperty(n.prototype,"flatten",{get:function(){return this._flattenProps},set:function(e){!this.isFlattened()&&e.length>0?this._selectedItem=this._lastSelectedItem:this.isFlattened&&e.length<1&&this.flagIfParent(),this._flattenProps=e},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.flagIfParent()},n.prototype.selectItem=function(e){this._selectedItem=e,this.childItemTree&&delete this.childItemTree._selectedItem;var t=this.unfolded.indexOf(e);!this.disableOpener&&t<0?this.unfolded.push(e):this.unfolded.splice(t,1),this.bubbleSelect(e)},n.prototype.checkItem=function(e){this.onCheck.emit(e)},n.prototype.bubbleSelect=function(e){this._lastSelectedItem=e,this.onSelect.emit(e)},n.prototype.isSelected=function(e){return(this.disableOpener?this._selectedItem:this._lastSelectedItem)===e},n.prototype.toggleFold=function(e,t){e.stopPropagation();var n=this.unfolded.indexOf(t);n<0?this.unfolded.push(t):this.unfolded.splice(n,1)},n.prototype.isFolded=function(e){return this.disableOpener?!this.isSelected(e):this.unfolded.indexOf(e)<0},n.prototype.display=function(e){return this.displayProperty&&e[this.displayProperty]},n.prototype.getChildren=function(e){return e[this.childrenProperty]||[]},n.prototype.hasChildren=function(e){return this.getChildren(e).length>0},n.prototype.isFlattened=function(){return this._flattenProps.length},n.prototype.flagIfParent=function(){var e=this;if(this._lastSelectedItem){var t=function(n,o){return n===o||!!e.hasChildren(n)&&e.getChildren(n).find((function(e){return t(e,o)}))};for(var n in this.items){var o=this.items[n];if(o===this._lastSelectedItem||t(o,this._lastSelectedItem)){this._selectedItem=o,this.unfolded=[o];break}}this.changeDetector.markForCheck()}},n.decorators=[{type:t.Component,args:[{selector:"ode-item-tree",template:'<ul [ngClass]="{ flattened: isFlattened() }">\n <li *ngFor="let item of (items | flattenObjArray: flatten | filter: filter | orderBy: order:reverse)"\n [ngClass]="{ selected: isSelected(item), unfolded: !isFolded(item), parent: hasChildren(item), root: _depth === 0 }">\n <a href="javascript:void(0)" (click)="selectItem(item)" *ngIf="!checkboxMode">\n <i class="opener" (click)="toggleFold($event, item)"\n *ngIf="!isFlattened() && hasChildren(item) && !disableOpener"></i>\n <span *ngIf="displayProperty">{{ display(item) }}</span>\n <span *ngIf="displayTemplate">\n <ng-template [ngTemplateOutlet]="displayTemplate" [ngTemplateOutletContext]="{$implicit: item}"></ng-template>\n </span>\n </a>\n <div class="checkbox__item" *ngIf="checkboxMode">\n <input id="all" type="checkbox" [(ngModel)]="item.check" ngDefaultControl>\n <label *ngIf="displayProperty" for="all" (click)="checkItem(item)">{{display(item)}}</label>\n <span *ngIf="displayTemplate">\n <ng-template [ngTemplateOutlet]="displayTemplate" [ngTemplateOutletContext]="{$implicit: item}"></ng-template>\n </span>\n </div>\n <ode-item-tree\n [items]="getChildren(item)"\n [children]="childrenProperty"\n [display]="displayProperty"\n [displayTemplate]="displayTemplate"\n [filter]="filter"\n [order]="order"\n [reverse]="reverse"\n [lastSelected]="_lastSelectedItem"\n [depth]="_depth + 1"\n [disableOpener]="disableOpener"\n [checkboxMode]="checkboxMode"\n (onSelect)="bubbleSelect($event)"\n (onCheck)="checkItem($event)"\n *ngIf="(checkboxMode && hasChildren(item)) || (!isFlattened() && hasChildren(item) && !isFolded(item))">\n </ode-item-tree>\n </li>\n</ul>\n'}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={items:[{type:t.Input}],childrenProperty:[{type:t.Input,args:["children"]}],displayProperty:[{type:t.Input,args:["display"]}],displayTemplate:[{type:t.Input}],filter:[{type:t.Input}],order:[{type:t.Input}],reverse:[{type:t.Input}],flatten:[{type:t.Input}],disableOpener:[{type:t.Input}],checkboxMode:[{type:t.Input}],onSelect:[{type:t.Output}],onCheck:[{type:t.Output}],childItemTree:[{type:t.ViewChild,args:[n,{static:!1}]}],_lastSelectedItem:[{type:t.Input,args:["lastSelected"]}],_depth:[{type:t.Input,args:["depth"]}]},n}(o.OdeComponent);var E=function(e){function n(n,o,i){var r=e.call(this,n)||this;return r.renderer=o,r.host=i,r._show=!1,r.showCloseButton=!0,r.onClose=new t.EventEmitter,r}return u(n,e),Object.defineProperty(n.prototype,"show",{get:function(){return this._show},set:function(e){var t=this;if(this.timer&&clearTimeout(this.timer),e)this._show=!0,this.timer=window.setTimeout((function(){t.renderer.addClass(t.host.nativeElement,"shown"),t.timer=null,t.changeDetector.markForCheck()}),100);else{var n=parseFloat(this.section&&window.getComputedStyle(this.section.nativeElement)["transition-duration"]);this.renderer.removeClass(this.host.nativeElement,"shown"),this.timer=window.setTimeout((function(){t._show=!1,t.timer=null,t.changeDetector.markForCheck()}),1e3*n)}},enumerable:!0,configurable:!0}),n.prototype.onClick=function(e){this.overlay.nativeElement.contains(e.target)&&this.close()},n.prototype.close=function(){this.show=!1,this.onClose.emit()},n.decorators=[{type:t.Component,args:[{selector:"ode-lightbox",template:'<section *ngIf="_show" #section>\n <div overlay #overlay></div>\n <div content>\n <i (click)="close()" *ngIf="showCloseButton == true"></i>\n <ng-content></ng-content>\n </div>\n</section>\n',host:{"(click)":"onClick($event)"},styles:["section{position:fixed;display:flex;align-items:center;justify-content:center;height:100%;width:100%;z-index:100;top:0;left:0;opacity:0;transition:opacity .35s}section[hidden]{display:none!important}:host.shown>section{opacity:1}div[overlay]{position:absolute;top:0;left:0;opacity:.7;width:100%;height:100%;background-color:#000}div[content]{flex:0 0 auto;max-width:75%;max-height:75%;overflow:auto;background-color:#fff;z-index:2;position:relative}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.Renderer2},{type:t.ElementRef}]},n.propDecorators={show:[{type:t.Input}],showCloseButton:[{type:t.Input}],onClose:[{type:t.Output}],section:[{type:t.ViewChild,args:["section",{static:!1}]}],overlay:[{type:t.ViewChild,args:["overlay",{static:!1}]}]},n}(o.OdeComponent);var S=function(e){function n(n){var o=e.call(this,n)||this;return o.cancelText="cancel",o.confirmText="confirm",o.extraButtons=[],o.disableConfirm=!1,o.onConfirm=new t.EventEmitter,o.onCancel=new t.EventEmitter,o.onExtra=new t.EventEmitter,o}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-lightbox-confirm",template:'<ode-lightbox [show]="show" (onClose)="onCancel.emit()">\n <h2 class="lightbox-confirm__header">{{ lightboxTitle | translate }}</h2>\n <div class="lightbox-confirm-content">\n <ng-content></ng-content>\n </div>\n <div class="lightbox-confirm-action">\n <button (click)="onConfirm.emit()" [disabled]="disableConfirm" class="confirm">{{ confirmText | translate }}</button>\n <button\n *ngFor="let extraBtn of extraButtons.slice().reverse(); index as i;"\n (click)="onExtra.emit(extraButtons.length - 1 - i)" class="confirm">{{ extraBtn | translate }}</button>\n <button (click)="onCancel.emit()" class="cancel">{{ cancelText | translate }}</button>\n </div>\n</ode-lightbox>\n',styles:[".lightbox-confirm__header{margin-bottom:0}.lightbox-confirm-content{font-size:16px;padding:20px 0}.lightbox-confirm-action button{float:right;text-align:center;margin-left:5px;margin-bottom:20px}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={lightboxTitle:[{type:t.Input}],show:[{type:t.Input}],cancelText:[{type:t.Input}],confirmText:[{type:t.Input}],extraButtons:[{type:t.Input}],disableConfirm:[{type:t.Input}],onConfirm:[{type:t.Output}],onCancel:[{type:t.Output}],onExtra:[{type:t.Output}]},n}(o.OdeComponent);var D=function(e){function n(n){var o=e.call(this,n)||this;return o.self=o,o._storedElements=[],o.searchPlaceholder="search",o.noResultsLabel="list.results.no.items",o.placeholder="list.placeholder",o.isSearchActive=!0,o.isSearchButtonDisabled=!1,o.searchInput=!1,o.inputChange=new t.EventEmitter,o.onSelect=new t.EventEmitter,o.listChange=new t.EventEmitter,o.scrolledDown=new t.EventEmitter,o.isSelected=function(e){return!1},o.isDisabled=function(e){return!1},o.ngClass=function(e){return{}},o}return u(n,e),Object.defineProperty(n.prototype,"storedElements",{get:function(){return this._storedElements},set:function(e){this._storedElements=e,this.listChange.emit(e)},enumerable:!0,configurable:!0}),n.decorators=[{type:t.Component,args:[{selector:"ode-list",template:'<ode-search-input\n *ngIf="isSearchActive"\n [isSearchButtonDisabled]="isSearchButtonDisabled"\n [searchInput]="searchInput"\n [searchSubmit]="searchSubmit"\n [delay]="searchDelay"\n [attr.placeholder]="searchPlaceholder | translate"\n (onChange)="inputChange.emit($event)"\n>\n</ode-search-input>\n\n<div class="toolbar">\n <ng-content select="[toolbar]"></ng-content>\n</div>\n\n<div\n class="list-wrapper"\n infiniteScroll\n [scrollWindow]="false"\n (scrolled)="scrolledDown.emit()"\n [infiniteScrollThrottle]="50"\n>\n <ul>\n <li\n *ngFor="let item of model | filter: filters | filter: inputFilter | store:self:\'storedElements\' | orderBy: sort | slice: 0:limit"\n (click)="onSelect.emit(item)"\n [class.selected]="isSelected(item)"\n [class.disabled]="isDisabled(item)"\n [ngClass]="ngClass(item)"\n class="lct-list-item"\n >\n <ng-template [ngTemplateOutlet]="templateRef" [ngTemplateOutletContext]="{$implicit: item}">\n </ng-template>\n </li>\n </ul>\n\n <ul *ngIf="storedElements && storedElements.length === 0">\n <li class="no-results">{{ noResultsLabel | translate }}</li>\n </ul>\n\n <ul *ngIf="!model">\n <li class="placeholder">{{ placeholder | translate }}</li>\n </ul>\n</div>\n',styles:["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.no-results{padding:50px;text-align:center;font-style:italic}ul li.no-results:hover{cursor:default!important;background-color:inherit!important}ul li.placeholder{color:#aaa;padding:2rem;text-align:left}ul li.placeholder:hover{cursor:default!important;background-color:inherit!important}ul li.disabled{pointer-events:none}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={model:[{type:t.Input}],filters:[{type:t.Input}],inputFilter:[{type:t.Input}],sort:[{type:t.Input}],limit:[{type:t.Input}],searchPlaceholder:[{type:t.Input}],noResultsLabel:[{type:t.Input}],placeholder:[{type:t.Input}],isSearchActive:[{type:t.Input}],isSearchButtonDisabled:[{type:t.Input}],searchInput:[{type:t.Input}],searchDelay:[{type:t.Input}],searchSubmit:[{type:t.Input}],inputChange:[{type:t.Output}],onSelect:[{type:t.Output}],listChange:[{type:t.Output}],scrolledDown:[{type:t.Output}],templateRef:[{type:t.ContentChild,args:[t.TemplateRef,{static:!1}]}],isSelected:[{type:t.Input}],isDisabled:[{type:t.Input}],ngClass:[{type:t.Input}]},n}(o.OdeComponent);var P=function(e){function n(n){var o=e.call(this,n)||this;return o.model=[],o.noResultsLabel="list.results.no.items",o.readOnly=!1,o.onCheck=new t.EventEmitter,o.listChange=new t.EventEmitter,o.scrolledDown=new t.EventEmitter,o.areAllChecked=function(){return!1},o.isChecked=function(e){return!1},o.isDisabled=function(e){return!1},o.ngClass=function(e){return{}},o.self=o,o._storedElements=[],o}return u(n,e),Object.defineProperty(n.prototype,"storedElements",{get:function(){return this._storedElements},set:function(e){this._storedElements=e,this.listChange.emit(e)},enumerable:!0,configurable:!0}),n.prototype.toggleAll=function(e){var t=this;this.model.forEach((function(n){var o=t.isChecked(n);!t.isDisabled(n)&&(o&&!e||!o&&e)&&t.onCheck.emit({item:n,checked:e})}))},n.decorators=[{type:t.Component,args:[{selector:"ode-list-checkable",template:'<div class="list-checkable-wrapper"\n infiniteScroll\n [scrollWindow]="false"\n (scrolled)="scrolledDown.emit()"\n [infiniteScrollThrottle]="50">\n\n <ul *ngIf="storedElements && storedElements.length === 0">\n <li class="no-results"><span>{{ noResultsLabel | translate }}</span></li>\n </ul>\n \n <ul>\n <li class="select-all" \n [class.checked]="areAllChecked()"\n *ngIf="!readOnly">\n <label>\n <span>{{(areAllChecked() ? \'ux.multiselect.deselect-all\' : \'ux.multiselect.select-all\') | translate}}</span>\n <input type="checkbox" [checked]="areAllChecked()" (change)="toggleAll($event.target.checked)" />\n </label>\n </li>\n\n <li class="lct-list-checkable-item" \n [class.checked]="isChecked(item)"\n [class.disabled]="isDisabled(item)"\n [ngClass]="ngClass(item)"\n *ngFor="let item of model | filter: filters | store:self:\'storedElements\' | orderBy: sort | slice: 0:limit">\n <label>\n <span>\n <ng-template [ngTemplateOutlet]="templateRef" [ngTemplateOutletContext]="{$implicit: item}"></ng-template> \n </span>\n <input *ngIf="!readOnly" type="checkbox" \n [disabled]="isDisabled(item)"\n [checked]="isChecked(item)"\n (change)="onCheck.emit({item:item, checked:$event.target.checked})"/>\n </label>\n </li>\n </ul>\n\n</div>\n',styles:["ul{margin:0;padding:0;font-size:.9em}ul li{border-top:1px solid #ddd;width:-webkit-fill-available;width:-moz-available;display:flex}ul li:not(.checked){color:#939393}ul li.disabled{pointer-events:none}ul li.select-all{background-color:#ff83520a;color:#5b6472}ul li.select-all span{text-align:right}ul li label{cursor:pointer;width:100%;display:flex}ul li label:hover{background-color:#eaedf2}ul li label span{padding:7px 15px;width:100%}ul li label input[type=checkbox]{margin-right:15px;-ms-grid-row-align:center;align-self:center}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={model:[{type:t.Input}],filters:[{type:t.Input}],sort:[{type:t.Input}],limit:[{type:t.Input}],noResultsLabel:[{type:t.Input}],readOnly:[{type:t.Input}],onCheck:[{type:t.Output}],listChange:[{type:t.Output}],scrolledDown:[{type:t.Output}],templateRef:[{type:t.ContentChild,args:[t.TemplateRef,{static:!1}]}],areAllChecked:[{type:t.Input}],isChecked:[{type:t.Input}],isDisabled:[{type:t.Input}],ngClass:[{type:t.Input}]},n}(o.OdeComponent);var j={info:"fa-question-circle",warning:"fa-exclamation-circle",danger:"fa-ban",success:"fa-check-circle"},R=function(e){function n(t,n){var o=e.call(this,n)||this;return o.eltRef=t,o._position="inherit",o.gravity="left",o.hidden=!1,o}return u(n,e),Object.defineProperty(n.prototype,"messages",{get:function(){return this._messages},set:function(e){var t,n;this._messages=[];try{for(var o=f(e),i=o.next();!i.done;i=o.next()){var r=i.value;"string"==typeof r?this._messages.push([r,{}]):"object"==typeof r&&this._messages.push(r)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"position",{set:function(e){this._position=e},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isGravityLeft",{get:function(){return"left"===this.gravity},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isGravityRight",{get:function(){return"right"===this.gravity},enumerable:!0,configurable:!0}),n.prototype.canHide=function(){return"absolute"==this._position},n.prototype.hide=function(){this.hidden=!0,this.hideEvent.emit()},n.prototype.ngOnInit=function(){if(e.prototype.ngOnInit.call(this),null==this.type)throw new Error("MessageSticker : type' property must be set");this.eltRef.nativeElement.style.position=this._position,"absolute"==this._position&&(this.eltRef.nativeElement.style.width="450px",this.eltRef.nativeElement.style.zIndex="10")},n.decorators=[{type:t.Component,args:[{selector:"message-box",template:'<article class="message is-{{type}}" [hidden]="hidden">\n <div *ngIf="header" class="message-header">\n <p>\n <i *ngIf="canHide()" (click)="hide()" class="fa fa-times-circle"></i>\n {{header | translate}}\n </p>\n </div>\n <div class="message-body">\n <i *ngIf="canHide() && !header" (click)="hide()" class="fa fa-times-circle"></i>\n <p *ngFor="let message of messages">\n <s5l [s5l-params]="message[1]">{{message[0]}}</s5l>\n </p>\n </div>\n</article>\n',styles:[":host{font-size:initial;position:inherit;top:-5px}:host.gravity-left{right:-5px}:host.gravity-right{left:-5px}:host .message{border:1px solid}i.fa-times-circle{display:inline-flex;float:right;cursor:pointer;font-weight:700}"]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Injector}]},n.propDecorators={type:[{type:t.Input}],header:[{type:t.Input}],messages:[{type:t.Input}],position:[{type:t.Input}],gravity:[{type:t.Input}],isGravityLeft:[{type:t.HostBinding,args:["class.gravity-left"]}],isGravityRight:[{type:t.HostBinding,args:["class.gravity-right"]}],hideEvent:[{type:t.Output,args:["onHide"]}]},n}(o.OdeComponent);var F=function(){function e(e,t){this.type=e,this.data=t}return e.prototype.assignData=function(e){return Object.assign(this.data,e),this},e}();var M=function(){function e(e,t){this.viewContainerRef=e,this.componentFactoryResolver=t}return e.prototype.load=function(e){var t=this;if(!this.isLoaded()){var n=this.componentFactoryResolver.resolveComponentFactory(this.componentDesc.type);for(var o in this.viewContainerRef.clear(),this.componentRef=this.viewContainerRef.createComponent(n),null!=e&&this.componentDesc.assignData(e),this.componentDesc.data)this.componentRef.instance[o]=this.componentDesc.data[o],"hideEvent"==o&&this.componentRef.instance.hideEvent.subscribe((function(e){t.destroy()}))}},e.prototype.isLoaded=function(){return null!=this.componentRef&&null!=this.componentRef.instance},e.prototype.destroy=function(){null!=this.componentRef.instance.hideEvent&&this.componentRef.instance.hideEvent.unsubscribe(),delete this.componentRef,this.viewContainerRef.clear()},e.decorators=[{type:t.Directive,args:[{selector:"[dynamic-component]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.ComponentFactoryResolver}]},e.propDecorators={componentDesc:[{type:t.Input,args:["dynamic-component"]}]},e}();var T=function(e){function n(t){var n=e.call(this,t)||this;return n.gravity="left",n.icons=j,n}return u(n,e),n.prototype.ngOnInit=function(){if(e.prototype.ngOnInit.call(this),void 0===this.type)throw new Error("MessageSticker : type' property must be set")},n.prototype.newMessageBox=function(){return new F(R,{type:this.type,header:this.header,messages:this.messages,position:"absolute",gravity:this.gravity,hideEvent:new t.EventEmitter})},n.prototype.loadMessageBox=function(){this.dComponent.load()},n.decorators=[{type:t.Component,args:[{selector:"ode-message-sticker",template:'<i (click)="loadMessageBox()" class="fa {{icons[type]}} is-{{type}}"></i>\n<span message-box-anchor>\n <ng-container [dynamic-component]="newMessageBox()"></ng-container>\n </span>\n',styles:[":host{display:inline;padding-left:.2em}span[message-box-anchor]{position:absolute;z-index:8}i{cursor:pointer}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={type:[{type:t.Input}],header:[{type:t.Input}],messages:[{type:t.Input}],gravity:[{type:t.Input}],dComponent:[{type:t.ViewChild,args:[M,{static:!1}]}]},n}(o.OdeComponent);var A=function(e){function n(t,n){var o=e.call(this,n)||this;return o.elementRef=t,o.placeholder="monoselect.placeholder.default",o.options=[],o.translateOptions=!0,o.opened=!1,o.selectedOption=null,o.disabled=!1,o.onChange=function(e){},o.onTouched=function(){},o}return u(n,e),n.prototype.optionClicked=function(e){this.selectedOption=e,this.opened=!1,this.onChange(null!=this.selectedOption?this.selectedOption.value:null)},n.prototype.onClickOnDocument=function(e){return this.opened&&!this.elementRef.nativeElement.querySelector(".lct-form-select").contains(e.target)&&(this.opened=!1),!0},n.prototype.onClickOnHost=function(){this.opened||this.disabled?this.opened=!1:this.opened=!0},n.prototype.registerOnChange=function(e){this.onChange=e},n.prototype.registerOnTouched=function(e){this.onTouched=e},n.prototype.setDisabledState=function(e){this.disabled=e},n.prototype.writeValue=function(e){this.selectedOption=this.options.find((function(t){return t.value===e})),this.onChange(this.selectedOption?this.selectedOption.value:null)},n.decorators=[{type:t.Component,args:[{selector:"ode-mono-select",template:'<div class="form-select lct-form-select" [ngClass]="{\'form-select--opened\': opened, \'form-select--disabled\': disabled}">\n <ul>\n <li class="form-select__options--selected lct-form-select__options--selected">\n <strong>{{selectedOption ? ((translateOptions == true) ? (selectedOption.label | translate) : selectedOption.label) : (placeholder | translate)}}</strong>\n <ul class="form-select__list lct-form-select__list" *ngIf="opened">\n <li class="form-select__options lct-form-select__options"\n (click)="$event.stopPropagation(); optionClicked()">{{placeholder | translate}}</li>\n <li class="form-select__options lct-form-select__options"\n *ngFor="let option of options"\n (click)="$event.stopPropagation(); optionClicked(option)">{{(translateOptions == true) ? (option.label | translate) : option.label}}</li>\n </ul>\n </li>\n </ul>\n</div>\n',providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return n})),multi:!0}],host:{"(document:click)":"onClickOnDocument($event)","(click)":"onClickOnHost()"}}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Injector}]},n.propDecorators={placeholder:[{type:t.Input}],options:[{type:t.Input}],trackByFn:[{type:t.Input}],translateOptions:[{type:t.Input}],disabled:[{type:t.Input}]},n}(o.OdeComponent);var z=function(e){function n(n,o,i){var r=e.call(this,i)||this;return r._eref=n,r.labelsService=o,r.filteredModel=[],r.title="Select",r.reverse=!1,r.disabled=!1,r.onSelectItem=new t.EventEmitter,r.onDeselectItem=new t.EventEmitter,r.filteredModelChange=new t.EventEmitter,r.onOpen=new t.EventEmitter,r.onClose=new t.EventEmitter,r.self=r,r._comboModel=[],r.filteredComboModel=[],r.search={input:"",reset:function(){this.input=""}},r.show=!1,r}return u(n,e),Object.defineProperty(n.prototype,"comboModel",{set:function(e){if(this._comboModel=e,e)for(var t=0;t<this.filteredModel.length;t++){var n=e.indexOf(this.filteredModel[t]);n<0&&(this.filteredModel.splice(n,1),t--)}else this.filteredModel=[]},enumerable:!0,configurable:!0}),n.prototype.labels=function(e){return this.labelsService.getLabel(e)},n.prototype.toggleVisibility=function(){this.show=!this.show,this.show?(this.search.reset(),this.onOpen.emit()):this.onClose.emit()},n.prototype.isSelected=function(e){return this.filteredModel&&this.filteredModel.indexOf(e)>=0},n.prototype.isDisabled=function(){return this.filteredModel&&this.maxSelected&&this.maxSelected<=this.filteredModel.length},n.prototype.toggleItem=function(e){var t=this.filteredModel.indexOf(e);t>=0?(this.filteredModel.splice(t,1),this.onDeselectItem.emit(e)):(!this.maxSelected||this.filteredModel.length<this.maxSelected)&&(this.filteredModel.push(e),this.onSelectItem.emit(e)),this.filteredModelChange.emit(this.filteredModel)},n.prototype.selectAll=function(){this.filteredModel=[];for(var e=0;e<this.filteredComboModel.length;e++)this.filteredModel.push(this.filteredComboModel[e]);this.filteredModelChange.emit(this.filteredModel)},n.prototype.deselectAll=function(){this.filteredModel=[],this.filteredModelChange.emit(this.filteredModel)},n.prototype.displayItem=function(e){return e instanceof Object?this.display&&"string"==typeof this.display?e[this.display]:e.toString():this.display&&this.display instanceof Function?this.display(e||""):e},n.prototype.onClick=function(e){return this.show&&!this._eref.nativeElement.contains(e.target)&&this.toggleVisibility(),!0},n.prototype.getFilter=function(){if(!this.filter)return"";var e="";return this._comboModel.length>0&&("string"==typeof this._comboModel[0]?e=this.search.input:(e={})[this.filter]=this.search.input),e},n.decorators=[{type:t.Component,args:[{selector:"ode-multi-combo",template:'<button (click)="toggleVisibility()"\n [ngClass]="{ opened: show }"\n [disabled]="disabled"\n type="button">\n {{ title }}\n</button>\n<div [ngClass]="{ hidden: !show }">\n <div class="options">\n <button class="select-all" (click)="selectAll()" *ngIf="!maxSelected"\n [title]="labels(\'select.all\')" type="button">{{ labels(\'select.all\') }}</button>\n <button class="deselect-all" (click)="deselectAll()"\n [title]="labels(\'deselect.all\')" type="button">{{ labels(\'deselect.all\') }}</button>\n </div>\n <div *ngIf="filter" class="filter">\n <ode-search-input (onChange)="search.input = $event" [attr.placeholder]="labels(\'search\')"></ode-search-input>\n </div>\n <ul>\n <li *ngFor="let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:\'filteredComboModel\'"\n (click)="toggleItem(item)"\n [ngClass]="{ selected: isSelected(item) }"\n [attr.disabled]="isDisabled()">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n',host:{"(document:click)":"onClick($event)"},styles:[":host{position:relative}:host>button{min-width:150px}:host>div{position:absolute;z-index:2;left:0;overflow:hidden;background:#fff;border:2px solid #000}:host>div.hidden{max-height:0;border-width:0}:host>div>div.options>*{display:inline-block;vertical-align:middle}:host>div>div.filter{margin:10px 0;width:100%;position:relative}:host>div>div.filter input{width:100%}:host>div>ul{list-style:none;padding:0;overflow-y:auto;max-height:200px}:host>div>ul>li{white-space:nowrap;cursor:pointer}:host>div>ul>li:not(.selected)[disabled=true]{pointer-events:none}"]}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:v},{type:t.Injector}]},n.propDecorators={comboModel:[{type:t.Input}],filteredModel:[{type:t.Input,args:["outputModel"]}],title:[{type:t.Input}],display:[{type:t.Input}],filter:[{type:t.Input}],orderBy:[{type:t.Input}],reverse:[{type:t.Input}],maxSelected:[{type:t.Input,args:["max"]}],disabled:[{type:t.Input}],onSelectItem:[{type:t.Output}],onDeselectItem:[{type:t.Output}],filteredModelChange:[{type:t.Output,args:["outputModelChange"]}],onOpen:[{type:t.Output}],onClose:[{type:t.Output}]},n}(o.OdeComponent);var L=function(e){function n(t,n){var o=e.call(this,t)||this;return o.elementRef=n,o.label="",o.options=[],o.preview=!1,o.model=[],o.isDisabled=!1,o.isOptionsVisible=!1,o.onChange=function(e){},o.onTouched=function(){},o}return u(n,e),n.prototype.optionClicked=function(e){if(this.model){var t=this.getIndexOfOptionInModel(e);t<0?this.model.push(e.value):this.model.splice(t,1)}else this.model=[e.value];this.onChange(this.model)},n.prototype.selectAll=function(){var e=this;this.options.forEach((function(t){e.model.includes(t.value)||e.model.push(t.value)})),this.onChange(this.model)},n.prototype.deselectAll=function(){this.model=[],this.onChange(this.model)},n.prototype.toggleOptionsVisibility=function(){this.isOptionsVisible=!this.isOptionsVisible},n.prototype.isSelected=function(e){return!!this.model&&this.getIndexOfOptionInModel(e)>=0},n.prototype.closeIfOpened=function(e){return!this.isOptionsVisible||this.elementRef.nativeElement.querySelector(".lct-multi-select__options-container").contains(e.target)||this.elementRef.nativeElement.querySelector(".lct-multi-select__toggle").contains(e.target)||(this.isOptionsVisible=!1),!0},n.prototype.getIndexOfOptionInModel=function(e){return this.model.map(this.trackByFn).indexOf(this.trackByFn(e.value))},n.prototype.registerOnChange=function(e){this.onChange=e},n.prototype.registerOnTouched=function(e){this.onTouched=e},n.prototype.setDisabledState=function(e){this.isDisabled=e},n.prototype.writeValue=function(e){this.model=e,this.onChange(this.model)},n.decorators=[{type:t.Component,args:[{selector:"ode-multi-select",template:'<button type="button"\n (click)="toggleOptionsVisibility()" [disabled]="isDisabled"\n class="multi-select__toggle lct-multi-select__toggle"\n [ngClass]="{\'multi-select__toggle--active\': isOptionsVisible}">{{label | translate}}</button>\n<div class="multi-select__options-container lct-multi-select__options-container"\n [ngClass]="{\'multi-select__options-container--active\': isOptionsVisible}">\n <div class="multi-select__options-actions">\n <button type="button"\n class="multi-select__options-actions-item"\n (click)="selectAll()">{{\'ux.multiselect.select-all\' | translate}}</button>\n <button type="button"\n class="multi-select__options-actions-item"\n (click)="deselectAll()">{{\'ux.multiselect.deselect-all\' | translate}}</button>\n </div>\n <ul class="multi-select__options lct-multi-select__options">\n <li class="multi-select__options-item lct-multi-select__options-item"\n *ngFor="let option of options"\n (click)="optionClicked(option)"\n [ngClass]="{\'multi-select__options-item--selected\': isSelected(option)}">{{option.label | translate}}</li>\n </ul>\n</div>\n<div class="multi-select__options-preview lct-multi-select__options-preview" *ngIf="preview">\n <ng-container *ngFor="let option of options">\n <button *ngIf="isSelected(option)"\n type="button"\n class="multi-select__options-preview-item lct-multi-select__options-preview-item"\n (click)="optionClicked(option)">\n <span>{{option.label | translate}}</span>\n <i class="multi-select__options-preview-item-delete-icon fa fa-trash is-size-5"></i>\n </button>\n </ng-container>\n</div>\n',providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return n})),multi:!0}],host:{"(document:click)":"closeIfOpened($event)"},styles:['@charset "UTF-8";:host{position:relative}.multi-select__toggle{min-width:210px;outline:0;background-color:#f2f2f2}.multi-select__toggle:after{content:"▼";float:right;margin-left:10px;transition:transform .25s,color .25s}.multi-select__toggle:hover:after{color:#fff}.multi-select__toggle.multi-select__toggle--active,.multi-select__toggle:hover{background-color:#ff8352;color:#fff}.multi-select__toggle.multi-select__toggle--active:after{transform:rotate(180deg);color:#fff}.multi-select__options-container{display:none;position:absolute;z-index:2;left:1px;top:31px;overflow:hidden;background:#fff;border:1px solid #ddd;padding:0 10px 0 20px;min-width:160px}.multi-select__options-container.multi-select__options-container--active{display:block}.multi-select__options{list-style:none;padding:0;overflow-y:scroll;max-height:200px;margin-bottom:10px}.multi-select__options-item{white-space:nowrap;cursor:pointer;line-height:25px;font-size:13px;transition:background-color .25s,color .25s;margin-bottom:5px;padding:0 10px}.multi-select__options-item.multi-select__options-item--selected{color:#fff;background-color:#217b9e}.multi-select__options-preview{color:#fff;margin:10px 0}.multi-select__options-preview-item{border:1px solid #217b9e;display:inline-block;font-size:.8em;margin-right:10px;margin-bottom:10px;padding:10px;cursor:pointer;transition:.25s;border-radius:3px;background-color:#217b9e;line-height:1.5em;color:#fff}.multi-select__options-preview-item:hover{background-color:#61bbde;border-color:#fff}.multi-select__options-preview-item-delete-icon{opacity:0;transition:opacity .25s;float:right;padding-left:10px}.multi-select__options-preview-item:hover .multi-select__options-preview-item-delete-icon{opacity:1}.multi-select__options-actions{margin-top:10px}.multi-select__options-actions-item{margin-bottom:3px;min-width:136px}.multi-select__options-actions-item:hover{background:#ffccb8}']}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef}]},n.propDecorators={label:[{type:t.Input}],options:[{type:t.Input}],preview:[{type:t.Input}],trackByFn:[{type:t.Input}]},n}(o.OdeComponent);var B=function(e){function n(t){var n=e.call(this,t)||this;return n.folded=null,n}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-panel-section",template:'<section class="panel-section">\n <div class="panel-section-header is-display-flex has-space-between" (click)="folded !== null ? folded=!folded : null" [class.foldable]="folded !== null">\n <div class="is-display-flex">\n <s5l>{{ sectionTitle }}</s5l>\n <div class="has-left-padding-10">\n <ng-content select="[panel-section-header-icons]"></ng-content>\n </div>\n </div>\n\n <i class="opener" *ngIf="folded !== null"\n [class.opened]="!folded"></i>\n </div>\n <div class="panel-section-content" *ngIf="!folded">\n <ng-content></ng-content>\n </div>\n</section>\n',styles:[".panel-section-header{font-size:1.1em;padding:10px}.panel-section-header.foldable{cursor:pointer}.panel-section-content{padding:15px}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={sectionTitle:[{type:t.Input,args:["section-title"]}],folded:[{type:t.Input}]},n}(o.OdeComponent);var V=function(e){function n(t){return e.call(this,t)||this}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-portal",template:'<header>\n <ng-content select="[header-left]"></ng-content>\n <ng-content select="[header-middle]"></ng-content>\n <ng-content select="[header-right]"></ng-content>\n</header>\n<section>\n <ng-content select="[section]"></ng-content>\n</section>\n<footer>\n <ng-content select="[footer]"></ng-content>\n</footer>\n',styles:["header{position:relative;display:flex;align-items:center;top:0;width:100%}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n}(o.OdeComponent),$=function(e){function n(n){var o=e.call(this,n)||this;return o.onClose=new t.EventEmitter,o}return u(n,e),Object.defineProperty(n.prototype,"toggle",{set:function(e){this._opened=e},enumerable:!0,configurable:!0}),n.prototype.onClick=function(e){var t=this.opener&&this.opener.contains&&this.opener.contains(e.target)||this.opener.nativeElement&&this.opener.nativeElement.contains(e.target);return!this._opened||this.inside.nativeElement.contains(e.target)||t||(this._opened=!1,this.onClose.emit()),!0},n.decorators=[{type:t.Component,args:[{selector:"ode-push-panel",template:'<div [ngClass]="{ opened: _opened }" #inside>\n <ng-content select="[inside]"></ng-content>\n</div>\n<div>\n <ng-content select="[companion]"></ng-content>\n</div>\n',host:{"(document:click)":"onClick($event)"},styles:[":host>div:nth-child(1){position:fixed;z-index:10;overflow-x:hidden;overflow-y:scroll;height:100%;top:0;left:-30%;width:30%;transition:transform .25s}:host>div:nth-child(1).opened{transform:translateX(100%)}:host>div:nth-child(2){position:relative;left:0;opacity:1;transition:transform .25s,opacity .25s}:host>div:nth-child(1).opened+div{opacity:.7;transform:translateX(30%);overflow-x:hidden}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={toggle:[{type:t.Input}],opener:[{type:t.Input}],onClose:[{type:t.Output}],inside:[{type:t.ViewChild,args:["inside",{static:!1}]}]},n}(o.OdeComponent);var N=function(e){function o(o,i,r){var s=e.call(this,o)||this;return s._elRef=i,s._renderer=r,s.isSearchActive=!1,s.isSearchButtonDisabled=!1,s.searchInput=!1,s._delay=200,s.onChange=new t.EventEmitter,s.$searchTerms=new n.Subject,s}return u(o,e),Object.defineProperty(o.prototype,"delay",{get:function(){return this._delay},set:function(e){var t=this;this._delay=e,this.observable=this.$searchTerms.pipe(l.debounceTime(this.delay),l.distinctUntilChanged()),this.observer&&this.observer.unsubscribe(),this.observer=this.observable.subscribe((function(e){t.onChange.emit(e)}))},enumerable:!0,configurable:!0}),o.prototype.evalAttributes=function(){var e=this._elRef.nativeElement;if(e&&this.searchBox)for(var t=0;t<e.attributes.length;t++){var n=e.attributes[t];this._renderer.setAttribute(this.searchBox.nativeElement,n.name,n.value)}},o.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.observable||(this.observable=this.$searchTerms.pipe(l.debounceTime(this.delay),l.distinctUntilChanged()),this.observer=this.observable.subscribe((function(e){t.onChange.emit(e)}))),setTimeout((function(){return t.evalAttributes()}),20)},o.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.observer.unsubscribe()},o.prototype.search=function(e){this.$searchTerms.next(e)},o.prototype.handleSubmit=function(){this.searchSubmit()},o.decorators=[{type:t.Component,args:[{selector:"ode-search-input",template:'<form\n class="search-container"\n (ngSubmit)="searchInput && handleSubmit()">\n <input\n #searchBox\n class="search-input"\n name="searchTerm"\n type="search"\n (input)="search(searchBox.value)" />\n <button class="search-button" *ngIf="searchInput" [attr.disabled]="isSearchButtonDisabled ? true : null">\n <i class="fa fa-search is-size-4 search-icon"></i>\n </button>\n</form>\n\n\x3c!-- <input *ngIf="!searchInput" type="search" #searchBox (input)="search(searchBox.value)"/> --\x3e',styles:[":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]}]}],o.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef},{type:t.Renderer2}]},o.propDecorators={isSearchActive:[{type:t.Input}],isSearchButtonDisabled:[{type:t.Input}],searchInput:[{type:t.Input}],searchSubmit:[{type:t.Input}],delay:[{type:t.Input}],onChange:[{type:t.Output}],searchBox:[{type:t.ViewChild,args:["searchBox",{static:!1}]}]},o}(o.OdeComponent);var U=function(e){function n(n){var o=e.call(this,n)||this;return o.showCompanion=!1,o.close=new t.EventEmitter,o}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-side-layout",template:'<div class="side-layout">\n <div class="side-card">\n <ng-content select="[side-card]"></ng-content>\n </div>\n <div class="side-companion" *ngIf="showCompanion">\n <ng-content select="[side-companion]"></ng-content>\n </div>\n</div>\n',styles:["div.side-layout{display:flex;flex-wrap:nowrap;align-items:flex-start}div.side-card{flex:400px 0 0;position:relative}div.side-companion{flex:1;position:relative;margin-left:25px}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={showCompanion:[{type:t.Input}],close:[{type:t.Output,args:["closeCompanion"]}]},n}(o.OdeComponent);var H=function(e){function n(n,o){var i=e.call(this,n)||this;return i.elementRef=o,i.onClose=new t.EventEmitter,i}return u(n,e),Object.defineProperty(n.prototype,"toggle",{set:function(e){this.opened=e},enumerable:!0,configurable:!0}),n.prototype.onClick=function(e){var t=this.opener&&this.opener.contains&&this.opener.contains(e.target)||this.opener.nativeElement&&this.opener.nativeElement.contains(e.target);return!this.opened||this.elementRef.nativeElement.contains(e.target)||t||(this.opened=!1,this.onClose.emit()),!0},n.decorators=[{type:t.Component,args:[{selector:"ode-side-panel",template:'<div [ngClass]="{ opened: opened }">\n <ng-content></ng-content>\n</div>\n',host:{"(document:click)":"onClick($event)"},styles:["div{position:fixed;z-index:10;overflow-x:hidden;overflow-y:scroll;top:0;left:-30%;width:30%;transition:transform .25s}div.opened{transform:translateX(100%)}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef}]},n.propDecorators={toggle:[{type:t.Input}],opener:[{type:t.Input}],onClose:[{type:t.Output}]},n}(o.OdeComponent);var q=function(e){function n(t,n){var o=e.call(this,t)||this;return o.spinner=n,o}return u(n,e),Object.defineProperty(n.prototype,"loadingProp",{get:function(){return this._loadingProp},set:function(e){this._loadingProp=e},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.subscriptions.add(this.spinner.trigger.subscribe((function(){t.changeDetector.markForCheck()})))},n.decorators=[{type:t.Component,args:[{selector:"ode-spinner-cube",changeDetection:t.ChangeDetectionStrategy.OnPush,template:'<div class="spinner-wrapper" *ngIf="spinner.isLoading(loadingProp)">\n <div class="spinner-cube">\n <div class="sk-cube sk-cube1"></div>\n <div class="sk-cube sk-cube2"></div>\n <div class="sk-cube sk-cube3"></div>\n <div class="sk-cube sk-cube4"></div>\n <div class="sk-cube sk-cube5"></div>\n <div class="sk-cube sk-cube6"></div>\n <div class="sk-cube sk-cube7"></div>\n <div class="sk-cube sk-cube8"></div>\n <div class="sk-cube sk-cube9"></div>\n </div>\n</div>\n',styles:["div.spinner-wrapper{position:fixed;width:100%;height:100%;pointer-events:all;display:flex;justify-content:center;align-items:center}div.spinner-cube{width:20vh;height:20vh}div.sk-cube{width:33%;height:33%;float:left;-webkit-animation:1.3s ease-in-out infinite sk-cubeGridScaleDelay;animation:1.3s ease-in-out infinite sk-cubeGridScaleDelay}div.sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}div.sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}div.sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}div.sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}div.sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}div.sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}div.sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}div.sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}div.sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:b}]},n.propDecorators={loadingProp:[{type:t.Input,args:["waitingFor"]}]},n}(o.OdeComponent);var W=function(e){function n(n,o){var i=e.call(this,n)||this;return i.bundles=o,i.offsetChange=new t.EventEmitter,i.translate=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(e=i.bundles).translate.apply(e,m(t))},i}return u(n,e),n.prototype.ngOnInit=function(){},n.prototype.previousPage=function(){this.offset-this.limit>=0?this.offset=this.offset-this.limit:this.offset=0,this.offsetChange.emit(this.offset)},n.prototype.nextPage=function(){this.offset+this.limit<=this.total&&(this.offset=this.offset+this.limit),this.offsetChange.emit(this.offset)},n.prototype.offsetLimit=function(){return this.offset+this.limit<this.total?this.offset+this.limit:this.total},n.decorators=[{type:t.Component,args:[{selector:"ode-pager",template:'<strong><s5l>pager.page</s5l></strong>\n<a class="button" [ngClass]="{\'is-hidden\': offset - limit < 0}" (click)="previousPage()">\n <i class="fa fa-chevron-left"></i> <s5l>pager.page.previous</s5l>\n</a>\n<span>{{"pager.position" | translate : {offset : offset+1, offsetLimit:offsetLimit(), total:total} }}</span>\n<a class="button" [ngClass]="{\'is-hidden\': offset + limit > total}" (click)="nextPage()">\n <s5l>pager.page.next</s5l> <i class="fa fa-chevron-right"></i>\n</a>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:["\n i {cursor: pointer; padding: 0 2px;}\n "]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:a.BundlesService}]},n.propDecorators={limit:[{type:t.Input}],offset:[{type:t.Input}],offsetChange:[{type:t.Output}],total:[{type:t.Input}]},n}(o.OdeComponent);var G=function(e){function n(t,n,o){var i=e.call(this,t)||this;return i.ref=n,i.renderer=o,i.position="bottom",i.offset=5,i.onTransitionEnd=function(){i.tooltipElt&&!i.tooltipElt.classList.contains("shown")&&(i.tooltipElt.parentNode.removeChild(i.tooltipElt),i.tooltipElt=null)},i}return u(n,e),n.prototype.onMouseEnter=function(){this.renderer;if(!this.tooltipElt){this.tooltipElt=this.renderer.createElement("div");var e=this.renderer.createText(this.tooltipContents);this.renderer.appendChild(this.tooltipElt,e),this.renderer.addClass(this.tooltipElt,"tooltip"),this.renderer.appendChild(document.getElementsByTagName("body")[0],this.tooltipElt)}var t=this.tooltipElt,n=this.getPosition(this.ref.nativeElement,t,this.position);for(var o in n)this.renderer.setStyle(t,o,n[o]+"px");this.renderer.addClass(t,"shown")},n.prototype.onMouseLeave=function(){var e=this.tooltipElt&&parseFloat(window.getComputedStyle(this.tooltipElt)["transition-duration"]);this.renderer.removeClass(this.tooltipElt,"shown"),setTimeout(this.onTransitionEnd,1e3*e)},n.prototype.getPosition=function(e,t,n){var o,i,r=e.getBoundingClientRect().top+window.scrollY,s=e.getBoundingClientRect().left+window.scrollX;switch(n){case"top":i=r-t.offsetHeight-this.offset,o=s+e.offsetWidth/2-t.offsetWidth/2;break;case"left":i=r+e.offsetHeight/2-t.offsetHeight/2,o=s-t.offsetWidth-this.offset;break;case"right":i=r+e.offsetHeight/2-t.offsetHeight/2,o=s+e.offsetWidth+this.offset;break;case"bottom":default:i=r+e.offsetHeight+this.offset,o=s+e.offsetWidth/2-t.offsetWidth/2}return o<0&&(o=s+e.offsetWidth+this.offset),i<0&&(i=r+e.offsetHeight+this.offset),o+t.offsetWidth>=window.pageXOffset+window.innerWidth&&(o=s-t.offsetWidth-this.offset),i-t.offsetHeight>=window.pageYOffset+window.innerHeight&&(i=r-t.offsetHeight-this.offset),{top:i<5?5:i,left:o<5?5:o}},n.prototype.ngOnDestroy=function(){this.tooltipElt&&(this.tooltipElt.parentNode.removeChild(this.tooltipElt),this.tooltipElt=null)},n.decorators=[{type:t.Component,args:[{selector:"[tooltip]",template:"<ng-content></ng-content>",host:{"(mouseenter)":"onMouseEnter()","(mouseleave)":"onMouseLeave()"},styles:["body>div.tooltip{position:absolute;z-index:100}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:t.ElementRef},{type:t.Renderer2}]},n.propDecorators={tooltipContents:[{type:t.Input,args:["tooltip"]}],position:[{type:t.Input}],offset:[{type:t.Input}]},n}(o.OdeComponent);var X=function(e){function n(n,o){var i=e.call(this,n)||this;return i.inputFileService=o,i.upload=new t.EventEmitter,i.invalidUpload=new t.EventEmitter,i}return u(n,e),n.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.multiple=this.maxFilesNumber>1},n.prototype.onChange=function(e){var t=this;e.target&&this.inputFileService.validateFiles(e.target.files,this.maxFilesNumber,this.allowedExtensions).subscribe((function(e){return t.upload.emit(e)}),(function(e){return t.invalidUpload.emit(e)}))},n.prototype.onClickDropzoneInput=function(e){e.stopPropagation(),this.inputFileRef.nativeElement.click()},n.prototype.onDragAndDrop=function(e){this.upload.emit(e)},n.prototype.onInvalidDragAndDrop=function(e){this.invalidUpload.emit(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-upload-files",template:'<div class="upload-files-dropzone"\n dragAndDropFiles\n [allowedExtensions]="allowedExtensions"\n [maxFilesNumber]="maxFilesNumber"\n [disabled]="disabled"\n (dragAndDrop)="onDragAndDrop($event)"\n (invalidDragAndDrop)="onInvalidDragAndDrop($event)">\n <div *ngIf="fileSrc" class="upload-files-dropzone-image">\n <img src="{{ fileSrc }}"\n *ngIf="inputFileService.isSrcExternalUrl(fileSrc)"\n class="upload-files-dropzone-image__image"/>\n <img src="{{ fileSrc }}"\n *ngIf="inputFileService.isSrcWorkspace(fileSrc)"\n class="upload-files-dropzone-image__image"/>\n <i class="upload-files-dropzone-image__icon {{ fileSrc }}"\n *ngIf="!inputFileService.isSrcExternalUrl(fileSrc)\n && !inputFileService.isSrcWorkspace(fileSrc)"></i>\n </div>\n\n <div class="upload-files-dropzone-input" *ngIf="!disabled">\n <button class="confirm upload-files-dropzone-input__button"\n (click)="onClickDropzoneInput($event)">\n <s5l>ux.upload-files.button.label</s5l>\n </button>\n <i class="upload-files-dropzone-input__icon fa fa-cloud-upload fa-2x">\n </i>\n <span class="upload-files-dropzone-input__help">\n <s5l>ux.upload-files.button.help</s5l>\n </span>\n <input *ngIf="multiple === true else singleFileInput"\n class="upload-files-dropzone-input__input"\n type="file"\n (change)="onChange($event)"\n multiple\n #inputFileRef>\n <ng-template #singleFileInput>\n <input class="upload-files-dropzone-input__input"\n type="file"\n (change)="onChange($event)"\n #inputFileRef>\n </ng-template>\n </div>\n</div>\n',styles:[".upload-files-dropzone{display:flex;align-items:center;justify-content:center;min-height:150px;margin:20px;padding:20px 10px;background-color:#fafafa;border:2px dashed #ddd;border-radius:5px}.upload-files-dropzone-image{display:flex;align-items:center;justify-content:center;width:120px;height:120px}.upload-files-dropzone-image__image{max-height:90%;max-width:90%}.upload-files-dropzone-image__icon{font-size:5em}.upload-files-dropzone-input{display:flex;align-items:center;background-color:#fff;border-radius:5px;box-shadow:1px 1px 5px rgba(0,0,0,.3);padding:10px;margin:0 40px 0 20px}.upload-files-dropzone-input__input{display:none}.upload-files-dropzone-input__icon{margin-left:10px}.upload-files-dropzone-input__help{margin-left:10px;font-style:italic}"]}]}],n.ctorParameters=function(){return[{type:t.Injector},{type:y}]},n.propDecorators={fileSrc:[{type:t.Input}],allowedExtensions:[{type:t.Input}],maxFilesNumber:[{type:t.Input}],disabled:[{type:t.Input}],upload:[{type:t.Output}],invalidUpload:[{type:t.Output}],inputFileRef:[{type:t.ViewChild,args:["inputFileRef",{static:!1}]}]},n}(o.OdeComponent);var Y=function(e){function n(n){var o=e.call(this,n)||this;return o.selectChange=new t.EventEmitter,o}return u(n,e),n.decorators=[{type:t.Component,args:[{selector:"ode-simple-select",template:'<select [ngModel]="model[selected]" (ngModelChange)="model[selected] = $event; selectChange.emit($event)">\n\n<option *ngIf="ignoreOption.length > 0 " [ngValue]="ignoreOption[0].value">\n {{ignoreOption[0].label}}\n</option>\n<option *ngFor="let option of options | orderBy: \'label\'" [ngValue]="option.value">\n {{option.label}}\n</option>\n</select>\n',changeDetection:t.ChangeDetectionStrategy.OnPush}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={selected:[{type:t.Input}],model:[{type:t.Input}],options:[{type:t.Input}],ignoreOption:[{type:t.Input}],selectChange:[{type:t.Output}]},n}(o.OdeComponent);var K=function(){function e(){this.hasError=!1,this.isFinished=!1}return e.decorators=[{type:t.Component,args:[{selector:"ode-step",template:"<ng-content></ng-content>",styles:["\n :host {\n display: none;\n overflow: auto;\n padding : 1em;\n }\n :host.active {\n display: block;\n }\n "]}]}],e.propDecorators={name:[{type:t.Input}],isActived:[{type:t.Input}]},e}();var J=function(e){function n(n){var o=e.call(this,n)||this;return o.cancel=new t.EventEmitter,o.previousStep=new t.EventEmitter,o.nextStep=new t.EventEmitter,o.canDoNext=!0,o.activeStep=0,o}return u(n,e),n.prototype.doCancel=function(){this.activeStep=0,this.steps.forEach((function(e,t){e.isActived=0===t})),this.canDoNext=!0},n.prototype.onPreviousStep=function(){this.previousStep.emit(this.activeStep)},n.prototype.doPreviousStep=function(){this.activeStep>0&&(this.steps.toArray()[this.activeStep].isActived=!1,this.steps.toArray()[this.activeStep-1].isActived=!0,this.activeStep--,this.canDoNext=!0)},n.prototype.onNextStep=function(){this.nextStep.emit(this.activeStep)},n.prototype.doNextStep=function(e){this.activeStep<this.steps.length-1&&(this.canDoNext=!e,this.steps.toArray()[this.activeStep].isActived=!1,this.steps.toArray()[this.activeStep+1].isActived=!0,this.activeStep++)},n.prototype.ngAfterContentInit=function(){if(e.prototype.ngAfterContentInit.call(this),0===this.steps.length)throw new Error("<wizard> component musts nest at least 1 <step> compoent")},n.decorators=[{type:t.Component,args:[{selector:"ode-wizard",template:'\n <div class="wizard">\n <nav class="wizard-menu">\n <h2 class="wizard-menu__title"><s5l>wizard.steps</s5l></h2>\n <ul>\n <li *ngFor="let step of steps"\n [class.active]="step.isActived"\n [class.finish]="step.isFinished">\n {{step.name}}\n </li>\n </ul>\n </nav>\n <section class="wizard-content">\n <ng-content select="ode-step"></ng-content>\n <nav class="wizard-content-nav" *ngIf="activeStep < steps.length - 1">\n <button class="wizard-content-nav__button cancel"\n (click)="cancel.emit()"\n [title]="\'cancel\' | translate">\n {{ \'cancel\' | translate }}\n </button>\n <button class="wizard-content-nav__button previous"\n (click)="onPreviousStep()"\n *ngIf="activeStep > 0"\n [title]="\'previous\' | translate">\n {{ \'wizard.previous\' | translate }}\n </button>\n <button class="wizard-content-nav__button wizard-content-nav__button--next"\n (click)="onNextStep()"\n [disabled]="!canDoNext"\n [title]="\'next\' | translate">\n {{ \'wizard.next\' | translate }}\n </button>\n </nav>\n </section>\n </div>\n ',styles:["\n .wizard {\n display: flex;\n }\n .wizard-menu {\n background: #5b6472;\n flex: 0 0 240px;\n }\n .wizard-menu ul {\n padding: 10px 30px;\n }\n .wizard-menu ul li {\n color: #eaedf2;\n list-style-type: none;\n padding: 5px 0;\n }\n .wizard-menu ul li.active,\n .wizard-menu ul li.finish {\n font-weight: bold;\n color: white;\n }\n .wizard-menu ul li.finish {\n color: green;\n }\n .wizard-menu__title {\n font-weight: bold;\n font-size: 1.2em;\n color: white;\n padding: 25px 0 0 10px;\n }\n .wizard-content {\n background: #fff;\n flex: auto;\n }\n .wizard-content-nav {\n text-align : right;\n }\n .wizard-content-nav__button {\n margin: 10px 0;\n }\n .wizard-content-nav__button--next {\n margin-right: 16px;\n }\n "]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={cancel:[{type:t.Output}],previousStep:[{type:t.Output}],nextStep:[{type:t.Output}],steps:[{type:t.ContentChildren,args:[K]}]},n}(o.OdeComponent);var Q=function(){function e(){this.offset=50}return e.prototype.onClick=function(){var e=document.getElementById(this.anchor);window.scrollBy(0,e.getBoundingClientRect().top-this.offset)},e.decorators=[{type:t.Directive,args:[{selector:"[anchor]"}]}],e.propDecorators={anchor:[{type:t.Input,args:["anchor"]}],offset:[{type:t.Input,args:["offset"]}],onClick:[{type:t.HostListener,args:["click"]}]},e}();var Z=function(){function e(e){this.inputFileService=e,this.allowedExtensions=[],this.maxFilesNumber=1,this.dragAndDrop=new t.EventEmitter,this.invalidDragAndDrop=new t.EventEmitter,this.backgroundColor="#fafafa",this.borderColor="#ddd"}return e.prototype.onDragOver=function(e){this.disabled||(e.preventDefault(),e.stopPropagation(),this.highlightColors())},e.prototype.onDragLeave=function(e){this.disabled||(e.preventDefault(),e.stopPropagation(),this.resetColors())},e.prototype.onDrop=function(e){var t=this;this.disabled||(e.preventDefault(),e.stopPropagation(),e.dataTransfer&&this.inputFileService.validateFiles(e.dataTransfer.files,this.maxFilesNumber,this.allowedExtensions).subscribe((function(e){return t.dragAndDrop.emit(e)}),(function(e){return t.invalidDragAndDrop.emit(e)})),this.resetColors())},e.prototype.resetColors=function(){this.backgroundColor="#fafafa",this.borderColor="#ddd"},e.prototype.highlightColors=function(){this.backgroundColor="#ffd1b6",this.borderColor="#ff8352"},e.decorators=[{type:t.Directive,args:[{selector:"[dragAndDropFiles]"}]}],e.ctorParameters=function(){return[{type:y}]},e.propDecorators={allowedExtensions:[{type:t.Input}],maxFilesNumber:[{type:t.Input}],disabled:[{type:t.Input}],dragAndDrop:[{type:t.Output}],invalidDragAndDrop:[{type:t.Output}],backgroundColor:[{type:t.HostBinding,args:["style.background"]}],borderColor:[{type:t.HostBinding,args:["style.border-color"]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}]},e}();var ee=function(){function e(e,t,n,o){this.elementRef=e,this.viewContainer=t,this.compiler=n,this.dynamicModuleImports=o,this._html="",this._selector="dynamic-view"}return Object.defineProperty(e.prototype,"templateContents",{set:function(e){var n=this;if(e){this._html=e;var o=this._createDynamicComponent(),i=this._createDynamicModule(o),r=t.Injector.create({providers:[],parent:this.viewContainer.parentInjector});this.compiler.compileModuleAndAllComponentsAsync(i).then((function(e){for(var t,o=e.componentFactories.length-1;o>=0;o--)if(e.componentFactories[o].selector===n._selector){t=e.componentFactories[o];break}return t})).then((function(e){e&&n.viewContainer&&(n.viewContainer.clear(),n.viewContainer.createComponent(e,0,r))}))}else this._html="",this.viewContainer.clear()},enumerable:!0,configurable:!0}),e.prototype._createDynamicComponent=function(){var e={selector:this._selector,template:this._html,inputs:["template"]},n=function(){};return n.prototype=this.context,t.Component(e)(n)},e.prototype._createDynamicModule=function(e){var n=function(){};return t.NgModule({imports:m([p.CommonModule],this.dynamicModuleImports.imports),declarations:[e],providers:[]})(n)},e.decorators=[{type:t.Directive,args:[{selector:"dynamic-template"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.ViewContainerRef},{type:t.Compiler},{type:g}]},e.propDecorators={templateContents:[{type:t.Input,args:["template"]}],context:[{type:t.Input}]},e}();var te=function(){function e(e){this.elementRef=e}return e.prototype.create=function(e,t){null!==this.objectURL&&window.URL.revokeObjectURL(this.objectURL),this.objectURL=window.URL.createObjectURL(e),this.elementRef.nativeElement.href=this.objectURL,this.elementRef.nativeElement.download=t},e.decorators=[{type:t.Directive,args:[{selector:"[object-url]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e}();var ne=[{label:"quota.byte",value:1},{label:"quota.kilobyte",value:1024},{label:"quota.megabyte",value:Math.pow(1024,2)},{label:"quota.gigabyte",value:Math.pow(1024,3)}];function oe(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}var ie=function(){function e(){}return e.prototype.transform=function(e,t,n){return n?oe(e/t,n):Math.round(e/t)},e.decorators=[{type:t.Pipe,args:[{name:"bytes"}]}],e}(),re=function(){function e(){}return e.prototype.stringFullCompare=function(e,t){return null!==e.match(new RegExp(t,"i"))},e.prototype._filterString=function(e,t,n){return!("string"!=typeof e||"string"!=typeof t||!t.trim()||!this.stringFullCompare(e,t))&&(n.push(e),!0)},e.prototype._filterObject=function(e,t,n,o){if("object"==typeof e&&"object"==typeof t){var i=!0;for(var r in t){if(!i)break;for(var s=t[r],l=r.split(","),a=new Array(l.length),p=l.length;p-- >0;)a[p]=e[l[p].trim()];if(s instanceof Function)i=s.apply(null,a);else{if(s instanceof Object){if(l.length>1)throw"Multi-argument object filtering is not yet supported";return this._filterObject(a[0],s,n,o)}for(p=a.length;p-- >0&&i;){var c=a[p];if(void 0===c&&"string"==typeof s&&s.length>0)i=!1;else if(c instanceof Array&&"string"==typeof s)i=this.stringFullCompare(c.join(),s);else if("string"==typeof s&&"string"==typeof c)i=this.stringFullCompare(c,s);else if(s instanceof Array&&"string"==typeof c)for(var d=0;d<s.length&&!(i=this.stringFullCompare(c,s[d]));d++);}}}return i&&o.push(n),!0}return!1},e.prototype._filterFunction=function(e,t,n){return"function"==typeof t&&(t(e)&&n.push(e),!0)},e.prototype.transform=function(e,t){var n=this;if(!e||!t)return e;var o=[];return e.forEach((function(e){n._filterString(e,t,o)||n._filterObject(e,t,e,o)||n._filterFunction(e,t,o)})),o},e.decorators=[{type:t.Pipe,args:[{name:"filter",pure:!1}]}],e}(),se=function(){function e(){}return e.prototype.transform=function(e,t){if(!e)return[];if(t.length<1)return e;var n=Array.from(e),o=function(e){e.forEach((function(e){for(var i in e){var r=e[i];(r instanceof Array&&!t||t.indexOf(i)>-1)&&(n=m(n,r),o(r))}}))};return o(e),Array.from(new Set(n))},e.decorators=[{type:t.Pipe,args:[{name:"flattenObjArray"}]}],e}(),le=function(){function e(){}return e.prototype.transform=function(e,t){var n=[];for(var o in e)o&&n.push(o);return n},e.decorators=[{type:t.Pipe,args:[{name:"keys"}]}],e}(),ae=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n=0),e.slice(n,t)},e.decorators=[{type:t.Pipe,args:[{name:"limit",pure:!1}]}],e}(),pe=function(){function e(e){this.bundlesService=e}return e.prototype.transform=function(e,t){return void 0===t&&(t="mediumDate"),new p.DatePipe(this.bundlesService.currentLanguage).transform(e,t)},e.decorators=[{type:t.Pipe,args:[{name:"localizedDate",pure:!1}]}],e.ctorParameters=function(){return[{type:a.BundlesService}]},e}();var ce=function(){function e(){}return e.prototype.transform=function(e,t,n,o){if(null==e||!t)return e;var i,r=function(e){return"function"==typeof e},s=function(e){return"object"==typeof e},l=function(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}},a=function(e){return r(e.valueOf)&&(e=e.valueOf(),l(e))?e:(function(e){return e&&"function"==typeof e.toString&&e.toString!==Object.prototype.toString}(e)&&(e=e.toString(),l(e)),e)},p=function(e,t){var n=typeof e;return null===e?(n="string",e="null"):"object"===n&&(e=a(e)),{value:e,type:n,index:t}};(i=t)&&i instanceof Array||(t=[t]),0===t.length&&(t=["+"]);var c=t.map((function(e){var t=1,n=function(e){return e};return r(e)?n=e:"string"==typeof e&&("+"!==e.charAt(0)&&"-"!==e.charAt(0)||(t="-"===e.charAt(0)?-1:1,e=e.substring(1)),""!==e&&(n=function(t){return t[e]})),{get:n,descending:t}})),d=n?-1:1,u=r(o)?o:function(e,t){var n=0,o=e.type,i=t.type;if(o===i){var r=e.value,l=t.value;"string"===o?(r=r.toLowerCase(),l=l.toLowerCase(),n=r.localeCompare(l)):"object"===o&&(s(r)&&(r=e.index),s(l)&&(l=t.index),r!==l&&(n=r<l?-1:1))}else n=o<i?-1:1;return n},f=Array.prototype.map.call(e,(function(e,t){return{value:e,tieBreaker:{value:t,type:"number",index:t},predicateValues:c.map((function(n){return p(n.get(e),t)}))}}));return f.sort((function(e,t){for(var n=0,o=c.length;n<o;n++){var i=u(e.predicateValues[n],t.predicateValues[n]);if(i)return i*c[n].descending*d}return u(e.tieBreaker,t.tieBreaker)*d})),e=f.map((function(e){return e.value}))},e.decorators=[{type:t.Pipe,args:[{name:"orderBy"}]}],e}(),de=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n="_storedRef"),t[n]=e,e},e.decorators=[{type:t.Pipe,args:[{name:"store"}]}],e}(),ue=function(){function e(){}return e.prototype.transform=function(e){return e.length},e.decorators=[{type:t.Pipe,args:[{name:"length",pure:!1}]}],e}();var fe=function(e){return e.normalize("NFD").replace(/\p{Diacritic}/gu,"")};var he=function(e){function n(n){var o=e.call(this,n)||this;return o.name="",o.isDropdownOpened=!1,o.onDropdown=new t.EventEmitter,o}return u(n,e),n.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this)},n.decorators=[{type:t.Component,args:[{selector:"ode-dropdown",template:'<div class="dropdown" [ngClass]="isDropdownOpened ? \'open\' : \'\'">\n <button (click)="onDropdown.emit()" class="dropdown-trigger">\n <span class="cell-ellipsis">{{ name }}</span> <i class="fonticon arrow-select"></i>\n </button>\n <div class="dropdown-list">\n <ng-content></ng-content>\n </div>\n</div>\n',styles:[".dropdown{position:relative;width:230px;box-sizing:border-box}.dropdown *{box-sizing:border-box}.dropdown-trigger{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:#4a4a4a;text-transform:uppercase;text-align:left;width:100%;border-radius:8px;border:1px solid #7a7a7a;background-color:#fff}.dropdown-trigger>span{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-trigger i.arrow-select{display:inline-block;float:none!important;padding-left:0;transform:rotate(180deg);transform-origin:center center}.dropdown-trigger:hover{color:#4a4a4a;border-color:#7a7a7a;background-color:#fff}.dropdown-trigger:hover i.arrow-select{color:#4a4a4a!important}.dropdown-list{display:none;position:absolute;overflow:hidden;z-index:2;top:100%;left:0;right:0;width:316px;box-shadow:0 4px 12px 0 rgba(0,0,0,.15);border-radius:8px;background-color:#fff}.dropdown::ng-deep ode-list li{justify-content:flex-start}.dropdown::ng-deep ode-list input[type=search]{padding:12px 16px}.dropdown.open .dropdown-list{display:block}.dropdown.open i.arrow-select{transform:rotate(0)}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={name:[{type:t.Input}],isDropdownOpened:[{type:t.Input}],onDropdown:[{type:t.Output}]},n}(o.OdeComponent);var me=function(e){function n(n){var o=e.call(this,n)||this;return o.nbItem=0,o.selectSearchType=new t.EventEmitter,o}return u(n,e),n.prototype.ngOnInit=function(){this.searchTypes&&this.searchTypes.length>0&&(this.selectedSearchTypeValue=this.searchTypes[0].value)},n.prototype.handleSearchTypeClick=function(e){this.selectedSearchTypeValue=e,this.selectSearchType.emit(e)},n.decorators=[{type:t.Component,args:[{selector:"ode-search-toolbar",template:'<div class="search-toolbar">\n <div class="search-toolbar-label">\n <s5l>{{ label }}</s5l>\n <button\n *ngFor="let searchType of searchTypes"\n class="button has-left-margin-5"\n [ngClass]="{\n \'is-selected\': searchType.value === selectedSearchTypeValue\n }"\n (click)="handleSearchTypeClick(searchType.value)"\n >\n <s5l>{{ searchType.label }}</s5l>\n </button>\n </div>\n <div>\n <strong class="badge">{{ nbItem }} <s5l>{{ nbItemLabel }}</s5l></strong>\n </div>\n</div>\n',styles:[".search-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px}.search-toolbar .search-toolbar-label{font-size:.85rem}.search-toolbar .search-toolbar-label .button{padding:4px 12px;border-radius:20px;font-size:12px;border-width:2px;border-color:#ff8d2e}"]}]}],n.ctorParameters=function(){return[{type:t.Injector}]},n.propDecorators={label:[{type:t.Input}],searchTypes:[{type:t.Input}],nbItem:[{type:t.Input}],nbItemLabel:[{type:t.Input}],selectSearchType:[{type:t.Output}]},n}(o.OdeComponent);var ge=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[g,t||v]}},e.forChild=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:t.NgModule,args:[{declarations:[w,k,_,O,E,S,D,P,A,L,z,B,V,$,N,U,H,K,G,J,Y,T,R,X,q,W,I,Q,ee,M,Z,te,re,se,ae,ce,de,pe,ie,le,ue,he,me],imports:[p.CommonModule,i.FormsModule,a.NgxOdeSijilModule.forChild(),c.InfiniteScrollModule],exports:[w,k,_,O,E,S,D,P,A,L,z,B,V,$,N,U,H,K,G,J,Y,T,R,X,q,W,I,he,me,Q,ee,M,Z,te,re,se,ae,ce,de,pe,ie,le,ue],providers:[y,ce],entryComponents:[Y,R]}]}],e}();e.AnchorDirective=Q,e.BytesPipe=ie,e.CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR=x,e.ComponentDescriptor=F,e.DatepickerComponent=w,e.DragAndDropFilesDirective=Z,e.DynamicComponentDirective=M,e.DynamicModuleImportsService=g,e.DynamicTemplateDirective=ee,e.EllipsisComponent=I,e.FilterPipe=re,e.FlattenObjectArrayPipe=se,e.FormErrorsComponent=k,e.FormFieldComponent=_,e.InputFileService=y,e.ItemTreeComponent=O,e.KeysPipe=le,e.LabelsService=v,e.LengthPipe=ue,e.LightBoxComponent=E,e.LightboxConfirmComponent=S,e.LimitPipe=ae,e.ListCheckableComponent=P,e.ListComponent=D,e.LocalizedDatePipe=pe,e.MessageBoxComponent=R,e.MessageStickerComponent=T,e.MonoSelectComponent=A,e.MultiComboComponent=z,e.MultiSelectComponent=L,e.NgxOdeUiModule=ge,e.ObjectURLDirective=te,e.OrderPipe=ce,e.PagerComponent=W,e.PanelSectionComponent=B,e.PortalComponent=V,e.PushPanelComponent=$,e.SearchInputComponent=N,e.SideLayoutComponent=U,e.SidePanelComponent=H,e.SimpleSelectComponent=Y,e.SpinnerCubeComponent=q,e.SpinnerService=b,e.StepComponent=K,e.StorePipe=de,e.TooltipComponent=G,e.UNITS=ne,e.UploadFilesComponent=X,e.WizardComponent=J,e.clickOn=function(e){return e.triggerEventHandler("click",null)},e.getText=function(e){return e.nativeElement.textContent.trim()},e.getUnit=function(e){for(var t=0,n=e;n>=1024&&t<3;)n/=1024,t++;return ne[t]},e.icons=j,e.removeAccents=fe,e.standardise=function(e){return fe(null!=e?e:"").toLowerCase().replace("\\s+"," ")},e.toDecimal=oe,e.trim=function(e){return e&&e.length>0?e.trim():e},e.ɵa=he,e.ɵb=me,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
17
17
|
//# sourceMappingURL=ngx-ode-ui.umd.min.js.map
|