ngx-ode-ui 4.8.0-feat-explorer.2 → 4.8.0-objectstorage.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/wizard/wizard.component.mjs +3 -3
- package/esm2020/lib/pipes/localizedDate.pipe.mjs +17 -4
- package/fesm2015/ngx-ode-ui.mjs +18 -5
- package/fesm2015/ngx-ode-ui.mjs.map +1 -1
- package/fesm2020/ngx-ode-ui.mjs +18 -5
- package/fesm2020/ngx-ode-ui.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-ode-ui.mjs","sources":["../../../projects/ngx-ode-ui/src/lib/services/dynamicModuleImports.service.ts","../../../projects/ngx-ode-ui/src/lib/services/inputFile.service.ts","../../../projects/ngx-ode-ui/src/lib/services/labels.service.ts","../../../projects/ngx-ode-ui/src/lib/services/spinner.service.ts","../../../projects/ngx-ode-ui/src/lib/components/datepicker/datepicker.component.ts","../../../projects/ngx-ode-ui/src/lib/components/datepicker/datepicker.component.html","../../../projects/ngx-ode-ui/src/lib/components/ellipsis/ellipsis.component.ts","../../../projects/ngx-ode-ui/src/lib/components/form-errors/form-errors.component.ts","../../../projects/ngx-ode-ui/src/lib/components/form-errors/form-errors.component.html","../../../projects/ngx-ode-ui/src/lib/components/message-box/message-box.component.ts","../../../projects/ngx-ode-ui/src/lib/components/message-box/message-box.component.html","../../../projects/ngx-ode-ui/src/lib/directives/dynamic-component/dynamic-component.directive.ts","../../../projects/ngx-ode-ui/src/lib/directives/dynamic-component/component-descriptor.model.ts","../../../projects/ngx-ode-ui/src/lib/components/message-sticker/message-sticker.component.ts","../../../projects/ngx-ode-ui/src/lib/components/message-sticker/message-sticker.component.html","../../../projects/ngx-ode-ui/src/lib/components/form-field/form-field.component.ts","../../../projects/ngx-ode-ui/src/lib/components/form-field/form-field.component.html","../../../projects/ngx-ode-ui/src/lib/pipes/filter.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/flattenObjArray.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/orderBy.pipe.ts","../../../projects/ngx-ode-ui/src/lib/components/item-tree/item-tree.component.ts","../../../projects/ngx-ode-ui/src/lib/components/item-tree/item-tree.component.html","../../../projects/ngx-ode-ui/src/lib/components/lightbox/lightbox.component.ts","../../../projects/ngx-ode-ui/src/lib/components/lightbox/lightbox.component.html","../../../projects/ngx-ode-ui/src/lib/components/lightbox-confirm/lightbox-confirm.component.ts","../../../projects/ngx-ode-ui/src/lib/components/lightbox-confirm/lightbox-confirm.component.html","../../../projects/ngx-ode-ui/src/lib/components/search-input/search-input.component.ts","../../../projects/ngx-ode-ui/src/lib/components/search-input/search-input.component.html","../../../projects/ngx-ode-ui/src/lib/pipes/store.pipe.ts","../../../projects/ngx-ode-ui/src/lib/components/list/list.component.ts","../../../projects/ngx-ode-ui/src/lib/components/list/list.component.html","../../../projects/ngx-ode-ui/src/lib/components/list-checkable/list-checkable.component.ts","../../../projects/ngx-ode-ui/src/lib/components/list-checkable/list-checkable.component.html","../../../projects/ngx-ode-ui/src/lib/components/mono-select/mono-select.component.ts","../../../projects/ngx-ode-ui/src/lib/components/mono-select/mono-select.component.html","../../../projects/ngx-ode-ui/src/lib/components/multi-combo/multi-combo.component.ts","../../../projects/ngx-ode-ui/src/lib/components/multi-combo/multi-combo.component.html","../../../projects/ngx-ode-ui/src/lib/components/multi-select/multi-select.component.ts","../../../projects/ngx-ode-ui/src/lib/components/multi-select/multi-select.component.html","../../../projects/ngx-ode-ui/src/lib/components/panel-section/panel-section.component.ts","../../../projects/ngx-ode-ui/src/lib/components/panel-section/panel-section.component.html","../../../projects/ngx-ode-ui/src/lib/components/portal/portal.component.ts","../../../projects/ngx-ode-ui/src/lib/components/portal/portal.component.html","../../../projects/ngx-ode-ui/src/lib/components/push-panel/push-panel.component.ts","../../../projects/ngx-ode-ui/src/lib/components/push-panel/push-panel.component.html","../../../projects/ngx-ode-ui/src/lib/components/side-layout/side-layout.component.ts","../../../projects/ngx-ode-ui/src/lib/components/side-layout/side-layout.component.html","../../../projects/ngx-ode-ui/src/lib/components/side-panel/side-panel.component.ts","../../../projects/ngx-ode-ui/src/lib/components/side-panel/side-panel.component.html","../../../projects/ngx-ode-ui/src/lib/components/spinner-cube/spinner-cube.component.ts","../../../projects/ngx-ode-ui/src/lib/components/spinner-cube/spinner-cube.component.html","../../../projects/ngx-ode-ui/src/lib/components/table/pager.component.ts","../../../projects/ngx-ode-ui/src/lib/components/table/pager.component.html","../../../projects/ngx-ode-ui/src/lib/components/tooltip/tooltip.component.ts","../../../projects/ngx-ode-ui/src/lib/directives/drag-and-drop-files.directive.ts","../../../projects/ngx-ode-ui/src/lib/components/upload-files/upload-files.component.ts","../../../projects/ngx-ode-ui/src/lib/components/upload-files/upload-files.component.html","../../../projects/ngx-ode-ui/src/lib/components/value-editable/simple-select.component.ts","../../../projects/ngx-ode-ui/src/lib/components/value-editable/simple-select.component.html","../../../projects/ngx-ode-ui/src/lib/components/wizard/wizard.component.ts","../../../projects/ngx-ode-ui/src/lib/components/dropdown/dropdown.component.ts","../../../projects/ngx-ode-ui/src/lib/components/dropdown/dropdown.component.html","../../../projects/ngx-ode-ui/src/lib/components/search-toolbar/search-toolbar.component.ts","../../../projects/ngx-ode-ui/src/lib/components/search-toolbar/search-toolbar.component.html","../../../projects/ngx-ode-ui/src/lib/directives/anchor.directive.ts","../../../projects/ngx-ode-ui/src/lib/directives/dynamictemplate.directive.ts","../../../projects/ngx-ode-ui/src/lib/directives/object-url.directive.ts","../../../projects/ngx-ode-ui/src/lib/utils/math.ts","../../../projects/ngx-ode-ui/src/lib/pipes/bytes.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/keys.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/limit.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/localizedDate.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/length.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/replace.pipe.ts","../../../projects/ngx-ode-ui/src/lib/utils/string.ts","../../../projects/ngx-ode-ui/src/lib/utils/testing.ts","../../../projects/ngx-ode-ui/src/lib/ngx-ode-ui.module.ts","../../../projects/ngx-ode-ui/src/public-api.ts","../../../projects/ngx-ode-ui/src/ngx-ode-ui.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\n\n@Injectable()\nexport class DynamicModuleImportsService {\n imports = [];\n}\n","\nimport {throwError as observableThrowError, Observable} from 'rxjs';\nimport {Injectable} from '@angular/core';\n\n@Injectable()\nexport class InputFileService {\n public validateFiles(files: FileList, maxFilesNumber: number, allowedExtensions: string[]): Observable<File[]> {\n if (!files) {\n return observableThrowError('files is empty');\n }\n if (files.length > maxFilesNumber) {\n return observableThrowError(`Only ${maxFilesNumber} file(s) allowed`);\n }\n\n const validFiles: File[] = [];\n const invalidFiles: File[] = [];\n for (let i = 0; i < files.length; i++) {\n const filenameSplit = files[i].name.split('.');\n const ext = filenameSplit[filenameSplit.length - 1];\n if (allowedExtensions.lastIndexOf(ext.toLowerCase()) !== -1) {\n validFiles.push(files[i]);\n } else {\n invalidFiles.push(files[i]);\n }\n }\n\n return new Observable(observer => {\n if (validFiles.length > 0) {\n observer.next(validFiles);\n }\n if (invalidFiles.length > 0) {\n observer.error(`Extension not allowed. Allowed extensions: ${allowedExtensions}`);\n }\n observer.complete();\n });\n }\n\n public isSrcExternalUrl(src: string): boolean {\n if (src) {\n return src.startsWith('http://') || src.startsWith('https://');\n } else {\n return false;\n }\n }\n\n public isSrcWorkspace(src: string): boolean {\n if (src) {\n return src.startsWith('/workspace');\n } else {\n return false;\n }\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable()\nexport class LabelsService {\n\n private labels = {\n 'select.all': 'Select all',\n 'deselect.all': 'Deselect all',\n search: 'Search'\n };\n\n static withLabels(labels: Object) {\n const newService = new LabelsService();\n for (const prop in labels) {\n newService.labels[prop] = labels[prop];\n }\n return newService;\n }\n\n getLabel(label: string) {\n return this.labels[label] || label;\n }\n\n mixin(labels: Object) {\n for (const property in labels) {\n this.labels[property] = labels[property];\n }\n }\n}\n","import {ApplicationRef, ChangeDetectorRef, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Injectable()\nexport class SpinnerService {\n\n constructor(private appRef: ApplicationRef) {}\n\n timer = 250;\n\n private loading = new Set<any>();\n private timers = new Map<any, number>();\n\n private _trigger = new Subject();\n get trigger() {\n return this._trigger;\n }\n\n isLoading(something, pending = false): boolean {\n return this.loading.has(something) ||\n (pending && this.timers.has(something));\n }\n\n perform<T>(something: any, promise: Promise<T>, timer?: number): Promise<T> {\n this.load(something, timer);\n return promise.catch( err => {\n this.done(something);\n throw err;\n }).then( _ => {\n this.done(something);\n return _;\n });\n }\n\n load(something: any, timer?: number): void {\n if (this.timers.has(something)) {\n window.clearTimeout(this.timers.get(something));\n }\n\n const addToQueue = () => {\n this.loading.add(something);\n this.timers.delete(something);\n this.appRef.tick();\n this.trigger.next(true);\n };\n\n if (timer === 0) {\n addToQueue();\n } else {\n this.timers.set(something, window.setTimeout(addToQueue, timer || this.timer));\n }\n }\n\n done(something): void {\n window.clearTimeout(this.timers.get(something));\n this.timers.delete(something);\n this.loading.delete(something);\n this.trigger.next(true);\n this.appRef.tick();\n }\n\n wrap = (func: (...params) => Promise<any>, label: string,\n props: { delay?: number, binding?: any, cdRef?: ChangeDetectorRef } = {}, ...args) => {\n\n this.load(label, props.delay);\n const promise = props.binding ?\n func.bind(props.binding)(...args) :\n func(...args);\n\n promise.catch((err) => {\n this.done(label);\n throw err;\n }).then(_ => {\n this.done(label);\n return _;\n });\n if (props.cdRef) { props.cdRef.markForCheck(); }\n\n return promise;\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { AfterViewInit, Component, ElementRef, EventEmitter, forwardRef,\n Input, OnDestroy, Output, Renderer2, ViewChild, Injector } from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgModel } from '@angular/forms';\n\nimport {LabelsService} from '../../services/labels.service';\nimport Flatpickr from 'flatpickr';\nimport French from 'flatpickr/dist/l10n/fr.js';\n\n// access ngmodel\nconst NOOP = () => {\n};\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent),\n multi: true\n};\n\n@Component({\n selector: 'ode-date-picker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n providers: [ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR ]\n})\nexport class DatepickerComponent extends OdeComponent implements OnDestroy, AfterViewInit, ControlValueAccessor {\n\n constructor(private renderer: Renderer2,\n private labelsService: LabelsService,\n injector: Injector) {\n super(injector);\n }\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n let init = false;\n if (this.innerValue === undefined) {\n init = true;\n }\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n if (!init) {\n this.changeDate.emit(v);\n }\n\n }\n }\n\n private innerValue: any = '';\n\n @ViewChild('datePickerElement')\n datePickerElement: ElementRef;\n\n @ViewChild('inputRef')\n inputElement: ElementRef;\n\n // instance flatpickr\n private datePickerInst: Flatpickr;\n\n @ViewChild(NgModel)\n model: NgModel;\n\n @Input()\n disabled = false;\n\n @Input()\n set readonly( val:boolean ) {\n this._readonly = val;\n if( this.datePickerInst && this.datePickerInst.altInput ) {\n // Apply the readonly attribute addition/removal to the visible input (wrapped)\n if( val ) this.datePickerInst.altInput.setAttribute('readonly', \"\");\n else this.datePickerInst.altInput.removeAttribute('readonly');\n }\n }\n get readonly():boolean {\n return this._readonly;\n }\n _readonly = false;\n\n @Input()\n enableTime = false;\n\n @Input()\n placeholder = '';\n\n @Input()\n minDate;\n\n @Input()\n maxDate;\n\n @Output()\n changeDate: EventEmitter<string> = new EventEmitter<string>();\n\n private onChangeCallback: (_: any) => void = NOOP;\n private onTouchedCallback: () => void = NOOP;\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n // add attr data-input, mandatory for the picker to work in wrap mode\n this.renderer.setAttribute(this.inputElement.nativeElement, 'data-input', '');\n\n // disabled case\n if (this.disabled === true) {\n this.model.control.disable();\n }\n\n const navigatorLanguage = navigator.language.split('-')[0];\n let datePickerLocale = {};\n if (navigatorLanguage === 'fr') {\n datePickerLocale = French.fr;\n }\n\n // options for the flatpickr instance\n const options = {\n altInput: !this.disabled,\n altFormat: 'd/m/Y', // date format displayed to user\n dateFormat: 'Y-m-d', // date format sent to server\n allowInput: false,\n enableTime: this.enableTime,\n minDate: this.minDate,\n maxDate: this.maxDate,\n clickOpens: false,\n wrap: true, // to add input decoration (calendar icon and delete icon)\n locale: datePickerLocale\n };\n\n this.datePickerInst = new Flatpickr(this.datePickerElement.nativeElement, options);\n if( !this.disabled ) {\n this.datePickerInst.altInput.addEventListener('click', e => {\n if( !this.readonly ) {\n this.datePickerInst.toggle();\n }\n });\n }\n\n // Force updating the date input readonly attribute :\n this.readonly = this._readonly;\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.datePickerInst.destroy();\n }\n\n writeValue(value: any): void {\n if (value !== this.innerValue && this.datePickerInst) {\n this.innerValue = value;\n this.datePickerInst.setDate(value);\n this.onChangeCallback(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n labels(label) {\n return this.labelsService.getLabel(label);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, Input, Injector } from '@angular/core';\n\ntype EllipsisBehavior = 'expand' | 'hide';\n\n/**\n * A simple ellipsis component that switches text-overflow on click.\n * Add an ellipsis={'hide'| 'expand'} attirubute on your element.\n * Default behavior is 'hide', so that it's the same than the raw CSS\n */\n@Component({\n selector: '[ellipsis]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./ellipsis.component.scss'],\n host: {\n '(click)': 'onClick()',\n }\n})\nexport class EllipsisComponent extends OdeComponent {\n constructor(private eltRef: ElementRef, injector: Injector ) {\n super(injector);\n }\n\n private _ellipsis: EllipsisBehavior = 'hide';\n @Input()\n set ellipsis(value: EllipsisBehavior) {\n if (!!value) {\n this._ellipsis = value;\n if (this._ellipsis == 'expand') {\n this.eltRef.nativeElement.className = 'expand';\n }\n }\n }\n\n private isExpanded = false;\n\n private initialStyle = Object.assign({}, this.eltRef.nativeElement.style);\n onClick(): void {\n if (this._ellipsis == 'hide') {\n return;\n }\n if (!this.isExpanded) {\n this.isExpanded = true;\n Object.assign(this.eltRef.nativeElement.style, {\n textOverflow: 'clip',\n overflow: 'auto',\n whiteSpace: 'normal',\n });\n } else {\n this.isExpanded = false;\n this.eltRef.nativeElement.style = this.initialStyle;\n }\n\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, Input, Injector } from '@angular/core';\nimport {AbstractControl} from '@angular/forms';\n\nimport {LabelsService} from '../../services/labels.service';\n\n@Component({\n selector: 'ode-form-errors',\n templateUrl: './form-errors.component.html',\n styleUrls: ['./form-errors.component.scss']\n})\nexport class FormErrorsComponent extends OdeComponent {\n constructor(private labelsService: LabelsService, injector: Injector) {\n super(injector);\n }\n\n @Input('control')\n ref: AbstractControl;\n\n @Input('expectedPatternMsg')\n expectedPatternMsg: string;\n\n\n getErrorsArray() {\n const errorsArray = [];\n for (const prop in this.ref.errors) {\n errorsArray.push({ name: prop, value: this.ref.errors[prop]});\n }\n return errorsArray;\n }\n\n labels(label) {\n return this.labelsService.getLabel(label);\n }\n}\n","<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","import { HostBinding } from '@angular/core';\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, Injector } from '@angular/core';\nimport { OdeComponent } from 'ngx-ode-core';\n\nexport type MessageType = 'info' | 'success' | 'warning' | 'danger';\n\nexport const icons = {\n info : 'fa-question-circle',\n warning : 'fa-exclamation-circle',\n danger : 'fa-ban',\n success : 'fa-check-circle'\n};\n\n@Component({\n selector: 'message-box',\n templateUrl: './message-box.component.html',\n styleUrls: ['./message-box.component.scss']\n})\nexport class MessageBoxComponent extends OdeComponent implements OnInit {\n constructor(\n private eltRef: ElementRef,\n injector: Injector) {\n super(injector);\n }\n\n @Input() type: MessageType;\n @Input() header: string;\n\n // type (string | [string,Object])[] enable to pass an array of String where String is i18n key\n // or an array of tuple<String, Object> where String is i18n key and Object is 118n params\n private _messages: [string, {}][];\n @Input() set messages(value: (string | [string, {}])[]) {\n this._messages = [];\n\n for (const message of value) {\n if (typeof message == 'string') {\n this._messages.push([message, {}]);\n }\n else if (typeof message == 'object') {\n this._messages.push(message);\n }\n }\n }\n get messages() {\n return this._messages;\n }\n\n private _position: 'absolute' | 'inherit' = 'inherit';\n @Input() set position(value: 'absolute' | 'inherit') {\n this._position = value;\n }\n\n /**\n * `gravity` set the relative position of the message box if its position is 'absolute'.\n * No effect when position is 'inherit'.\n */\n @Input() gravity: 'left' | 'right' = 'left';\n @HostBinding('class.gravity-left') get isGravityLeft() { return this.gravity === 'left' }\n @HostBinding('class.gravity-right') get isGravityRight() { return this.gravity === 'right' }\n\n hidden = false;\n @Output('onHide') hideEvent: EventEmitter<void>;\n canHide(): boolean {\n if (this._position == 'absolute') {\n return true;\n }\n return false;\n }\n hide(): void {\n this.hidden = true;\n this.hideEvent.emit();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.type == undefined) {\n throw new Error('MessageSticker : type\\' property must be set');\n }\n this.eltRef.nativeElement.style.position = this._position;\n if (this._position == 'absolute') {\n this.eltRef.nativeElement.style.width = '450px';\n // TODO: Maybe use a static counter to push on top the last open MessageBox ?\n this.eltRef.nativeElement.style.zIndex = '10';\n }\n\n }\n}\n\n","<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","import {ComponentFactoryResolver, ComponentRef, Directive, Input, ViewContainerRef, } from '@angular/core';\nimport {ComponentDescriptor} from './component-descriptor.model';\n\n/**\n* Dynamically load the component describe with the @input dynamic-component\n*/\n@Directive({\n selector: '[dynamic-component]',\n})\nexport class DynamicComponentDirective {\n constructor(\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n public componentRef: ComponentRef<any>;\n\n @Input('dynamic-component')\n componentDesc: ComponentDescriptor;\n\n load(data?: any): void {\n if (this.isLoaded()) { return; }\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.componentDesc.type);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(componentFactory);\n\n if (data != undefined) {\n this.componentDesc.assignData(data);\n }\n for (const attribute in this.componentDesc.data) {\n this.componentRef.instance[attribute] = this.componentDesc.data[attribute];\n if (attribute == 'hideEvent') {\n this.componentRef.instance.hideEvent.subscribe(e => {\n this.destroy();\n });\n }\n }\n }\n\n isLoaded(): boolean {\n if (this.componentRef == undefined) {\n return false;\n }\n else {\n return this.componentRef.instance != null;\n }\n }\n\n destroy(): void {\n if (this.componentRef.instance.hideEvent != undefined) {\n this.componentRef.instance.hideEvent.unsubscribe();\n }\n // FIXME: this.componentRef.destroy(); => This one usually should work, better to use but do nothing...\n delete this.componentRef;\n this.viewContainerRef.clear();\n }\n}\n\n\n\n","import {Type} from '@angular/core';\n\n/**\n* Usefull to desccribe (type and input data) a component\n* that will be dynamically instanciate\n*/\nexport class ComponentDescriptor {\n constructor(\n public type: Type<any>,\n public data: any\n ) {}\n\n assignData(data: any): ComponentDescriptor {\n Object.assign(this.data, data);\n return this;\n }\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, OnInit, ViewChild, Injector } from '@angular/core';\nimport {icons, MessageBoxComponent, MessageType} from '../message-box/message-box.component';\nimport { DynamicComponentDirective } from '../../directives/dynamic-component/dynamic-component.directive';\nimport { ComponentDescriptor } from '../../directives/dynamic-component/component-descriptor.model';\n\n@Component({\n selector: 'ode-message-sticker',\n templateUrl: './message-sticker.component.html',\n styleUrls: ['./message-sticker.component.scss']\n})\nexport class MessageStickerComponent extends OdeComponent implements OnInit {\n @Input() type: MessageType;\n @Input() header: string;\n @Input() messages: (string | [string, {}])[];\n @Input() gravity: 'left' | 'right' = 'left';\n @ViewChild(DynamicComponentDirective) dComponent: DynamicComponentDirective;\n\n readonly icons = icons;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.type === undefined) {\n throw new Error('MessageSticker : type\\' property must be set');\n }\n }\n\n newMessageBox(): ComponentDescriptor {\n return new ComponentDescriptor(MessageBoxComponent, {\n type: this.type,\n header: this.header,\n messages: this.messages,\n position: 'absolute',\n gravity: this.gravity,\n hideEvent: new EventEmitter<void>()\n });\n }\n\n loadMessageBox(): void {\n this.dComponent.load();\n }\n}\n","<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","import { Component, Input, Injector } from '@angular/core';\nimport { OdeComponent } from 'ngx-ode-core';\n\n@Component({\n selector: 'ode-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss']\n})\nexport class FormFieldComponent extends OdeComponent {\n @Input() label: string;\n @Input() help: string;\n @Input() required: boolean;\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'filter', pure: false})\nexport class FilterPipe implements PipeTransform {\n\n private stringFullCompare(str1: string, str2: string): boolean {\n return str1.match(new RegExp(str2, 'i')) !== null;\n }\n\n private _filterString(value, filter, arrayRef: Array<String>) {\n if (typeof value === 'string' &&\n typeof filter === 'string' &&\n filter.trim() &&\n this.stringFullCompare(value, filter)) {\n arrayRef.push(value);\n return true;\n }\n return false;\n }\n\n private _filterObject(object, filter, objectRef, arrayRef: Array<Object>) {\n if (typeof object == 'object' && typeof filter === 'object') {\n let check = true;\n for (const property in filter) {\n if (!check) {\n break;\n }\n\n const filterValue = filter[property];\n const propsToCheck = property.split(\",\");\n\n const objectValues = new Array(propsToCheck.length);\n for(let i = propsToCheck.length; i-- > 0;)\n objectValues[i] = object[propsToCheck[i].trim()];\n\n if (filterValue instanceof Function) {\n check = filterValue.apply(null, objectValues);\n } else if (filterValue instanceof Object) {\n if(propsToCheck.length > 1)\n throw \"Multi-argument object filtering is not yet supported\";\n return this._filterObject(objectValues[0], filterValue, objectRef, arrayRef);\n }\n else\n {\n for(let i = objectValues.length; i-- > 0;)\n {\n if(!check)\n break;\n\n const objectValue = objectValues[i];\n\n if (typeof objectValue === 'undefined' && typeof filterValue === 'string' && filterValue.length > 0 ) {\n check = false;\n } else if (objectValue instanceof Array && typeof filterValue === 'string') {\n check = this.stringFullCompare(objectValue.join(), filterValue);\n } else if (typeof filterValue === 'string' && typeof objectValue === 'string') {\n check = this.stringFullCompare(objectValue, filterValue);\n } else if (filterValue instanceof Array && typeof objectValue === 'string') {\n for (let i = 0; i < filterValue.length; i++) {\n check = this.stringFullCompare(objectValue, filterValue[i]);\n if (check) { break; }\n }\n }\n }\n }\n }\n if (check) {\n arrayRef.push(objectRef);\n }\n return true;\n }\n return false;\n }\n\n private _filterFunction(value, filter, arrayRef: Array<any>) {\n if (typeof filter === 'function') {\n if (filter(value)) {\n arrayRef.push(value);\n }\n return true;\n }\n return false;\n }\n\n transform(array: Array<string | Object>, by: (string | Object | Function)) {\n if (!array || !by) {\n return array;\n }\n\n const filteredArray = [];\n\n array.forEach(item => {\n this._filterString(item, by, filteredArray) ||\n this._filterObject(item, by, item, filteredArray) ||\n this._filterFunction(item, by, filteredArray);\n });\n\n return filteredArray;\n }\n\n}\n","import {Pipe} from '@angular/core';\n\n@Pipe({ name: 'flattenObjArray' })\nexport class FlattenObjectArrayPipe {\n\n transform(array: Array<Object>, onlyProps?: Array<String>) {\n if (!array) {\n return [];\n }\n if (onlyProps.length < 1) {\n return array;\n }\n\n let flattenedArray = Array.from(array);\n\n const flatten = (array: Array<Object>) => {\n array.forEach(item => {\n for (const prop in item) {\n const val = item[prop];\n if (val instanceof Array &&\n !onlyProps ||\n onlyProps.indexOf(prop) > -1) {\n flattenedArray = [...flattenedArray, ...val];\n flatten(val);\n }\n }\n });\n };\n flatten(array);\n\n return Array.from(new Set<Object>(flattenedArray));\n\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({ name: 'orderBy' })\nexport class OrderPipe implements PipeTransform {\n\n transform(array, sortPredicate, reverseOrder?, compareFn?) {\n if (array == null || !sortPredicate) { return array; }\n\n /*** ***/\n const isString = (value) => {\n return typeof value === 'string';\n };\n\n const isFunction = (value) => {\n return typeof value === 'function';\n };\n\n const isArray = (value) => {\n return value && value instanceof Array;\n };\n\n const isObject = (value) => {\n return typeof value === 'object';\n };\n\n const isPrimitive = (value) => {\n switch (typeof value) {\n case 'number': /* falls through */\n case 'boolean': /* falls through */\n case 'string':\n return true;\n default:\n return false;\n }\n };\n\n const hasCustomToString = (value) => {\n return value &&\n typeof value.toString === 'function' &&\n value.toString !== Object.prototype.toString;\n };\n\n const getComparisonObject = (value, index) => {\n // NOTE: We are adding an extra `tieBreaker` value based on the element's index.\n // This will be used to keep the sort stable when none of the input predicates can\n // distinguish between two elements.\n return {\n value,\n tieBreaker: { value: index, type: 'number', index },\n predicateValues: predicates.map(function(predicate) {\n return getPredicateValue(predicate.get(value), index);\n })\n };\n };\n\n const doComparison = (v1, v2) => {\n for (let i = 0, ii = predicates.length; i < ii; i++) {\n const result = compare(v1.predicateValues[i], v2.predicateValues[i]);\n if (result) {\n return result * predicates[i].descending * descending;\n }\n }\n\n return compare(v1.tieBreaker, v2.tieBreaker) * descending;\n };\n\n const processPredicates = (sortPredicates) => {\n return sortPredicates.map(function(predicate) {\n let descending = 1, get = (value) => value;\n\n if (isFunction(predicate)) {\n get = predicate;\n } else if (isString(predicate)) {\n if ((predicate.charAt(0) === '+' || predicate.charAt(0) === '-')) {\n descending = predicate.charAt(0) === '-' ? -1 : 1;\n predicate = predicate.substring(1);\n }\n if (predicate !== '') {\n get = (value) => value[predicate];\n }\n }\n return { get, descending };\n });\n };\n\n const objectValue = (value) => {\n // If `valueOf` is a valid function use that\n if (isFunction(value.valueOf)) {\n value = value.valueOf();\n if (isPrimitive(value)) { return value; }\n }\n // If `toString` is a valid function and not the one from `Object.prototype` use that\n if (hasCustomToString(value)) {\n value = value.toString();\n if (isPrimitive(value)) { return value; }\n }\n\n return value;\n };\n\n const getPredicateValue = (value, index) => {\n let type = typeof value;\n if (value === null) {\n type = 'string';\n value = 'null';\n } else if (type === 'object') {\n value = objectValue(value);\n }\n return { value, type, index };\n };\n\n const defaultCompare = (v1, v2) => {\n let result = 0;\n const type1 = v1.type;\n const type2 = v2.type;\n\n if (type1 === type2) {\n let value1 = v1.value;\n let value2 = v2.value;\n\n if (type1 === 'string') {\n // Compare strings case-insensitively\n value1 = value1.toLowerCase();\n value2 = value2.toLowerCase();\n\n result = value1.localeCompare(value2);\n } else if (type1 === 'object') {\n // For basic objects, use the position of the object\n // in the collection instead of the value\n if (isObject(value1)) { value1 = v1.index; }\n if (isObject(value2)) { value2 = v2.index; }\n\n if (value1 !== value2) {\n result = value1 < value2 ? -1 : 1;\n }\n }\n } else {\n result = type1 < type2 ? -1 : 1;\n }\n\n return result;\n };\n /*** ***/\n\n if (!isArray(sortPredicate)) {\n sortPredicate = [sortPredicate];\n }\n if (sortPredicate.length === 0) {\n sortPredicate = ['+'];\n }\n\n const predicates = processPredicates(sortPredicate);\n\n const descending = reverseOrder ? -1 : 1;\n\n // Define the `compare()` function. Use a default comparator if none is specified.\n const compare = isFunction(compareFn) ? compareFn : defaultCompare;\n\n // The next three lines are a version of a Swartzian Transform idiom from Perl\n // (sometimes called the Decorate-Sort-Undecorate idiom)\n // See https://en.wikipedia.org/wiki/Schwartzian_transform\n const compareValues = Array.prototype.map.call(array, getComparisonObject);\n compareValues.sort(doComparison);\n array = compareValues.map(function(item) { return item.value; });\n\n return array;\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild, ContentChild, TemplateRef, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-item-tree',\n templateUrl: './item-tree.component.html'\n})\nexport class ItemTreeComponent<T> extends OdeComponent implements OnInit {\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n /**** Inputs ****/\n\n // Items\n @Input() items: Array<any> = [];\n\n // Property containing the list of child objects.\n @Input('children') childrenProperty = 'children';\n // Property to display in the list\n @Input('display') displayProperty = 'label';\n @Input() displayTemplate: TemplateRef<any>;\n // Filter pipe argument\n @Input() filter: (Object | string | Function) = '';\n // OrderBy pipe argument\n @Input() order: (Array<any> | string | Function) = [];\n // Reverse the order pipe\n @Input() reverse: any = false;\n // Flatten the tree on the specified properties\n @Input()\n set flatten(flattenProps: Array<string>) {\n if (!this.isFlattened() && flattenProps.length > 0) {\n this._selectedItem = this._lastSelectedItem;\n } else if (this.isFlattened && flattenProps.length < 1) {\n this.flagIfParent();\n }\n this._flattenProps = flattenProps;\n }\n get flatten(): Array<string> {\n return this._flattenProps;\n }\n private _flattenProps: Array<string> = [];\n\n // Disable the opener icon\n @Input() disableOpener = false;\n\n // Use checkboxes instead of selecting items\n @Input() checkboxMode = false;\n\n /**** Outputs ****/\n\n @Output() onSelect: EventEmitter<T> = new EventEmitter<T>();\n\n @Output() onCheck: EventEmitter<T> = new EventEmitter<T>();\n\n /**** View ****/\n\n @ViewChild(ItemTreeComponent) childItemTree: ItemTreeComponent<T>;\n\n /**** Internal Logic ****/\n\n @Input('lastSelected') _lastSelectedItem: T;\n private _selectedItem: T;\n @Input('depth') _depth = 0;\n private unfolded: T[] = [];\n\n ngOnInit() {\n super.ngOnInit();\n this.flagIfParent();\n }\n\n public selectItem(item: T) {\n this._selectedItem = item;\n if (this.childItemTree) {\n delete this.childItemTree._selectedItem;\n }\n const idx = this.unfolded.indexOf(item);\n if (!this.disableOpener && idx < 0) {\n this.unfolded.push(item);\n } else {\n this.unfolded.splice(idx, 1);\n }\n this.bubbleSelect(item);\n }\n\n public checkItem(item: T) {\n this.onCheck.emit(item);\n }\n\n public bubbleSelect(item: T) {\n this._lastSelectedItem = item;\n this.onSelect.emit(item);\n }\n\n public isSelected(item) {\n return (this.disableOpener ? this._selectedItem : this._lastSelectedItem) === item;\n }\n\n public toggleFold(event: Event, item: T) {\n event.stopPropagation();\n const idx = this.unfolded.indexOf(item);\n if (idx < 0) {\n this.unfolded.push(item);\n } else {\n this.unfolded.splice(idx, 1);\n }\n }\n\n public isFolded(item: T) {\n return this.disableOpener ? !this.isSelected(item) : this.unfolded.indexOf(item) < 0;\n }\n\n public display(item: T) {\n return this.displayProperty && item[this.displayProperty];\n }\n\n public getChildren(item) {\n return item[this.childrenProperty] || [];\n }\n\n public hasChildren(item) {\n return this.getChildren(item).length > 0;\n }\n\n isFlattened() {\n return this._flattenProps.length;\n }\n\n private flagIfParent() {\n if (!this._lastSelectedItem) {\n return;\n }\n\n const findSubItem = (item, target) => {\n if (item === target) {\n return true;\n }\n if (this.hasChildren(item)) {\n return this.getChildren(item).find(subItem => {\n return findSubItem(subItem, target);\n });\n }\n return false;\n };\n\n for (const i in this.items) {\n const item = this.items[i];\n\n if (item === this._lastSelectedItem ||\n findSubItem(item, this._lastSelectedItem)) {\n this._selectedItem = item;\n this.unfolded = [item];\n break;\n }\n }\n\n this.changeDetector.markForCheck();\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-lightbox',\n templateUrl: './lightbox.component.html',\n styleUrls: ['./lightbox.component.scss'],\n host: {\n '(click)': 'onClick($event)'\n }\n\n})\nexport class LightBoxComponent extends OdeComponent {\n\n constructor(\n injector: Injector,\n private renderer: Renderer2,\n private host: ElementRef) {\n super(injector);\n }\n\n @Input()\n set show(s: boolean) {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n if (s) {\n this._show = true;\n this.timer = window.setTimeout(() => {\n this.renderer.addClass(this.host.nativeElement, 'shown');\n this.timer = null;\n this.changeDetector.markForCheck();\n }, 100);\n } else {\n const wait = parseFloat(this.section &&\n window.getComputedStyle(this.section.nativeElement)['transition-duration']);\n this.renderer.removeClass(this.host.nativeElement, 'shown');\n this.timer = window.setTimeout(() => {\n this._show = false;\n this.timer = null;\n this.changeDetector.markForCheck();\n }, wait * 1000);\n }\n }\n\n get show(): boolean {\n return this._show;\n }\n\n _show = false;\n\n @Input() showCloseButton = true;\n\n @Output() onClose = new EventEmitter<any>();\n\n @ViewChild('section') section: ElementRef;\n @ViewChild('overlay') overlay: ElementRef;\n\n private timer: number;\n\n onClick(event: MouseEvent) {\n if (this.overlay.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n\n public close() {\n this.show = false;\n this.onClose.emit();\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-lightbox-confirm',\n templateUrl: './lightbox-confirm.component.html',\n styleUrls: ['./lightbox-confirm.component.scss']\n})\nexport class LightboxConfirmComponent extends OdeComponent {\n\n @Input() lightboxTitle: string;\n @Input() show: boolean;\n @Input() cancelText: string = \"cancel\";\n @Input() confirmText: string = \"confirm\";\n @Input() extraButtons: Array<String> = [];\n @Input() disableConfirm: boolean = false;\n\n @Output() onConfirm: EventEmitter<void> = new EventEmitter<void>();\n @Output() onCancel: EventEmitter<void> = new EventEmitter<void>();\n @Output() onExtra: EventEmitter<number> = new EventEmitter<number>();\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild, Injector } from '@angular/core';\nimport {Observable, Subject, Subscription} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\n\n\n@Component({\n selector: 'ode-search-input',\n templateUrl: './search-input.component.html',\n styleUrls: ['./search-input.component.scss']\n})\nexport class SearchInputComponent extends OdeComponent implements OnInit, OnDestroy {\n\n constructor(injector: Injector,\n private _elRef: ElementRef,\n private _renderer: Renderer2) {\n super(injector);\n }\n\n /* Inputs / Outputs / View */\n @Input() isSearchActive: boolean = false;\n @Input() isSearchButtonDisabled: boolean = false;\n @Input() searchInput: boolean = false;\n @Input() searchSubmit: () => void;\n @Input() set delay(d: number) {\n this._delay = d;\n this.observable = this.$searchTerms.pipe(debounceTime(this.delay), distinctUntilChanged());\n if (this.observer) {\n this.observer.unsubscribe();\n }\n this.observer = this.observable.subscribe(val => {\n this.onChange.emit(val);\n });\n }\n get delay() {\n return this._delay;\n }\n private _delay = 200;\n\n @Output() onChange: EventEmitter<string> = new EventEmitter<string>();\n\n @ViewChild('searchBox') searchBox: ElementRef;\n\n /* Internal logic */\n\n private $searchTerms = new Subject<string>();\n private observable: Observable<string>;\n private observer: Subscription;\n\n private evalAttributes() {\n const element = this._elRef.nativeElement;\n if (element && this.searchBox) {\n for (let i = 0; i < element.attributes.length; i++) {\n const attr = element.attributes[i];\n this._renderer.setAttribute(this.searchBox.nativeElement, attr.name, attr.value);\n }\n }\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (!this.observable) {\n this.observable = this.$searchTerms\n .pipe(\n debounceTime(this.delay),\n distinctUntilChanged()\n );\n this.observer = this.observable.subscribe(val => {\n this.onChange.emit(val);\n });\n }\n setTimeout(() => this.evalAttributes(), 20);\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.observer.unsubscribe();\n }\n\n search(str: string) {\n this.$searchTerms.next(str);\n }\n\n handleSubmit() {\n this.searchSubmit();\n }\n\n}\n","<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<!-- <input *ngIf=\"!searchInput\" type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/> -->","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'store'\n})\nexport class StorePipe implements PipeTransform {\n\n transform(value, context, prop = '_storedRef') {\n context[prop] = value;\n return value;\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss']\n})\nexport class ListComponent extends OdeComponent {\n\n set storedElements(list) {\n this._storedElements = list;\n this.listChange.emit(list);\n }\n\n get storedElements() {\n return this._storedElements;\n }\n\n /* Store pipe */\n self = this;\n _storedElements = [];\n\n @Input() model;\n @Input() filters;\n @Input() inputFilter;\n @Input() sort;\n @Input() limit: number;\n @Input() searchPlaceholder = 'search';\n @Input() noResultsLabel = 'list.results.no.items';\n @Input() placeholder = 'list.placeholder';\n @Input() isSearchActive = true;\n @Input() isSearchButtonDisabled: boolean = false;\n @Input() searchInput: boolean = false;\n @Input() searchDelay: number;\n @Input() searchSubmit: () => void;\n\n @Output() inputChange: EventEmitter<string> = new EventEmitter<string>();\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n @Output() listChange: EventEmitter<any> = new EventEmitter();\n @Output() scrolledDown: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(TemplateRef) templateRef: TemplateRef<any>;\n @Input() isSelected = (arg?: any) => false;\n @Input() isDisabled = (arg?: any) => false;\n @Input() ngClass = (arg?: any) => ({});\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, Injector } from '@angular/core';\n\n/**\n * ListCheckableComponent is an alternative to the ListComponent to easily select rows by using a checkbox.\n * \n * \n```\n<ode-list-checkable\n [readOnly]=\"a_boolean\"\n [model]=\"an_array_of_items\"\n [filters]=\"\"\n [sort]=\"'+displayName'\"\n [limit]=\"a_number\"\n [noResultsLabel]=\"text_to_display_when_no_item_in_model\"\n [isChecked]=\"a_lambda_which_takes_1_item_argument_and_returns_a_boolean\"\n [areAllChecked]=\"a_lambda_with_no_argument_which_returns_a_boolean\"\n [ngClass]=\"a_lambda_which_takes_1_item_argument_and_returns_an_object\"\n (onCheck)=\"emits_an_$event_like_{item:any; checked:boolean}\"\n (listChange)=\"\"\n (scrolledDown)=\"\"\n >\n\n <ng-template let-item>\n <span>{{item.displayName|translate}}</span>\n </ng-template>\n \n</ode-list-checkable>\n`̀``\n */\n\ntype OnCheckData = {item:any, checked:boolean};\n\n@Component({\n selector: 'ode-list-checkable',\n templateUrl: './list-checkable.component.html',\n styleUrls: ['./list-checkable.component.scss']\n})\nexport class ListCheckableComponent extends OdeComponent {\n @Input() model = [];\n @Input() filters;\n @Input() sort;\n @Input() limit: number;\n @Input() noResultsLabel = 'list.results.no.items';\n @Input() readOnly: boolean = false;\n\n @Output() onCheck: EventEmitter<OnCheckData> = new EventEmitter();\n @Output() listChange: EventEmitter<any> = new EventEmitter();\n @Output() scrolledDown: EventEmitter<void> = new EventEmitter();\n\n @ContentChild(TemplateRef) templateRef: TemplateRef<any>;\n\n @Input() areAllChecked = () => false;\n @Input() isChecked = (arg?: any) => false;\n @Input() isDisabled = (arg?: any) => false;\n @Input() ngClass = (arg?: any) => ({});\n\n /* Store pipe */\n self = this;\n _storedElements = [];\n set storedElements(list) {\n this._storedElements = list;\n this.listChange.emit(list);\n }\n get storedElements() {\n return this._storedElements;\n }\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n public toggleAll( checkAll:boolean ) {\n this.model.forEach( item => {\n const isChecked = this.isChecked(item);\n if( !this.isDisabled(item)\n && ((isChecked && !checkAll) || (!isChecked && checkAll)) ) {\n this.onCheck.emit( {item:item, checked:checkAll} );\n }\n })\n }\n\n}\n","<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","import { Component, ElementRef, forwardRef, Input, Injector } from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {SelectOption} from '../multi-select/multi-select.component';\nimport { OdeComponent } from 'ngx-ode-core';\n\n@Component({\n selector: 'ode-mono-select',\n templateUrl: './mono-select.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MonoSelectComponent),\n multi: true\n }],\n host: {\n '(document:click)': 'onClickOnDocument($event)',\n '(click)': 'onClickOnHost()'\n }\n})\nexport class MonoSelectComponent<K> extends OdeComponent implements ControlValueAccessor {\n @Input()\n public placeholder = 'monoselect.placeholder.default';\n\n @Input()\n public options: Array<SelectOption<K>> = [];\n\n @Input()\n public trackByFn: (optionValue: K) => number | string;\n\n @Input()\n public translateOptions: boolean = true;\n\n public opened = false;\n\n public selectedOption: SelectOption<K> = null;\n\n @Input()\n public disabled = false;\n\n public optionClicked(option?: SelectOption<K>) {\n this.selectedOption = option;\n this.opened = false;\n this.onChange(this.selectedOption != null ? this.selectedOption.value : null);\n }\n\n constructor(private elementRef: ElementRef, injector: Injector) {\n super(injector);\n }\n\n public onClickOnDocument(event: MouseEvent) {\n if (this.opened &&\n !this.elementRef.nativeElement.querySelector('.lct-form-select').contains(event.target)) {\n this.opened = false;\n }\n return true;\n }\n\n public onClickOnHost() {\n if (!this.opened && !this.disabled) {\n this.opened = true;\n } else {\n this.opened = false;\n }\n }\n\n private onChange = (_: K) => {\n }\n\n private onTouched = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: K): void {\n this.selectedOption = this.options.find(option => option.value === obj);\n this.onChange(this.selectedOption ? this.selectedOption.value : null);\n }\n}\n","<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","import { Component, ElementRef, EventEmitter, Input, Output, Injector } from '@angular/core';\nimport {LabelsService} from '../../services/labels.service';\nimport { OdeComponent } from 'ngx-ode-core';\n\n/* If you need to use multi-combo in a form you should give a look to the MultiSelectComponent. */\n\n@Component({\n selector: 'ode-multi-combo',\n templateUrl: './multi-combo.component.html',\n styleUrls: ['./multi-combo.component.scss'],\n host: {\n '(document:click)': 'onClick($event)',\n }\n})\nexport class MultiComboComponent extends OdeComponent {\n\n constructor(\n private _eref: ElementRef,\n private labelsService: LabelsService,\n injector: Injector) {\n super(injector);\n }\n\n @Input()\n set comboModel(model) {\n this._comboModel = model;\n\n if (!model) {\n this.filteredModel = [];\n return;\n }\n\n for (let i = 0; i < this.filteredModel.length; i++) {\n const idx = model.indexOf(this.filteredModel[i]);\n if (idx < 0) {\n this.filteredModel.splice(idx, 1);\n i--;\n }\n }\n }\n @Input('outputModel') filteredModel = [];\n @Input() title = 'Select';\n @Input() display: string | Function;\n @Input() filter: string;\n @Input() orderBy: (string | Array<(string | Function)> | Function);\n @Input() reverse = false;\n @Input('max') maxSelected: number;\n @Input() disabled = false;\n\n @Output() onSelectItem = new EventEmitter<any>();\n @Output() onDeselectItem = new EventEmitter<any>();\n @Output('outputModelChange') filteredModelChange = new EventEmitter<any>();\n @Output() onOpen = new EventEmitter<any>();\n @Output() onClose = new EventEmitter<any>();\n\n self = this;\n _comboModel = [];\n\n filteredComboModel = [];\n\n search = {\n input: '',\n reset() {\n this.input = '';\n }\n };\n\n show = false;\n\n labels(label) {\n return this.labelsService.getLabel(label);\n }\n\n toggleVisibility() {\n this.show = !this.show;\n if (this.show) {\n this.search.reset();\n this.onOpen.emit();\n } else {\n this.onClose.emit();\n }\n }\n\n isSelected(item) {\n return this.filteredModel && this.filteredModel.indexOf(item) >= 0;\n }\n\n isDisabled() {\n return this.filteredModel && this.maxSelected &&\n this.maxSelected <= this.filteredModel.length;\n }\n\n toggleItem(item) {\n const idx = this.filteredModel.indexOf(item);\n if (idx >= 0) {\n this.filteredModel.splice(idx, 1);\n this.onDeselectItem.emit(item);\n } else if (!this.maxSelected ||\n this.filteredModel.length < this.maxSelected) {\n this.filteredModel.push(item);\n this.onSelectItem.emit(item);\n }\n this.filteredModelChange.emit(this.filteredModel);\n }\n\n selectAll() {\n this.filteredModel = [];\n for (let i = 0; i < this.filteredComboModel.length; i++) {\n this.filteredModel.push(this.filteredComboModel[i]);\n }\n this.filteredModelChange.emit(this.filteredModel);\n }\n\n deselectAll() {\n this.filteredModel = [];\n this.filteredModelChange.emit(this.filteredModel);\n }\n\n displayItem(item) {\n return item instanceof Object ?\n this.display && typeof this.display === 'string' ?\n item[this.display] :\n item.toString() :\n this.display && this.display instanceof Function ?\n this.display(item || '') :\n item;\n }\n\n onClick(event) {\n if (this.show && !this._eref.nativeElement.contains(event.target)) {\n this.toggleVisibility();\n }\n return true;\n }\n\n getFilter() {\n if (!this.filter) {\n return '';\n }\n let filter: string | {} = '';\n if (this._comboModel.length > 0 ) {\n if (typeof this._comboModel[0] === 'string') {\n filter = this.search.input;\n } else {\n filter = {};\n filter[this.filter] = this.search.input;\n }\n }\n return filter;\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, forwardRef, Input, Injector } from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n/* MultiSelectComponent is a rewrite of MultiComboComponent to integrate it easily in angular forms */\n\nexport interface SelectOption<K> {\n label: string;\n value: K;\n}\n\n@Component({\n selector: 'ode-multi-select',\n templateUrl: './multi-select.component.html',\n styleUrls: ['./multi-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }],\n host: {\n '(document:click)': 'closeIfOpened($event)'\n }\n})\nexport class MultiSelectComponent<K> extends OdeComponent implements ControlValueAccessor {\n @Input()\n public label = '';\n\n @Input()\n public options: Array<SelectOption<K>> = [];\n\n @Input()\n public preview = false;\n\n @Input()\n public trackByFn: (optionValue: K) => number | string;\n\n public model: Array<K> = [];\n\n public isDisabled = false;\n\n public isOptionsVisible = false;\n\n constructor(injector: Injector, private elementRef: ElementRef) {\n super(injector);\n }\n\n public optionClicked(option: SelectOption<K>) {\n if (this.model) {\n const index = this.getIndexOfOptionInModel(option);\n if (index < 0) {\n this.model.push(option.value);\n } else {\n this.model.splice(index, 1);\n }\n } else {\n this.model = [option.value];\n }\n this.onChange(this.model);\n }\n\n public selectAll(): void {\n this.options.forEach(option => {\n if (!this.model.includes(option.value)) {\n this.model.push(option.value);\n }\n });\n this.onChange(this.model);\n }\n\n public deselectAll(): void {\n this.model = [];\n this.onChange(this.model);\n }\n\n public toggleOptionsVisibility(): void {\n this.isOptionsVisible = !this.isOptionsVisible;\n }\n\n public isSelected(option: SelectOption<K>): boolean {\n return this.model ? (this.getIndexOfOptionInModel(option) >= 0) : false;\n }\n\n public closeIfOpened(event: any) {\n if (this.isOptionsVisible\n && !this.elementRef.nativeElement.querySelector('.lct-multi-select__options-container').contains(event.target)\n && !this.elementRef.nativeElement.querySelector('.lct-multi-select__toggle').contains(event.target)) {\n this.isOptionsVisible = false;\n }\n return true;\n }\n\n private getIndexOfOptionInModel(option: SelectOption<K>): number {\n return this.model.map(this.trackByFn).indexOf(this.trackByFn(option.value));\n }\n\n private onChange = (_: Array<K>) => {\n }\n\n private onTouched = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n writeValue(obj: Array<K>): void {\n this.model = obj;\n this.onChange(this.model);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, Input, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-panel-section',\n templateUrl: './panel-section.component.html',\n styleUrls: ['./panel-section.component.scss']\n})\nexport class PanelSectionComponent extends OdeComponent {\n @Input('section-title') sectionTitle: string;\n @Input() folded: boolean = null;\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-portal',\n templateUrl: './portal.component.html',\n styleUrls: ['./portal.component.scss']\n})\nexport class PortalComponent extends OdeComponent {\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-push-panel',\n templateUrl: './push-panel.component.html',\n styleUrls: ['./push-panel.component.scss'],\n host: {\n '(document:click)': 'onClick($event)',\n }\n})\nexport class PushPanelComponent extends OdeComponent {\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n @Input() private set toggle(toggle: boolean) {\n this._opened = toggle;\n }\n _opened: boolean;\n\n @Input() private opener;\n\n @Output() private onClose = new EventEmitter<boolean>();\n\n @ViewChild('inside') private inside: ElementRef;\n\n public onClick(event) {\n const checkOpener = this.opener &&\n (this.opener.contains && this.opener.contains(event.target)) ||\n (this.opener.nativeElement && this.opener.nativeElement.contains(event.target));\n\n if (this._opened &&\n !this.inside.nativeElement.contains(event.target) &&\n !checkOpener) {\n this._opened = false;\n this.onClose.emit();\n }\n return true;\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-side-layout',\n templateUrl: './side-layout.component.html',\n styleUrls: ['./side-layout.component.scss']\n})\nexport class SideLayoutComponent extends OdeComponent {\n @Input() showCompanion = false;\n @Output('closeCompanion') close: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.scss'],\n host: {\n '(document:click)': 'onClick($event)',\n }\n})\nexport class SidePanelComponent extends OdeComponent {\n opened: boolean;\n\n constructor(injector: Injector, private elementRef: ElementRef) {\n super(injector);\n }\n\n @Input() set toggle(toggle: boolean) {\n this.opened = toggle;\n }\n\n @Input() opener;\n @Output() onClose = new EventEmitter<boolean>();\n\n onClick(event) {\n const checkOpener = this.opener &&\n (this.opener.contains && this.opener.contains(event.target)) ||\n (this.opener.nativeElement && this.opener.nativeElement.contains(event.target));\n\n if (this.opened &&\n !this.elementRef.nativeElement.contains(event.target) &&\n !checkOpener) {\n this.opened = false;\n this.onClose.emit();\n }\n return true;\n }\n\n}\n","<div [ngClass]=\"{ opened: opened }\">\n <ng-content></ng-content>\n</div>\n","import { OdeComponent } from 'ngx-ode-core';\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, Injector } from '@angular/core';\nimport { SpinnerService } from '../../services/spinner.service';\n\n@Component({\n selector: 'ode-spinner-cube',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './spinner-cube.component.html',\n styleUrls: ['./spinner-cube.component.scss']\n})\nexport class SpinnerCubeComponent extends OdeComponent implements OnInit {\n\n @Input('waitingFor')\n set loadingProp(prop: string) {\n this._loadingProp = prop;\n }\n get loadingProp() { return this._loadingProp; }\n private _loadingProp: string;\n\n\n constructor(\n injector: Injector,\n public spinner: SpinnerService) {\n super(injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.subscriptions.add(this.spinner.trigger.subscribe(() => {\n this.changeDetector.markForCheck();\n }));\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, Injector } from '@angular/core';\nimport {BundlesService} from 'ngx-ode-sijil';\n\n\n@Component({\n selector: 'ode-pager',\n templateUrl: './pager.component.html',\n styles: [`\n i {cursor: pointer; padding: 0 2px;}\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PagerComponent extends OdeComponent implements OnInit {\n constructor(\n injector: Injector,\n private bundles: BundlesService\n ) {\n super(injector);\n }\n\n @Input() limit: number;\n\n @Input() offset: number;\n @Output() offsetChange = new EventEmitter<number>();\n\n @Input() total: number;\n\n translate = (...args) => (this.bundles.translate as any)(...args);\n\n ngOnInit() {}\n\n previousPage(): void {\n if (this.offset - this.limit >= 0) {\n this.offset = this.offset - this.limit;\n } else {\n this.offset = 0;\n }\n this.offsetChange.emit(this.offset);\n }\n\n nextPage(): void {\n if (this.offset + this.limit <= this.total) {\n this.offset = this.offset + this.limit;\n }\n this.offsetChange.emit(this.offset);\n }\n\n offsetLimit(): number {\n return this.offset + this.limit < this.total ?\n this.offset + this.limit : this.total;\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, Input, Renderer2, Injector } from '@angular/core';\n\n@Component({\n selector: '[tooltip]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./tooltip.component.scss'],\n host: {\n '(mouseenter)': 'onMouseEnter()',\n '(mouseleave)': 'onMouseLeave()'\n }\n})\nexport class TooltipComponent extends OdeComponent {\n\n constructor(injector: Injector,\n private ref: ElementRef,\n private renderer: Renderer2) {\n super(injector);\n }\n\n @Input('tooltip') tooltipContents: string;\n @Input() position: 'top' | 'left' | 'right' | 'bottom' = 'bottom';\n @Input() offset = 5;\n\n private tooltipElt: HTMLElement;\n\n onMouseEnter(): void {\n const r = this.renderer;\n\n if (!this.tooltipElt) {\n this.tooltipElt = this.renderer.createElement('div');\n let tooltipText = this.renderer.createText(this.tooltipContents);\n this.renderer.appendChild(this.tooltipElt, tooltipText);\n this.renderer.addClass(this.tooltipElt, \"tooltip\");\n this.renderer.appendChild(document.getElementsByTagName('body')[0], this.tooltipElt);\n }\n const tip = this.tooltipElt;\n const pos = this.getPosition(this.ref.nativeElement, tip, this.position);\n for (const prop in pos) {\n this.renderer.setStyle(tip, prop, pos[prop] + 'px');\n }\n this.renderer.addClass(tip, 'shown');\n }\n\n onMouseLeave(): void {\n const wait = this.tooltipElt &&\n parseFloat(window.getComputedStyle(this.tooltipElt)['transition-duration']);\n this.renderer.removeClass(this.tooltipElt, 'shown');\n setTimeout(this.onTransitionEnd, wait * 1000);\n }\n\n onTransitionEnd = () => {\n if (this.tooltipElt && !this.tooltipElt.classList.contains('shown')) {\n this.tooltipElt.parentNode.removeChild(this.tooltipElt);\n this.tooltipElt = null;\n }\n }\n\n private getPosition(elt, tip, pos) {\n const rect = {\n top: elt.getBoundingClientRect().top + window.scrollY,\n left: elt.getBoundingClientRect().left + window.scrollX\n };\n let left, top;\n\n switch (pos) {\n\n case 'top':\n top = rect.top - tip.offsetHeight - this.offset;\n left = rect.left + elt.offsetWidth / 2 - tip.offsetWidth / 2;\n break;\n case 'left':\n top = rect.top + elt.offsetHeight / 2 - tip.offsetHeight / 2;\n left = rect.left - tip.offsetWidth - this.offset;\n break;\n case 'right':\n top = rect.top + elt.offsetHeight / 2 - tip.offsetHeight / 2;\n left = rect.left + elt.offsetWidth + this.offset;\n break;\n case 'bottom':\n default:\n top = rect.top + elt.offsetHeight + this.offset;\n left = rect.left + elt.offsetWidth / 2 - tip.offsetWidth / 2;\n }\n\n if (left < 0 ) {\n left = rect.left + elt.offsetWidth + this.offset;\n }\n if (top < 0) {\n top = rect.top + elt.offsetHeight + this.offset;\n }\n if (left + tip.offsetWidth >= window.pageXOffset + window.innerWidth) {\n left = rect.left - tip.offsetWidth - this.offset;\n }\n if (top - tip.offsetHeight >= window.pageYOffset + window.innerHeight) {\n top = rect.top - tip.offsetHeight - this.offset;\n }\n\n return {\n top: top < 5 ? 5 : top,\n left: left < 5 ? 5 : left\n };\n }\n\n ngOnDestroy(): void {\n if (this.tooltipElt) {\n this.tooltipElt.parentNode.removeChild(this.tooltipElt);\n this.tooltipElt = null;\n }\n }\n\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {InputFileService} from '../services/inputFile.service';\n\n@Directive({\n selector: '[dragAndDropFiles]'\n})\nexport class DragAndDropFilesDirective {\n @Input()\n allowedExtensions: Array<string> = [];\n @Input()\n maxFilesNumber = 1;\n @Input()\n disabled: boolean;\n\n @Output()\n dragAndDrop: EventEmitter<File[]> = new EventEmitter();\n @Output()\n invalidDragAndDrop: EventEmitter<string> = new EventEmitter();\n\n @HostBinding('style.background')\n public backgroundColor = '#fafafa';\n @HostBinding('style.border-color')\n public borderColor = '#ddd';\n\n constructor(private inputFileService: InputFileService) {\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n if (!this.disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this.highlightColors();\n }\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n if (!this.disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this.resetColors();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(event) {\n if (!this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n\n if (event.dataTransfer) {\n this.inputFileService\n .validateFiles(event.dataTransfer.files, this.maxFilesNumber, this.allowedExtensions)\n .subscribe(files => this.dragAndDrop.emit(files)\n , error => this.invalidDragAndDrop.emit(error));\n }\n\n this.resetColors();\n }\n }\n\n private resetColors() {\n this.backgroundColor = '#fafafa';\n this.borderColor = '#ddd';\n }\n\n private highlightColors() {\n this.backgroundColor = '#ffd1b6';\n this.borderColor = '#ff8352';\n }\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, Injector } from '@angular/core';\nimport {InputFileService} from '../../services/inputFile.service';\n\n@Component({\n selector: 'ode-upload-files',\n templateUrl: './upload-files.component.html',\n styleUrls: ['./upload-files.component.scss']\n})\nexport class UploadFilesComponent extends OdeComponent implements OnInit {\n @Input()\n fileSrc: string;\n @Input()\n allowedExtensions: Array<string>;\n @Input()\n maxFilesNumber: number;\n @Input()\n disabled: boolean;\n\n @Output()\n upload: EventEmitter<File[]> = new EventEmitter();\n @Output()\n invalidUpload: EventEmitter<string> = new EventEmitter();\n\n @ViewChild('inputFileRef')\n inputFileRef: ElementRef;\n\n public multiple: boolean;\n\n constructor(injector: Injector,\n public inputFileService: InputFileService) {\n super(injector);\n }\n\n public ngOnInit(): void {\n super.ngOnInit();\n this.multiple = this.maxFilesNumber > 1;\n }\n\n public onChange($event): void {\n if ($event.target) {\n this.inputFileService\n .validateFiles($event.target.files, this.maxFilesNumber, this.allowedExtensions)\n .subscribe(files => this.upload.emit(files)\n , error => this.invalidUpload.emit(error));\n }\n }\n\n public onClickDropzoneInput($event: Event): void {\n $event.stopPropagation();\n const inputFileElement = this.inputFileRef.nativeElement;\n inputFileElement.click();\n }\n\n public onDragAndDrop($event: File[]): void {\n this.upload.emit($event);\n }\n\n public onInvalidDragAndDrop($event: string): void {\n this.invalidUpload.emit($event);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n\nexport interface Option {\n value: string;\n label: string;\n}\n\n\n@Component({\n selector: 'ode-simple-select',\n templateUrl: './simple-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SimpleSelectComponent extends OdeComponent {\n @Input() selected: string;\n @Input() model: {[key: string]: string};\n @Input() options: Option[];\n @Input() ignoreOption: Option[];\n @Output() selectChange: EventEmitter<string> = new EventEmitter<string>();\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Injector\n} from '@angular/core';\n\n@Component({\n selector : 'ode-step',\n template: `<ng-content></ng-content>`,\n styles: [`\n :host {\n display: none;\n overflow: auto;\n padding : 1em;\n }\n :host.active {\n display: block;\n }\n `]\n})\nexport class StepComponent {\n @Input() name: string;\n @Input() isActived: boolean;\n hasError = false;\n isFinished = false;\n}\n\n@Component({\n selector: 'ode-wizard',\n 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 `,\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})\nexport class WizardComponent extends OdeComponent implements AfterContentInit {\n @Output() cancel: EventEmitter<{}> = new EventEmitter();\n @Output() previousStep: EventEmitter<number> = new EventEmitter();\n @Output() nextStep: EventEmitter<number> = new EventEmitter();\n\n public canDoNext = true;\n\n @ContentChildren(StepComponent) steps: QueryList<StepComponent>;\n activeStep = 0;\n\n constructor(injector: Injector) {\n super(injector);\n }\n doCancel() {\n this.activeStep = 0;\n this.steps.forEach((step, index) => {\n index === 0 ? step.isActived = true : step.isActived = false;\n });\n this.canDoNext = true;\n }\n\n onPreviousStep() {\n this.previousStep.emit(this.activeStep);\n }\n\n doPreviousStep() {\n if (this.activeStep > 0) {\n this.steps.toArray()[this.activeStep].isActived = false;\n this.steps.toArray()[this.activeStep - 1].isActived = true;\n this.activeStep--;\n this.canDoNext = true;\n }\n }\n\n onNextStep() {\n this.nextStep.emit(this.activeStep);\n }\n doNextStep(error?: boolean) {\n if (this.activeStep < this.steps.length - 1) {\n this.canDoNext = !error;\n this.steps.toArray()[this.activeStep].isActived = false;\n this.steps.toArray()[this.activeStep + 1].isActived = true;\n this.activeStep++;\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n if (this.steps.length === 0) {\n throw new Error('<wizard> component musts nest at least 1 <step> compoent');\n }\n }\n\n}\n","import { Component, OnInit, Input, Output, EventEmitter, Injector } from '@angular/core';\nimport { OdeComponent } from 'ngx-ode-core';\n\n/**\n * DropdownComponent is an alternative to the MonoSelectComponent.\n * Accept everything inside <ng-content> but should work with <ode-list> component\n * \n * Simple Dropdown Component without search:\n * [isSearchActive] can be set to false to disable search input in <ode-list>\n```\n<ode-dropdown\n [name]=\"option_name\"\n [isDropdownOpened]=\"a_boolean\"\n (onDropdown)=\"toggle_func\"\n >\n <ode-list\n [model]=\"model\"\n [filters]=\"filters\"\n (onSelect)=\"func_to_select_elem($event)\"\n (inputChange)=\"a_string_for_input_value = $event\"\n noResultsLabel=\"text_to_display\"\n searchPlaceholder=\"default_placeholder_text\"\n >\n <ng-template let-item>\n <div>{{ item.name }}</div>\n </ng-template>\n </ode-list>\n </ode-dropdown>\n`̀``\n */\n\n@Component({\n selector: 'ode-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss']\n})\nexport class DropdownComponent extends OdeComponent implements OnInit {\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n @Input() name: string = '';\n @Input() isDropdownOpened: boolean = false;\n\n @Output() onDropdown: EventEmitter<void> = new EventEmitter<void>();\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n}\n","<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","import { Component, EventEmitter, Injector, Input, Output } from \"@angular/core\";\nimport { OdeComponent } from \"ngx-ode-core\";\n\n/**\n * Search Toolbar component.\n * Used within List component, Search Toolbar will display following information:\n * - Label of the search filter section (example: 'Search by')\n * - List of search type filters (example: 'Name', 'Email' , ...)\n * - Number of items returned by the search\n *\n```\n<ode-search-toolbar\n [label]=\"'user.searchType.label'\"\n [searchTypes]=\"searchTypes\"\n [nbItem]=\"nbUser || 0\"\n [nbItemLabel]=\"'list.results.users'\"\n (selectSearchType)=\"handleSelectSearchType($event)\"\n>\n</ode-search-toolbar>\n```\n */\n\n@Component({\n selector: 'ode-search-toolbar',\n templateUrl: './search-toolbar.component.html',\n styleUrls: ['./search-toolbar.component.scss']\n})\nexport class SearchToolbarComponent extends OdeComponent {\n\n @Input() label: string;\n @Input() searchTypes: Array<{label: string, value: string}>;\n @Input() nbItem: number = 0;\n @Input() nbItemLabel: string;\n @Output() selectSearchType: EventEmitter<string> = new EventEmitter();\n\n selectedSearchTypeValue: string;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n if (this.searchTypes && this.searchTypes.length > 0) {\n this.selectedSearchTypeValue = this.searchTypes[0].value;\n }\n }\n\n public handleSearchTypeClick(searchTypeValue: string): void {\n this.selectedSearchTypeValue = searchTypeValue;\n this.selectSearchType.emit(searchTypeValue);\n }\n}\n","<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","import {Directive, HostListener, Input} from '@angular/core';\n\n@Directive({ selector: '[anchor]' })\nexport class AnchorDirective {\n\n @Input('anchor') anchor: string;\n @Input('offset') offset = 50;\n\n @HostListener('click')\n onClick() {\n const element = document.getElementById(this.anchor);\n window.scrollBy(0, element.getBoundingClientRect().top - this.offset);\n }\n\n}\n","import {Compiler, Component, Directive, ElementRef, Input, NgModule, Injector, Type, ViewContainerRef} from '@angular/core';\n\nimport {CommonModule} from '@angular/common';\nimport {DynamicModuleImportsService} from '../services/dynamicModuleImports.service';\n\n@Directive({\n selector: 'dynamic-template'\n})\nexport class DynamicTemplateDirective {\n\n constructor(\n private elementRef: ElementRef,\n private viewContainer: ViewContainerRef,\n private compiler: Compiler,\n private dynamicModuleImports: DynamicModuleImportsService\n ) {}\n\n @Input('template')\n set templateContents(html: string) {\n if (html) {\n this._html = html;\n const cmpType = this._createDynamicComponent();\n const moduleType = this._createDynamicModule(cmpType);\n const injector: Injector = Injector.create({\n providers: [],\n parent: this.viewContainer.parentInjector,\n });\n\n this.compiler.compileModuleAndAllComponentsAsync<any>(moduleType)\n .then(factory => {\n let cmpFactory: any;\n for (let i = factory.componentFactories.length - 1; i >= 0; i--) {\n if (factory.componentFactories[i].selector === this._selector) {\n cmpFactory = factory.componentFactories[i];\n break;\n }\n }\n return cmpFactory;\n })\n .then(cmpFactory => {\n if (cmpFactory && this.viewContainer) {\n this.viewContainer.clear();\n this.viewContainer.createComponent(cmpFactory, 0, injector);\n }\n });\n } else {\n this._html = '';\n this.viewContainer.clear();\n }\n }\n\n private _html = '';\n private _selector = 'dynamic-view';\n\n @Input() private context: Object;\n\n private _createDynamicComponent(): Type<any> {\n const metadata = {\n selector: this._selector,\n template: this._html,\n inputs: ['template']\n };\n class _cmp_ {}\n _cmp_.prototype = this.context;\n return Component(metadata)(_cmp_);\n }\n\n private _createDynamicModule(componentType: Type<any>) {\n class _mod_ {}\n return NgModule({\n imports: [\n CommonModule,\n ...this.dynamicModuleImports.imports ],\n declarations: [componentType],\n providers: []\n })(_mod_);\n }\n\n}\n","import {Directive, ElementRef} from '@angular/core';\n\n/**\n*\n* see https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n*/\n@Directive({ selector: '[object-url]' })\nexport class ObjectURLDirective {\n\n constructor(\n private elementRef: ElementRef,\n ) {}\n\n private objectURL;\n\n // TODO provide more specific method like createJSON, createCSV, createPDF\n // to free directive consumer from using Blog API\n create(blob: Blob, filename: string): void {\n if (this.objectURL !== null) {\n window.URL.revokeObjectURL(this.objectURL);\n }\n this.objectURL = window.URL.createObjectURL(blob);\n this.elementRef.nativeElement.href = this.objectURL;\n this.elementRef.nativeElement.download = filename;\n }\n\n}\n","export interface Unit {\n /** i18n key of unit translation. */\n label: string;\n value: number;\n}\n\nexport const UNITS: Array<Unit> = [\n { label: \"quota.byte\", value: 1 },\n { label: \"quota.kilobyte\", value: 1024 },\n { label: \"quota.megabyte\", value: Math.pow(1024, 2) },\n { label: \"quota.gigabyte\", value: Math.pow(1024, 3) }\n];\n\nexport function toDecimal (value: number, decimal: number): number {\n return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);\n}\n\nexport function getUnit(bytes: number): Unit {\n let unit = 0;\n let finalValue = bytes;\n while(finalValue >= 1024 && unit < 3) {\n finalValue = finalValue / 1024;\n unit++;\n }\n return UNITS[unit];\n}","import {Pipe, PipeTransform} from '@angular/core';\nimport { toDecimal } from '../utils/math';\n\n@Pipe({\n name: 'bytes'\n})\nexport class BytesPipe implements PipeTransform {\n\n transform(value: number, unit: number, decimal?: number): number {\n if (decimal) {\n return toDecimal((value / unit), decimal);\n }\n return Math.round(value / unit);\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'keys'})\nexport class KeysPipe implements PipeTransform {\n transform(obj, args?: string[]): any {\n const keys = [];\n for (const key in obj) {\n if (key) {\n keys.push(key);\n }\n }\n return keys;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'limit',\n pure: false\n})\nexport class LimitPipe implements PipeTransform {\n\n transform(array: Array<any>, limit: number, offset: number = 0) {\n return array.slice(offset, limit);\n }\n\n}\n","import {DatePipe} from '@angular/common';\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {BundlesService} from 'ngx-ode-sijil';\n\n@Pipe({\n name: 'localizedDate',\n pure: false\n})\nexport class LocalizedDatePipe implements PipeTransform {\n\n constructor(private bundlesService: BundlesService) {\n }\n\n transform(value: any, pattern: string = 'mediumDate'): any {\n const datePipe: DatePipe = new DatePipe(this.bundlesService.currentLanguage);\n return datePipe.transform(value, pattern);\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'length',\n pure: false\n})\nexport class LengthPipe implements PipeTransform {\n\n transform(source: Array<any> | string ) {\n return source.length;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'replace' })\nexport class ReplacePipe implements PipeTransform {\n transform(value: string, strToReplace: string, replacementStr: string | number): string {\n\n if (!value || !strToReplace || !replacementStr) {\n return value;\n }\n\n return value.replace(new RegExp(this.escapeStr(strToReplace), 'g'), '' + replacementStr);\n }\n\n private escapeStr(str) {\n return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n}","export function trim(text: string): string {\n if (text && text.length > 0) {\n return text.trim();\n }\n return text;\n}\n\nexport function standardise(str: string): string{\n return removeAccents(str != null ? str : '').toLowerCase().replace('\\\\s+', ' ');\n}\n\nexport const removeAccents = (str: string) => str.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, '');\n","import { DebugElement } from '@angular/core';\n\nexport function getText(el: DebugElement): string {\n return el.nativeElement.textContent.trim();\n}\n\nexport function clickOn(el: DebugElement): void {\n return el.triggerEventHandler('click', null);\n}\n","import { NgModule, ModuleWithProviders, Provider } from '@angular/core';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { InputFileService } from './services/inputFile.service';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NgxOdeSijilModule } from 'ngx-ode-sijil';\nimport { DatepickerComponent } from './components/datepicker/datepicker.component';\nimport { FormErrorsComponent } from './components/form-errors/form-errors.component';\nimport { FormFieldComponent } from './components/form-field/form-field.component';\nimport { ItemTreeComponent } from './components/item-tree/item-tree.component';\nimport { LightBoxComponent } from './components/lightbox/lightbox.component';\nimport { LightboxConfirmComponent } from './components/lightbox-confirm/lightbox-confirm.component';\nimport { ListComponent } from './components/list/list.component';\nimport { ListCheckableComponent } from './components/list-checkable/list-checkable.component';\nimport { MonoSelectComponent } from './components/mono-select/mono-select.component';\nimport { MultiSelectComponent } from './components/multi-select/multi-select.component';\nimport { MultiComboComponent } from './components/multi-combo/multi-combo.component';\nimport { PanelSectionComponent } from './components/panel-section/panel-section.component';\nimport { PortalComponent } from './components/portal/portal.component';\nimport { PushPanelComponent } from './components/push-panel/push-panel.component';\nimport { SearchInputComponent } from './components/search-input/search-input.component';\nimport { SideLayoutComponent } from './components/side-layout/side-layout.component';\nimport { SidePanelComponent } from './components/side-panel/side-panel.component';\nimport { StepComponent, WizardComponent } from './components/wizard/wizard.component';\nimport { TooltipComponent } from './components/tooltip/tooltip.component';\nimport { SimpleSelectComponent } from './components/value-editable/simple-select.component';\nimport { MessageStickerComponent } from './components/message-sticker/message-sticker.component';\nimport { MessageBoxComponent } from './components/message-box/message-box.component';\nimport { UploadFilesComponent } from './components/upload-files/upload-files.component';\nimport { AnchorDirective } from './directives/anchor.directive';\nimport { DynamicTemplateDirective } from './directives/dynamictemplate.directive';\nimport { DynamicComponentDirective } from './directives/dynamic-component/dynamic-component.directive';\nimport { DragAndDropFilesDirective } from './directives/drag-and-drop-files.directive';\nimport { FilterPipe } from './pipes/filter.pipe';\nimport { FlattenObjectArrayPipe } from './pipes/flattenObjArray.pipe';\nimport { LimitPipe } from './pipes/limit.pipe';\nimport { OrderPipe } from './pipes/orderBy.pipe';\nimport { StorePipe } from './pipes/store.pipe';\nimport { LocalizedDatePipe } from './pipes/localizedDate.pipe';\nimport { BytesPipe } from './pipes/bytes.pipe';\nimport { ReplacePipe } from \"./pipes/replace.pipe\";\nimport { DynamicModuleImportsService } from './services/dynamicModuleImports.service';\nimport { LabelsService } from './services/labels.service';\nimport { SpinnerCubeComponent } from './components/spinner-cube/spinner-cube.component';\nimport { PagerComponent } from './components/table/pager.component';\nimport { EllipsisComponent } from './components/ellipsis/ellipsis.component';\nimport { KeysPipe } from './pipes/keys.pipe';\nimport { ObjectURLDirective } from './directives/object-url.directive';\nimport { LengthPipe } from './pipes/length.pipe';\nimport { DropdownComponent } from './components/dropdown/dropdown.component';\nimport { SearchToolbarComponent } from './components/search-toolbar/search-toolbar.component';\n\n@NgModule({\n declarations: [\n // components\n DatepickerComponent,\n FormErrorsComponent,\n FormFieldComponent,\n ItemTreeComponent,\n LightBoxComponent,\n LightboxConfirmComponent,\n ListComponent,\n ListCheckableComponent,\n MonoSelectComponent,\n MultiSelectComponent,\n MultiComboComponent,\n PanelSectionComponent,\n PortalComponent,\n PushPanelComponent,\n SearchInputComponent,\n SideLayoutComponent,\n SidePanelComponent,\n StepComponent,\n TooltipComponent,\n WizardComponent,\n SimpleSelectComponent,\n MessageStickerComponent,\n MessageBoxComponent,\n UploadFilesComponent,\n SpinnerCubeComponent,\n PagerComponent,\n EllipsisComponent,\n DropdownComponent,\n SearchToolbarComponent,\n // directives\n AnchorDirective,\n DynamicTemplateDirective,\n DynamicComponentDirective,\n DragAndDropFilesDirective,\n ObjectURLDirective,\n // pipes\n FilterPipe,\n FlattenObjectArrayPipe,\n LimitPipe,\n OrderPipe,\n StorePipe,\n LocalizedDatePipe,\n BytesPipe,\n KeysPipe,\n LengthPipe,\n ReplacePipe\n ],\n imports: [\n CommonModule,\n FormsModule,\n NgxOdeSijilModule.forChild(),\n InfiniteScrollModule\n ],\n exports: [\n // components\n DatepickerComponent,\n FormErrorsComponent,\n FormFieldComponent,\n ItemTreeComponent,\n LightBoxComponent,\n LightboxConfirmComponent,\n ListComponent,\n ListCheckableComponent,\n MonoSelectComponent,\n MultiSelectComponent,\n MultiComboComponent,\n PanelSectionComponent,\n PortalComponent,\n PushPanelComponent,\n SearchInputComponent,\n SideLayoutComponent,\n SidePanelComponent,\n StepComponent,\n TooltipComponent,\n WizardComponent,\n SimpleSelectComponent,\n MessageStickerComponent,\n MessageBoxComponent,\n UploadFilesComponent,\n SpinnerCubeComponent,\n PagerComponent,\n EllipsisComponent,\n DropdownComponent,\n SearchToolbarComponent,\n // directives\n AnchorDirective,\n DynamicTemplateDirective,\n DynamicComponentDirective,\n DragAndDropFilesDirective,\n ObjectURLDirective,\n // pipes\n FilterPipe,\n FlattenObjectArrayPipe,\n LimitPipe,\n OrderPipe,\n StorePipe,\n LocalizedDatePipe,\n BytesPipe,\n KeysPipe,\n LengthPipe,\n ReplacePipe\n ],\n providers: [InputFileService, OrderPipe]\n})\nexport class NgxOdeUiModule {\n static forRoot(labelsProvider: Provider): ModuleWithProviders<NgxOdeUiModule> {\n return {\n ngModule: NgxOdeUiModule,\n providers: [\n DynamicModuleImportsService,\n labelsProvider || LabelsService\n ]\n };\n }\n\n static forChild(): ModuleWithProviders<NgxOdeUiModule> {\n return {\n ngModule: NgxOdeUiModule,\n providers: []\n }\n }\n}\n","/*\n * Public API Surface of ngx-ode-ui\n */\n\nexport * from './lib/services/dynamicModuleImports.service';\nexport * from './lib/services/inputFile.service';\nexport * from './lib/services/labels.service';\nexport * from './lib/services/spinner.service';\n\nexport * from './lib/components/datepicker/datepicker.component';\nexport * from './lib/components/ellipsis/ellipsis.component';\nexport * from './lib/components/form-errors/form-errors.component';\nexport * from './lib/components/form-field/form-field.component';\nexport * from './lib/components/item-tree/item-tree.component';\nexport * from './lib/components/lightbox/lightbox.component';\nexport * from './lib/components/lightbox-confirm/lightbox-confirm.component';\nexport * from './lib/components/list/list.component';\nexport * from './lib/components/list-checkable/list-checkable.component';\nexport * from './lib/components/message-box/message-box.component';\nexport * from './lib/components/message-sticker/message-sticker.component';\nexport * from './lib/components/mono-select/mono-select.component';\nexport * from './lib/components/multi-combo/multi-combo.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/panel-section/panel-section.component';\nexport * from './lib/components/portal/portal.component';\nexport * from './lib/components/push-panel/push-panel.component';\nexport * from './lib/components/search-input/search-input.component';\nexport * from './lib/components/side-layout/side-layout.component';\nexport * from './lib/components/side-panel/side-panel.component';\nexport * from './lib/components/spinner-cube/spinner-cube.component';\nexport * from './lib/components/table/pager.component';\nexport * from './lib/components/tooltip/tooltip.component';\nexport * from './lib/components/upload-files/upload-files.component';\nexport * from './lib/components/value-editable/simple-select.component';\nexport * from './lib/components/wizard/wizard.component';\nexport * from './lib/components/dropdown/dropdown.component';\nexport * from './lib/components/search-toolbar/search-toolbar.component'\n\nexport * from './lib/directives/dynamic-component/dynamic-component.directive';\nexport * from './lib/directives/dynamic-component/component-descriptor.model';\nexport * from './lib/directives/anchor.directive';\nexport * from './lib/directives/drag-and-drop-files.directive';\nexport * from './lib/directives/dynamictemplate.directive';\nexport * from './lib/directives/object-url.directive';\n\nexport * from './lib/pipes/bytes.pipe';\nexport * from './lib/pipes/filter.pipe';\nexport * from './lib/pipes/flattenObjArray.pipe';\nexport * from './lib/pipes/keys.pipe';\nexport * from './lib/pipes/limit.pipe';\nexport * from './lib/pipes/localizedDate.pipe';\nexport * from './lib/pipes/orderBy.pipe';\nexport * from './lib/pipes/store.pipe';\nexport * from './lib/pipes/length.pipe';\nexport * from './lib/pipes/replace.pipe';\n\nexport * from './lib/utils/math';\nexport * from './lib/utils/string';\nexport * from './lib/utils/testing';\n\n// export * from './lib/helpers/accents.helper'; // Deprecated. './lib/utils/string' has its own removeAccents()\n\nexport * from './lib/ngx-ode-ui.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableThrowError","i1.LabelsService","i2","i3","i1.DynamicComponentDirective","i2.MessageStickerComponent","i3.FilterPipe","i4.FlattenObjectArrayPipe","i5.OrderPipe","i2.LightBoxComponent","i3.SearchInputComponent","i4","i5.FilterPipe","i6.OrderPipe","i7.StorePipe","i4.FilterPipe","i6.StorePipe","i1.SpinnerService","i1","i1.InputFileService","i4.DragAndDropFilesDirective","i3.OrderPipe","i1.DynamicModuleImportsService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-ode-ui.mjs","sources":["../../../projects/ngx-ode-ui/src/lib/services/dynamicModuleImports.service.ts","../../../projects/ngx-ode-ui/src/lib/services/inputFile.service.ts","../../../projects/ngx-ode-ui/src/lib/services/labels.service.ts","../../../projects/ngx-ode-ui/src/lib/services/spinner.service.ts","../../../projects/ngx-ode-ui/src/lib/components/datepicker/datepicker.component.ts","../../../projects/ngx-ode-ui/src/lib/components/datepicker/datepicker.component.html","../../../projects/ngx-ode-ui/src/lib/components/ellipsis/ellipsis.component.ts","../../../projects/ngx-ode-ui/src/lib/components/form-errors/form-errors.component.ts","../../../projects/ngx-ode-ui/src/lib/components/form-errors/form-errors.component.html","../../../projects/ngx-ode-ui/src/lib/components/message-box/message-box.component.ts","../../../projects/ngx-ode-ui/src/lib/components/message-box/message-box.component.html","../../../projects/ngx-ode-ui/src/lib/directives/dynamic-component/dynamic-component.directive.ts","../../../projects/ngx-ode-ui/src/lib/directives/dynamic-component/component-descriptor.model.ts","../../../projects/ngx-ode-ui/src/lib/components/message-sticker/message-sticker.component.ts","../../../projects/ngx-ode-ui/src/lib/components/message-sticker/message-sticker.component.html","../../../projects/ngx-ode-ui/src/lib/components/form-field/form-field.component.ts","../../../projects/ngx-ode-ui/src/lib/components/form-field/form-field.component.html","../../../projects/ngx-ode-ui/src/lib/pipes/filter.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/flattenObjArray.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/orderBy.pipe.ts","../../../projects/ngx-ode-ui/src/lib/components/item-tree/item-tree.component.ts","../../../projects/ngx-ode-ui/src/lib/components/item-tree/item-tree.component.html","../../../projects/ngx-ode-ui/src/lib/components/lightbox/lightbox.component.ts","../../../projects/ngx-ode-ui/src/lib/components/lightbox/lightbox.component.html","../../../projects/ngx-ode-ui/src/lib/components/lightbox-confirm/lightbox-confirm.component.ts","../../../projects/ngx-ode-ui/src/lib/components/lightbox-confirm/lightbox-confirm.component.html","../../../projects/ngx-ode-ui/src/lib/components/search-input/search-input.component.ts","../../../projects/ngx-ode-ui/src/lib/components/search-input/search-input.component.html","../../../projects/ngx-ode-ui/src/lib/pipes/store.pipe.ts","../../../projects/ngx-ode-ui/src/lib/components/list/list.component.ts","../../../projects/ngx-ode-ui/src/lib/components/list/list.component.html","../../../projects/ngx-ode-ui/src/lib/components/list-checkable/list-checkable.component.ts","../../../projects/ngx-ode-ui/src/lib/components/list-checkable/list-checkable.component.html","../../../projects/ngx-ode-ui/src/lib/components/mono-select/mono-select.component.ts","../../../projects/ngx-ode-ui/src/lib/components/mono-select/mono-select.component.html","../../../projects/ngx-ode-ui/src/lib/components/multi-combo/multi-combo.component.ts","../../../projects/ngx-ode-ui/src/lib/components/multi-combo/multi-combo.component.html","../../../projects/ngx-ode-ui/src/lib/components/multi-select/multi-select.component.ts","../../../projects/ngx-ode-ui/src/lib/components/multi-select/multi-select.component.html","../../../projects/ngx-ode-ui/src/lib/components/panel-section/panel-section.component.ts","../../../projects/ngx-ode-ui/src/lib/components/panel-section/panel-section.component.html","../../../projects/ngx-ode-ui/src/lib/components/portal/portal.component.ts","../../../projects/ngx-ode-ui/src/lib/components/portal/portal.component.html","../../../projects/ngx-ode-ui/src/lib/components/push-panel/push-panel.component.ts","../../../projects/ngx-ode-ui/src/lib/components/push-panel/push-panel.component.html","../../../projects/ngx-ode-ui/src/lib/components/side-layout/side-layout.component.ts","../../../projects/ngx-ode-ui/src/lib/components/side-layout/side-layout.component.html","../../../projects/ngx-ode-ui/src/lib/components/side-panel/side-panel.component.ts","../../../projects/ngx-ode-ui/src/lib/components/side-panel/side-panel.component.html","../../../projects/ngx-ode-ui/src/lib/components/spinner-cube/spinner-cube.component.ts","../../../projects/ngx-ode-ui/src/lib/components/spinner-cube/spinner-cube.component.html","../../../projects/ngx-ode-ui/src/lib/components/table/pager.component.ts","../../../projects/ngx-ode-ui/src/lib/components/table/pager.component.html","../../../projects/ngx-ode-ui/src/lib/components/tooltip/tooltip.component.ts","../../../projects/ngx-ode-ui/src/lib/directives/drag-and-drop-files.directive.ts","../../../projects/ngx-ode-ui/src/lib/components/upload-files/upload-files.component.ts","../../../projects/ngx-ode-ui/src/lib/components/upload-files/upload-files.component.html","../../../projects/ngx-ode-ui/src/lib/components/value-editable/simple-select.component.ts","../../../projects/ngx-ode-ui/src/lib/components/value-editable/simple-select.component.html","../../../projects/ngx-ode-ui/src/lib/components/wizard/wizard.component.ts","../../../projects/ngx-ode-ui/src/lib/components/dropdown/dropdown.component.ts","../../../projects/ngx-ode-ui/src/lib/components/dropdown/dropdown.component.html","../../../projects/ngx-ode-ui/src/lib/components/search-toolbar/search-toolbar.component.ts","../../../projects/ngx-ode-ui/src/lib/components/search-toolbar/search-toolbar.component.html","../../../projects/ngx-ode-ui/src/lib/directives/anchor.directive.ts","../../../projects/ngx-ode-ui/src/lib/directives/dynamictemplate.directive.ts","../../../projects/ngx-ode-ui/src/lib/directives/object-url.directive.ts","../../../projects/ngx-ode-ui/src/lib/utils/math.ts","../../../projects/ngx-ode-ui/src/lib/pipes/bytes.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/keys.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/limit.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/localizedDate.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/length.pipe.ts","../../../projects/ngx-ode-ui/src/lib/pipes/replace.pipe.ts","../../../projects/ngx-ode-ui/src/lib/utils/string.ts","../../../projects/ngx-ode-ui/src/lib/utils/testing.ts","../../../projects/ngx-ode-ui/src/lib/ngx-ode-ui.module.ts","../../../projects/ngx-ode-ui/src/public-api.ts","../../../projects/ngx-ode-ui/src/ngx-ode-ui.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\n\n@Injectable()\nexport class DynamicModuleImportsService {\n imports = [];\n}\n","\nimport {throwError as observableThrowError, Observable} from 'rxjs';\nimport {Injectable} from '@angular/core';\n\n@Injectable()\nexport class InputFileService {\n public validateFiles(files: FileList, maxFilesNumber: number, allowedExtensions: string[]): Observable<File[]> {\n if (!files) {\n return observableThrowError('files is empty');\n }\n if (files.length > maxFilesNumber) {\n return observableThrowError(`Only ${maxFilesNumber} file(s) allowed`);\n }\n\n const validFiles: File[] = [];\n const invalidFiles: File[] = [];\n for (let i = 0; i < files.length; i++) {\n const filenameSplit = files[i].name.split('.');\n const ext = filenameSplit[filenameSplit.length - 1];\n if (allowedExtensions.lastIndexOf(ext.toLowerCase()) !== -1) {\n validFiles.push(files[i]);\n } else {\n invalidFiles.push(files[i]);\n }\n }\n\n return new Observable(observer => {\n if (validFiles.length > 0) {\n observer.next(validFiles);\n }\n if (invalidFiles.length > 0) {\n observer.error(`Extension not allowed. Allowed extensions: ${allowedExtensions}`);\n }\n observer.complete();\n });\n }\n\n public isSrcExternalUrl(src: string): boolean {\n if (src) {\n return src.startsWith('http://') || src.startsWith('https://');\n } else {\n return false;\n }\n }\n\n public isSrcWorkspace(src: string): boolean {\n if (src) {\n return src.startsWith('/workspace');\n } else {\n return false;\n }\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable()\nexport class LabelsService {\n\n private labels = {\n 'select.all': 'Select all',\n 'deselect.all': 'Deselect all',\n search: 'Search'\n };\n\n static withLabels(labels: Object) {\n const newService = new LabelsService();\n for (const prop in labels) {\n newService.labels[prop] = labels[prop];\n }\n return newService;\n }\n\n getLabel(label: string) {\n return this.labels[label] || label;\n }\n\n mixin(labels: Object) {\n for (const property in labels) {\n this.labels[property] = labels[property];\n }\n }\n}\n","import {ApplicationRef, ChangeDetectorRef, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Injectable()\nexport class SpinnerService {\n\n constructor(private appRef: ApplicationRef) {}\n\n timer = 250;\n\n private loading = new Set<any>();\n private timers = new Map<any, number>();\n\n private _trigger = new Subject();\n get trigger() {\n return this._trigger;\n }\n\n isLoading(something, pending = false): boolean {\n return this.loading.has(something) ||\n (pending && this.timers.has(something));\n }\n\n perform<T>(something: any, promise: Promise<T>, timer?: number): Promise<T> {\n this.load(something, timer);\n return promise.catch( err => {\n this.done(something);\n throw err;\n }).then( _ => {\n this.done(something);\n return _;\n });\n }\n\n load(something: any, timer?: number): void {\n if (this.timers.has(something)) {\n window.clearTimeout(this.timers.get(something));\n }\n\n const addToQueue = () => {\n this.loading.add(something);\n this.timers.delete(something);\n this.appRef.tick();\n this.trigger.next(true);\n };\n\n if (timer === 0) {\n addToQueue();\n } else {\n this.timers.set(something, window.setTimeout(addToQueue, timer || this.timer));\n }\n }\n\n done(something): void {\n window.clearTimeout(this.timers.get(something));\n this.timers.delete(something);\n this.loading.delete(something);\n this.trigger.next(true);\n this.appRef.tick();\n }\n\n wrap = (func: (...params) => Promise<any>, label: string,\n props: { delay?: number, binding?: any, cdRef?: ChangeDetectorRef } = {}, ...args) => {\n\n this.load(label, props.delay);\n const promise = props.binding ?\n func.bind(props.binding)(...args) :\n func(...args);\n\n promise.catch((err) => {\n this.done(label);\n throw err;\n }).then(_ => {\n this.done(label);\n return _;\n });\n if (props.cdRef) { props.cdRef.markForCheck(); }\n\n return promise;\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { AfterViewInit, Component, ElementRef, EventEmitter, forwardRef,\n Input, OnDestroy, Output, Renderer2, ViewChild, Injector } from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgModel } from '@angular/forms';\n\nimport {LabelsService} from '../../services/labels.service';\nimport Flatpickr from 'flatpickr';\nimport French from 'flatpickr/dist/l10n/fr.js';\n\n// access ngmodel\nconst NOOP = () => {\n};\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent),\n multi: true\n};\n\n@Component({\n selector: 'ode-date-picker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n providers: [ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR ]\n})\nexport class DatepickerComponent extends OdeComponent implements OnDestroy, AfterViewInit, ControlValueAccessor {\n\n constructor(private renderer: Renderer2,\n private labelsService: LabelsService,\n injector: Injector) {\n super(injector);\n }\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n let init = false;\n if (this.innerValue === undefined) {\n init = true;\n }\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n if (!init) {\n this.changeDate.emit(v);\n }\n\n }\n }\n\n private innerValue: any = '';\n\n @ViewChild('datePickerElement')\n datePickerElement: ElementRef;\n\n @ViewChild('inputRef')\n inputElement: ElementRef;\n\n // instance flatpickr\n private datePickerInst: Flatpickr;\n\n @ViewChild(NgModel)\n model: NgModel;\n\n @Input()\n disabled = false;\n\n @Input()\n set readonly( val:boolean ) {\n this._readonly = val;\n if( this.datePickerInst && this.datePickerInst.altInput ) {\n // Apply the readonly attribute addition/removal to the visible input (wrapped)\n if( val ) this.datePickerInst.altInput.setAttribute('readonly', \"\");\n else this.datePickerInst.altInput.removeAttribute('readonly');\n }\n }\n get readonly():boolean {\n return this._readonly;\n }\n _readonly = false;\n\n @Input()\n enableTime = false;\n\n @Input()\n placeholder = '';\n\n @Input()\n minDate;\n\n @Input()\n maxDate;\n\n @Output()\n changeDate: EventEmitter<string> = new EventEmitter<string>();\n\n private onChangeCallback: (_: any) => void = NOOP;\n private onTouchedCallback: () => void = NOOP;\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n // add attr data-input, mandatory for the picker to work in wrap mode\n this.renderer.setAttribute(this.inputElement.nativeElement, 'data-input', '');\n\n // disabled case\n if (this.disabled === true) {\n this.model.control.disable();\n }\n\n const navigatorLanguage = navigator.language.split('-')[0];\n let datePickerLocale = {};\n if (navigatorLanguage === 'fr') {\n datePickerLocale = French.fr;\n }\n\n // options for the flatpickr instance\n const options = {\n altInput: !this.disabled,\n altFormat: 'd/m/Y', // date format displayed to user\n dateFormat: 'Y-m-d', // date format sent to server\n allowInput: false,\n enableTime: this.enableTime,\n minDate: this.minDate,\n maxDate: this.maxDate,\n clickOpens: false,\n wrap: true, // to add input decoration (calendar icon and delete icon)\n locale: datePickerLocale\n };\n\n this.datePickerInst = new Flatpickr(this.datePickerElement.nativeElement, options);\n if( !this.disabled ) {\n this.datePickerInst.altInput.addEventListener('click', e => {\n if( !this.readonly ) {\n this.datePickerInst.toggle();\n }\n });\n }\n\n // Force updating the date input readonly attribute :\n this.readonly = this._readonly;\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.datePickerInst.destroy();\n }\n\n writeValue(value: any): void {\n if (value !== this.innerValue && this.datePickerInst) {\n this.innerValue = value;\n this.datePickerInst.setDate(value);\n this.onChangeCallback(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n labels(label) {\n return this.labelsService.getLabel(label);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, Input, Injector } from '@angular/core';\n\ntype EllipsisBehavior = 'expand' | 'hide';\n\n/**\n * A simple ellipsis component that switches text-overflow on click.\n * Add an ellipsis={'hide'| 'expand'} attirubute on your element.\n * Default behavior is 'hide', so that it's the same than the raw CSS\n */\n@Component({\n selector: '[ellipsis]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./ellipsis.component.scss'],\n host: {\n '(click)': 'onClick()',\n }\n})\nexport class EllipsisComponent extends OdeComponent {\n constructor(private eltRef: ElementRef, injector: Injector ) {\n super(injector);\n }\n\n private _ellipsis: EllipsisBehavior = 'hide';\n @Input()\n set ellipsis(value: EllipsisBehavior) {\n if (!!value) {\n this._ellipsis = value;\n if (this._ellipsis == 'expand') {\n this.eltRef.nativeElement.className = 'expand';\n }\n }\n }\n\n private isExpanded = false;\n\n private initialStyle = Object.assign({}, this.eltRef.nativeElement.style);\n onClick(): void {\n if (this._ellipsis == 'hide') {\n return;\n }\n if (!this.isExpanded) {\n this.isExpanded = true;\n Object.assign(this.eltRef.nativeElement.style, {\n textOverflow: 'clip',\n overflow: 'auto',\n whiteSpace: 'normal',\n });\n } else {\n this.isExpanded = false;\n this.eltRef.nativeElement.style = this.initialStyle;\n }\n\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, Input, Injector } from '@angular/core';\nimport {AbstractControl} from '@angular/forms';\n\nimport {LabelsService} from '../../services/labels.service';\n\n@Component({\n selector: 'ode-form-errors',\n templateUrl: './form-errors.component.html',\n styleUrls: ['./form-errors.component.scss']\n})\nexport class FormErrorsComponent extends OdeComponent {\n constructor(private labelsService: LabelsService, injector: Injector) {\n super(injector);\n }\n\n @Input('control')\n ref: AbstractControl;\n\n @Input('expectedPatternMsg')\n expectedPatternMsg: string;\n\n\n getErrorsArray() {\n const errorsArray = [];\n for (const prop in this.ref.errors) {\n errorsArray.push({ name: prop, value: this.ref.errors[prop]});\n }\n return errorsArray;\n }\n\n labels(label) {\n return this.labelsService.getLabel(label);\n }\n}\n","<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","import { HostBinding } from '@angular/core';\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, Injector } from '@angular/core';\nimport { OdeComponent } from 'ngx-ode-core';\n\nexport type MessageType = 'info' | 'success' | 'warning' | 'danger';\n\nexport const icons = {\n info : 'fa-question-circle',\n warning : 'fa-exclamation-circle',\n danger : 'fa-ban',\n success : 'fa-check-circle'\n};\n\n@Component({\n selector: 'message-box',\n templateUrl: './message-box.component.html',\n styleUrls: ['./message-box.component.scss']\n})\nexport class MessageBoxComponent extends OdeComponent implements OnInit {\n constructor(\n private eltRef: ElementRef,\n injector: Injector) {\n super(injector);\n }\n\n @Input() type: MessageType;\n @Input() header: string;\n\n // type (string | [string,Object])[] enable to pass an array of String where String is i18n key\n // or an array of tuple<String, Object> where String is i18n key and Object is 118n params\n private _messages: [string, {}][];\n @Input() set messages(value: (string | [string, {}])[]) {\n this._messages = [];\n\n for (const message of value) {\n if (typeof message == 'string') {\n this._messages.push([message, {}]);\n }\n else if (typeof message == 'object') {\n this._messages.push(message);\n }\n }\n }\n get messages() {\n return this._messages;\n }\n\n private _position: 'absolute' | 'inherit' = 'inherit';\n @Input() set position(value: 'absolute' | 'inherit') {\n this._position = value;\n }\n\n /**\n * `gravity` set the relative position of the message box if its position is 'absolute'.\n * No effect when position is 'inherit'.\n */\n @Input() gravity: 'left' | 'right' = 'left';\n @HostBinding('class.gravity-left') get isGravityLeft() { return this.gravity === 'left' }\n @HostBinding('class.gravity-right') get isGravityRight() { return this.gravity === 'right' }\n\n hidden = false;\n @Output('onHide') hideEvent: EventEmitter<void>;\n canHide(): boolean {\n if (this._position == 'absolute') {\n return true;\n }\n return false;\n }\n hide(): void {\n this.hidden = true;\n this.hideEvent.emit();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.type == undefined) {\n throw new Error('MessageSticker : type\\' property must be set');\n }\n this.eltRef.nativeElement.style.position = this._position;\n if (this._position == 'absolute') {\n this.eltRef.nativeElement.style.width = '450px';\n // TODO: Maybe use a static counter to push on top the last open MessageBox ?\n this.eltRef.nativeElement.style.zIndex = '10';\n }\n\n }\n}\n\n","<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","import {ComponentFactoryResolver, ComponentRef, Directive, Input, ViewContainerRef, } from '@angular/core';\nimport {ComponentDescriptor} from './component-descriptor.model';\n\n/**\n* Dynamically load the component describe with the @input dynamic-component\n*/\n@Directive({\n selector: '[dynamic-component]',\n})\nexport class DynamicComponentDirective {\n constructor(\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n public componentRef: ComponentRef<any>;\n\n @Input('dynamic-component')\n componentDesc: ComponentDescriptor;\n\n load(data?: any): void {\n if (this.isLoaded()) { return; }\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.componentDesc.type);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(componentFactory);\n\n if (data != undefined) {\n this.componentDesc.assignData(data);\n }\n for (const attribute in this.componentDesc.data) {\n this.componentRef.instance[attribute] = this.componentDesc.data[attribute];\n if (attribute == 'hideEvent') {\n this.componentRef.instance.hideEvent.subscribe(e => {\n this.destroy();\n });\n }\n }\n }\n\n isLoaded(): boolean {\n if (this.componentRef == undefined) {\n return false;\n }\n else {\n return this.componentRef.instance != null;\n }\n }\n\n destroy(): void {\n if (this.componentRef.instance.hideEvent != undefined) {\n this.componentRef.instance.hideEvent.unsubscribe();\n }\n // FIXME: this.componentRef.destroy(); => This one usually should work, better to use but do nothing...\n delete this.componentRef;\n this.viewContainerRef.clear();\n }\n}\n\n\n\n","import {Type} from '@angular/core';\n\n/**\n* Usefull to desccribe (type and input data) a component\n* that will be dynamically instanciate\n*/\nexport class ComponentDescriptor {\n constructor(\n public type: Type<any>,\n public data: any\n ) {}\n\n assignData(data: any): ComponentDescriptor {\n Object.assign(this.data, data);\n return this;\n }\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, OnInit, ViewChild, Injector } from '@angular/core';\nimport {icons, MessageBoxComponent, MessageType} from '../message-box/message-box.component';\nimport { DynamicComponentDirective } from '../../directives/dynamic-component/dynamic-component.directive';\nimport { ComponentDescriptor } from '../../directives/dynamic-component/component-descriptor.model';\n\n@Component({\n selector: 'ode-message-sticker',\n templateUrl: './message-sticker.component.html',\n styleUrls: ['./message-sticker.component.scss']\n})\nexport class MessageStickerComponent extends OdeComponent implements OnInit {\n @Input() type: MessageType;\n @Input() header: string;\n @Input() messages: (string | [string, {}])[];\n @Input() gravity: 'left' | 'right' = 'left';\n @ViewChild(DynamicComponentDirective) dComponent: DynamicComponentDirective;\n\n readonly icons = icons;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.type === undefined) {\n throw new Error('MessageSticker : type\\' property must be set');\n }\n }\n\n newMessageBox(): ComponentDescriptor {\n return new ComponentDescriptor(MessageBoxComponent, {\n type: this.type,\n header: this.header,\n messages: this.messages,\n position: 'absolute',\n gravity: this.gravity,\n hideEvent: new EventEmitter<void>()\n });\n }\n\n loadMessageBox(): void {\n this.dComponent.load();\n }\n}\n","<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","import { Component, Input, Injector } from '@angular/core';\nimport { OdeComponent } from 'ngx-ode-core';\n\n@Component({\n selector: 'ode-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss']\n})\nexport class FormFieldComponent extends OdeComponent {\n @Input() label: string;\n @Input() help: string;\n @Input() required: boolean;\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'filter', pure: false})\nexport class FilterPipe implements PipeTransform {\n\n private stringFullCompare(str1: string, str2: string): boolean {\n return str1.match(new RegExp(str2, 'i')) !== null;\n }\n\n private _filterString(value, filter, arrayRef: Array<String>) {\n if (typeof value === 'string' &&\n typeof filter === 'string' &&\n filter.trim() &&\n this.stringFullCompare(value, filter)) {\n arrayRef.push(value);\n return true;\n }\n return false;\n }\n\n private _filterObject(object, filter, objectRef, arrayRef: Array<Object>) {\n if (typeof object == 'object' && typeof filter === 'object') {\n let check = true;\n for (const property in filter) {\n if (!check) {\n break;\n }\n\n const filterValue = filter[property];\n const propsToCheck = property.split(\",\");\n\n const objectValues = new Array(propsToCheck.length);\n for(let i = propsToCheck.length; i-- > 0;)\n objectValues[i] = object[propsToCheck[i].trim()];\n\n if (filterValue instanceof Function) {\n check = filterValue.apply(null, objectValues);\n } else if (filterValue instanceof Object) {\n if(propsToCheck.length > 1)\n throw \"Multi-argument object filtering is not yet supported\";\n return this._filterObject(objectValues[0], filterValue, objectRef, arrayRef);\n }\n else\n {\n for(let i = objectValues.length; i-- > 0;)\n {\n if(!check)\n break;\n\n const objectValue = objectValues[i];\n\n if (typeof objectValue === 'undefined' && typeof filterValue === 'string' && filterValue.length > 0 ) {\n check = false;\n } else if (objectValue instanceof Array && typeof filterValue === 'string') {\n check = this.stringFullCompare(objectValue.join(), filterValue);\n } else if (typeof filterValue === 'string' && typeof objectValue === 'string') {\n check = this.stringFullCompare(objectValue, filterValue);\n } else if (filterValue instanceof Array && typeof objectValue === 'string') {\n for (let i = 0; i < filterValue.length; i++) {\n check = this.stringFullCompare(objectValue, filterValue[i]);\n if (check) { break; }\n }\n }\n }\n }\n }\n if (check) {\n arrayRef.push(objectRef);\n }\n return true;\n }\n return false;\n }\n\n private _filterFunction(value, filter, arrayRef: Array<any>) {\n if (typeof filter === 'function') {\n if (filter(value)) {\n arrayRef.push(value);\n }\n return true;\n }\n return false;\n }\n\n transform(array: Array<string | Object>, by: (string | Object | Function)) {\n if (!array || !by) {\n return array;\n }\n\n const filteredArray = [];\n\n array.forEach(item => {\n this._filterString(item, by, filteredArray) ||\n this._filterObject(item, by, item, filteredArray) ||\n this._filterFunction(item, by, filteredArray);\n });\n\n return filteredArray;\n }\n\n}\n","import {Pipe} from '@angular/core';\n\n@Pipe({ name: 'flattenObjArray' })\nexport class FlattenObjectArrayPipe {\n\n transform(array: Array<Object>, onlyProps?: Array<String>) {\n if (!array) {\n return [];\n }\n if (onlyProps.length < 1) {\n return array;\n }\n\n let flattenedArray = Array.from(array);\n\n const flatten = (array: Array<Object>) => {\n array.forEach(item => {\n for (const prop in item) {\n const val = item[prop];\n if (val instanceof Array &&\n !onlyProps ||\n onlyProps.indexOf(prop) > -1) {\n flattenedArray = [...flattenedArray, ...val];\n flatten(val);\n }\n }\n });\n };\n flatten(array);\n\n return Array.from(new Set<Object>(flattenedArray));\n\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({ name: 'orderBy' })\nexport class OrderPipe implements PipeTransform {\n\n transform(array, sortPredicate, reverseOrder?, compareFn?) {\n if (array == null || !sortPredicate) { return array; }\n\n /*** ***/\n const isString = (value) => {\n return typeof value === 'string';\n };\n\n const isFunction = (value) => {\n return typeof value === 'function';\n };\n\n const isArray = (value) => {\n return value && value instanceof Array;\n };\n\n const isObject = (value) => {\n return typeof value === 'object';\n };\n\n const isPrimitive = (value) => {\n switch (typeof value) {\n case 'number': /* falls through */\n case 'boolean': /* falls through */\n case 'string':\n return true;\n default:\n return false;\n }\n };\n\n const hasCustomToString = (value) => {\n return value &&\n typeof value.toString === 'function' &&\n value.toString !== Object.prototype.toString;\n };\n\n const getComparisonObject = (value, index) => {\n // NOTE: We are adding an extra `tieBreaker` value based on the element's index.\n // This will be used to keep the sort stable when none of the input predicates can\n // distinguish between two elements.\n return {\n value,\n tieBreaker: { value: index, type: 'number', index },\n predicateValues: predicates.map(function(predicate) {\n return getPredicateValue(predicate.get(value), index);\n })\n };\n };\n\n const doComparison = (v1, v2) => {\n for (let i = 0, ii = predicates.length; i < ii; i++) {\n const result = compare(v1.predicateValues[i], v2.predicateValues[i]);\n if (result) {\n return result * predicates[i].descending * descending;\n }\n }\n\n return compare(v1.tieBreaker, v2.tieBreaker) * descending;\n };\n\n const processPredicates = (sortPredicates) => {\n return sortPredicates.map(function(predicate) {\n let descending = 1, get = (value) => value;\n\n if (isFunction(predicate)) {\n get = predicate;\n } else if (isString(predicate)) {\n if ((predicate.charAt(0) === '+' || predicate.charAt(0) === '-')) {\n descending = predicate.charAt(0) === '-' ? -1 : 1;\n predicate = predicate.substring(1);\n }\n if (predicate !== '') {\n get = (value) => value[predicate];\n }\n }\n return { get, descending };\n });\n };\n\n const objectValue = (value) => {\n // If `valueOf` is a valid function use that\n if (isFunction(value.valueOf)) {\n value = value.valueOf();\n if (isPrimitive(value)) { return value; }\n }\n // If `toString` is a valid function and not the one from `Object.prototype` use that\n if (hasCustomToString(value)) {\n value = value.toString();\n if (isPrimitive(value)) { return value; }\n }\n\n return value;\n };\n\n const getPredicateValue = (value, index) => {\n let type = typeof value;\n if (value === null) {\n type = 'string';\n value = 'null';\n } else if (type === 'object') {\n value = objectValue(value);\n }\n return { value, type, index };\n };\n\n const defaultCompare = (v1, v2) => {\n let result = 0;\n const type1 = v1.type;\n const type2 = v2.type;\n\n if (type1 === type2) {\n let value1 = v1.value;\n let value2 = v2.value;\n\n if (type1 === 'string') {\n // Compare strings case-insensitively\n value1 = value1.toLowerCase();\n value2 = value2.toLowerCase();\n\n result = value1.localeCompare(value2);\n } else if (type1 === 'object') {\n // For basic objects, use the position of the object\n // in the collection instead of the value\n if (isObject(value1)) { value1 = v1.index; }\n if (isObject(value2)) { value2 = v2.index; }\n\n if (value1 !== value2) {\n result = value1 < value2 ? -1 : 1;\n }\n }\n } else {\n result = type1 < type2 ? -1 : 1;\n }\n\n return result;\n };\n /*** ***/\n\n if (!isArray(sortPredicate)) {\n sortPredicate = [sortPredicate];\n }\n if (sortPredicate.length === 0) {\n sortPredicate = ['+'];\n }\n\n const predicates = processPredicates(sortPredicate);\n\n const descending = reverseOrder ? -1 : 1;\n\n // Define the `compare()` function. Use a default comparator if none is specified.\n const compare = isFunction(compareFn) ? compareFn : defaultCompare;\n\n // The next three lines are a version of a Swartzian Transform idiom from Perl\n // (sometimes called the Decorate-Sort-Undecorate idiom)\n // See https://en.wikipedia.org/wiki/Schwartzian_transform\n const compareValues = Array.prototype.map.call(array, getComparisonObject);\n compareValues.sort(doComparison);\n array = compareValues.map(function(item) { return item.value; });\n\n return array;\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild, ContentChild, TemplateRef, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-item-tree',\n templateUrl: './item-tree.component.html'\n})\nexport class ItemTreeComponent<T> extends OdeComponent implements OnInit {\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n /**** Inputs ****/\n\n // Items\n @Input() items: Array<any> = [];\n\n // Property containing the list of child objects.\n @Input('children') childrenProperty = 'children';\n // Property to display in the list\n @Input('display') displayProperty = 'label';\n @Input() displayTemplate: TemplateRef<any>;\n // Filter pipe argument\n @Input() filter: (Object | string | Function) = '';\n // OrderBy pipe argument\n @Input() order: (Array<any> | string | Function) = [];\n // Reverse the order pipe\n @Input() reverse: any = false;\n // Flatten the tree on the specified properties\n @Input()\n set flatten(flattenProps: Array<string>) {\n if (!this.isFlattened() && flattenProps.length > 0) {\n this._selectedItem = this._lastSelectedItem;\n } else if (this.isFlattened && flattenProps.length < 1) {\n this.flagIfParent();\n }\n this._flattenProps = flattenProps;\n }\n get flatten(): Array<string> {\n return this._flattenProps;\n }\n private _flattenProps: Array<string> = [];\n\n // Disable the opener icon\n @Input() disableOpener = false;\n\n // Use checkboxes instead of selecting items\n @Input() checkboxMode = false;\n\n /**** Outputs ****/\n\n @Output() onSelect: EventEmitter<T> = new EventEmitter<T>();\n\n @Output() onCheck: EventEmitter<T> = new EventEmitter<T>();\n\n /**** View ****/\n\n @ViewChild(ItemTreeComponent) childItemTree: ItemTreeComponent<T>;\n\n /**** Internal Logic ****/\n\n @Input('lastSelected') _lastSelectedItem: T;\n private _selectedItem: T;\n @Input('depth') _depth = 0;\n private unfolded: T[] = [];\n\n ngOnInit() {\n super.ngOnInit();\n this.flagIfParent();\n }\n\n public selectItem(item: T) {\n this._selectedItem = item;\n if (this.childItemTree) {\n delete this.childItemTree._selectedItem;\n }\n const idx = this.unfolded.indexOf(item);\n if (!this.disableOpener && idx < 0) {\n this.unfolded.push(item);\n } else {\n this.unfolded.splice(idx, 1);\n }\n this.bubbleSelect(item);\n }\n\n public checkItem(item: T) {\n this.onCheck.emit(item);\n }\n\n public bubbleSelect(item: T) {\n this._lastSelectedItem = item;\n this.onSelect.emit(item);\n }\n\n public isSelected(item) {\n return (this.disableOpener ? this._selectedItem : this._lastSelectedItem) === item;\n }\n\n public toggleFold(event: Event, item: T) {\n event.stopPropagation();\n const idx = this.unfolded.indexOf(item);\n if (idx < 0) {\n this.unfolded.push(item);\n } else {\n this.unfolded.splice(idx, 1);\n }\n }\n\n public isFolded(item: T) {\n return this.disableOpener ? !this.isSelected(item) : this.unfolded.indexOf(item) < 0;\n }\n\n public display(item: T) {\n return this.displayProperty && item[this.displayProperty];\n }\n\n public getChildren(item) {\n return item[this.childrenProperty] || [];\n }\n\n public hasChildren(item) {\n return this.getChildren(item).length > 0;\n }\n\n isFlattened() {\n return this._flattenProps.length;\n }\n\n private flagIfParent() {\n if (!this._lastSelectedItem) {\n return;\n }\n\n const findSubItem = (item, target) => {\n if (item === target) {\n return true;\n }\n if (this.hasChildren(item)) {\n return this.getChildren(item).find(subItem => {\n return findSubItem(subItem, target);\n });\n }\n return false;\n };\n\n for (const i in this.items) {\n const item = this.items[i];\n\n if (item === this._lastSelectedItem ||\n findSubItem(item, this._lastSelectedItem)) {\n this._selectedItem = item;\n this.unfolded = [item];\n break;\n }\n }\n\n this.changeDetector.markForCheck();\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-lightbox',\n templateUrl: './lightbox.component.html',\n styleUrls: ['./lightbox.component.scss'],\n host: {\n '(click)': 'onClick($event)'\n }\n\n})\nexport class LightBoxComponent extends OdeComponent {\n\n constructor(\n injector: Injector,\n private renderer: Renderer2,\n private host: ElementRef) {\n super(injector);\n }\n\n @Input()\n set show(s: boolean) {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n if (s) {\n this._show = true;\n this.timer = window.setTimeout(() => {\n this.renderer.addClass(this.host.nativeElement, 'shown');\n this.timer = null;\n this.changeDetector.markForCheck();\n }, 100);\n } else {\n const wait = parseFloat(this.section &&\n window.getComputedStyle(this.section.nativeElement)['transition-duration']);\n this.renderer.removeClass(this.host.nativeElement, 'shown');\n this.timer = window.setTimeout(() => {\n this._show = false;\n this.timer = null;\n this.changeDetector.markForCheck();\n }, wait * 1000);\n }\n }\n\n get show(): boolean {\n return this._show;\n }\n\n _show = false;\n\n @Input() showCloseButton = true;\n\n @Output() onClose = new EventEmitter<any>();\n\n @ViewChild('section') section: ElementRef;\n @ViewChild('overlay') overlay: ElementRef;\n\n private timer: number;\n\n onClick(event: MouseEvent) {\n if (this.overlay.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n\n public close() {\n this.show = false;\n this.onClose.emit();\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-lightbox-confirm',\n templateUrl: './lightbox-confirm.component.html',\n styleUrls: ['./lightbox-confirm.component.scss']\n})\nexport class LightboxConfirmComponent extends OdeComponent {\n\n @Input() lightboxTitle: string;\n @Input() show: boolean;\n @Input() cancelText: string = \"cancel\";\n @Input() confirmText: string = \"confirm\";\n @Input() extraButtons: Array<String> = [];\n @Input() disableConfirm: boolean = false;\n\n @Output() onConfirm: EventEmitter<void> = new EventEmitter<void>();\n @Output() onCancel: EventEmitter<void> = new EventEmitter<void>();\n @Output() onExtra: EventEmitter<number> = new EventEmitter<number>();\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild, Injector } from '@angular/core';\nimport {Observable, Subject, Subscription} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\n\n\n@Component({\n selector: 'ode-search-input',\n templateUrl: './search-input.component.html',\n styleUrls: ['./search-input.component.scss']\n})\nexport class SearchInputComponent extends OdeComponent implements OnInit, OnDestroy {\n\n constructor(injector: Injector,\n private _elRef: ElementRef,\n private _renderer: Renderer2) {\n super(injector);\n }\n\n /* Inputs / Outputs / View */\n @Input() isSearchActive: boolean = false;\n @Input() isSearchButtonDisabled: boolean = false;\n @Input() searchInput: boolean = false;\n @Input() searchSubmit: () => void;\n @Input() set delay(d: number) {\n this._delay = d;\n this.observable = this.$searchTerms.pipe(debounceTime(this.delay), distinctUntilChanged());\n if (this.observer) {\n this.observer.unsubscribe();\n }\n this.observer = this.observable.subscribe(val => {\n this.onChange.emit(val);\n });\n }\n get delay() {\n return this._delay;\n }\n private _delay = 200;\n\n @Output() onChange: EventEmitter<string> = new EventEmitter<string>();\n\n @ViewChild('searchBox') searchBox: ElementRef;\n\n /* Internal logic */\n\n private $searchTerms = new Subject<string>();\n private observable: Observable<string>;\n private observer: Subscription;\n\n private evalAttributes() {\n const element = this._elRef.nativeElement;\n if (element && this.searchBox) {\n for (let i = 0; i < element.attributes.length; i++) {\n const attr = element.attributes[i];\n this._renderer.setAttribute(this.searchBox.nativeElement, attr.name, attr.value);\n }\n }\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (!this.observable) {\n this.observable = this.$searchTerms\n .pipe(\n debounceTime(this.delay),\n distinctUntilChanged()\n );\n this.observer = this.observable.subscribe(val => {\n this.onChange.emit(val);\n });\n }\n setTimeout(() => this.evalAttributes(), 20);\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.observer.unsubscribe();\n }\n\n search(str: string) {\n this.$searchTerms.next(str);\n }\n\n handleSubmit() {\n this.searchSubmit();\n }\n\n}\n","<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<!-- <input *ngIf=\"!searchInput\" type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/> -->","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'store'\n})\nexport class StorePipe implements PipeTransform {\n\n transform(value, context, prop = '_storedRef') {\n context[prop] = value;\n return value;\n }\n\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss']\n})\nexport class ListComponent extends OdeComponent {\n\n set storedElements(list) {\n this._storedElements = list;\n this.listChange.emit(list);\n }\n\n get storedElements() {\n return this._storedElements;\n }\n\n /* Store pipe */\n self = this;\n _storedElements = [];\n\n @Input() model;\n @Input() filters;\n @Input() inputFilter;\n @Input() sort;\n @Input() limit: number;\n @Input() searchPlaceholder = 'search';\n @Input() noResultsLabel = 'list.results.no.items';\n @Input() placeholder = 'list.placeholder';\n @Input() isSearchActive = true;\n @Input() isSearchButtonDisabled: boolean = false;\n @Input() searchInput: boolean = false;\n @Input() searchDelay: number;\n @Input() searchSubmit: () => void;\n\n @Output() inputChange: EventEmitter<string> = new EventEmitter<string>();\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n @Output() listChange: EventEmitter<any> = new EventEmitter();\n @Output() scrolledDown: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(TemplateRef) templateRef: TemplateRef<any>;\n @Input() isSelected = (arg?: any) => false;\n @Input() isDisabled = (arg?: any) => false;\n @Input() ngClass = (arg?: any) => ({});\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, Injector } from '@angular/core';\n\n/**\n * ListCheckableComponent is an alternative to the ListComponent to easily select rows by using a checkbox.\n * \n * \n```\n<ode-list-checkable\n [readOnly]=\"a_boolean\"\n [model]=\"an_array_of_items\"\n [filters]=\"\"\n [sort]=\"'+displayName'\"\n [limit]=\"a_number\"\n [noResultsLabel]=\"text_to_display_when_no_item_in_model\"\n [isChecked]=\"a_lambda_which_takes_1_item_argument_and_returns_a_boolean\"\n [areAllChecked]=\"a_lambda_with_no_argument_which_returns_a_boolean\"\n [ngClass]=\"a_lambda_which_takes_1_item_argument_and_returns_an_object\"\n (onCheck)=\"emits_an_$event_like_{item:any; checked:boolean}\"\n (listChange)=\"\"\n (scrolledDown)=\"\"\n >\n\n <ng-template let-item>\n <span>{{item.displayName|translate}}</span>\n </ng-template>\n \n</ode-list-checkable>\n`̀``\n */\n\ntype OnCheckData = {item:any, checked:boolean};\n\n@Component({\n selector: 'ode-list-checkable',\n templateUrl: './list-checkable.component.html',\n styleUrls: ['./list-checkable.component.scss']\n})\nexport class ListCheckableComponent extends OdeComponent {\n @Input() model = [];\n @Input() filters;\n @Input() sort;\n @Input() limit: number;\n @Input() noResultsLabel = 'list.results.no.items';\n @Input() readOnly: boolean = false;\n\n @Output() onCheck: EventEmitter<OnCheckData> = new EventEmitter();\n @Output() listChange: EventEmitter<any> = new EventEmitter();\n @Output() scrolledDown: EventEmitter<void> = new EventEmitter();\n\n @ContentChild(TemplateRef) templateRef: TemplateRef<any>;\n\n @Input() areAllChecked = () => false;\n @Input() isChecked = (arg?: any) => false;\n @Input() isDisabled = (arg?: any) => false;\n @Input() ngClass = (arg?: any) => ({});\n\n /* Store pipe */\n self = this;\n _storedElements = [];\n set storedElements(list) {\n this._storedElements = list;\n this.listChange.emit(list);\n }\n get storedElements() {\n return this._storedElements;\n }\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n public toggleAll( checkAll:boolean ) {\n this.model.forEach( item => {\n const isChecked = this.isChecked(item);\n if( !this.isDisabled(item)\n && ((isChecked && !checkAll) || (!isChecked && checkAll)) ) {\n this.onCheck.emit( {item:item, checked:checkAll} );\n }\n })\n }\n\n}\n","<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","import { Component, ElementRef, forwardRef, Input, Injector } from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {SelectOption} from '../multi-select/multi-select.component';\nimport { OdeComponent } from 'ngx-ode-core';\n\n@Component({\n selector: 'ode-mono-select',\n templateUrl: './mono-select.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MonoSelectComponent),\n multi: true\n }],\n host: {\n '(document:click)': 'onClickOnDocument($event)',\n '(click)': 'onClickOnHost()'\n }\n})\nexport class MonoSelectComponent<K> extends OdeComponent implements ControlValueAccessor {\n @Input()\n public placeholder = 'monoselect.placeholder.default';\n\n @Input()\n public options: Array<SelectOption<K>> = [];\n\n @Input()\n public trackByFn: (optionValue: K) => number | string;\n\n @Input()\n public translateOptions: boolean = true;\n\n public opened = false;\n\n public selectedOption: SelectOption<K> = null;\n\n @Input()\n public disabled = false;\n\n public optionClicked(option?: SelectOption<K>) {\n this.selectedOption = option;\n this.opened = false;\n this.onChange(this.selectedOption != null ? this.selectedOption.value : null);\n }\n\n constructor(private elementRef: ElementRef, injector: Injector) {\n super(injector);\n }\n\n public onClickOnDocument(event: MouseEvent) {\n if (this.opened &&\n !this.elementRef.nativeElement.querySelector('.lct-form-select').contains(event.target)) {\n this.opened = false;\n }\n return true;\n }\n\n public onClickOnHost() {\n if (!this.opened && !this.disabled) {\n this.opened = true;\n } else {\n this.opened = false;\n }\n }\n\n private onChange = (_: K) => {\n }\n\n private onTouched = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: K): void {\n this.selectedOption = this.options.find(option => option.value === obj);\n this.onChange(this.selectedOption ? this.selectedOption.value : null);\n }\n}\n","<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","import { Component, ElementRef, EventEmitter, Input, Output, Injector } from '@angular/core';\nimport {LabelsService} from '../../services/labels.service';\nimport { OdeComponent } from 'ngx-ode-core';\n\n/* If you need to use multi-combo in a form you should give a look to the MultiSelectComponent. */\n\n@Component({\n selector: 'ode-multi-combo',\n templateUrl: './multi-combo.component.html',\n styleUrls: ['./multi-combo.component.scss'],\n host: {\n '(document:click)': 'onClick($event)',\n }\n})\nexport class MultiComboComponent extends OdeComponent {\n\n constructor(\n private _eref: ElementRef,\n private labelsService: LabelsService,\n injector: Injector) {\n super(injector);\n }\n\n @Input()\n set comboModel(model) {\n this._comboModel = model;\n\n if (!model) {\n this.filteredModel = [];\n return;\n }\n\n for (let i = 0; i < this.filteredModel.length; i++) {\n const idx = model.indexOf(this.filteredModel[i]);\n if (idx < 0) {\n this.filteredModel.splice(idx, 1);\n i--;\n }\n }\n }\n @Input('outputModel') filteredModel = [];\n @Input() title = 'Select';\n @Input() display: string | Function;\n @Input() filter: string;\n @Input() orderBy: (string | Array<(string | Function)> | Function);\n @Input() reverse = false;\n @Input('max') maxSelected: number;\n @Input() disabled = false;\n\n @Output() onSelectItem = new EventEmitter<any>();\n @Output() onDeselectItem = new EventEmitter<any>();\n @Output('outputModelChange') filteredModelChange = new EventEmitter<any>();\n @Output() onOpen = new EventEmitter<any>();\n @Output() onClose = new EventEmitter<any>();\n\n self = this;\n _comboModel = [];\n\n filteredComboModel = [];\n\n search = {\n input: '',\n reset() {\n this.input = '';\n }\n };\n\n show = false;\n\n labels(label) {\n return this.labelsService.getLabel(label);\n }\n\n toggleVisibility() {\n this.show = !this.show;\n if (this.show) {\n this.search.reset();\n this.onOpen.emit();\n } else {\n this.onClose.emit();\n }\n }\n\n isSelected(item) {\n return this.filteredModel && this.filteredModel.indexOf(item) >= 0;\n }\n\n isDisabled() {\n return this.filteredModel && this.maxSelected &&\n this.maxSelected <= this.filteredModel.length;\n }\n\n toggleItem(item) {\n const idx = this.filteredModel.indexOf(item);\n if (idx >= 0) {\n this.filteredModel.splice(idx, 1);\n this.onDeselectItem.emit(item);\n } else if (!this.maxSelected ||\n this.filteredModel.length < this.maxSelected) {\n this.filteredModel.push(item);\n this.onSelectItem.emit(item);\n }\n this.filteredModelChange.emit(this.filteredModel);\n }\n\n selectAll() {\n this.filteredModel = [];\n for (let i = 0; i < this.filteredComboModel.length; i++) {\n this.filteredModel.push(this.filteredComboModel[i]);\n }\n this.filteredModelChange.emit(this.filteredModel);\n }\n\n deselectAll() {\n this.filteredModel = [];\n this.filteredModelChange.emit(this.filteredModel);\n }\n\n displayItem(item) {\n return item instanceof Object ?\n this.display && typeof this.display === 'string' ?\n item[this.display] :\n item.toString() :\n this.display && this.display instanceof Function ?\n this.display(item || '') :\n item;\n }\n\n onClick(event) {\n if (this.show && !this._eref.nativeElement.contains(event.target)) {\n this.toggleVisibility();\n }\n return true;\n }\n\n getFilter() {\n if (!this.filter) {\n return '';\n }\n let filter: string | {} = '';\n if (this._comboModel.length > 0 ) {\n if (typeof this._comboModel[0] === 'string') {\n filter = this.search.input;\n } else {\n filter = {};\n filter[this.filter] = this.search.input;\n }\n }\n return filter;\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, forwardRef, Input, Injector } from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n/* MultiSelectComponent is a rewrite of MultiComboComponent to integrate it easily in angular forms */\n\nexport interface SelectOption<K> {\n label: string;\n value: K;\n}\n\n@Component({\n selector: 'ode-multi-select',\n templateUrl: './multi-select.component.html',\n styleUrls: ['./multi-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }],\n host: {\n '(document:click)': 'closeIfOpened($event)'\n }\n})\nexport class MultiSelectComponent<K> extends OdeComponent implements ControlValueAccessor {\n @Input()\n public label = '';\n\n @Input()\n public options: Array<SelectOption<K>> = [];\n\n @Input()\n public preview = false;\n\n @Input()\n public trackByFn: (optionValue: K) => number | string;\n\n public model: Array<K> = [];\n\n public isDisabled = false;\n\n public isOptionsVisible = false;\n\n constructor(injector: Injector, private elementRef: ElementRef) {\n super(injector);\n }\n\n public optionClicked(option: SelectOption<K>) {\n if (this.model) {\n const index = this.getIndexOfOptionInModel(option);\n if (index < 0) {\n this.model.push(option.value);\n } else {\n this.model.splice(index, 1);\n }\n } else {\n this.model = [option.value];\n }\n this.onChange(this.model);\n }\n\n public selectAll(): void {\n this.options.forEach(option => {\n if (!this.model.includes(option.value)) {\n this.model.push(option.value);\n }\n });\n this.onChange(this.model);\n }\n\n public deselectAll(): void {\n this.model = [];\n this.onChange(this.model);\n }\n\n public toggleOptionsVisibility(): void {\n this.isOptionsVisible = !this.isOptionsVisible;\n }\n\n public isSelected(option: SelectOption<K>): boolean {\n return this.model ? (this.getIndexOfOptionInModel(option) >= 0) : false;\n }\n\n public closeIfOpened(event: any) {\n if (this.isOptionsVisible\n && !this.elementRef.nativeElement.querySelector('.lct-multi-select__options-container').contains(event.target)\n && !this.elementRef.nativeElement.querySelector('.lct-multi-select__toggle').contains(event.target)) {\n this.isOptionsVisible = false;\n }\n return true;\n }\n\n private getIndexOfOptionInModel(option: SelectOption<K>): number {\n return this.model.map(this.trackByFn).indexOf(this.trackByFn(option.value));\n }\n\n private onChange = (_: Array<K>) => {\n }\n\n private onTouched = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n writeValue(obj: Array<K>): void {\n this.model = obj;\n this.onChange(this.model);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, Input, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-panel-section',\n templateUrl: './panel-section.component.html',\n styleUrls: ['./panel-section.component.scss']\n})\nexport class PanelSectionComponent extends OdeComponent {\n @Input('section-title') sectionTitle: string;\n @Input() folded: boolean = null;\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-portal',\n templateUrl: './portal.component.html',\n styleUrls: ['./portal.component.scss']\n})\nexport class PortalComponent extends OdeComponent {\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-push-panel',\n templateUrl: './push-panel.component.html',\n styleUrls: ['./push-panel.component.scss'],\n host: {\n '(document:click)': 'onClick($event)',\n }\n})\nexport class PushPanelComponent extends OdeComponent {\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n @Input() private set toggle(toggle: boolean) {\n this._opened = toggle;\n }\n _opened: boolean;\n\n @Input() private opener;\n\n @Output() private onClose = new EventEmitter<boolean>();\n\n @ViewChild('inside') private inside: ElementRef;\n\n public onClick(event) {\n const checkOpener = this.opener &&\n (this.opener.contains && this.opener.contains(event.target)) ||\n (this.opener.nativeElement && this.opener.nativeElement.contains(event.target));\n\n if (this._opened &&\n !this.inside.nativeElement.contains(event.target) &&\n !checkOpener) {\n this._opened = false;\n this.onClose.emit();\n }\n return true;\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-side-layout',\n templateUrl: './side-layout.component.html',\n styleUrls: ['./side-layout.component.scss']\n})\nexport class SideLayoutComponent extends OdeComponent {\n @Input() showCompanion = false;\n @Output('closeCompanion') close: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n@Component({\n selector: 'ode-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.scss'],\n host: {\n '(document:click)': 'onClick($event)',\n }\n})\nexport class SidePanelComponent extends OdeComponent {\n opened: boolean;\n\n constructor(injector: Injector, private elementRef: ElementRef) {\n super(injector);\n }\n\n @Input() set toggle(toggle: boolean) {\n this.opened = toggle;\n }\n\n @Input() opener;\n @Output() onClose = new EventEmitter<boolean>();\n\n onClick(event) {\n const checkOpener = this.opener &&\n (this.opener.contains && this.opener.contains(event.target)) ||\n (this.opener.nativeElement && this.opener.nativeElement.contains(event.target));\n\n if (this.opened &&\n !this.elementRef.nativeElement.contains(event.target) &&\n !checkOpener) {\n this.opened = false;\n this.onClose.emit();\n }\n return true;\n }\n\n}\n","<div [ngClass]=\"{ opened: opened }\">\n <ng-content></ng-content>\n</div>\n","import { OdeComponent } from 'ngx-ode-core';\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, Injector } from '@angular/core';\nimport { SpinnerService } from '../../services/spinner.service';\n\n@Component({\n selector: 'ode-spinner-cube',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './spinner-cube.component.html',\n styleUrls: ['./spinner-cube.component.scss']\n})\nexport class SpinnerCubeComponent extends OdeComponent implements OnInit {\n\n @Input('waitingFor')\n set loadingProp(prop: string) {\n this._loadingProp = prop;\n }\n get loadingProp() { return this._loadingProp; }\n private _loadingProp: string;\n\n\n constructor(\n injector: Injector,\n public spinner: SpinnerService) {\n super(injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.subscriptions.add(this.spinner.trigger.subscribe(() => {\n this.changeDetector.markForCheck();\n }));\n }\n\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, Injector } from '@angular/core';\nimport {BundlesService} from 'ngx-ode-sijil';\n\n\n@Component({\n selector: 'ode-pager',\n templateUrl: './pager.component.html',\n styles: [`\n i {cursor: pointer; padding: 0 2px;}\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PagerComponent extends OdeComponent implements OnInit {\n constructor(\n injector: Injector,\n private bundles: BundlesService\n ) {\n super(injector);\n }\n\n @Input() limit: number;\n\n @Input() offset: number;\n @Output() offsetChange = new EventEmitter<number>();\n\n @Input() total: number;\n\n translate = (...args) => (this.bundles.translate as any)(...args);\n\n ngOnInit() {}\n\n previousPage(): void {\n if (this.offset - this.limit >= 0) {\n this.offset = this.offset - this.limit;\n } else {\n this.offset = 0;\n }\n this.offsetChange.emit(this.offset);\n }\n\n nextPage(): void {\n if (this.offset + this.limit <= this.total) {\n this.offset = this.offset + this.limit;\n }\n this.offsetChange.emit(this.offset);\n }\n\n offsetLimit(): number {\n return this.offset + this.limit < this.total ?\n this.offset + this.limit : this.total;\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, Input, Renderer2, Injector } from '@angular/core';\n\n@Component({\n selector: '[tooltip]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./tooltip.component.scss'],\n host: {\n '(mouseenter)': 'onMouseEnter()',\n '(mouseleave)': 'onMouseLeave()'\n }\n})\nexport class TooltipComponent extends OdeComponent {\n\n constructor(injector: Injector,\n private ref: ElementRef,\n private renderer: Renderer2) {\n super(injector);\n }\n\n @Input('tooltip') tooltipContents: string;\n @Input() position: 'top' | 'left' | 'right' | 'bottom' = 'bottom';\n @Input() offset = 5;\n\n private tooltipElt: HTMLElement;\n\n onMouseEnter(): void {\n const r = this.renderer;\n\n if (!this.tooltipElt) {\n this.tooltipElt = this.renderer.createElement('div');\n let tooltipText = this.renderer.createText(this.tooltipContents);\n this.renderer.appendChild(this.tooltipElt, tooltipText);\n this.renderer.addClass(this.tooltipElt, \"tooltip\");\n this.renderer.appendChild(document.getElementsByTagName('body')[0], this.tooltipElt);\n }\n const tip = this.tooltipElt;\n const pos = this.getPosition(this.ref.nativeElement, tip, this.position);\n for (const prop in pos) {\n this.renderer.setStyle(tip, prop, pos[prop] + 'px');\n }\n this.renderer.addClass(tip, 'shown');\n }\n\n onMouseLeave(): void {\n const wait = this.tooltipElt &&\n parseFloat(window.getComputedStyle(this.tooltipElt)['transition-duration']);\n this.renderer.removeClass(this.tooltipElt, 'shown');\n setTimeout(this.onTransitionEnd, wait * 1000);\n }\n\n onTransitionEnd = () => {\n if (this.tooltipElt && !this.tooltipElt.classList.contains('shown')) {\n this.tooltipElt.parentNode.removeChild(this.tooltipElt);\n this.tooltipElt = null;\n }\n }\n\n private getPosition(elt, tip, pos) {\n const rect = {\n top: elt.getBoundingClientRect().top + window.scrollY,\n left: elt.getBoundingClientRect().left + window.scrollX\n };\n let left, top;\n\n switch (pos) {\n\n case 'top':\n top = rect.top - tip.offsetHeight - this.offset;\n left = rect.left + elt.offsetWidth / 2 - tip.offsetWidth / 2;\n break;\n case 'left':\n top = rect.top + elt.offsetHeight / 2 - tip.offsetHeight / 2;\n left = rect.left - tip.offsetWidth - this.offset;\n break;\n case 'right':\n top = rect.top + elt.offsetHeight / 2 - tip.offsetHeight / 2;\n left = rect.left + elt.offsetWidth + this.offset;\n break;\n case 'bottom':\n default:\n top = rect.top + elt.offsetHeight + this.offset;\n left = rect.left + elt.offsetWidth / 2 - tip.offsetWidth / 2;\n }\n\n if (left < 0 ) {\n left = rect.left + elt.offsetWidth + this.offset;\n }\n if (top < 0) {\n top = rect.top + elt.offsetHeight + this.offset;\n }\n if (left + tip.offsetWidth >= window.pageXOffset + window.innerWidth) {\n left = rect.left - tip.offsetWidth - this.offset;\n }\n if (top - tip.offsetHeight >= window.pageYOffset + window.innerHeight) {\n top = rect.top - tip.offsetHeight - this.offset;\n }\n\n return {\n top: top < 5 ? 5 : top,\n left: left < 5 ? 5 : left\n };\n }\n\n ngOnDestroy(): void {\n if (this.tooltipElt) {\n this.tooltipElt.parentNode.removeChild(this.tooltipElt);\n this.tooltipElt = null;\n }\n }\n\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {InputFileService} from '../services/inputFile.service';\n\n@Directive({\n selector: '[dragAndDropFiles]'\n})\nexport class DragAndDropFilesDirective {\n @Input()\n allowedExtensions: Array<string> = [];\n @Input()\n maxFilesNumber = 1;\n @Input()\n disabled: boolean;\n\n @Output()\n dragAndDrop: EventEmitter<File[]> = new EventEmitter();\n @Output()\n invalidDragAndDrop: EventEmitter<string> = new EventEmitter();\n\n @HostBinding('style.background')\n public backgroundColor = '#fafafa';\n @HostBinding('style.border-color')\n public borderColor = '#ddd';\n\n constructor(private inputFileService: InputFileService) {\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n if (!this.disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this.highlightColors();\n }\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n if (!this.disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this.resetColors();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(event) {\n if (!this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n\n if (event.dataTransfer) {\n this.inputFileService\n .validateFiles(event.dataTransfer.files, this.maxFilesNumber, this.allowedExtensions)\n .subscribe(files => this.dragAndDrop.emit(files)\n , error => this.invalidDragAndDrop.emit(error));\n }\n\n this.resetColors();\n }\n }\n\n private resetColors() {\n this.backgroundColor = '#fafafa';\n this.borderColor = '#ddd';\n }\n\n private highlightColors() {\n this.backgroundColor = '#ffd1b6';\n this.borderColor = '#ff8352';\n }\n}\n","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, Injector } from '@angular/core';\nimport {InputFileService} from '../../services/inputFile.service';\n\n@Component({\n selector: 'ode-upload-files',\n templateUrl: './upload-files.component.html',\n styleUrls: ['./upload-files.component.scss']\n})\nexport class UploadFilesComponent extends OdeComponent implements OnInit {\n @Input()\n fileSrc: string;\n @Input()\n allowedExtensions: Array<string>;\n @Input()\n maxFilesNumber: number;\n @Input()\n disabled: boolean;\n\n @Output()\n upload: EventEmitter<File[]> = new EventEmitter();\n @Output()\n invalidUpload: EventEmitter<string> = new EventEmitter();\n\n @ViewChild('inputFileRef')\n inputFileRef: ElementRef;\n\n public multiple: boolean;\n\n constructor(injector: Injector,\n public inputFileService: InputFileService) {\n super(injector);\n }\n\n public ngOnInit(): void {\n super.ngOnInit();\n this.multiple = this.maxFilesNumber > 1;\n }\n\n public onChange($event): void {\n if ($event.target) {\n this.inputFileService\n .validateFiles($event.target.files, this.maxFilesNumber, this.allowedExtensions)\n .subscribe(files => this.upload.emit(files)\n , error => this.invalidUpload.emit(error));\n }\n }\n\n public onClickDropzoneInput($event: Event): void {\n $event.stopPropagation();\n const inputFileElement = this.inputFileRef.nativeElement;\n inputFileElement.click();\n }\n\n public onDragAndDrop($event: File[]): void {\n this.upload.emit($event);\n }\n\n public onInvalidDragAndDrop($event: string): void {\n this.invalidUpload.emit($event);\n }\n}\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, Injector } from '@angular/core';\n\n\nexport interface Option {\n value: string;\n label: string;\n}\n\n\n@Component({\n selector: 'ode-simple-select',\n templateUrl: './simple-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SimpleSelectComponent extends OdeComponent {\n @Input() selected: string;\n @Input() model: {[key: string]: string};\n @Input() options: Option[];\n @Input() ignoreOption: Option[];\n @Output() selectChange: EventEmitter<string> = new EventEmitter<string>();\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n\n","<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","import { OdeComponent } from 'ngx-ode-core';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Injector\n} from '@angular/core';\n\n@Component({\n selector : 'ode-step',\n template: `<ng-content></ng-content>`,\n styles: [`\n :host {\n display: none;\n overflow: auto;\n padding : 1em;\n }\n :host.active {\n display: block;\n }\n `]\n})\nexport class StepComponent {\n @Input() name: string;\n @Input() isActived: boolean;\n hasError = false;\n isFinished = false;\n}\n\n@Component({\n selector: 'ode-wizard',\n 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 `,\n styles: [`\n .wizard {\n display: flex;\n overflow: auto;\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 overflow: 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})\nexport class WizardComponent extends OdeComponent implements AfterContentInit {\n @Output() cancel: EventEmitter<{}> = new EventEmitter();\n @Output() previousStep: EventEmitter<number> = new EventEmitter();\n @Output() nextStep: EventEmitter<number> = new EventEmitter();\n\n public canDoNext = true;\n\n @ContentChildren(StepComponent) steps: QueryList<StepComponent>;\n activeStep = 0;\n\n constructor(injector: Injector) {\n super(injector);\n }\n doCancel() {\n this.activeStep = 0;\n this.steps.forEach((step, index) => {\n index === 0 ? step.isActived = true : step.isActived = false;\n });\n this.canDoNext = true;\n }\n\n onPreviousStep() {\n this.previousStep.emit(this.activeStep);\n }\n\n doPreviousStep() {\n if (this.activeStep > 0) {\n this.steps.toArray()[this.activeStep].isActived = false;\n this.steps.toArray()[this.activeStep - 1].isActived = true;\n this.activeStep--;\n this.canDoNext = true;\n }\n }\n\n onNextStep() {\n this.nextStep.emit(this.activeStep);\n }\n doNextStep(error?: boolean) {\n if (this.activeStep < this.steps.length - 1) {\n this.canDoNext = !error;\n this.steps.toArray()[this.activeStep].isActived = false;\n this.steps.toArray()[this.activeStep + 1].isActived = true;\n this.activeStep++;\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n if (this.steps.length === 0) {\n throw new Error('<wizard> component musts nest at least 1 <step> compoent');\n }\n }\n\n}\n","import { Component, OnInit, Input, Output, EventEmitter, Injector } from '@angular/core';\nimport { OdeComponent } from 'ngx-ode-core';\n\n/**\n * DropdownComponent is an alternative to the MonoSelectComponent.\n * Accept everything inside <ng-content> but should work with <ode-list> component\n * \n * Simple Dropdown Component without search:\n * [isSearchActive] can be set to false to disable search input in <ode-list>\n```\n<ode-dropdown\n [name]=\"option_name\"\n [isDropdownOpened]=\"a_boolean\"\n (onDropdown)=\"toggle_func\"\n >\n <ode-list\n [model]=\"model\"\n [filters]=\"filters\"\n (onSelect)=\"func_to_select_elem($event)\"\n (inputChange)=\"a_string_for_input_value = $event\"\n noResultsLabel=\"text_to_display\"\n searchPlaceholder=\"default_placeholder_text\"\n >\n <ng-template let-item>\n <div>{{ item.name }}</div>\n </ng-template>\n </ode-list>\n </ode-dropdown>\n`̀``\n */\n\n@Component({\n selector: 'ode-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss']\n})\nexport class DropdownComponent extends OdeComponent implements OnInit {\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n @Input() name: string = '';\n @Input() isDropdownOpened: boolean = false;\n\n @Output() onDropdown: EventEmitter<void> = new EventEmitter<void>();\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n}\n","<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","import { Component, EventEmitter, Injector, Input, Output } from \"@angular/core\";\nimport { OdeComponent } from \"ngx-ode-core\";\n\n/**\n * Search Toolbar component.\n * Used within List component, Search Toolbar will display following information:\n * - Label of the search filter section (example: 'Search by')\n * - List of search type filters (example: 'Name', 'Email' , ...)\n * - Number of items returned by the search\n *\n```\n<ode-search-toolbar\n [label]=\"'user.searchType.label'\"\n [searchTypes]=\"searchTypes\"\n [nbItem]=\"nbUser || 0\"\n [nbItemLabel]=\"'list.results.users'\"\n (selectSearchType)=\"handleSelectSearchType($event)\"\n>\n</ode-search-toolbar>\n```\n */\n\n@Component({\n selector: 'ode-search-toolbar',\n templateUrl: './search-toolbar.component.html',\n styleUrls: ['./search-toolbar.component.scss']\n})\nexport class SearchToolbarComponent extends OdeComponent {\n\n @Input() label: string;\n @Input() searchTypes: Array<{label: string, value: string}>;\n @Input() nbItem: number = 0;\n @Input() nbItemLabel: string;\n @Output() selectSearchType: EventEmitter<string> = new EventEmitter();\n\n selectedSearchTypeValue: string;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n if (this.searchTypes && this.searchTypes.length > 0) {\n this.selectedSearchTypeValue = this.searchTypes[0].value;\n }\n }\n\n public handleSearchTypeClick(searchTypeValue: string): void {\n this.selectedSearchTypeValue = searchTypeValue;\n this.selectSearchType.emit(searchTypeValue);\n }\n}\n","<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","import {Directive, HostListener, Input} from '@angular/core';\n\n@Directive({ selector: '[anchor]' })\nexport class AnchorDirective {\n\n @Input('anchor') anchor: string;\n @Input('offset') offset = 50;\n\n @HostListener('click')\n onClick() {\n const element = document.getElementById(this.anchor);\n window.scrollBy(0, element.getBoundingClientRect().top - this.offset);\n }\n\n}\n","import {Compiler, Component, Directive, ElementRef, Input, NgModule, Injector, Type, ViewContainerRef} from '@angular/core';\n\nimport {CommonModule} from '@angular/common';\nimport {DynamicModuleImportsService} from '../services/dynamicModuleImports.service';\n\n@Directive({\n selector: 'dynamic-template'\n})\nexport class DynamicTemplateDirective {\n\n constructor(\n private elementRef: ElementRef,\n private viewContainer: ViewContainerRef,\n private compiler: Compiler,\n private dynamicModuleImports: DynamicModuleImportsService\n ) {}\n\n @Input('template')\n set templateContents(html: string) {\n if (html) {\n this._html = html;\n const cmpType = this._createDynamicComponent();\n const moduleType = this._createDynamicModule(cmpType);\n const injector: Injector = Injector.create({\n providers: [],\n parent: this.viewContainer.parentInjector,\n });\n\n this.compiler.compileModuleAndAllComponentsAsync<any>(moduleType)\n .then(factory => {\n let cmpFactory: any;\n for (let i = factory.componentFactories.length - 1; i >= 0; i--) {\n if (factory.componentFactories[i].selector === this._selector) {\n cmpFactory = factory.componentFactories[i];\n break;\n }\n }\n return cmpFactory;\n })\n .then(cmpFactory => {\n if (cmpFactory && this.viewContainer) {\n this.viewContainer.clear();\n this.viewContainer.createComponent(cmpFactory, 0, injector);\n }\n });\n } else {\n this._html = '';\n this.viewContainer.clear();\n }\n }\n\n private _html = '';\n private _selector = 'dynamic-view';\n\n @Input() private context: Object;\n\n private _createDynamicComponent(): Type<any> {\n const metadata = {\n selector: this._selector,\n template: this._html,\n inputs: ['template']\n };\n class _cmp_ {}\n _cmp_.prototype = this.context;\n return Component(metadata)(_cmp_);\n }\n\n private _createDynamicModule(componentType: Type<any>) {\n class _mod_ {}\n return NgModule({\n imports: [\n CommonModule,\n ...this.dynamicModuleImports.imports ],\n declarations: [componentType],\n providers: []\n })(_mod_);\n }\n\n}\n","import {Directive, ElementRef} from '@angular/core';\n\n/**\n*\n* see https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n*/\n@Directive({ selector: '[object-url]' })\nexport class ObjectURLDirective {\n\n constructor(\n private elementRef: ElementRef,\n ) {}\n\n private objectURL;\n\n // TODO provide more specific method like createJSON, createCSV, createPDF\n // to free directive consumer from using Blog API\n create(blob: Blob, filename: string): void {\n if (this.objectURL !== null) {\n window.URL.revokeObjectURL(this.objectURL);\n }\n this.objectURL = window.URL.createObjectURL(blob);\n this.elementRef.nativeElement.href = this.objectURL;\n this.elementRef.nativeElement.download = filename;\n }\n\n}\n","export interface Unit {\n /** i18n key of unit translation. */\n label: string;\n value: number;\n}\n\nexport const UNITS: Array<Unit> = [\n { label: \"quota.byte\", value: 1 },\n { label: \"quota.kilobyte\", value: 1024 },\n { label: \"quota.megabyte\", value: Math.pow(1024, 2) },\n { label: \"quota.gigabyte\", value: Math.pow(1024, 3) }\n];\n\nexport function toDecimal (value: number, decimal: number): number {\n return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);\n}\n\nexport function getUnit(bytes: number): Unit {\n let unit = 0;\n let finalValue = bytes;\n while(finalValue >= 1024 && unit < 3) {\n finalValue = finalValue / 1024;\n unit++;\n }\n return UNITS[unit];\n}","import {Pipe, PipeTransform} from '@angular/core';\nimport { toDecimal } from '../utils/math';\n\n@Pipe({\n name: 'bytes'\n})\nexport class BytesPipe implements PipeTransform {\n\n transform(value: number, unit: number, decimal?: number): number {\n if (decimal) {\n return toDecimal((value / unit), decimal);\n }\n return Math.round(value / unit);\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'keys'})\nexport class KeysPipe implements PipeTransform {\n transform(obj, args?: string[]): any {\n const keys = [];\n for (const key in obj) {\n if (key) {\n keys.push(key);\n }\n }\n return keys;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'limit',\n pure: false\n})\nexport class LimitPipe implements PipeTransform {\n\n transform(array: Array<any>, limit: number, offset: number = 0) {\n return array.slice(offset, limit);\n }\n\n}\n","import {DatePipe, getLocaleId} from '@angular/common';\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {BundlesService} from 'ngx-ode-sijil';\n\n@Pipe({\n name: 'localizedDate',\n pure: false\n})\nexport class LocalizedDatePipe implements PipeTransform {\n\n constructor(private bundlesService: BundlesService) {\n }\n\n transform(value: any, pattern: string = \"mediumDate\"): any {\n let targetLanguage = this.bundlesService.currentLanguage || \"en\";\n try {\n // If targetLanguage and angular current locale are different, fall back angular locale to \"en\"\n if (getLocaleId(targetLanguage) !== targetLanguage) {\n targetLanguage = \"en\";\n }\n } catch (e) {\n // getLocaleId(targetLanguage) can throw an error when locale is not recognized\n // In such a case, fall back to \"en\"\n targetLanguage = \"en\";\n }\n // Use angular locale formatting for localized dates\n const datePipe: DatePipe = new DatePipe(targetLanguage);\n return datePipe.transform(value, pattern);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'length',\n pure: false\n})\nexport class LengthPipe implements PipeTransform {\n\n transform(source: Array<any> | string ) {\n return source.length;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'replace' })\nexport class ReplacePipe implements PipeTransform {\n transform(value: string, strToReplace: string, replacementStr: string | number): string {\n\n if (!value || !strToReplace || !replacementStr) {\n return value;\n }\n\n return value.replace(new RegExp(this.escapeStr(strToReplace), 'g'), '' + replacementStr);\n }\n\n private escapeStr(str) {\n return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n}","export function trim(text: string): string {\n if (text && text.length > 0) {\n return text.trim();\n }\n return text;\n}\n\nexport function standardise(str: string): string{\n return removeAccents(str != null ? str : '').toLowerCase().replace('\\\\s+', ' ');\n}\n\nexport const removeAccents = (str: string) => str.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, '');\n","import { DebugElement } from '@angular/core';\n\nexport function getText(el: DebugElement): string {\n return el.nativeElement.textContent.trim();\n}\n\nexport function clickOn(el: DebugElement): void {\n return el.triggerEventHandler('click', null);\n}\n","import { NgModule, ModuleWithProviders, Provider } from '@angular/core';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { InputFileService } from './services/inputFile.service';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NgxOdeSijilModule } from 'ngx-ode-sijil';\nimport { DatepickerComponent } from './components/datepicker/datepicker.component';\nimport { FormErrorsComponent } from './components/form-errors/form-errors.component';\nimport { FormFieldComponent } from './components/form-field/form-field.component';\nimport { ItemTreeComponent } from './components/item-tree/item-tree.component';\nimport { LightBoxComponent } from './components/lightbox/lightbox.component';\nimport { LightboxConfirmComponent } from './components/lightbox-confirm/lightbox-confirm.component';\nimport { ListComponent } from './components/list/list.component';\nimport { ListCheckableComponent } from './components/list-checkable/list-checkable.component';\nimport { MonoSelectComponent } from './components/mono-select/mono-select.component';\nimport { MultiSelectComponent } from './components/multi-select/multi-select.component';\nimport { MultiComboComponent } from './components/multi-combo/multi-combo.component';\nimport { PanelSectionComponent } from './components/panel-section/panel-section.component';\nimport { PortalComponent } from './components/portal/portal.component';\nimport { PushPanelComponent } from './components/push-panel/push-panel.component';\nimport { SearchInputComponent } from './components/search-input/search-input.component';\nimport { SideLayoutComponent } from './components/side-layout/side-layout.component';\nimport { SidePanelComponent } from './components/side-panel/side-panel.component';\nimport { StepComponent, WizardComponent } from './components/wizard/wizard.component';\nimport { TooltipComponent } from './components/tooltip/tooltip.component';\nimport { SimpleSelectComponent } from './components/value-editable/simple-select.component';\nimport { MessageStickerComponent } from './components/message-sticker/message-sticker.component';\nimport { MessageBoxComponent } from './components/message-box/message-box.component';\nimport { UploadFilesComponent } from './components/upload-files/upload-files.component';\nimport { AnchorDirective } from './directives/anchor.directive';\nimport { DynamicTemplateDirective } from './directives/dynamictemplate.directive';\nimport { DynamicComponentDirective } from './directives/dynamic-component/dynamic-component.directive';\nimport { DragAndDropFilesDirective } from './directives/drag-and-drop-files.directive';\nimport { FilterPipe } from './pipes/filter.pipe';\nimport { FlattenObjectArrayPipe } from './pipes/flattenObjArray.pipe';\nimport { LimitPipe } from './pipes/limit.pipe';\nimport { OrderPipe } from './pipes/orderBy.pipe';\nimport { StorePipe } from './pipes/store.pipe';\nimport { LocalizedDatePipe } from './pipes/localizedDate.pipe';\nimport { BytesPipe } from './pipes/bytes.pipe';\nimport { ReplacePipe } from \"./pipes/replace.pipe\";\nimport { DynamicModuleImportsService } from './services/dynamicModuleImports.service';\nimport { LabelsService } from './services/labels.service';\nimport { SpinnerCubeComponent } from './components/spinner-cube/spinner-cube.component';\nimport { PagerComponent } from './components/table/pager.component';\nimport { EllipsisComponent } from './components/ellipsis/ellipsis.component';\nimport { KeysPipe } from './pipes/keys.pipe';\nimport { ObjectURLDirective } from './directives/object-url.directive';\nimport { LengthPipe } from './pipes/length.pipe';\nimport { DropdownComponent } from './components/dropdown/dropdown.component';\nimport { SearchToolbarComponent } from './components/search-toolbar/search-toolbar.component';\n\n@NgModule({\n declarations: [\n // components\n DatepickerComponent,\n FormErrorsComponent,\n FormFieldComponent,\n ItemTreeComponent,\n LightBoxComponent,\n LightboxConfirmComponent,\n ListComponent,\n ListCheckableComponent,\n MonoSelectComponent,\n MultiSelectComponent,\n MultiComboComponent,\n PanelSectionComponent,\n PortalComponent,\n PushPanelComponent,\n SearchInputComponent,\n SideLayoutComponent,\n SidePanelComponent,\n StepComponent,\n TooltipComponent,\n WizardComponent,\n SimpleSelectComponent,\n MessageStickerComponent,\n MessageBoxComponent,\n UploadFilesComponent,\n SpinnerCubeComponent,\n PagerComponent,\n EllipsisComponent,\n DropdownComponent,\n SearchToolbarComponent,\n // directives\n AnchorDirective,\n DynamicTemplateDirective,\n DynamicComponentDirective,\n DragAndDropFilesDirective,\n ObjectURLDirective,\n // pipes\n FilterPipe,\n FlattenObjectArrayPipe,\n LimitPipe,\n OrderPipe,\n StorePipe,\n LocalizedDatePipe,\n BytesPipe,\n KeysPipe,\n LengthPipe,\n ReplacePipe\n ],\n imports: [\n CommonModule,\n FormsModule,\n NgxOdeSijilModule.forChild(),\n InfiniteScrollModule\n ],\n exports: [\n // components\n DatepickerComponent,\n FormErrorsComponent,\n FormFieldComponent,\n ItemTreeComponent,\n LightBoxComponent,\n LightboxConfirmComponent,\n ListComponent,\n ListCheckableComponent,\n MonoSelectComponent,\n MultiSelectComponent,\n MultiComboComponent,\n PanelSectionComponent,\n PortalComponent,\n PushPanelComponent,\n SearchInputComponent,\n SideLayoutComponent,\n SidePanelComponent,\n StepComponent,\n TooltipComponent,\n WizardComponent,\n SimpleSelectComponent,\n MessageStickerComponent,\n MessageBoxComponent,\n UploadFilesComponent,\n SpinnerCubeComponent,\n PagerComponent,\n EllipsisComponent,\n DropdownComponent,\n SearchToolbarComponent,\n // directives\n AnchorDirective,\n DynamicTemplateDirective,\n DynamicComponentDirective,\n DragAndDropFilesDirective,\n ObjectURLDirective,\n // pipes\n FilterPipe,\n FlattenObjectArrayPipe,\n LimitPipe,\n OrderPipe,\n StorePipe,\n LocalizedDatePipe,\n BytesPipe,\n KeysPipe,\n LengthPipe,\n ReplacePipe\n ],\n providers: [InputFileService, OrderPipe]\n})\nexport class NgxOdeUiModule {\n static forRoot(labelsProvider: Provider): ModuleWithProviders<NgxOdeUiModule> {\n return {\n ngModule: NgxOdeUiModule,\n providers: [\n DynamicModuleImportsService,\n labelsProvider || LabelsService\n ]\n };\n }\n\n static forChild(): ModuleWithProviders<NgxOdeUiModule> {\n return {\n ngModule: NgxOdeUiModule,\n providers: []\n }\n }\n}\n","/*\n * Public API Surface of ngx-ode-ui\n */\n\nexport * from './lib/services/dynamicModuleImports.service';\nexport * from './lib/services/inputFile.service';\nexport * from './lib/services/labels.service';\nexport * from './lib/services/spinner.service';\n\nexport * from './lib/components/datepicker/datepicker.component';\nexport * from './lib/components/ellipsis/ellipsis.component';\nexport * from './lib/components/form-errors/form-errors.component';\nexport * from './lib/components/form-field/form-field.component';\nexport * from './lib/components/item-tree/item-tree.component';\nexport * from './lib/components/lightbox/lightbox.component';\nexport * from './lib/components/lightbox-confirm/lightbox-confirm.component';\nexport * from './lib/components/list/list.component';\nexport * from './lib/components/list-checkable/list-checkable.component';\nexport * from './lib/components/message-box/message-box.component';\nexport * from './lib/components/message-sticker/message-sticker.component';\nexport * from './lib/components/mono-select/mono-select.component';\nexport * from './lib/components/multi-combo/multi-combo.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/panel-section/panel-section.component';\nexport * from './lib/components/portal/portal.component';\nexport * from './lib/components/push-panel/push-panel.component';\nexport * from './lib/components/search-input/search-input.component';\nexport * from './lib/components/side-layout/side-layout.component';\nexport * from './lib/components/side-panel/side-panel.component';\nexport * from './lib/components/spinner-cube/spinner-cube.component';\nexport * from './lib/components/table/pager.component';\nexport * from './lib/components/tooltip/tooltip.component';\nexport * from './lib/components/upload-files/upload-files.component';\nexport * from './lib/components/value-editable/simple-select.component';\nexport * from './lib/components/wizard/wizard.component';\nexport * from './lib/components/dropdown/dropdown.component';\nexport * from './lib/components/search-toolbar/search-toolbar.component'\n\nexport * from './lib/directives/dynamic-component/dynamic-component.directive';\nexport * from './lib/directives/dynamic-component/component-descriptor.model';\nexport * from './lib/directives/anchor.directive';\nexport * from './lib/directives/drag-and-drop-files.directive';\nexport * from './lib/directives/dynamictemplate.directive';\nexport * from './lib/directives/object-url.directive';\n\nexport * from './lib/pipes/bytes.pipe';\nexport * from './lib/pipes/filter.pipe';\nexport * from './lib/pipes/flattenObjArray.pipe';\nexport * from './lib/pipes/keys.pipe';\nexport * from './lib/pipes/limit.pipe';\nexport * from './lib/pipes/localizedDate.pipe';\nexport * from './lib/pipes/orderBy.pipe';\nexport * from './lib/pipes/store.pipe';\nexport * from './lib/pipes/length.pipe';\nexport * from './lib/pipes/replace.pipe';\n\nexport * from './lib/utils/math';\nexport * from './lib/utils/string';\nexport * from './lib/utils/testing';\n\n// export * from './lib/helpers/accents.helper'; // Deprecated. './lib/utils/string' has its own removeAccents()\n\nexport * from './lib/ngx-ode-ui.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableThrowError","i1.LabelsService","i2","i3","i1.DynamicComponentDirective","i2.MessageStickerComponent","i3.FilterPipe","i4.FlattenObjectArrayPipe","i5.OrderPipe","i2.LightBoxComponent","i3.SearchInputComponent","i4","i5.FilterPipe","i6.OrderPipe","i7.StorePipe","i4.FilterPipe","i6.StorePipe","i1.SpinnerService","i1","i1.InputFileService","i4.DragAndDropFilesDirective","i3.OrderPipe","i1.DynamicModuleImportsService"],"mappings":"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"}
|