ngx-ode-ui 3.12.0-dev.0 → 3.12.0-dev.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ngx-ode-ui.umd.js +315 -122
- package/bundles/ngx-ode-ui.umd.js.map +1 -1
- package/bundles/ngx-ode-ui.umd.min.js +2 -2
- package/bundles/ngx-ode-ui.umd.min.js.map +1 -1
- package/esm2015/lib/components/dropdown/dropdown.component.js +76 -0
- package/esm2015/lib/components/item-tree/item-tree.component.js +7 -4
- package/esm2015/lib/components/list/list.component.js +18 -4
- package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
- package/esm2015/lib/components/message-box/message-box.component.js +25 -2
- package/esm2015/lib/components/message-sticker/message-sticker.component.js +6 -1
- package/esm2015/lib/components/mono-select/mono-select.component.js +8 -7
- package/esm2015/lib/components/multi-combo/multi-combo.component.js +2 -2
- package/esm2015/lib/components/search-input/search-input.component.js +15 -3
- package/esm2015/lib/ngx-ode-ui.module.js +8 -2
- package/esm2015/lib/utils/string.js +7 -2
- package/esm2015/ngx-ode-ui.js +3 -2
- package/esm2015/public-api.js +4 -3
- package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
- package/esm5/lib/components/item-tree/item-tree.component.js +7 -4
- package/esm5/lib/components/list/list.component.js +18 -4
- package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
- package/esm5/lib/components/message-box/message-box.component.js +33 -2
- package/esm5/lib/components/message-sticker/message-sticker.component.js +6 -1
- package/esm5/lib/components/mono-select/mono-select.component.js +8 -7
- package/esm5/lib/components/multi-combo/multi-combo.component.js +2 -2
- package/esm5/lib/components/search-input/search-input.component.js +16 -5
- package/esm5/lib/ngx-ode-ui.module.js +8 -2
- package/esm5/lib/utils/string.js +7 -2
- package/esm5/ngx-ode-ui.js +3 -2
- package/esm5/public-api.js +4 -3
- package/fesm2015/ngx-ode-ui.js +294 -122
- package/fesm2015/ngx-ode-ui.js.map +1 -1
- package/fesm5/ngx-ode-ui.js +315 -124
- package/fesm5/ngx-ode-ui.js.map +1 -1
- package/lib/components/dropdown/dropdown.component.d.ts +36 -0
- package/lib/components/item-tree/item-tree.component.d.ts +3 -2
- package/lib/components/list/list.component.d.ts +5 -1
- package/lib/components/list-checkable/list-checkable.component.d.ts +55 -0
- package/lib/components/message-box/message-box.component.d.ts +7 -0
- package/lib/components/message-sticker/message-sticker.component.d.ts +1 -0
- package/lib/components/mono-select/mono-select.component.d.ts +1 -1
- package/lib/components/search-input/search-input.component.d.ts +3 -0
- package/lib/utils/string.d.ts +1 -0
- package/ngx-ode-ui.d.ts +1 -0
- package/ngx-ode-ui.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2015/lib/helpers/accents.helper.js +0 -104
- package/esm5/lib/helpers/accents.helper.js +0 -104
- package/lib/helpers/accents.helper.d.ts +0 -1
package/fesm5/ngx-ode-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-ode-ui.js","sources":["ng://ngx-ode-ui/lib/services/dynamicModuleImports.service.ts","ng://ngx-ode-ui/lib/services/inputFile.service.ts","ng://ngx-ode-ui/lib/services/labels.service.ts","ng://ngx-ode-ui/lib/services/spinner.service.ts","ng://ngx-ode-ui/lib/components/datepicker/datepicker.component.ts","ng://ngx-ode-ui/lib/components/ellipsis/ellipsis.component.ts","ng://ngx-ode-ui/lib/components/form-errors/form-errors.component.ts","ng://ngx-ode-ui/lib/components/form-field/form-field.component.ts","ng://ngx-ode-ui/lib/components/item-tree/item-tree.component.ts","ng://ngx-ode-ui/lib/components/lightbox/lightbox.component.ts","ng://ngx-ode-ui/lib/components/lightbox-confirm/lightbox-confirm.component.ts","ng://ngx-ode-ui/lib/components/list/list.component.ts","ng://ngx-ode-ui/lib/components/message-box/message-box.component.ts","ng://ngx-ode-ui/lib/directives/dynamic-component/component-descriptor.model.ts","ng://ngx-ode-ui/lib/directives/dynamic-component/dynamic-component.directive.ts","ng://ngx-ode-ui/lib/components/message-sticker/message-sticker.component.ts","ng://ngx-ode-ui/lib/components/mono-select/mono-select.component.ts","ng://ngx-ode-ui/lib/components/multi-combo/multi-combo.component.ts","ng://ngx-ode-ui/lib/components/multi-select/multi-select.component.ts","ng://ngx-ode-ui/lib/components/panel-section/panel-section.component.ts","ng://ngx-ode-ui/lib/components/portal/portal.component.ts","ng://ngx-ode-ui/lib/components/push-panel/push-panel.component.ts","ng://ngx-ode-ui/lib/components/search-input/search-input.component.ts","ng://ngx-ode-ui/lib/components/side-layout/side-layout.component.ts","ng://ngx-ode-ui/lib/components/side-panel/side-panel.component.ts","ng://ngx-ode-ui/lib/components/spinner-cube/spinner-cube.component.ts","ng://ngx-ode-ui/lib/components/table/pager.component.ts","ng://ngx-ode-ui/lib/components/tooltip/tooltip.component.ts","ng://ngx-ode-ui/lib/components/upload-files/upload-files.component.ts","ng://ngx-ode-ui/lib/components/value-editable/simple-select.component.ts","ng://ngx-ode-ui/lib/components/wizard/wizard.component.ts","ng://ngx-ode-ui/lib/directives/anchor.directive.ts","ng://ngx-ode-ui/lib/directives/drag-and-drop-files.directive.ts","ng://ngx-ode-ui/lib/directives/dynamictemplate.directive.ts","ng://ngx-ode-ui/lib/directives/object-url.directive.ts","ng://ngx-ode-ui/lib/utils/math.ts","ng://ngx-ode-ui/lib/pipes/bytes.pipe.ts","ng://ngx-ode-ui/lib/pipes/filter.pipe.ts","ng://ngx-ode-ui/lib/pipes/flattenObjArray.pipe.ts","ng://ngx-ode-ui/lib/pipes/keys.pipe.ts","ng://ngx-ode-ui/lib/pipes/limit.pipe.ts","ng://ngx-ode-ui/lib/pipes/localizedDate.pipe.ts","ng://ngx-ode-ui/lib/pipes/orderBy.pipe.ts","ng://ngx-ode-ui/lib/pipes/store.pipe.ts","ng://ngx-ode-ui/lib/pipes/length.pipe.ts","ng://ngx-ode-ui/lib/helpers/accents.helper.ts","ng://ngx-ode-ui/lib/utils/string.ts","ng://ngx-ode-ui/lib/utils/testing.ts","ng://ngx-ode-ui/lib/ngx-ode-ui.module.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 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', { static: false })\n datePickerElement: ElementRef;\n\n @ViewChild('inputRef', { static: false })\n inputElement: ElementRef;\n\n // instance flatpickr\n private datePickerInst: Flatpickr;\n\n @ViewChild(NgModel, { static: false })\n model: NgModel;\n\n @Input()\n disabled = 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: !this.disabled,\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 }\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","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","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","import { OdeComponent } from 'ngx-ode-core';\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild, 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 // 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, { static: false }) 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) {\n return 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","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', { static: false }) section: ElementRef;\n @ViewChild('overlay', { static: false }) 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","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","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\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, {static: false}) 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","import { 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 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","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 {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 { 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 @ViewChild(DynamicComponentDirective, { static: false }) 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 hideEvent: new EventEmitter<void>()\n });\n }\n\n loadMessageBox(): void {\n this.dComponent.load();\n }\n}\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 public isDisabled = 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.isDisabled) {\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.isDisabled = 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","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","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","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","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","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', { static: false }) 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","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})\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\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', { static: false}) 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}\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","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","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","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","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 { 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', { static: false })\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","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","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 {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 {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 {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: '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: '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({ 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 } 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\n if (value1 !== value2) {\n result = value1 < value2 ? -1 : 1;\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 {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 {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","const defaultDiacriticsRemovalMap = [\n {base: 'A', letters: /[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]/g},\n {base: 'AA', letters: /[\\uA732]/g},\n {base: 'AE', letters: /[\\u00C6\\u01FC\\u01E2]/g},\n {base: 'AO', letters: /[\\uA734]/g},\n {base: 'AU', letters: /[\\uA736]/g},\n {base: 'AV', letters: /[\\uA738\\uA73A]/g},\n {base: 'AY', letters: /[\\uA73C]/g},\n {base: 'B', letters: /[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]/g},\n {base: 'C', letters: /[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]/g},\n {base: 'D', letters: /[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]/g},\n {base: 'DZ', letters: /[\\u01F1\\u01C4]/g},\n {base: 'Dz', letters: /[\\u01F2\\u01C5]/g},\n {base: 'E', letters: /[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]/g},\n {base: 'F', letters: /[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]/g},\n {base: 'G', letters: /[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]/g},\n {base: 'H', letters: /[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]/g},\n {base: 'I', letters: /[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]/g},\n {base: 'J', letters: /[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]/g},\n {base: 'K', letters: /[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]/g},\n {base: 'L', letters: /[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]/g},\n {base: 'LJ', letters: /[\\u01C7]/g},\n {base: 'Lj', letters: /[\\u01C8]/g},\n {base: 'M', letters: /[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]/g},\n {base: 'N', letters: /[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]/g},\n {base: 'NJ', letters: /[\\u01CA]/g},\n {base: 'Nj', letters: /[\\u01CB]/g},\n {base: 'O', letters: /[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]/g},\n {base: 'OI', letters: /[\\u01A2]/g},\n {base: 'OO', letters: /[\\uA74E]/g},\n {base: 'OU', letters: /[\\u0222]/g},\n {base: 'P', letters: /[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]/g},\n {base: 'Q', letters: /[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]/g},\n {base: 'R', letters: /[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]/g},\n {base: 'S', letters: /[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]/g},\n {base: 'T', letters: /[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]/g},\n {base: 'TZ', letters: /[\\uA728]/g},\n {base: 'U', letters: /[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]/g},\n {base: 'V', letters: /[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]/g},\n {base: 'VY', letters: /[\\uA760]/g},\n {base: 'W', letters: /[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]/g},\n {base: 'X', letters: /[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]/g},\n {base: 'Y', letters: /[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]/g},\n {base: 'Z', letters: /[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]/g},\n {base: 'a', letters: /[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]/g},\n {base: 'aa', letters: /[\\uA733]/g},\n {base: 'ae', letters: /[\\u00E6\\u01FD\\u01E3]/g},\n {base: 'ao', letters: /[\\uA735]/g},\n {base: 'au', letters: /[\\uA737]/g},\n {base: 'av', letters: /[\\uA739\\uA73B]/g},\n {base: 'ay', letters: /[\\uA73D]/g},\n {base: 'b', letters: /[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]/g},\n {base: 'c', letters: /[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]/g},\n {base: 'd', letters: /[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]/g},\n {base: 'dz', letters: /[\\u01F3\\u01C6]/g},\n {base: 'e', letters: /[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]/g},\n {base: 'f', letters: /[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]/g},\n {base: 'g', letters: /[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]/g},\n {base: 'h', letters: /[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]/g},\n {base: 'hv', letters: /[\\u0195]/g},\n {base: 'i', letters: /[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]/g},\n {base: 'j', letters: /[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]/g},\n {base: 'k', letters: /[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]/g},\n {base: 'l', letters: /[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]/g},\n {base: 'lj', letters: /[\\u01C9]/g},\n {base: 'm', letters: /[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]/g},\n {base: 'n', letters: /[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]/g},\n {base: 'nj', letters: /[\\u01CC]/g},\n {base: 'o', letters: /[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]/g},\n {base: 'oi', letters: /[\\u01A3]/g},\n {base: 'ou', letters: /[\\u0223]/g},\n {base: 'oo', letters: /[\\uA74F]/g},\n {base: 'p', letters: /[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]/g},\n {base: 'q', letters: /[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]/g},\n {base: 'r', letters: /[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]/g},\n {base: 's', letters: /[\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]/g},\n {base: 't', letters: /[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]/g},\n {base: 'tz', letters: /[\\uA729]/g},\n {base: 'u', letters: /[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]/g},\n {base: 'v', letters: /[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]/g},\n {base: 'vy', letters: /[\\uA761]/g},\n {base: 'w', letters: /[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]/g},\n {base: 'x', letters: /[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]/g},\n {base: 'y', letters: /[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]/g},\n {base: 'z', letters: /[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]/g}\n];\n\nexport const removeAccents = (str) => {\n for (let i = 0; i < defaultDiacriticsRemovalMap.length; i++) {\n str = str.replace(defaultDiacriticsRemovalMap[i].letters, defaultDiacriticsRemovalMap[i].base);\n }\n return str;\n};\n","import { removeAccents } from '../helpers/accents.helper';\n\nexport 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","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 { 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 { 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';\n\n@NgModule({\n declarations: [\n // components\n DatepickerComponent,\n FormErrorsComponent,\n FormFieldComponent,\n ItemTreeComponent,\n LightBoxComponent,\n LightboxConfirmComponent,\n ListComponent,\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 // 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 ],\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 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 // 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 ],\n providers: [InputFileService, OrderPipe],\n entryComponents: [SimpleSelectComponent, MessageBoxComponent]\n})\nexport class NgxOdeUiModule {\n static forRoot(labelsProvider: Provider): ModuleWithProviders {\n return {\n ngModule: NgxOdeUiModule,\n providers: [\n DynamicModuleImportsService,\n labelsProvider || LabelsService\n ]\n };\n }\n\n static forChild(): ModuleWithProviders {\n return {\n ngModule: NgxOdeUiModule,\n providers: []\n }\n }\n}\n"],"names":["observableThrowError","tslib_1.__extends","tslib_1.__values"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-ode-ui.js","sources":["ng://ngx-ode-ui/lib/services/dynamicModuleImports.service.ts","ng://ngx-ode-ui/lib/services/inputFile.service.ts","ng://ngx-ode-ui/lib/services/labels.service.ts","ng://ngx-ode-ui/lib/services/spinner.service.ts","ng://ngx-ode-ui/lib/components/datepicker/datepicker.component.ts","ng://ngx-ode-ui/lib/components/ellipsis/ellipsis.component.ts","ng://ngx-ode-ui/lib/components/form-errors/form-errors.component.ts","ng://ngx-ode-ui/lib/components/form-field/form-field.component.ts","ng://ngx-ode-ui/lib/components/item-tree/item-tree.component.ts","ng://ngx-ode-ui/lib/components/lightbox/lightbox.component.ts","ng://ngx-ode-ui/lib/components/lightbox-confirm/lightbox-confirm.component.ts","ng://ngx-ode-ui/lib/components/list/list.component.ts","ng://ngx-ode-ui/lib/components/list-checkable/list-checkable.component.ts","ng://ngx-ode-ui/lib/components/message-box/message-box.component.ts","ng://ngx-ode-ui/lib/directives/dynamic-component/component-descriptor.model.ts","ng://ngx-ode-ui/lib/directives/dynamic-component/dynamic-component.directive.ts","ng://ngx-ode-ui/lib/components/message-sticker/message-sticker.component.ts","ng://ngx-ode-ui/lib/components/mono-select/mono-select.component.ts","ng://ngx-ode-ui/lib/components/multi-combo/multi-combo.component.ts","ng://ngx-ode-ui/lib/components/multi-select/multi-select.component.ts","ng://ngx-ode-ui/lib/components/panel-section/panel-section.component.ts","ng://ngx-ode-ui/lib/components/portal/portal.component.ts","ng://ngx-ode-ui/lib/components/push-panel/push-panel.component.ts","ng://ngx-ode-ui/lib/components/search-input/search-input.component.ts","ng://ngx-ode-ui/lib/components/side-layout/side-layout.component.ts","ng://ngx-ode-ui/lib/components/side-panel/side-panel.component.ts","ng://ngx-ode-ui/lib/components/spinner-cube/spinner-cube.component.ts","ng://ngx-ode-ui/lib/components/table/pager.component.ts","ng://ngx-ode-ui/lib/components/tooltip/tooltip.component.ts","ng://ngx-ode-ui/lib/components/upload-files/upload-files.component.ts","ng://ngx-ode-ui/lib/components/value-editable/simple-select.component.ts","ng://ngx-ode-ui/lib/components/wizard/wizard.component.ts","ng://ngx-ode-ui/lib/directives/anchor.directive.ts","ng://ngx-ode-ui/lib/directives/drag-and-drop-files.directive.ts","ng://ngx-ode-ui/lib/directives/dynamictemplate.directive.ts","ng://ngx-ode-ui/lib/directives/object-url.directive.ts","ng://ngx-ode-ui/lib/utils/math.ts","ng://ngx-ode-ui/lib/pipes/bytes.pipe.ts","ng://ngx-ode-ui/lib/pipes/filter.pipe.ts","ng://ngx-ode-ui/lib/pipes/flattenObjArray.pipe.ts","ng://ngx-ode-ui/lib/pipes/keys.pipe.ts","ng://ngx-ode-ui/lib/pipes/limit.pipe.ts","ng://ngx-ode-ui/lib/pipes/localizedDate.pipe.ts","ng://ngx-ode-ui/lib/pipes/orderBy.pipe.ts","ng://ngx-ode-ui/lib/pipes/store.pipe.ts","ng://ngx-ode-ui/lib/pipes/length.pipe.ts","ng://ngx-ode-ui/lib/utils/string.ts","ng://ngx-ode-ui/lib/utils/testing.ts","ng://ngx-ode-ui/lib/components/dropdown/dropdown.component.ts","ng://ngx-ode-ui/lib/ngx-ode-ui.module.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 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', { static: false })\n datePickerElement: ElementRef;\n\n @ViewChild('inputRef', { static: false })\n inputElement: ElementRef;\n\n // instance flatpickr\n private datePickerInst: Flatpickr;\n\n @ViewChild(NgModel, { static: false })\n model: NgModel;\n\n @Input()\n disabled = 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: !this.disabled,\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 }\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","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","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","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, { static: false }) 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","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', { static: false }) section: ElementRef;\n @ViewChild('overlay', { static: false }) 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","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","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() searchInput: boolean = false;\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, {static: false}) 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","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, {static: false}) 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","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","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 {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 { 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, { static: false }) 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","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","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","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","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","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","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', { static: false }) 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","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() 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', { static: false}) 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}\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","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","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","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","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 { 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', { static: false })\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","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","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 {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 {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 {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: '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: '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({ 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 } 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\n if (value1 !== value2) {\n result = value1 < value2 ? -1 : 1;\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 {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 {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","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 { 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","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 { 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';\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 // 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 DropdownComponent\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 // 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 ],\n providers: [InputFileService, OrderPipe],\n entryComponents: [SimpleSelectComponent, MessageBoxComponent]\n})\nexport class NgxOdeUiModule {\n static forRoot(labelsProvider: Provider): ModuleWithProviders {\n return {\n ngModule: NgxOdeUiModule,\n providers: [\n DynamicModuleImportsService,\n labelsProvider || LabelsService\n ]\n };\n }\n\n static forChild(): ModuleWithProviders {\n return {\n ngModule: NgxOdeUiModule,\n providers: []\n }\n }\n}\n"],"names":["observableThrowError","tslib_1.__extends","tslib_1.__values"],"mappings":"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"}
|