@wizishop/angular-components 0.0.251 → 0.0.254
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/angular-components.scss +5806 -5806
- package/bundles/wizishop-angular-components.umd.js +24 -22
- package/bundles/wizishop-angular-components.umd.js.map +1 -1
- package/bundles/wizishop-angular-components.umd.min.js +2 -2
- package/bundles/wizishop-angular-components.umd.min.js.map +1 -1
- package/esm2015/lib/components/block-with-checkbox/block-with-checkbox.component.js +2 -2
- package/esm2015/lib/components/breadcrumbs/breadcrumbs.component.js +2 -2
- package/esm2015/lib/components/breadcrumbs/breadcrumbs.dto.js +1 -1
- package/esm2015/lib/components/button/button.component.js +2 -2
- package/esm2015/lib/components/card-price/card-price.component.js +2 -2
- package/esm2015/lib/components/charging-bar/charging-bar.component.js +2 -2
- package/esm2015/lib/components/confirm-delete/confirm-delete.component.js +2 -2
- package/esm2015/lib/components/content-with-buttons/content-with-buttons.component.js +2 -2
- package/esm2015/lib/components/draganddrop-list/draganddrop-list.component.js +2 -2
- package/esm2015/lib/components/expanded-panel/expanded-panel.component.js +2 -2
- package/esm2015/lib/components/header-page/header-page.component.js +2 -2
- package/esm2015/lib/components/hn/h1/h1.component.js +2 -2
- package/esm2015/lib/components/inputs/input/input.component.js +2 -2
- package/esm2015/lib/components/link/link.component.js +2 -2
- package/esm2015/lib/components/mosaic/mosaic.component.js +2 -2
- package/esm2015/lib/components/popin/popin.component.js +2 -2
- package/esm2015/lib/components/selects/select/select.component.js +2 -2
- package/esm2015/lib/components/selects/select-in-text/select-in-text.component.js +2 -2
- package/esm2015/lib/components/shared-components.module.js +1 -1
- package/esm2015/lib/components/switch/switch.component.js +4 -2
- package/esm2015/lib/components/text-area/text-area.component.js +2 -2
- package/esm2015/lib/components/token-check/token-check.component.js +2 -2
- package/esm2015/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.js +2 -2
- package/esm2015/lib/components/wrapper-sidebar/wrapper-sidebar.component.js +2 -2
- package/esm2015/public-api.js +1 -1
- package/fesm2015/wizishop-angular-components.js +24 -22
- package/fesm2015/wizishop-angular-components.js.map +1 -1
- package/lib/components/switch/switch.component.d.ts +1 -0
- package/package.json +1 -1
- package/wizishop-angular-components-0.0.254.tgz +0 -0
- package/wizishop-angular-components.metadata.json +1 -1
- package/wizishop-angular-components-0.0.251.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizishop-angular-components.js","sources":["../../../../projects/angular-components/src/lib/components/loader/loader.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.component.ts","../../../../projects/angular-components/src/lib/directives/abstract-debounce/abstract-debounce.directive.ts","../../../../projects/angular-components/src/lib/directives/abstract-debounce/debounce-keyup.directive.ts","../../../../projects/angular-components/src/lib/services/dom.service.ts","../../../../projects/angular-components/src/lib/directives/auto-hide/auto-hide.directive.ts","../../../../projects/angular-components/src/lib/directives/zindex-toggle/zindex-toggle.directive.ts","../../../../projects/angular-components/src/lib/directives/ng-var.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/keypress-enter.directive.ts","../../../../projects/angular-components/src/lib/directives/shared-directives.module.ts","../../../../projects/angular-components/src/lib/animations/in-out/in-out-y.animation.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.component.ts","../../../../projects/angular-components/src/lib/components/table/shared/filters-table.service.ts","../../../../projects/angular-components/src/lib/utils/html-container.class.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-checkbox-id.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/checkBoxRow.directive.ts","../../../../projects/angular-components/src/lib/services/multiple-selection.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/raw.directive.ts","../../../../projects/angular-components/src/lib/components/table/table.component.ts","../../../../projects/angular-components/src/lib/components/tag/tag.component.ts","../../../../projects/angular-components/src/lib/components/tab/tab.component.ts","../../../../projects/angular-components/src/lib/components/button/button.component.ts","../../../../projects/angular-components/src/lib/components/info/info.component.ts","../../../../projects/angular-components/src/lib/components/settings/settings.component.ts","../../../../projects/angular-components/src/lib/components/delete/delete.component.ts","../../../../projects/angular-components/src/lib/components/dropdown/dropdown.component.ts","../../../../projects/angular-components/src/lib/components/image/image.component.ts","../../../../projects/angular-components/src/lib/components/back/back.component.ts","../../../../projects/angular-components/src/lib/components/separator/separator.component.ts","../../../../projects/angular-components/src/lib/components/logo/logo.component.ts","../../../../projects/angular-components/src/lib/components/radio/radio.component.ts","../../../../projects/angular-components/src/lib/components/state/state.component.ts","../../../../projects/angular-components/src/lib/animations/in-out/in-out-x.animation.ts","../../../../projects/angular-components/src/lib/components/label/label.component.ts","../../../../projects/angular-components/src/lib/components/calendar/calendar.component.ts","../../../../projects/angular-components/src/lib/components/edit-in-place/edit-in-place.component.ts","../../../../projects/angular-components/src/lib/components/text-area/text-area.component.ts","../../../../projects/angular-components/src/lib/components/hn/h1/h1.component.ts","../../../../projects/angular-components/src/lib/components/hn/h2/h2.component.ts","../../../../projects/angular-components/src/lib/components/hn/h3/h3.component.ts","../../../../projects/angular-components/src/lib/components/header-page/header-page.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input/input.component.ts","../../../../projects/angular-components/src/lib/components/link/link.component.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.component.ts","../../../../projects/angular-components/src/lib/components/switch/switch.component.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.component.ts","../../../../projects/angular-components/src/lib/components/alert/alert.component.ts","../../../../projects/angular-components/src/lib/components/text/text.component.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/is-last-page.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.component.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/array-pages.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/custom-text.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.module.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.module.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.module.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.module.ts","../../../../projects/angular-components/src/lib/components/inputs/input/input.module.ts","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.module.ts","../../../../projects/angular-components/src/lib/components/loader/loader.module.ts","../../../../projects/angular-components/src/lib/components/table/directives/column.directive.ts","../../../../projects/angular-components/src/lib/components/table/directives/columnHeader.directive.ts","../../../../projects/angular-components/src/lib/components/table/table.module.ts","../../../../projects/angular-components/src/lib/components/upload/upload.component.ts","../../../../projects/angular-components/src/lib/components/hn/h4/h4.component.ts","../../../../projects/angular-components/src/lib/components/selects/select-in-text/select-in-text.component.ts","../../../../projects/angular-components/src/lib/components/selects/select/select.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search/multiple-search.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search-plus/multiple-search-plus.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-with-select/input-with-select.component.ts","../../../../projects/angular-components/src/lib/components/popin/popin.component.ts","../../../../projects/angular-components/src/lib/components/free-popin/free-popin.component.ts","../../../../projects/angular-components/src/lib/components/block/block.component.ts","../../../../projects/angular-components/src/lib/components/wrapper/wrapper.component.ts","../../../../projects/angular-components/src/lib/components/filters/filters.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-blocs/wrapper-blocs.component.ts","../../../../projects/angular-components/src/lib/components/snackbar/snackbar.component.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.component.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.service.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup-module.ts","../../../../projects/angular-components/src/lib/components/search/search.component.ts","../../../../projects/angular-components/src/lib/components/selected-list/selected-list.component.ts","../../../../projects/angular-components/src/lib/components/tree/tree.component.ts","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-recursif-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-simple-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/select/select-filters.pipe.ts","../../../../projects/angular-components/src/lib/pipes/selected-list/are-all-options-selected.pipe.ts","../../../../projects/angular-components/src/lib/pipes/shared-pipes.module.ts","../../../../projects/angular-components/src/lib/components/tree/tree.module.ts","../../../../projects/angular-components/src/lib/components/wrapper-sidebar/wrapper-sidebar.component.ts","../../../../projects/angular-components/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../../projects/angular-components/src/lib/components/card-price/card-price.component.ts","../../../../projects/angular-components/src/lib/components/token-check/token-check.component.ts","../../../../projects/angular-components/src/lib/components/block-with-checkbox/block-with-checkbox.component.ts","../../../../projects/angular-components/src/lib/components/confirm-delete/confirm-delete.component.ts","../../../../projects/angular-components/src/lib/components/mosaic/mosaic.component.ts","../../../../projects/angular-components/src/lib/components/content-with-buttons/content-with-buttons.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.ts","../../../../projects/angular-components/src/lib/components/draganddrop-list/draganddrop-list.component.ts","../../../../projects/angular-components/src/lib/components/charging-bar/charging-bar.component.ts","../../../../projects/angular-components/src/lib/components/expanded-panel/expanded-panel.component.ts","../../../../projects/angular-components/src/lib/components/shared-components.module.ts","../../../../projects/angular-components/src/lib/wizi-components.module.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-filters-group.model.ts","../../../../projects/angular-components/src/public-api.ts","../../../../projects/angular-components/src/wizishop-angular-components.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-loader',\n templateUrl: './loader.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LoaderComponent {\n @Input()\n text = '';\n @Input()\n small = false;\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-input-search',\n templateUrl: './input-search.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }]\n})\nexport class InputSearchComponent implements ControlValueAccessor {\n @Input()\n placeholder: string = '';\n\n @Input()\n smallPadding:boolean = false; // todo Try to be more flexible like changing type : export type PaddingConfig = \"default\" | \"small\" | \"big\" | \"no-padding\";\n\n @Input()\n id: string;\n private innerValue: any = '';\n @Output() changeDebounced = new EventEmitter<any>(); // debounced\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (_: any) => void = () => {};\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public handleDebouncedKeyUp(): void {\n this.changeDebounced.emit(this.value);\n }\n}\n","import { Directive, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';\n\n@Directive({\n selector: 'AbstractDebounceDirective'\n})\nexport class AbstractDebounceDirective implements OnDestroy {\n @Input()\n public debounceTime: number;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n protected emitEvent$: Subject<any>;\n protected subscription$: Subject<void>;\n\n constructor() {\n this.debounceTime = 500;\n this.onEventChange = new EventEmitter<any>();\n this.emitEvent$ = new Subject<any>();\n this.subscription$ = new Subject<void>();\n }\n\n ngOnInit(): void {\n this.emitEvent$\n .pipe(\n takeUntil(this.subscription$),\n debounceTime(this.debounceTime),\n distinctUntilChanged(),\n tap(value => this.emitChange(value))\n )\n .subscribe();\n }\n\n public emitChange(value: any): void {\n this.onEventChange.emit(value);\n }\n\n ngOnDestroy(): void {\n this.subscription$.next();\n this.subscription$.complete();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\n@Directive({\n selector: 'input[debounceKeyUp]'\n})\nexport class DebounceKeyupDirective extends AbstractDebounceDirective {\n constructor() {\n super();\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: any): void {\n event.preventDefault();\n this.emitEvent$.next(event);\n }\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injectable, Injector} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport {ComponentType, OverlayContainer} from '@angular/cdk/overlay';\nimport {PortalInjector} from '@angular/cdk/portal';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DomService {\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private overlayContainer: OverlayContainer\n ) {}\n private documentEventSource = new Subject();\n private documentEventDone = this.documentEventSource.asObservable();\n private eventInitialisation = true;\n\n private documentScrollSource = new Subject();\n private documentScrollDone = this.documentScrollSource.asObservable();\n\n documentEvent() {\n this.setDocumentEventListener();\n return this.documentEventDone;\n }\n\n setDocumentEventListener() {\n if (!this.eventInitialisation) {\n return;\n }\n this.eventInitialisation = false;\n document.body.addEventListener('click', event => {\n this.documentEventSource.next(event.target);\n });\n }\n\n documentScroll() {\n return this.documentScrollDone;\n }\n\n setScrollEventListener() {\n window.onscroll = () => {\n this.documentScrollSource.next(window);\n };\n }\n attachComponentPortal<T>(component: ComponentType<T>, injector?: PortalInjector): ComponentRef<T> {\n const componentRef: ComponentRef<T> = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(injector ? injector : this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n\n this.overlayContainer.getContainerElement().appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n }\n}\n","import {Directive, ElementRef, Input, Output, EventEmitter, AfterViewInit, OnInit} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DomService } from '../../services/dom.service';\n\n@Directive({\n selector: '[wzAutoHide]'\n})\nexport class AutoHideDirective implements AfterViewInit {\n @Input() triggerElement: string;\n @Input() forceOn: Array<string> = null;\n subscription: Subscription;\n\n constructor(private _elementRef: ElementRef, private domService: DomService) {}\n\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n ngAfterViewInit(): void {\n this.subscription = this.domService.documentEvent().subscribe((targetElement: Element) => {\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n const classNameFromElement = targetElement.getAttribute('class');\n\n if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {\n\n this.clickOutside.emit(null);\n }\n\n if (this.forceOn != null && classNameFromElement !== null) {\n let needToClose = true;\n this.forceOn.forEach(v => {\n if (!classNameFromElement.includes(v)) {\n needToClose = false;\n }\n });\n if (needToClose) {\n this.clickOutside.emit(null);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe()\n }\n}\n","import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2} from '@angular/core';\n\n@Directive({\n selector: '[zIndexToggle]'\n})\nexport class ZindexToggleDirective implements OnInit, OnDestroy {\n isActived = false;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n @Input('zIndexToggle')\n set isActive(value: boolean) {\n this.isActived = value;\n this.switchToggle();\n }\n get isActive(): boolean {\n return this.isActived;\n }\n\n constructor(private currentElement: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n }\n\n switchToggle() {\n if (this.isActived) {\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n } else {\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n }\n }\n\n ngOnDestroy(): void {\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: '[ngVar]',\n})\nexport class VarDirective {\n // https://stackoverflow.com/questions/38582293/how-to-declare-a-variable-in-a-template-in-angular\n\n @Input()\n set ngVar(context: unknown) {\n this.context.$implicit = this.context.ngVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngVar: unknown;\n } = {\n $implicit: null,\n ngVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(\n private templateRef: TemplateRef<any>,\n private vcRef: ViewContainerRef\n ) {}\n}","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({ selector: '[keypressEnter]' })\nexport class KeypressEnterDirective {\n\n private KEYPRESS_ENTER = \"Enter\";\n\n @HostListener('keypress', ['$event']) onKeypress(event: KeyboardEvent){\n if (event.key === this.KEYPRESS_ENTER) {\n this.keypressEnter.next(true);\n }\n }\n\n @Output() keypressEnter = new EventEmitter<boolean>();\n\n constructor() {}\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DebounceKeyupDirective } from './abstract-debounce/debounce-keyup.directive';\nimport { AbstractDebounceDirective } from './abstract-debounce/abstract-debounce.directive';\nimport { AutoHideDirective } from './auto-hide/auto-hide.directive';\nimport {ZindexToggleDirective} from './zindex-toggle/zindex-toggle.directive';\nimport { VarDirective } from './ng-var.directive';\nimport { KeypressEnterDirective } from './keyboard-events/keypress-enter.directive';\n\nconst directives = [DebounceKeyupDirective, AbstractDebounceDirective, AutoHideDirective, ZindexToggleDirective, VarDirective, KeypressEnterDirective];\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: directives,\n exports: directives\n})\nexport class SharedDirectives {}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutY = trigger('inOutYAnimation', [\n transition(':enter', [\n style({ transform: 'scaleY(0)', height: 0, opacity: 0 }),\n animate('.3s ease-out', style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ transform: 'scaleY(0)', height: 0, opacity: 0 }))\n ])\n]);\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { inOutY } from '../../animations/in-out/in-out-y.animation';\n\n@Component({\n selector: 'wac-checkbox',\n templateUrl: './checkbox.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }],\n animations: [inOutY]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n alone = false;\n @Input()\n checked = false;\n @Input()\n hasInput = false;\n @Input()\n inputPlaceholder = '';\n @Input()\n id = '';\n @Input()\n name: string;\n @Input()\n whiteSpace = true;\n disabled = false;\n\n constructor() {}\n\n private _onChange: Function;\n private _onTextInputChange: Function;\n private _onTouched: Function;\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: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n onTextInputChange(value) {\n if (this._onTextInputChange) {\n this._onTextInputChange(value);\n }\n }\n\n inputClick($event) { // todo it is usefull ?\n $event.stopPropagation();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NwbFilterGroup, NwbFilterRoutingBuilder } from '@wizishop/ng-wizi-bulma';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { TableFiltersGroup } from './table-filters-group.model';\nimport { TableFilters } from './table-filters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FiltersTableService {\n filterGroups = new Map<string, NwbFilterGroup>();\n\n private sortSubject: Subject<any> = new Subject<any>();\n\n constructor(private filterRoutingBuilder: NwbFilterRoutingBuilder) {}\n\n getTableFilterGroup(dataTableName: string): TableFiltersGroup {\n if (this.filterGroups.has(dataTableName)) {\n return this.filterGroups.get(dataTableName) as TableFiltersGroup;\n }\n\n const dataTableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: undefined,\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 0\n };\n\n const filterGroup: TableFiltersGroup = this.filterRoutingBuilder.group(dataTableFilters, dataTableName) as TableFiltersGroup;\n filterGroup.tableFiltersValuesChange$ = new ReplaySubject<TableFilters>(1);\n filterGroup.tableFiltersValuesDebouncedChange$ = filterGroup.tableFiltersValuesChange$.pipe(debounceTime(300));\n\n this.filterGroups.set(dataTableName, filterGroup);\n return filterGroup;\n }\n\n /**\n * Use to reset the others sorts of the table\n * @param dataTableName\n * @param sortName\n * @param order\n */\n emitSortChange(dataTableName: string, sortName: string, order: boolean) {\n this.sortSubject.next({ dataTableName, sortName, order });\n }\n\n getSortChangeListner() {\n return this.sortSubject.asObservable();\n }\n\n setPaginationFilters(dataTableName, totalItems, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage,\n currentPage\n });\n }\n\n /*\n Add defaults filters in the URL if they not exists.\n */\n setInitialPaginationFiltersIfNotExist(dataTableName, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage: filterGroup.get('itemsPerPage') ? parseInt(filterGroup.get('itemsPerPage')) : itemsPerPage,\n currentPage: filterGroup.get('currentPage') ? parseInt(filterGroup.get('currentPage')) : currentPage\n });\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, Injector, Type, ComponentRef, EmbeddedViewRef } from \"@angular/core\";\n\nexport class HtmlContainer {\n private attached: boolean = false;\n\n private disposeFn: () => void;\n\n constructor(\n private hostElement: Element,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n attach(component: Type<any>): ComponentRef<any> {\n if (this.attached) {\n throw new Error('component has already been attached');\n }\n\n this.attached = true;\n const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\n let componentRef = childComponentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n this.disposeFn = () => {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n };\n\n this.hostElement.appendChild((componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n return componentRef;\n }\n\n dispose() {\n if (this.attached) {\n this.disposeFn();\n }\n }\n}","import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class TableCheckboxIdService {\n\n static tableInstance = 0;\n\n currentTableInstance:number;\n nbCheckboxInstances: number = 0;\n\n constructor() {\n TableCheckboxIdService.tableInstance++;\n this.currentTableInstance = TableCheckboxIdService.tableInstance;\n }\n\n getUniqueId() {\n this.nbCheckboxInstances++;\n return `wac-table-${this.currentTableInstance}-${this.nbCheckboxInstances}`;\n }\n}","import { DOCUMENT } from '@angular/common';\nimport {\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Output,\n Renderer2,\n Directive,\n ElementRef,\n Input,\n ComponentRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport { HtmlContainer } from '../../../utils/html-container.class';\nimport { CheckboxComponent } from '../../checkbox/checkbox.component';\nimport { TableCheckboxIdService } from '../shared/table-checkbox-id.service';\n\n@Directive({\n selector: '[checkBoxRow]'\n})\nexport class CheckBoxRow {\n @Input('checkBoxId') checkBoxId: string | number;\n @Input('checkBoxName') checkBoxName: string;\n\n @Input('checkBoxValue') set checkBoxValue(value: boolean) {\n this._value = value;\n if (this.checkboxComponentRef) {\n this.setCheckBoxValue();\n }\n }\n _value: boolean;\n get checkBoxValue(): boolean {\n return this._value;\n }\n\n @Output() checkBoxValueChange: EventEmitter<boolean> = new EventEmitter();\n\n private checkboxComponentRef: ComponentRef<CheckboxComponent>;\n private htmlContainer: HtmlContainer;\n private checkBoxElement;\n\n constructor(\n private currentRow: ElementRef,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private tableCheckboxIdService: TableCheckboxIdService\n ) {}\n\n ngOnInit() {\n this.createCheckBoxComponent();\n this.handleChecboxInputs();\n this.handleCheckboxOutputs();\n }\n\n createCheckBoxComponent() {\n // Create the container\n this.checkBoxElement = document.createElement('div');\n this.checkBoxElement.className = 'wac-table__body__line__cell wac-table__body__line__cell--checkbox';\n\n // Insert divCheckBox in the DOM as the first child of the row\n this.renderer.insertBefore(this.currentRow.nativeElement, this.checkBoxElement, this.currentRow.nativeElement.firstChild);\n\n // Insert the CheckBoxComponent inside the container (DOM and Angular DOM)\n this.htmlContainer = new HtmlContainer(this.checkBoxElement, this.appRef, this.resolver, this.injector);\n this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);\n }\n\n private handleChecboxInputs() {\n this.checkboxComponentRef.instance.id = this.checkBoxId ? '' + this.checkBoxId : this.tableCheckboxIdService.getUniqueId();\n this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;\n this.checkboxComponentRef.instance.alone = true;\n this.setCheckBoxValue();\n }\n\n private setCheckBoxValue() {\n this.checkboxComponentRef.instance.value = this.checkBoxValue;\n }\n\n private handleCheckboxOutputs() {\n // Detect checkbox changes\n this.checkboxComponentRef.instance.registerOnChange(() => {\n this._toggleCheckbox();\n });\n }\n\n private _toggleCheckbox() {\n this.checkBoxValueChange.emit(this.checkBoxValue);\n }\n\n getElement() {\n return this.checkBoxElement.querySelector('.wac-field-checkbox');\n }\n\n isActive(): boolean {\n return !!this.checkboxComponentRef.instance.value;\n }\n\n setActive(isActive: boolean) {\n this.checkboxComponentRef.instance.value = isActive; //? does not trigger output\n }\n\n ngOnDestroy() {\n this.htmlContainer.dispose();\n }\n}\n","import { Injectable, QueryList } from \"@angular/core\";\nimport { Subscription, Subject, merge, fromEvent } from \"rxjs\";\nimport { debounceTime, map } from \"rxjs/operators\";\nimport { SelectionItem } from \"../utils/slection-item.interface\";\n\n@Injectable()\nexport class MultiSelectionService {\n private items: QueryList<SelectionItem>;\n private subscription: Subscription;\n private lastIndex: number;\n private activeChanges: Subject<number[]> = new Subject();\n activeChanges$ = this.activeChanges.asObservable();\n\n constructor() {}\n\n handle(items: QueryList<SelectionItem>, toggleSingleItem: boolean = false): void {\n\n if (!items || !items.first) {\n this.destroy();\n return;\n }\n\n this.destroy(); // close previous subsciption\n\n this.items = items;\n\n const clicks$ = this.getListeners();\n\n this.subscription = merge(...clicks$).subscribe(({ component, isShift: isShiftKeyPressed, index }) => {\n if (!isShiftKeyPressed) {\n if (toggleSingleItem) {\n component.setActive(!component.isActive());\n }\n this.activeChanges.next([index]);\n this.lastIndex = index;\n return;\n }\n\n const start = index;\n const end = this.lastIndex;\n const [first, last] = [Math.min(start, end), Math.max(start, end) + 1];\n const itemsSelection = this.items.toArray().slice(first, last);\n const isBeginnerItemActive = this.items.get(end).isActive();\n\n itemsSelection.forEach(current => current.setActive(isBeginnerItemActive));\n window.getSelection().removeAllRanges(); // remove text selection\n const indexInRange = Array.from({length: last-first}, (x, i) => i + first);\n this.activeChanges.next(indexInRange);\n });\n }\n\n private getListeners() {\n return this.items.map((item, index) => {\n return fromEvent(item.getElement(), 'click').pipe(\n map((event: MouseEvent) => {\n return {\n index,\n isShift: event.shiftKey,\n component: item\n }\n })\n )\n .pipe(debounceTime(100)) // debounced, because when clicking on a wac-checkbox it is emitted twice and can not find why\n });\n }\n\n getActives() {\n return this.items.filter(item => item.isActive());\n }\n\n destroy() {\n this.subscription?.unsubscribe();\n }\n}","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // The selector has the same name as the tableRaw selector in table.component.html\n selector: '[tableRow]'\n})\nexport class TableRow {\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line');\n }\n}\n","import { Component, ContentChildren, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { FiltersTableService } from './shared/filters-table.service';\nimport { Subscription } from 'rxjs';\nimport { TableFilters } from './shared/table-filters.model';\nimport { TableFiltersGroup } from './shared/table-filters-group.model';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { MultiSelectionService } from '../../services/multiple-selection.service';\nimport { TableCheckboxIdService } from './shared/table-checkbox-id.service';\nimport { TableRow } from './directives/raw.directive';\n\n@Component({\n selector: 'wac-table',\n templateUrl: './table.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n TableCheckboxIdService,\n MultiSelectionService\n ]\n})\nexport class TableComponent implements OnInit {\n\n @ContentChildren(CheckBoxRow) checkBoxRows: QueryList<CheckBoxRow>;\n @ContentChildren(TableRow) tableRows: QueryList<TableRow>;\n\n // todo find a way to spotlight the wac-table doc when used on wizi-admin only in dev\n // todo try to use bridge patterne in order to add checkbox and remove checkbowrox directive.\n /// Input/Output of table filters ///\n\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n @Input() tableRoutingName: string; // Name of the table\n @Input() placeholder: string = '';\n\n private _tableFiltersGroup: TableFiltersGroup;\n\n /// Input/Output of checkbox ///\n\n /** Pass to true to display checkbox in the header table */\n @Input() checkbox = false;\n\n @Output() toggleAllCheckBox: EventEmitter<boolean> = new EventEmitter(); // todo replace by checkBoxSelectionChange\n\n @Output() checkBoxSelectionChange: EventEmitter<number[]> = new EventEmitter(); // todo add to doc\n\n /// Input to disable section ///\n\n /** Pass to true to hide search input */\n @Input() disableSearch: boolean = false;\n /** Pass to true to hide the pagniator */\n @Input() disablePagniation: boolean = false;\n\n /// Input for loader on table body ///\n\n @Input() isLoading = false;\n\n /// Private variables ///\n headerCheckBoxId: string;\n private filterGroupChangeSub: Subscription;\n\n constructor(private filtersTableService: FiltersTableService, private tableCheckboxIdService: TableCheckboxIdService, private multiSelectionService: MultiSelectionService) {}\n\n ngOnInit(): void {\n this.headerCheckBoxId = this.tableCheckboxIdService.getUniqueId(); // Create checkbox unique id\n\n /* Handle routing filters */\n if (this.tableRoutingName) {\n\n this.filtersTableService.setInitialPaginationFiltersIfNotExist(\n this.tableRoutingName,\n this.tableFilters.itemsPerPage,\n this.tableFilters.currentPage\n );\n\n this._tableFiltersGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);\n this.setTablesFilters();\n // Listen to filters changes with debounced time to limit multiple api calls\n this.filterGroupChangeSub = this._tableFiltersGroup.valuesChange$.subscribe(() => {\n this.setTablesFilters();\n });\n }\n\n this.multiSelectionService.activeChanges$.subscribe(selectionIndexRawCheckChange => {\n this.checkBoxSelectionChange.emit(selectionIndexRawCheckChange);\n });\n }\n\n ngAfterViewInit() {\n this.multiSelectionService.handle(this.checkBoxRows);\n this.checkBoxRows.changes.subscribe(() => {\n this.multiSelectionService.handle(this.checkBoxRows);\n });\n console.log('this.tableRows', this.tableRows);\n }\n\n onToggleAllCheckBox(event: any) {\n this.toggleAllCheckBox.emit(event.target.checked);\n }\n\n searchChange() {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n\n // Reset routing filters\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n searchValue: this.tableFilters.searchValue,\n sort: undefined,\n order: undefined,\n currentPage: 1\n });\n }\n }\n\n pageChange() {\n this.tableFiltersChange.emit(this.tableFilters);\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n itemsPerPage: this.tableFilters.itemsPerPage,\n currentPage: this.tableFilters.currentPage\n });\n }\n }\n\n /**\n * Set tableFilters from routing data existing in the url\n * */\n private setTablesFilters() {\n this.tableFilters = {\n sort: this._tableFiltersGroup.get('sort'),\n order: this._tableFiltersGroup.get('order') ? this._tableFiltersGroup.get('order') === 'true' : undefined,\n searchValue: this._tableFiltersGroup.get('searchValue'),\n itemsPerPage: this._tableFiltersGroup.get('itemsPerPage') ? parseInt(this._tableFiltersGroup.get('itemsPerPage')) : 0,\n currentPage: this._tableFiltersGroup.get('currentPage') ? parseInt(this._tableFiltersGroup.get('currentPage')) : 0,\n totalItems: this.tableFilters.totalItems\n };\n this.tableFiltersChange.emit(this.tableFilters);\n this._tableFiltersGroup.tableFiltersValuesChange$.next(this.tableFilters);\n }\n\n ngOnDestroy() {\n if (this.filterGroupChangeSub) {\n this.filterGroupChangeSub.unsubscribe();\n }\n this.multiSelectionService.destroy();\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-tag',\n templateUrl: './tag.component.html'\n})\nexport class TagComponent {\n @Input()\n label = '';\n @Input()\n class: 'default'|'success'|'warning'|'error'|'dark'|'gray'|'lightgray';\n @Input()\n hasClose = false;\n\n @Input()\n big = false;\n\n @Input() isOpen:boolean = true;\n @Output() isOpenChange = new EventEmitter<boolean>();\n\n constructor() {}\n\n toggleTag() {\n this.isOpen = !this.isOpen;\n this.isOpenChange.next(this.isOpen);\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-tab',\n templateUrl: './tab.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class TabComponent {\n\n @Input()\n underline = false;\n\n @Input()\n button = false;\n\n @Input()\n tabs = [];\n\n @Input() index: number = 0;\n\n @Output() indexChange = new EventEmitter<any>();\n\n constructor() {}\n\n valueChanged(i) {\n this.index = i;\n this.indexChange.emit(this.index);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport { interval } from 'rxjs';\nimport { takeWhile } from 'rxjs/operators';\n\n@Component({\n selector: 'wac-button',\n templateUrl: './button.component.html'\n})\nexport class ButtonComponent implements OnInit, AfterViewInit {\n @Input()\n extraClasses = 'is-info'; // todo make a list of existing class\n\n @Input()\n label = '';\n\n @Input()\n icon = '';\n\n @Input()\n iconNext: string;\n\n @Input()\n textcolor = null;\n @Input()\n widthAuto = false;\n\n @Input()\n contentHorizontalPosition: 'left' | 'center' | 'right' = 'center';\n\n @Input()\n iconFontSize = 12;\n\n @Input()\n hasLoader = false;\n\n @Input()\n disabled = false;\n\n @Input()\n whiteSpaceNowrap = false;\n\n @Input()\n opacity = false;\n // TODO MAKE ANNIMATION AVAILABLE FOR MOBILE as CONFIRM DELETE DO (because, its doeant show the text and trigger click)\n @Input()\n animation = false;\n\n @Input()\n animationRight = false;\n\n @Input()\n animationText = '';\n\n @Input()\n confirmDelete = false;\n\n @Input()\n confirmDeleteText = '';\n\n @Input()\n coin: number | string;\n\n @Input()\n tooltip: string;\n\n @Input()\n tooltipWidth: string;\n\n @Input()\n noPadding = false;\n\n @Input()\n tooltipPosition: 'top-center' | 'top-right' | 'top-left' | 'bottom-center' | 'bottom-right' | 'bottom-left' | 'left' | 'right' = 'top-center';\n\n @Input()\n tooltipOneline = false;\n\n @Input()\n confirmDeletePosition = 'right';\n\n @Output() public click: EventEmitter<MouseEvent> = new EventEmitter();\n\n @Input() set isLoading(isLoading : boolean) {\n this._isLoading = isLoading;\n this.isLoadingChange.next(isLoading);\n this.toggleLoading();\n }\n\n @Output() isLoadingChange = new EventEmitter<boolean>();\n\n get isLoading() : boolean {\n return this._isLoading;\n }\n\n private _isLoading: boolean = false;\n\n\n interval = null;\n\n waitForConfirmDelete = false;\n\n buttonMaxWidth = '0px';\n buttonWidth = '0px';\n\n buttonMaxWidthDelete = '0px';\n buttonWidthDelete = '0px';\n\n currentLoading = 0;\n\n @ViewChild('calculWidth')\n calculWidth: ElementRef;\n\n @ViewChild('calculWidthDelete')\n calculWidthDelete: ElementRef;\n\n constructor() {}\n\n ngOnInit() {\n if (this.confirmDelete) {\n this.waitForConfirmDelete = true;\n }\n }\n\n toggleLoading() {\n this.currentLoading = this.isLoading ? 10 : 100;\n\n interval(200).pipe(takeWhile( time=> this.isLoading)).subscribe(\n () => {\n if (this.currentLoading < 85) {\n this.currentLoading += Math.floor(Math.random() * 15);\n }\n }\n );\n }\n\n addMaxWidth() {\n this.buttonMaxWidth = this.buttonWidth + 'px';\n }\n\n resetMaxWidth() {\n this.buttonMaxWidth = '0px';\n }\n\n addMaxWidthDelete() {\n this.buttonMaxWidthDelete = this.buttonWidthDelete + 'px';\n }\n\n resetMaxWidthDelete() {\n this.buttonMaxWidthDelete = '0px';\n this.waitForConfirmDelete = true;\n }\n\n onButtonClick(event){\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n if (this.hasLoader) {\n this.isLoading = false;\n setTimeout(() => { // trick to reset the animation loading\n this.isLoading = true;\n }, 0);\n }\n\n if (!this.waitForConfirmDelete) {\n this.click.emit(event);\n if (this.confirmDelete) {\n this.resetMaxWidthDelete();\n }\n } else {\n this.waitForConfirmDelete = false;\n }\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.animation) {\n this.buttonWidth = this.calculWidth.nativeElement.offsetWidth;\n }\n if (this.confirmDelete) {\n this.buttonWidthDelete = this.calculWidthDelete.nativeElement.offsetWidth;\n }\n }, 1000);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-info',\n templateUrl: './info.component.html'\n})\nexport class InfoComponent {\n constructor() {}\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-settings',\n templateUrl: './settings.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SettingsComponent {\n constructor() {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-delete',\n templateUrl: './delete.component.html'\n})\nexport class DeleteComponent {\n constructor() {}\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-dropdown',\n templateUrl: './dropdown.component.html'\n})\nexport class DropdownComponent {\n @Input()\n hasIcons = false;\n\n @Input()\n items = [];\n\n @Output() userInput = new EventEmitter<any>();\n\n constructor() {}\n\n onUserInput(itemIndex) {\n this.userInput.emit(itemIndex);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'wac-image',\n templateUrl: './image.component.html'\n})\nexport class ImageComponent {\n @Input()\n src: '';\n\n constructor() {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-back',\n templateUrl: './back.component.html'\n})\nexport class BackComponent {\n constructor() {}\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-separator',\n templateUrl: './separator.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SeparatorComponent {\n @Input()\n dashed = false;\n\n constructor() {}\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-logo',\n templateUrl: './logo.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LogoComponent {\n @Input()\n isDropizi: false;\n\n @Input()\n isWhite: false;\n\n constructor() {}\n}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: RadioComponent, multi: true }]\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n options: object;\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n id = '';\n @Input()\n name: string;\n @Input()\n alone = false;\n @Output()\n changeInput = new EventEmitter<any>();\n disabled = false;\n constructor() {}\n private _onChange: Function;\n private _onTouched: Function;\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: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n valueInput(value) {\n this.changeInput.emit(value);\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-state',\n templateUrl: './state.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class StateComponent {\n @Input()\n state = 'success';\n constructor() {}\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutX = trigger('inOutXAnimation', [\n transition(':enter', [\n style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }),\n animate('.3s ease-out', style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }))\n ])\n]);\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { inOutX } from '../../animations/in-out/in-out-x.animation';\n\n@Component({\n selector: 'wac-label',\n templateUrl: './label.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [inOutX]\n})\nexport class LabelComponent {\n @Input()\n index = 0;\n @Input()\n label = '';\n @Input()\n deleted = false;\n\n @Output() onDeleteLabel = new EventEmitter<any>();\n\n constructor() {}\n\n deleteLabel() {\n this.deleted = true;\n this.onDeleteLabel.emit({\n index: this.index,\n label: this.label\n });\n }\n}\n","import { Component, Input, EventEmitter, Output, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-calendar',\n templateUrl: './calendar.component.html'\n})\nexport class CalendarComponent implements OnInit {\n @Input()\n label: string | null;\n @Input()\n type = 'input';\n @Input()\n options: object = {\n displayMode: 'inline',\n showHeader: false,\n showFooter: true,\n showButton: true\n };\n @Input()\n position = 'bottom';\n @Input()\n dateSelected: any = new Date();\n @Input()\n typeDate = 'datetime-local';\n @Input()\n noMargin = false;\n @Output()\n selected: EventEmitter<string> = new EventEmitter<string>();\n @Output() changeData = new EventEmitter<any>();\n open = false;\n startLabel = '';\n endLabel = '';\n currentHours: any;\n currentMinutes: any;\n currentDate: any;\n constructor() {}\n changeDate(event: any) {\n this.currentDate = new Date(new Date(event.startDate).setHours(0, 0, 0, 0));\n this.dateSelected = new Date(\n new Date(new Date(event.startDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.triggerChange({\n startDate: this.dateSelected,\n endDate: this.dateSelected\n });\n }\n\n triggerChange(event: any) {\n this.changeData.emit(event);\n }\n\n openCalendar(value = null) {\n if (value === 'close') {\n if (this.open) {\n this.open = false;\n }\n } else {\n this.open = !this.open;\n }\n }\n ngOnInit(): void {\n if (this.type === 'edit' && this.label) {\n const splitLabel = this.label.split('{x}');\n if (splitLabel.length > 1) {\n this.startLabel = splitLabel[0];\n this.endLabel = splitLabel[1];\n } else {\n this.startLabel = this.label;\n }\n }\n this.currentHours =\n new Date(this.dateSelected).getHours() < 10 ? '0' + new Date(this.dateSelected).getHours() : new Date(this.dateSelected).getHours();\n this.currentMinutes =\n new Date(this.dateSelected).getMinutes() < 10\n ? '0' + new Date(this.dateSelected).getMinutes()\n : new Date(this.dateSelected).getMinutes();\n this.currentDate = new Date(this.dateSelected).setHours(0, 0, 0, 0);\n if (this.typeDate === 'date') {\n this.currentHours = '00';\n this.currentMinutes = '00';\n }\n }\n verifKeyup(events: any) {\n events.target.value = events.target.value.replace(/\\D+/g, '');\n }\n verifHours(events: any) {\n const value = parseInt(events.target.value, 0);\n events.target.value = this.currentHours = value < 24 ? (value < 10 ? '0' + value : value) : 23;\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n verifMinutes(events: any) {\n const value = parseInt(events.target.value, 0);\n events.target.value = this.currentMinutes = value < 60 ? (value < 10 ? '0' + value : value) : 59;\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n addHours(target: any) {\n target.value = this.currentHours =\n parseInt(target.value, 0) + 1 < 24\n ? parseInt(target.value, 0) + 1 < 10\n ? '0' + (parseInt(target.value, 0) + 1)\n : parseInt(target.value, 0) + 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n removeHours(target: any) {\n target.value = this.currentHours =\n parseInt(target.value, 0) - 1 > -1\n ? parseInt(target.value, 0) - 1 < 10\n ? '0' + (parseInt(target.value, 0) - 1)\n : parseInt(target.value, 0) - 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n addMinutes(target: any) {\n target.value = this.currentMinutes =\n parseInt(target.value, 0) + 1 < 60\n ? parseInt(target.value, 0) + 1 < 10\n ? '0' + (parseInt(target.value, 0) + 1)\n : parseInt(target.value, 0) + 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n removeMinutes(target: any) {\n target.value = this.currentMinutes =\n parseInt(target.value, 0) - 1 > -1\n ? parseInt(target.value, 0) - 1 < 10\n ? '0' + (parseInt(target.value, 0) - 1)\n : parseInt(target.value, 0) - 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'wac-edit-in-place',\n templateUrl: './edit-in-place.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: WzEditInPlaceComponent,\n multi: true\n }\n ]\n})\nexport class WzEditInPlaceComponent implements ControlValueAccessor, AfterViewChecked, OnChanges {\n //! Refacto aweful to use\n // todo add exemples in showcases\n @Input()\n type: string;\n @Input()\n nwbOptions: object | string[];\n @Input()\n config: NwbEditInPlaceConfig = {};\n @Input()\n label: string;\n @Output() customChange = new EventEmitter<any>();\n\n @ViewChild('input')\n input: ElementRef;\n\n objectKeys = Object.keys;\n public currentValue: string | number;\n private preValue: string | number;\n\n public inputWidth: number;\n public editing = false;\n public isLoading: boolean;\n private firstEdit: boolean;\n private initialized: boolean;\n\n public onChange: any = Function.prototype;\n public onTouched: any = Function.prototype;\n\n get value(): any {\n return this.currentValue;\n }\n\n set value(v: any) {\n if (v !== this.currentValue) {\n this.currentValue = v;\n }\n }\n\n writeValue(value: any) {\n if (value !== null) {\n if (this.config.currency) {\n this.currentValue = this.parseValueToNumber(value);\n if (this.config.separator !== '.') {\n this.currentValue = this.parseValueToSeparator(this.currentValue);\n }\n this.currentValue += this.config.currency;\n } else {\n this.currentValue = value;\n }\n }\n }\n\n public registerOnChange(fn: (_: any) => {}): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n private _setValue(v: string | number) {\n if (this.type === 'select') {\n this.onChange(v);\n } else if (typeof this.config.currency === 'string') {\n v = this.parseValueToNumber(v);\n this.onChange(v);\n if (this.config.separator !== '.') {\n v = this.parseValueToSeparator(v);\n }\n v = v + this.config.currency;\n this.customChange.emit(v);\n } else {\n this.onChange(v);\n }\n this.writeValue(v);\n this.value = v;\n }\n\n ngAfterViewChecked() {\n if (this.input && this.editing) {\n this.input.nativeElement.focus();\n if (this.config.selectTextUponClick && this.firstEdit && this.preValue && this.input.nativeElement.value) {\n this.input.nativeElement.select();\n this.firstEdit = false;\n }\n }\n this.initialized = true;\n }\n\n startEditing() {\n if (!this.editing) {\n this.editing = true;\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue);\n this.firstEdit = true;\n }\n }\n\n edit() {\n this.preValue = this.currentValue;\n this.editing = true;\n }\n\n onSubmit() {\n this.editing = false;\n if (this.currentValue !== this.preValue) {\n if (typeof this.config.handler === 'function') {\n this.isLoading = true;\n this.config.handler(this.currentValue, this.config.data).subscribe(\n data => {\n let hasChanged: boolean;\n this.isLoading = false;\n if (typeof data !== 'boolean') {\n this.currentValue = data.value;\n hasChanged = data.success;\n } else {\n hasChanged = data;\n }\n if (hasChanged) {\n this._setValue(this.currentValue);\n } else {\n this._setValue(this.preValue);\n }\n },\n () => {\n this.isLoading = false;\n this._setValue(this.preValue);\n }\n );\n } else {\n this._setValue(this.currentValue);\n }\n } else {\n if (typeof this.config.currency === 'string') {\n this.currentValue = this.currentValue + this.config.currency;\n }\n }\n }\n\n checkAndRemoveCurrency(value) {\n if (typeof this.config.currency === 'string') {\n return value.slice(0, -1);\n }\n\n return value;\n }\n\n parseValueToNumber(value) {\n if (!isNaN(value) && value !== '') {\n return parseFloat(value);\n }\n if (typeof this.config.currency === 'string') {\n const indexComma = value.indexOf(',');\n const indexDot = value.indexOf('.');\n if (indexComma > 0 && indexDot === -1) {\n const parsedValue = value.replace(',', '.');\n if (!isNaN(parsedValue)) {\n return parseFloat(parsedValue);\n }\n }\n if (indexDot > 0 && indexComma === -1) {\n if (!isNaN(value)) {\n return parseFloat(value);\n }\n }\n return 0;\n }\n }\n\n parseValueToSeparator(value) {\n if (typeof this.config.separator === 'string') {\n value = parseFloat(value).toFixed(2);\n return value.replace('.', this.config.separator);\n }\n\n return value;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.initialized) {\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue) + this.config.currency;\n this.customChange.emit(this.value);\n }\n }\n\n selectOption(event) {\n this.currentValue = event.target.innerText;\n this.closeSelect(event);\n event.stopPropagation();\n this.customChange.emit(event.target.value);\n }\n\n closeSelect(event) {\n this.editing = false;\n this.isLoading = false;\n event.stopPropagation();\n }\n}\n\nexport interface NwbEditInPlaceConfig {\n /** Whether to select the whole text inside the input upon click */\n selectTextUponClick?: boolean;\n\n /** Data to pass as the second argument for the handler method if any **/\n data?: any;\n\n currency?: string;\n\n separator?: string;\n\n /**\n * handler method to call on change.\n * This allows you to perform any action before setting new value to the model\n * It has to return a boolean observable. If the returned value is true then the model will change.\n */\n handler?: (value: any, data: any) => Observable<boolean | ReturnedData>;\n}\n\nexport interface ReturnedData {\n success: boolean;\n value: any;\n}\n","import { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-text-area',\n templateUrl: './text-area.component.html',\n\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }]\n})\nexport class TextAreaComponent implements ControlValueAccessor {\n // todo simplify and improve progress bar\n @Input()\n label = '';\n @Input()\n value = '';\n @Input()\n placeholder = '';\n @Input()\n textInfo = '';\n @Input()\n textError = '';\n @Input()\n error = '';\n @Input()\n success = '';\n @Input()\n size = null;\n @Input()\n min = null;\n @Input()\n max = null;\n @Input()\n dynamicSize = false;\n @Input()\n progressBar = false;\n @Input()\n disabled = false;\n @Input()\n maxlength: number | string;\n @Input()\n minlength: number | string;\n\n id =\n 'wac-textarea__' +\n Math.random()\n .toString(36)\n .substr(2, 9);\n\n private _onChange: Function;\n private _onTouched: Function;\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: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n this.writeValue(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-h1',\n templateUrl: './h1.component.html'\n})\nexport class H1Component implements OnInit {\n @Input()\n annotation = '';\n @Input()\n withImg = false;\n @Input()\n center = false;\n @Input()\n color = null;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h2',\n templateUrl: './h2.component.html'\n})\nexport class H2Component implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h3',\n templateUrl: './h3.component.html'\n})\nexport class H3Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n@Component({\n selector: 'wac-header-page',\n templateUrl: './header-page.component.html'\n})\nexport class HeaderPageComponent implements OnInit {\n @Input()\n title: string;\n @Input()\n linkBack: string;\n @Input()\n withImg = false;\n @Input()\n center = false;\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-input',\n templateUrl: './input.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }]\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n value = '';\n @Input()\n type = 'text';\n @Input()\n placeholder = '';\n @Input()\n textInfo = null;\n @Input()\n textError = null;\n @Input()\n size = null;\n @Input()\n isNumber = null;\n @Input()\n withoutBlock = false;\n @Input()\n icon = '';\n @Input()\n big = false;\n @Input()\n medium = false;\n @Input()\n boldLabel = 'false';\n @Input()\n min = null;\n @Input()\n max = null;\n @Input()\n disableMargin = false;\n @Input()\n textPrepend = null;\n @Input()\n textAppend = null;\n @Input()\n progressBar = false;\n @Input()\n extraClasses = '';\n @Input()\n keyPreventDefault = [];\n @Input()\n showTooltip = false;\n @Input()\n textTooltip = '';\n @Input()\n iconTooltip = '';\n @Input()\n urlTooltip = '';\n @Input()\n linkTooltip = '';\n @Input()\n padding = false;\n @Input()\n disabled = false;\n @Input()\n indication = false;\n @Input()\n success = false;\n @Input()\n error = false;\n @Input()\n maxlength: number | string;\n @Input()\n minlength: number | string;\n @Input()\n indicationLeft = false;\n\n @Output() keypressEnter = new EventEmitter<boolean>();\n\n private KEYPRESS_ENTER = \"Enter\";\n\n id =\n 'wz-input_' +\n Math.random()\n .toString(36)\n .substr(2, 9);\n\n private _onChange: Function;\n private _onTouched: Function;\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: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n }\n\n checkNumberValue(value) {\n if (this.min && this.min > value) {\n this.value = this.min;\n }\n if (this.max && this.max < value) {\n this.value = this.max;\n }\n }\n\n onFocusOut() {\n if (this.type === 'number') {\n this.checkNumberValue(this.value);\n }\n }\n\n keyPress(event: KeyboardEvent) {\n if (this.keyPreventDefault.includes(event.key)) {\n event.preventDefault();\n }\n\n if (event.key === this.KEYPRESS_ENTER) {\n this.keypressEnter.next(true);\n }\n }\n}\n","import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'wac-link',\n templateUrl: './link.component.html'\n})\nexport class LinkComponent implements OnInit {\n\n _link: string;\n\n @Input() set href(link : string) {\n this._link = link;\n this.setAttributesLink();\n }\n\n get href(): string {\n return this._link;\n }\n\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n @Input() id: string;\n @Input() class: string;\n @Input() fontSize = '14px';\n\n @ViewChild('linkComponent')\n linkComponent: ElementRef;\n\n constructor(private renderer2: Renderer2) {}\n\n ngOnInit(): void {}\n\n ngAfterViewInit() {\n this.setAttributesLink();\n }\n\n setAttributesLink() {\n if (!this.linkComponent) {\n return;\n }\n\n if (this.href) {\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"href\", this.href);\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"target\", this.target);\n } else {\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"href\");\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"target\");\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-progress-bar',\n templateUrl: './progress-bar.component.html',\n\n})\nexport class ProgressBarComponent {\n @Input()\n valueLength = null;\n @Input()\n min = null;\n @Input()\n max = null;\n\n constructor(private translateService: TranslateService) {}\n\n progressBarClass(spanNumber = -1) {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (spanNumber === 1) {\n return {\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n } else if (spanNumber === 2) {\n return {\n 'is-success': length === max,\n 'is-danger': length > max\n };\n } else {\n return {\n 'is-warning': length < min,\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n }\n }\n\n progressBarSpanPosition(index) {\n const min = this.min;\n const max = this.max;\n const maxSize = this.progressBarGetMaxSize(max);\n const successMin = (min / maxSize) * 100;\n const successMax = (max / maxSize) * 100;\n return index === 1 ? successMin : successMax;\n }\n\n progressBarGetMaxSize(max) {\n return max + max / 4;\n }\n\n progressBarGetTextInfo() {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (length < min) {\n return this.translateService.instant('wac.input.progressbar.information.too.short');\n } else if (length > max) {\n return this.translateService.instant('wac.input.progressbar.information.too.long');\n } else {\n return this.translateService.instant('wac.input.progressbar.information.good');\n }\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n@Component({\n selector: 'wac-switch',\n templateUrl: './switch.component.html',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: SwitchComponent, multi: true },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SwitchComponent implements OnInit, ControlValueAccessor {\n // todo add ngmodel and review texts display (textState is mandatory in order to display textStateEnable and textStateDisable)\n @Input() value = false;\n @Input() textState = false;\n @Input() textStateEnable = '';\n @Input() textStateDisable = '';\n @Input() showInput = false; // todo should not be handle here, but in another component\n @Input() placholderInput: string; // todo should be removed from here\n @Input() danger = false;\n @Input() whiteSpace: boolean = false;\n @Output() switchChange = new EventEmitter<any>(); // todo set emitted type\n @Output() changeInput = new EventEmitter<any>(); // todo set emitted type, should be removed\n valueInput: string;\n public id: string;\n\n disabled: boolean;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.id = 'switch-' + Math.floor(Math.random() * Math.floor(1000));\n }\n\n changeValue(event: any) {\n if (this.disabled) {\n return;\n }\n this.value = event.target.checked;\n this.switchChange.emit(this.value);\n this.onChange(this.value)\n }\n\n triggerInput() {\n this.changeInput.emit(this.valueInput);\n }\n\n private onChange: (value: boolean) => void = (value) => {};\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n registerOnChange(onChange: any): void {\n this.onChange = onChange;\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n private onTouched = () => {};\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-tooltip',\n templateUrl: './tooltip.component.html',\n\n})\nexport class TooltipComponent implements OnInit {\n // todo add exemples. Should be a directive. Maybe allow to pass a template like\n @Input()\n tooltipIcon: string;\n @Input()\n tooltipText: string = '';\n @Input()\n tooltipLink: string = '';\n @Input()\n tooltipUrl: string = '#';\n\n constructor() {}\n\n ngOnInit() {\n if (this.tooltipIcon === '') {\n this.tooltipIcon = 'fas fa-info-circle';\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-alert',\n templateUrl: './alert.component.html'\n})\nexport class AlertComponent implements OnInit {\n @Input() icon = true;\n @Input() warning = false;\n @Input() success = false;\n @Input() alert = false;\n @Input() iconClass = 'fas fa-info';\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-text',\n templateUrl: './text.component.html'\n})\nexport class TextComponent implements OnInit {\n @Input()\n textClass: 'grey'|'yellow'|'red'|'label'|'optional';\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'IsLastPage'\n})\nexport class PagniationIsLastPage implements PipeTransform {\n /**\n * Return true, if the current page is the last page. Otherwise, return false.\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): boolean {\n if (!(currentPage >= 0 && totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('currentPage or totalItems or itemsPerPage is/are missing in PagniationIsLastPage pipe.');\n }\n return currentPage === Math.ceil(totalItems / itemsPerPage);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wac-pagination',\n templateUrl: './pagination.component.html'\n})\nexport class PaginationComponent {\n @Input()\n set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Output() pageChange: EventEmitter<PaginationFilters> = new EventEmitter();\n\n constructor() {}\n\n decrementPage() {\n if (this.pagination.currentPage <= 1) {\n return;\n }\n this.pagination.currentPage--;\n this.pageChange.emit(this.pagination);\n }\n\n incrementPage() {\n const isLastPage = new PagniationIsLastPage().transform(\n this.pagination.currentPage,\n this.pagination.totalItems,\n this.pagination.itemsPerPage\n );\n if (isLastPage) {\n return;\n }\n this.pagination.currentPage++;\n this.pageChange.emit(this.pagination);\n }\n\n onGotoPageChange(event: any) {\n this.pagination.currentPage = parseInt(event.target.value);\n this.pageChange.emit(this.pagination);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ArrayTotalPages'\n})\nexport class PagniationArrayTotalPages implements PipeTransform {\n /**\n * Return an incremental array corresponding with the number page\n * [ 1, 2, 3 ..., last page number ]\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems, itemsPerPage): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n const arrayLength: number = Math.ceil(totalItems / itemsPerPage);\n return Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map(x => x + 1);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'customPagniationText'\n})\nexport class PagniationText implements PipeTransform {\n constructor(private translateService: TranslateService) {}\n\n /**\n * Update pagination text if at least one entrie change\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): any {\n let currentItemsLow = 0,\n currentItemsHigh = 0;\n\n if (totalItems) {\n currentItemsLow = (parseInt(currentPage) - 1) * parseInt(itemsPerPage) + 1;\n currentItemsHigh = parseInt(currentPage) * parseInt(itemsPerPage);\n }\n\n if (currentItemsHigh > totalItems) {\n currentItemsHigh = totalItems;\n }\n\n return this.translateService.get('wac.PaginationComponent.on', { low: currentItemsLow, high: currentItemsHigh, total: totalItems })\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { PaginationComponent } from './pagination.component';\nimport { PagniationArrayTotalPages } from './pipes/array-pages.pipe';\nimport { PagniationText } from './pipes/custom-text.pipe';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nconst pipes = [PagniationArrayTotalPages, PagniationIsLastPage, PagniationText];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TranslateModule\n ],\n exports: [PaginationComponent],\n declarations: [PaginationComponent, ...pipes],\n providers: [],\n})\nexport class PaginationModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [CheckboxComponent],\n declarations: [CheckboxComponent],\n providers: [],\n})\nexport class CheckboxModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { ProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [ProgressBarComponent],\n declarations: [ProgressBarComponent],\n providers: [],\n})\nexport class ProgressBarModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { TooltipComponent } from './tooltip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [TooltipComponent],\n declarations: [TooltipComponent],\n providers: [],\n})\nexport class TooltipModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { ProgressBarModule } from '../../progress-bar/progress-bar.module';\nimport { TooltipModule } from '../../tooltip/tooltip.module';\nimport { InputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SharedDirectives,\n TooltipModule,\n ProgressBarModule\n ],\n exports: [InputComponent],\n declarations: [InputComponent],\n providers: [],\n})\nexport class InputModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { InputModule } from '../input/input.module';\n\nimport { InputSearchComponent } from './input-search.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n InputModule,\n SharedDirectives\n ],\n exports: [InputSearchComponent],\n declarations: [InputSearchComponent],\n providers: [],\n})\nexport class InputSearchModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { LoaderComponent } from './loader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [LoaderComponent],\n declarations: [LoaderComponent],\n providers: [],\n})\nexport class LoaderModule { }\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[tableColumn]'\n})\nexport class TableColumn {\n @Input('columnSize') columnSize: string; // Optional.\n @Input('centerCell') centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__body__line__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { EventEmitter, Inject, Output } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { NwbFilter, NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { FiltersTableService } from '../shared/filters-table.service';\nimport { TableFilters } from '../shared/table-filters.model';\n\n@Directive({\n // The selector has the same name as the headerCell selector in table.component.html\n selector: '[headerCell]'\n})\nexport class TableColumnHeader {\n @Input('headerName') // Optional.\n set headerName(value: string) {\n this._headerName = value;\n this.setHeaderName();\n }\n _headerName: string = '';\n get headerName(): string {\n return this._headerName;\n }\n @Input('columnSize') columnSize: string; // Optional.\n @Input('filterRouting') filterRouting: boolean = false; // Optional. Set to true to use Filter Routing.\n @Input('tableName') tableName: string; // Optional, but mandatory to handle sorting\n @Input('sortName') sortName: string; // Optional, but mandatory to handle sorting\n @Input('centerCell') centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n @Output() onSortChange: EventEmitter<boolean> = new EventEmitter(); // Emit the sort value (true, false, undefuned) of the current sort icon when clicking\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n private contentHeader: HTMLAnchorElement;\n private filterGroup: NwbFilterGroup;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private currentCell: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private filtersTableService: FiltersTableService\n ) {}\n\n ngOnInit() {\n if (this.tableName && this.sortName) {\n if (this.filterRouting) {\n this.handleSortRouting();\n } else {\n this.handleSortBasic();\n }\n }\n }\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n this.renderHeaderColumn();\n }\n\n handleSortRouting() {\n this.filterGroup = this.filtersTableService.getTableFilterGroup(this.tableName);\n\n const filterGroupChangeSub = this.filterGroup.valuesChange$.subscribe((filters:NwbFilter[]) => {\n if (!filters || !filters.length) {\n return;\n }\n const filterSort = filters.filter(filter => filter.key === 'sort')[0];\n if (this.sortName !== filterSort.value) {\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(filterGroupChangeSub);\n }\n\n handleSortBasic() {\n const sortChangeSub = this.filtersTableService.getSortChangeListner().subscribe(sort => {\n if (this.tableName === sort.dataTableName && this.sortName !== sort.sortName) {\n // Reset the current sort icon\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(sortChangeSub);\n }\n\n resetSortIcon() {\n // Replace current icon with default icon\n this.contentHeader.className = this.contentHeader.className.replace(this.getCurrentSortIcon(), 'idle');\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__head__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__head__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n\n renderHeaderColumn() {\n this.createHeaderContent();\n this.renderer.appendChild(this.currentCell.nativeElement, this.contentHeader);\n }\n\n createHeaderContent() {\n this.contentHeader = document.createElement('a');\n this.contentHeader.className = 'wac-table__head__cell__search';\n this.setHeaderName();\n if (this.tableName && this.sortName) {\n this.handleSort();\n }\n }\n\n private setHeaderName() {\n if (!this.contentHeader) {\n return;\n }\n this.contentHeader.innerHTML = this.headerName;\n }\n\n handleSort() {\n // Set icon in the header column cell\n this.contentHeader.className += ' wac-table__head__cell__search--' + this.getInitialSortIcon();\n\n // On click on the content header, change the icon and emit event\n this.renderer.listen(this.contentHeader, 'click', () => {\n const currentIcon = this.getCurrentSortIcon();\n let newIcon: string;\n let newSort: string, newOrder: boolean;\n\n switch (currentIcon) {\n case 'idle':\n newIcon = 'up';\n newSort = this.sortName;\n newOrder = true;\n break;\n\n case 'up':\n newIcon = 'down';\n newSort = this.sortName;\n newOrder = false;\n break;\n\n case 'down':\n newIcon = 'idle';\n break;\n\n default:\n newIcon = 'idle';\n break;\n }\n // Replace the icon\n this.contentHeader.className = this.contentHeader.className.replace(currentIcon, newIcon);\n\n this.emitEvents(newSort, newOrder);\n });\n }\n\n getInitialSortIcon() {\n if (!this.filterRouting) {\n return 'idle';\n }\n // Get Initial Sort Icon for Routing Filter\n let initialSortIcon = 'idle';\n if (this.filterGroup.get('sort') === this.sortName) {\n initialSortIcon = this.filterGroup.get('order') == 'true' ? 'up' : 'down';\n }\n return initialSortIcon;\n }\n\n getCurrentSortIcon() {\n const regexp = /wac-table__head__cell__search--(?<icon>\\w+)/;\n const { groups } = regexp.exec(this.contentHeader.className);\n return groups.icon;\n }\n\n emitEvents(newSort, newOrder) {\n if (this.filterRouting) {\n // Will send the filter routing value has changes event\n this.filterGroup.setValues({\n sort: newSort,\n order: newOrder,\n currentPage: 1\n });\n } else {\n // Send the event sort change\n this.filtersTableService.emitSortChange(this.tableName, this.sortName, newOrder);\n }\n if (this.tableFilters) {\n this.tableFilters.sort = this.sortName;\n this.tableFilters.order = newOrder;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n }\n this.onSortChange.emit(newOrder);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => {\n subscription.unsubscribe();\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { InputSearchModule } from '../inputs/input-search/input-search.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { TableColumn } from './directives/column.directive';\nimport { TableColumnHeader } from './directives/columnHeader.directive';\nimport { TableRow } from './directives/raw.directive';\n\nimport { TableComponent } from './table.component';\n\nconst directives = [TableColumn, CheckBoxRow, TableColumnHeader, TableRow,]\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n InputSearchModule,\n LoaderModule,\n CheckboxModule,\n PaginationModule\n ],\n exports: [TableComponent, ...directives],\n declarations: [TableComponent, ...directives],\n providers: [],\n})\nexport class TableModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-upload',\n templateUrl: './upload.component.html'\n})\nexport class UploadComponent implements OnInit {\n @Input()\n label: string = 'Choisir les images à importer';\n @Input()\n type: string = 'button';\n @Input()\n icon: string | boolean = 'far fa-images';\n @Input()\n image: string | boolean = 'assets/angular-components/images/upload/icon_picture.svg';\n @Input()\n labelImage: string = 'Glisser-déposer votre image ici';\n\n @Output()\n open = new EventEmitter<any>();\n constructor() {}\n\n ngOnInit(): void {}\n\n triggerEvent(event) {\n this.open.emit(event);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-h4',\n templateUrl: './h4.component.html'\n})\nexport class H4Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { CalllToAction } from '../call-to-action.model';\nimport { SelectItem } from '../select-items.dto';\n\n@Component({\n selector: 'wac-select-in-text',\n templateUrl: './select-in-text.component.html'\n})\nexport class SelectInTextComponent implements OnInit {\n @Input()\n set items(items: SelectItem[]) {\n this._items = items;\n this.setInitialValues();\n }\n get items(): SelectItem[] {\n return this._items;\n }\n private _items: SelectItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n label: string;\n\n @Input()\n maxWidthItems: string;\n\n @Input()\n type = 'default';\n\n @Input()\n callToAction: CalllToAction;\n\n @Input()\n preText: string;\n\n @Input()\n postText: string;\n\n @Input()\n alwaysOpen: boolean = false;\n\n openCategories = false;\n\n currentLabel: string = '';\n currentLabelIcon: string = '';\n\n @Input() maxWidth = '100%';\n\n @Output() selectValue = new EventEmitter<number>();\n\n @Output() clickOnCallToAction = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit(): void {\n this.currentLabel = this.placeholder;\n this.setInitialValues();\n }\n\n setInitialValues() {\n if (!this.items.length) {\n return;\n }\n\n const itemSelected: SelectItem = this.getItemSelected();\n this.setCurrentItem(itemSelected);\n }\n\n onClose() {\n this.openCategories = false;\n }\n\n customTB(item: SelectItem, index: number) {\n return `${item.id}-${index}`;\n }\n\n onSelectItem(index: number) {\n this.unselectAll();\n const itemSelected: SelectItem = this.items[index];\n this.setCurrentItem(itemSelected);\n this.selectValue.emit(index);\n }\n\n onClickCallToAction() {\n this.clickOnCallToAction.emit(this.callToAction.value);\n }\n\n private getItemSelected():SelectItem {\n let itemSelected: SelectItem = null;\n this.items.forEach(item => {\n if (!item.selected) {\n return;\n }\n itemSelected = item;\n });\n return itemSelected;\n }\n\n private setCurrentItem(itemSelected: SelectItem) {\n if (!itemSelected) {\n return;\n }\n itemSelected.selected = true;\n this.currentLabel = itemSelected.name;\n this.currentLabelIcon = itemSelected.icon;\n }\n\n private unselectAll() {\n this.items.forEach(item => item.selected = false);\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport { CalllToAction } from '../call-to-action.model';\nimport { SelectItem } from '../select-items.dto';\nimport {TranslateService} from '@ngx-translate/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-select',\n templateUrl: './select.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }]\n})\nexport class SelectComponent implements OnInit, ControlValueAccessor {\n //! Refacto improve sroll on mobile, see with Pauline\n // todo could be simplify. Check filters manager implementation for use case\n\n _items: SelectItem[];\n @Input() set items(items: SelectItem[]) {\n this._items = items;\n this.setIndexItemSelected();\n }\n\n get items() : SelectItem[] {\n return this._items;\n }\n\n @Input()\n placeholder: string;\n\n @Input()\n label: string;\n\n @Input()\n maxWidthItems: string; // todo improvre type like : export type CssUnits = 'em'| 'rem' | 'px'; export type CssUnit = `${number}${CssUnits}`;\n\n @Input()\n search = false;\n\n @Input()\n searchValue: string = '';\n\n @Input() openUp = false;\n\n @Output() searchValueChange = new EventEmitter<string>();\n\n @Input()\n type = 'default';\n\n _calllToAction: CalllToAction; // todo maybe replace by ng-content or allow template or child component like <wac-call-to-action>...\n @Input() set callToAction(callToAction: CalllToAction) {\n this._calllToAction = callToAction;\n }\n\n get callToAction(): CalllToAction {\n return this._calllToAction;\n }\n\n @Input() maxWidth = '100%';\n\n @Input()\n disabled = false;\n\n @Output() selectValue = new EventEmitter<number>(); // todo rename more explicit\n\n @Output() clickOnCallToAction = new EventEmitter<any>();\n\n @ViewChild('search') searchElement: ElementRef;\n\n openCategories = false;\n\n indexItemSelected: number = -1;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n }\n\n onClose() {\n this.openCategories = false;\n }\n\n customTB(item: SelectItem, index: number) {\n return `${item.id}-${index}`;\n }\n\n onSelectItem(id: number) {\n this.unselectAll();\n this.setIndexItemSelectedById(id);\n const itemSelected: SelectItem = this.getItemSelected();\n itemSelected.selected = true;\n this.selectValue.emit(this.indexItemSelected);\n this.onChange(itemSelected);\n }\n\n onClickCallToAction() {\n this.onClose();\n this.clickOnCallToAction.emit(this.callToAction.value);\n }\n\n onSearcheValueChange() {\n this.searchValueChange.emit(this.searchValue);\n }\n\n private getItemSelected(): SelectItem {\n return this.items[this.indexItemSelected];\n }\n\n showCategories() {\n this.openCategories = true;\n setTimeout(() => { // this will make the execution after the above boolean has changed\n this.searchElement.nativeElement?.focus();\n }, 0);\n }\n\n private unselectAll() {\n this.items.forEach(item => item.selected = false);\n }\n\n private setIndexItemSelectedById(id: number) {\n this.indexItemSelected = this.items.findIndex(item => item.id === id);\n }\n\n private setIndexItemSelected() {\n this.indexItemSelected = this.items.findIndex(item => item.selected);\n }\n\n // ControlValueAccessor methods\n\n onChange: (selectItem: SelectItem) => void = () => {};\n onTouch: any = () => {}\n\n writeValue(selectItem: any){\n if (!selectItem) {\n return;\n }\n this.unselectAll();\n selectItem.selected = true;\n this.setIndexItemSelectedById(selectItem.id);\n }\n\n registerOnChange(fn: any){\n this.onChange = fn;\n }\n registerOnTouched(fn: any){\n this.onTouch = fn;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-multiple-search',\n templateUrl: './multiple-search.component.html'\n})\nexport class MultipleSearchComponent implements OnInit {\n @Input() options = {};\n @Input() alwaysOpen = false;\n label = '';\n placeholder = '';\n icon = '';\n query = '';\n search: any = '';\n openSelect = false;\n error = 'wac.simpleSearchComponent.error';\n showError = false;\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n this.setPlaceholder();\n this.setLabel();\n this.setQuery();\n this.setIcon();\n }\n\n setSearchValueToQuery(value) {\n if (value.code !== 'Enter') {\n this.search = encodeURI(value.target.value);\n } else {\n this.submitForm();\n }\n }\n\n submitForm() {\n if (this.search) {\n if (this.search.length > 0) {\n window.location.href = this.query.replace('{s}', this.search);\n } else {\n this.displayError();\n }\n } else {\n this.displayError();\n }\n }\n\n setPlaceholder(value?) {\n if (value) {\n this.placeholder = this.options[value].placeholder;\n } else {\n this.placeholder = this.options[0].placeholder;\n }\n }\n\n setLabel(value?) {\n if (value) {\n this.label = this.options[value].label;\n } else {\n this.label = this.options[0].label;\n }\n }\n\n setQuery(value?) {\n if (value) {\n this.query = this.options[value].queries;\n } else {\n this.query = this.options[0].queries;\n }\n }\n\n displayError() {\n this.showError = true;\n setTimeout(() => {\n this.hideError();\n }, 2000);\n }\n\n hideError() {\n this.showError = false;\n }\n\n setIcon(value?) {\n if (value) {\n this.icon = this.options[value].icon;\n } else {\n this.icon = this.options[0].icon;\n }\n }\n\n openFuncSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n resetAllVue(value) {\n this.setPlaceholder(value);\n this.setLabel(value);\n this.setQuery(value);\n this.setIcon(value);\n this.search = '';\n this.closeSelect();\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MultipleSearchPlusOption } from './shared/multiple-search-plus-option.model';\nimport { MultipleSearchPlusResults } from './shared/multiple-search-plus-results.model';\n\n@Component({\n selector: 'wac-multiple-search-plus',\n templateUrl: './multiple-search-plus.component.html'\n})\nexport class MultipleSearchPlusComponent implements OnInit {\n\n currentOption:number;\n label = '';\n placeholder = '';\n openSelect = false;\n openSearchResults = false;\n\n isLoading = true;\n\n @Input() options:MultipleSearchPlusOption[];\n @Input() searchResults:MultipleSearchPlusResults[];\n\n @Output() searchValue = new EventEmitter();\n @Output() optionsChange = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.setCurrentOption();\n this.setPlaceholder();\n this.setLabel();\n }\n\n setSearchValue(value:any) {\n if(value.target.value != ''){\n this.openSearchResults = true;\n } else {\n this.openSearchResults = false;\n }\n this.searchValue.emit({ currentOption: this.options[this.currentOption].code, value: value.target.value });\n }\n\n setCurrentOption(value?:number) {\n this.currentOption = value || 0;\n }\n\n setPlaceholder(value?:number) {\n this.placeholder = value ? this.options[value].placeholder : this.options[0].placeholder;\n }\n\n setLabel(value?:number) {\n this.label = value ? this.options[value].label : this.options[0].label;\n }\n\n onToggleSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n closeSearchResults() {\n this.openSearchResults = false;\n }\n\n resetAllVue(value:number) {\n this.searchResults = undefined;\n this.setCurrentOption(value);\n this.setPlaceholder(value);\n this.setLabel(value);\n this.openSearchResults = false;\n this.closeSelect();\n }\n\n addResult(index:number) {\n let alreadyExist = false;\n this.options[this.currentOption].table.forEach(elem => {\n if(elem.id == this.searchResults[index].id){\n alreadyExist = true;\n }\n });\n if(!alreadyExist) {\n this.options[this.currentOption].table.push(this.searchResults[index]);\n }\n this.resetAllVue(this.currentOption);\n this.optionsChange.emit({ currentOption: this.options[this.currentOption].code, action: 'add'});\n }\n\n deleteResult(indexItem:number, index:number) {\n this.options[index].table.splice(indexItem,1);\n this.optionsChange.emit({ currentOption: this.options[index].code, action: 'delete'});\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { OptionItem } from './option-item.dto';\n\n@Component({\n selector: 'wac-input-with-select',\n templateUrl: './input-with-select.component.html'\n})\nexport class InputWithSelectComponent implements OnInit {\n // todo add ngmodel for input\n @Input()\n label: string;\n\n @Input()\n text: string;\n\n @Input()\n options: OptionItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n id: string;\n\n currentLabel: string;\n showSelect = false;\n\n @Output() inputValueChange = new EventEmitter<string>();\n @Output() selectValueChange = new EventEmitter<number>();\n\n constructor() {}\n\n ngOnInit() {\n this.options.forEach((item) => {\n if (item.active) {\n this.currentLabel = item.label;\n }\n });\n }\n\n onClickItem(index: number) {\n this.unActiveAll();\n const optionSelected: OptionItem = this.options[index];\n optionSelected.active = true;\n this.currentLabel = optionSelected.label;\n this.showSelect = false;\n this.selectValueChange.emit(index);\n }\n\n onToggleSelect() {\n this.showSelect = !this.showSelect;\n }\n\n onCloseSelect() {\n this.showSelect = false;\n }\n\n onChangeInputValue(e: any) {\n this.inputValueChange.emit(e.target.value);\n }\n\n private unActiveAll() {\n this.options.forEach((item) => {\n item.active = false;\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomService } from '../../services/dom.service';\n\n@Component({\n selector: 'wac-popin',\n templateUrl: './popin.component.html'\n})\nexport class PopinComponent implements OnInit {\n @Input()\n title: string;\n\n @Input()\n content: string;\n\n @Input()\n imgSrc: string;\n\n @Input()\n okButtonLabel: string;\n\n @Input()\n koButtonLabel: string;\n\n @Input()\n okButtonClass: string;\n\n @Input()\n koButtonClass: string;\n\n @Input()\n visible = false;\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n response = new EventEmitter();\n\n @Input()\n background = true;\n\n @Input()\n closeOnBackgroundClick: boolean = true;\n\n firstOpen = true;\n\n constructor(private domService: DomService) { }\n\n ngOnInit() {\n this.domService.setDocumentEventListener();\n }\n\n validatePopin() {\n this.response.emit(true);\n this.closePopin();\n }\n\n refusePopin(){\n this.response.emit(false);\n this.closePopin();\n }\n\n closePopin(clickOnBackground: boolean = false) {\n if (!this.closeOnBackgroundClick && clickOnBackground) {\n return;\n }\n if(!this.firstOpen){ //trick for auto-hide directive that close immediatly the pop-in\n this.visible = false;\n this.visibleChange.emit(this.visible);\n this.firstOpen = true;\n } else {\n this.firstOpen = false;\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomService } from '../../services/dom.service';\n\n@Component({\n selector: 'wac-free-popin',\n templateUrl: './free-popin.component.html'\n})\nexport class FreePopinComponent implements OnInit {\n @Input()\n okButtonLabel: string;\n\n @Input()\n koButtonLabel: string;\n\n @Input()\n visible = false;\n\n @Input()\n disableCloseOutside = false;\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n response = new EventEmitter();\n\n @Input()\n background = true;\n\n @Input()\n zIndex: number = 9999;\n\n firstOpen = true;\n\n constructor(private domService: DomService) { }\n\n ngOnInit() {\n this.domService.setDocumentEventListener();\n }\n\n validatePopin() {\n this.response.emit(true);\n this.closePopin();\n }\n\n refusePopin(){\n this.response.emit(false);\n this.closePopin();\n }\n\n closePopin() {\n if (!this.firstOpen || this.disableCloseOutside) {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n this.firstOpen = true;\n } else {\n this.firstOpen = false;\n }\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'wac-block',\n templateUrl: './block.component.html'\n})\nexport class BlockComponent {\n @Input()\n titleBlock = ''; // Titre interne au block\n\n @Input()\n titleExternalBlock = false; // Titre externe au block\n\n @Input()\n sticky = false; // add sticky to block\n\n @Input()\n simple = false;\n\n @Input()\n noFullHeight = false; // not full height\n\n @Input()\n icon = '';\n\n @Input()\n titleUppercase = true;\n\n @Input()\n borderRadius = false;\n\n @Input()\n removePadding = false;\n\n @Input()\n stretchHeight = false;\n\n constructor() {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper',\n templateUrl: './wrapper.component.html'\n})\nexport class WrapperComponent implements OnInit {\n @Input()\n size = 'fullsize';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FilterItem } from './filter-item.dto';\n\n@Component({\n selector: 'wac-filters',\n templateUrl: './filters.component.html'\n})\nexport class FiltersComponent implements OnInit {\n\n @Input()\n options: FilterItem[];\n\n @Input()\n labelRestart: string = 'Afficher toutes les catégories';\n\n @Output()\n filterChange = new EventEmitter<number>();\n\n filterActiveIndex?: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.options.forEach((item, index) => {\n\n if (item.active) {\n this.filterActiveIndex = '' + index;\n }\n });\n\n }\n\n activeFilter(index: number) {\n this.options[index].active = true;\n this.filterActiveIndex = '' + index;\n this.filterChange.emit(index);\n }\n\n resetFilter() {\n this.options.forEach((item) => {\n item.active = false;\n });\n this.filterActiveIndex = null;\n this.filterChange.emit(-1);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-blocs',\n templateUrl: './wrapper-blocs.component.html'\n})\nexport class WrapperBlocsComponent implements OnInit {\n @Input()\n sidebar = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Input, OnInit, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n selector: 'wac-snackbar',\n templateUrl: './snackbar.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('state', [\n state(\n 'void',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'inactive',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'active',\n style({\n bottom: '0px'\n })\n ),\n transition('void => active', animate(300)),\n transition('active => inactive', animate(300))\n ])\n ]\n})\nexport class SnackbarComponent implements OnInit {\n\n @Input() message: string;\n @Input() textButtonOk?: string;\n @Input() textButtonKo?: string;\n @Input() duration?: number;\n @Input() color?: string;\n @Input() buttonColor?: string;\n\n @Input() visible = false;\n @Output() visibleChange = new EventEmitter();\n\n @Output() response = new EventEmitter();\n\n private manualClose = false;\n\n private timer: any;\n\n ngOnInit() {\n if (this.duration > 0) {\n this.timer = setTimeout(() => this.manualClose = true, this.duration);\n }\n }\n\n validate(){\n this.response.emit(true);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n refuse(){\n this.response.emit(false);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n closeSnackbar(){\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n}\n","import { Observable, Subject } from 'rxjs';\nimport { AlertPopupConfig } from './alert-popup.service';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-alert-popup',\n templateUrl: './alert-popup.component.html',\n host: {\n class: 'wac-alert-popup'\n },\n encapsulation: ViewEncapsulation.None\n})\nexport class AlertPopupComponent implements OnInit {\n config: AlertPopupConfig;\n\n /** Subject for notifying the user that the dialog has finished closing. */\n private afterClosedPopup: Subject<any> = new Subject();\n\n open = false;\n\n private timer: any;\n\n ngOnInit() {\n setTimeout(() => {\n this.open = true;\n }, 50);\n\n if (this.config.duration > 0) {\n this.timer = setTimeout(() => this.dismiss(), this.config.duration);\n }\n }\n\n dismiss() {\n this.open = false;\n\n setTimeout(() => {\n this.afterClosedPopup.next(true);\n this.afterClosedPopup.complete();\n }, 200);\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished closing.\n */\n afterClosed(): Observable<any> {\n return this.afterClosedPopup.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AlertPopupComponent } from './alert-popup.component';\nimport {DomService} from '../../services/dom.service';\n\n@Injectable()\nexport class AlertPopupService {\n constructor(private domService: DomService) {}\n\n open(config: AlertPopupConfig): AlertPopupComponent {\n const componentRef = this.getComponentRef(config);\n\n return componentRef.instance;\n }\n\n private getComponentRef(config: AlertPopupConfig) {\n const componentRef = this.domService.attachComponentPortal(AlertPopupComponent);\n\n config = Object.assign(\n {\n position: 'is-top'\n },\n config\n );\n\n componentRef.instance.config = config;\n\n componentRef.instance.afterClosed().subscribe(() => {\n componentRef.destroy();\n });\n\n return componentRef;\n }\n}\n\nexport interface AlertPopupConfig {\n message: string;\n title?: string;\n icon?: string;\n color?: string;\n position?: string;\n duration?: number;\n extraClasses?: string;\n fullsize?: boolean;\n opacity?: boolean;\n small?: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AlertPopupService } from './alert-popup.service';\nimport { AlertPopupComponent } from './alert-popup.component';\n\n@NgModule({\n imports: [CommonModule],\n providers: [AlertPopupService],\n entryComponents: [AlertPopupComponent],\n declarations: [AlertPopupComponent],\n exports: [AlertPopupComponent]\n})\nexport class AlertPopupModule {}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SearchOption} from './shared/search-option.model';\nimport {SelectItem} from '../selects/select-items.dto';\n\n@Component({\n selector: 'wac-search',\n templateUrl: './search.component.html'\n})\nexport class SearchComponent implements OnInit {\n\n @Input() placeholder: string;\n @Input() alwaysOpen = false;\n @Input() label: string;\n @Input() options: SearchOption[];\n @Input() disableSearchIn = false;\n @Input() emptyResult = '';\n search: any = '';\n openSelect = false;\n triggerOptions: SearchOption[];\n @Output() selectValue = new EventEmitter<number>();\n @Output() searchKeyUp = new EventEmitter<string>();\n @Output() searchFocusOut = new EventEmitter<string>();\n constructor() {}\n\n ngOnInit() {\n this.triggerOptions = this.options;\n }\n\n onClose() {\n this.openSelect = false;\n }\n\n setSearchValueToQuery(value) {\n this.search = value.target.value;\n if (this.disableSearchIn) {\n this.triggerOptions = this.options;\n } else {\n if (this.search.length > 0) {\n this.openSelect = true;\n this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);\n } else {\n this.triggerOptions = this.options;\n }\n }\n this.searchKeyUp.emit(this.search);\n }\n\n sendEventFocusOut() {\n this.searchFocusOut.emit(this.search);\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n onSelectItem(index: number, value: number, label: string) {\n this.search = '';\n this.openSelect = false;\n if (this.disableSearchIn) {\n this.selectValue.emit(index);\n } else {\n const findInOption = this.options.findIndex(element => element.label === label && element.id === value);\n this.selectValue.emit(findInOption);\n }\n }\n\n resetAllVue() {\n this.search = '';\n this.closeSelect();\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SelectedListOption} from './shared/selected-list-option.model';\n\n@Component({\n selector: 'wac-selected-list',\n templateUrl: './selected-list.component.html',\n})\nexport class SelectedListComponent implements OnInit {\n\n @Input() options: SelectedListOption[] = [];\n @Input() label: string;\n @Input() textSelectAll: string;\n @Input() textUnSelectAll: string;\n @Input() enableSelectAll = true;\n @Output() selectedItemsIndex = new EventEmitter<number>();\n @Output() selectedItemsAll = new EventEmitter<number[]>();\n @Output() unSelectedItemsAll = new EventEmitter<number[]>();\n\n selectedOptionIndex = [];\n\n ngOnInit() {\n }\n\n onSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = true;\n return index;\n });\n this.selectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onUnSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = false;\n return index;\n });\n this.unSelectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onSelectItem(index: number) {\n this.options[index].checked = !this.options[index].checked;\n this.selectedItemsIndex.emit(index);\n }\n\n areAllOptionsChecked() {\n return !this.options.some(option => !option.checked);\n }\n\n}\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'wac-tree',\n templateUrl: 'tree.component.html'\n})\n\nexport class TreeComponent implements OnInit {\n\n // https://indepth.dev/posts/1405/ngtemplateoutlet\n\n\n /**\n *! items sould include RecursifDto interface\n */\n @Input() items: any[];\n @Input() treeDepth:number = 0;\n @Input(\"optionTemplate\")\n optionTemplate: TemplateRef<any>;\n\n constructor() { }\n\n ngOnInit() { }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToRecursifTree'\n})\n\nexport class FormatObjectToRecursifTreePipe implements PipeTransform {\n\n childrenProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[]): any {\n this.childrenProperties = childrenProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToRecursifTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToRecursifTree(object: any, treeDepth:number): any {\n for (const childrenProperty of this.childrenProperties) {\n\n object.hasTreeChildren = true;\n\n if (!object.hasOwnProperty(childrenProperty)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[childrenProperty])) {\n throw `Property : \"${childrenProperty}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[childrenProperty];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToRecursifTree(object.treeChildren, treeDepth++);\n break;\n }\n\n object.treeDepth = treeDepth;\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToSimpleTree'\n})\n\nexport class FormatObjectToSimpleTreePipe implements PipeTransform {\n\n private childrenProperties: string[] = [];\n private labelProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[], labelProperties: string[]): any {\n\n this.childrenProperties = childrenProperties;\n this.labelProperties = labelProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToSimpleTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToSimpleTree(object: any, treeDepth:number): any {\n for (const property in object) {\n\n if (!Object.prototype.hasOwnProperty.call(object, property)) {\n continue;\n }\n\n if (this.labelProperties.includes(property)) {\n object.treeLabel = object[property];\n continue;\n }\n\n object.hasTreeChildren = true;\n\n if (!this.childrenProperties.includes(property)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[property])) {\n throw `Property : \"${property}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[property];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToSimpleTree(object.treeChildren, treeDepth++);\n break;\n }\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectItem } from '../../components/selects/select-items.dto';\n\n@Pipe({\n name: 'selectFilters'\n})\n\nexport class SelectFiltersPipe implements PipeTransform {\n transform(items: SelectItem[], filterName: string): any {\n return items.filter(item => {\n const regexp = new RegExp(filterName, 'i');\n return regexp.test(item.name);\n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectedListOption } from '../../components/selected-list/shared/selected-list-option.model';\n\n@Pipe({\n name: 'areAllOptionsSelected',\n pure: false\n})\n\nexport class AreAllOptionsSelectedPipe implements PipeTransform {\n transform(options: SelectedListOption[]): boolean {\n return !options.some(option => !option.checked);\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FormatObjectToRecursifTreePipe } from './tree/format-object-to-recursif-tree.pipe';\nimport { FormatObjectToSimpleTreePipe } from './tree/format-object-to-simple-tree.pipe';\nimport { SelectFiltersPipe } from './select/select-filters.pipe';\nimport { AreAllOptionsSelectedPipe } from './selected-list/are-all-options-selected.pipe';\n\nconst exportedPipes = [FormatObjectToRecursifTreePipe, FormatObjectToSimpleTreePipe];\n\nconst pipes = [\n SelectFiltersPipe,\n AreAllOptionsSelectedPipe\n]\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [...exportedPipes, ...pipes],\n exports: [...exportedPipes, ...pipes]\n})\nexport class SharedPipes {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedPipes } from '../../pipes/shared-pipes.module';\nimport { TreeComponent } from './tree.component';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SharedPipes\n ],\n exports: [TreeComponent],\n declarations: [TreeComponent],\n providers: [],\n})\nexport class TreeModule { }\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-sidebar',\n templateUrl: './wrapper-sidebar.component.html'\n})\nexport class WrapperSidebarComponent implements OnInit {\n\n @Input() reverse = false;\n @Input() hideBackground = false;\n @Input() backgroundGrey: string;\n @Input() backgroundWidth: string;\n @Input() stickySidebar = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {BreadcrumbsDto} from './breadcrumbs.dto';\n\n@Component({\n selector: 'wac-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n})\nexport class BreadcrumbsComponent implements OnInit {\n\n @Input()\n breadcrumbs: BreadcrumbsDto[];\n\n @Input()\n noResponsive = false;\n\n index: number = 0;\n\n @Output()\n indexChange = new EventEmitter<any>();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n valueChanged(i) {\n this.index = i;\n this.indexChange.emit(this.index);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-card-price',\n templateUrl: './card-price.component.html',\n})\nexport class CardPriceComponent implements OnInit {\n\n @Input()\n amount: string;\n\n @Input()\n title: string;\n\n @Input()\n selected = false;\n\n @Input()\n btnLabelSelected: string;\n\n @Input()\n price: string | number;\n\n @Input()\n currency: string;\n\n @Input()\n priceWording: string;\n\n @Input()\n subtitle: string;\n\n @Input()\n btnLabel: string;\n\n @Input()\n packageSubtitle: string;\n\n @Input()\n linkPackageLabel: string;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n btnTextcolor = '#ffffff';\n\n @Input()\n extraClasses = 'is-success';\n\n @Input()\n extraClassesSelected = 'is-success is-outlined';\n\n @Input()\n hideButton = false;\n\n @Output() public confirm: EventEmitter<any> = new EventEmitter();\n\n @Output() public cancel: EventEmitter<any> = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n triggerClick() {\n this.confirm.emit(true);\n }\n\n removePackageTrigger() {\n this.cancel.emit(true);\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-token-check',\n templateUrl: './token-check.component.html',\n})\nexport class TokenCheckComponent implements OnInit {\n\n @Input()\n label: string;\n\n @Input()\n value: number;\n\n @Input()\n max: number;\n\n warning = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-block-with-checkbox',\n templateUrl: './block-with-checkbox.component.html',\n})\nexport class BlockWithCheckboxComponent implements OnInit {\n\n @Input()\n selected = false;\n\n @Input()\n disabled = false;\n\n @Output()\n checkboxAction = new EventEmitter<boolean>();\n\n randomLabelName: string;\n\n @Input()\n nameRadio = 'wacBlockCheckboxRadio';\n\n @Input()\n isFirst = false;\n\n @Input()\n opacity = '.45';\n\n constructor() { }\n\n ngOnInit(): void {\n this.randomLabelName = 'radioBlock' + Math.random() * (900 - 700) + 700;\n }\n\n eventSelected(event) {\n if (!this.disabled) {\n this.selected = event.target.checked;\n this.checkboxAction.emit(this.selected);\n this.isFirst = false;\n }\n }\n\n removeFirstClass() {\n if (typeof document.querySelectorAll('.firstWacRadioBLock')[0] !== typeof undefined) {\n document.querySelectorAll('.firstWacRadioBLock')[0].classList.remove('firstWacRadioBLock');\n }\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'wac-confirm-delete',\n templateUrl: './confirm-delete.component.html'\n})\nexport class ConfirmDeleteComponent implements OnInit, AfterViewInit {\n\n @Input()\n open = false;\n\n @Input()\n label: string;\n\n @Input()\n labelCancel: string;\n\n @Input()\n labelConfirm: string;\n\n @Output()\n confirm = new EventEmitter<boolean>();\n\n @Input()\n backgroundColor = '#fff';\n\n @Input()\n borderRadius = '0px';\n\n hideText = false;\n\n @ViewChild('container') container: ElementRef;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n eventCancel(event) {\n this.confirm.emit(false);\n this.open = false;\n }\n\n eventConfirm(event) {\n this.confirm.emit(true);\n this.open = false;\n }\n\n responsiveControl(size) {\n if (size < 342) {\n this.hideText = true;\n } else {\n this.hideText = false;\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.responsiveControl(this.container.nativeElement.offsetWidth);\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.responsiveControl(this.container.nativeElement.offsetWidth);\n }, 100);\n }\n\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output, SimpleChanges, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nexport type ImageSource = string;\nexport type ImageAlt = string;\n\nexport type MosaicImage = {\n src: ImageSource,\n alt: ImageAlt\n}\n\nexport type MosaicImages = Readonly<MosaicImage[]>;\n\n@Component({\n selector: 'wac-mosaic',\n templateUrl: './mosaic.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MosaicComponent {\n\n @Input() imagesList: MosaicImages = [];\n\n @Input() isLoading = false;\n\n @Input() numberOfColumn = 3;\n\n @Input() hoverImageTemplate: TemplateRef<any>;\n\n @Output() importImageSrc = new EventEmitter<ImageSource>();\n\n @Output() loadMoreImages = new EventEmitter<void>();\n\n columns: MosaicImages[];\n\n trackColumn(index: number ) {\n return index;\n }\n\n trackImage(index: number, image: MosaicImage ) {\n return image.src;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n console.log('changes', changes);\n const isNumberOfColumnChange = changes.numberOfColumn && (changes.numberOfColumn.currentValue !== changes.numberOfColumn.previousValue);\n if (changes.imagesList) {\n this.generateColumns(changes.imagesList.previousValue, changes.imagesList.currentValue, isNumberOfColumnChange);\n return;\n }\n\n if (isNumberOfColumnChange) {\n this.generateColumns(null, this.imagesList, isNumberOfColumnChange);\n }\n }\n\n generateColumns(previousList: MosaicImages, currentList: MosaicImages, isNumberOfColumnChange: boolean) {\n const isNewListSmaller = (currentList && previousList) && (currentList.length < previousList.length);\n const resetColumns = isNumberOfColumnChange || isNewListSmaller;\n const isPreviousListExisting = previousList?.length;\n const newImagesToDisplay = !isPreviousListExisting || resetColumns ? currentList : currentList.slice(previousList.length);\n let columns = this.separateImagesIntoColumns(newImagesToDisplay);\n\n if (isPreviousListExisting && !resetColumns) {\n const existingColumns = this.columns;\n columns = this.concatColumns(existingColumns, columns);\n }\n\n this.columns = columns;\n }\n\n separateImagesIntoColumns(newImagesToDisplay: MosaicImages): MosaicImages[] { // https://stackoverflow.com/questions/8495687/split-array-into-chunks\n const columns = [];\n const numberOfImagePerColumn = Math.floor(newImagesToDisplay.length / this.numberOfColumn);\n for (let i = 0; i < newImagesToDisplay.length; i += numberOfImagePerColumn) {\n const chunk = newImagesToDisplay.slice(i, i + numberOfImagePerColumn);\n columns.push(chunk);\n }\n return columns;\n }\n\n concatColumns(oldColumns: MosaicImages[], newColumns: MosaicImages[]): MosaicImages[] {\n return oldColumns.map((oldColumn, columnIndex) => [...oldColumn, ...newColumns[columnIndex]]);\n }\n\n onBottomReached() {\n this.loadMoreImages.emit();\n }\n\n onImportImage(src: ImageSource) {\n this.importImageSrc.emit(src);\n }\n}\n","import {AfterContentInit, AfterViewInit, Component, ContentChild, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-content-with-buttons',\n templateUrl: './content-with-buttons.component.html',\n})\nexport class ContentWithButtonsComponent implements OnInit, AfterViewInit {\n\n @Input()\n iconCopy = 'fa-duotone fa-copy';\n\n @Input()\n iconTranslate = 'fa-regular fa-globe';\n\n @Input()\n tooltipCopy = '';\n\n @Input()\n tooltipTranslate = '';\n\n @Input()\n count = true;\n\n @Input()\n countCharacterLabel = 'caractères';\n\n @Input()\n countWordsLabel = 'mots';\n\n @Input()\n reportLabel: string;\n\n @Output()\n copyAction = new EventEmitter<boolean>();\n\n @Output()\n reportAction = new EventEmitter<boolean>();\n\n @Output()\n translateAction = new EventEmitter<boolean>();\n\n countWords: number;\n\n countIsReady = false;\n\n countCharacter: number;\n\n randomLabelName: string;\n\n\n ngOnInit() {\n this.randomLabelName = 'content-' + Math.random() * (900 - 700) + 700;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const content = document.getElementById(this.randomLabelName).innerHTML.replace(/(<([^>]+)>)/gi, '').replace(/[.,\\/#!$%\\^&\\*;:{}=\\-_`~()]/g, '');\n this.countCharacter = content.trim().split(' ').join('').length;\n this.countWords = content.trim().split(' ').length;\n this.countIsReady = true;\n });\n }\n\n eventCopy() {\n this.copyAction.emit(true);\n }\n\n eventTranslate() {\n this.translateAction.emit(true);\n }\n\n eventReport() {\n this.reportAction.emit(true);\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-multiple-block',\n templateUrl: './wrapper-multiple-block.component.html',\n})\nexport class WrapperMultipleBlockComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\n\n@Component({\n selector: 'wac-draganddrop-list',\n templateUrl: './draganddrop-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DraganddropListComponent implements OnInit {\n\n @Input()\n label = '';\n\n @Input()\n items: Array<string>;\n\n @Input()\n disabled = false;\n\n @Input()\n max: number;\n\n @Input()\n labelBtnAdd: string;\n\n @Input()\n backgroundColor = '#fff';\n\n showTriggerSave = false;\n\n @Output()\n itemsChange = new EventEmitter<Array<string>>();\n\n ngOnInit() {\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (!this.disabled) {\n moveItemInArray(this.items, event.previousIndex, event.currentIndex);\n this.itemsChange.emit(Object.values(this.items));\n }\n }\n\n delete(index) {\n if (!this.disabled) {\n this.items = this.items.filter((value, i) => i !== index );\n this.itemsChange.emit(Object.values(this.items));\n }\n }\n\n saveFieldEnd(index, event) {\n this.items[index] = event.target.value;\n this.itemsChange.emit(Object.values(this.items));\n }\n\n addField() {\n this.showTriggerSave = true;\n }\n\n saveNewField(event) {\n this.items.push(event.target.value);\n this.itemsChange.emit(Object.values(this.items));\n this.showTriggerSave = false;\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-charging-bar',\n templateUrl: './charging-bar.component.html'\n})\nexport class ChargingBarComponent implements OnInit {\n\n @Input()\n value = 0;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-expanded-panel',\n templateUrl: './expanded-panel.component.html',\n})\nexport class ExpandedPanelComponent implements OnInit {\n\n @Input()\n label: string;\n\n @Input()\n section = false;\n\n @Input()\n open = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { LoaderComponent } from './loader/loader.component';\nimport { InputSearchComponent } from './inputs/input-search/input-search.component';\nimport { SharedDirectives } from '../directives/shared-directives.module';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { TagInputModule } from 'ngx-chips';\nimport { TableComponent } from './table/table.component';\nimport { TagComponent } from './tag/tag.component';\nimport { TabComponent } from './tab/tab.component';\nimport { ButtonComponent } from './button/button.component';\nimport { InfoComponent } from './info/info.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { DeleteComponent } from './delete/delete.component';\nimport { DropdownComponent } from './dropdown/dropdown.component';\nimport { ImageComponent } from './image/image.component';\nimport { BackComponent } from './back/back.component';\nimport { SeparatorComponent } from './separator/separator.component';\nimport { LogoComponent } from './logo/logo.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { StateComponent } from './state/state.component';\nimport { LabelComponent } from './label/label.component';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport { WzEditInPlaceComponent } from './edit-in-place/edit-in-place.component';\nimport { TextAreaComponent } from './text-area/text-area.component';\nimport { H1Component } from './hn/h1/h1.component';\nimport { H2Component } from './hn/h2/h2.component';\nimport { H3Component } from './hn/h3/h3.component';\nimport { HeaderPageComponent } from './header-page/header-page.component';\nimport { InputComponent } from './inputs/input/input.component';\nimport { LinkComponent } from './link/link.component';\nimport { ProgressBarComponent } from './progress-bar/progress-bar.component';\nimport { SwitchComponent } from './switch/switch.component';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { AlertComponent } from './alert/alert.component';\nimport { TextComponent } from './text/text.component';\nimport { PaginationModule } from './pagination/pagination.module';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TableModule } from './table/table.module';\nimport { CheckBoxRow } from './table/directives/checkBoxRow.directive';\nimport { TableColumn } from './table/directives/column.directive';\nimport { TableColumnHeader } from './table/directives/columnHeader.directive';\nimport { TableRow } from './table/directives/raw.directive';\nimport { InputSearchModule } from './inputs/input-search/input-search.module';\nimport { TooltipModule } from './tooltip/tooltip.module';\nimport { LoaderModule } from './loader/loader.module';\nimport { CheckboxModule } from './checkbox/checkbox.module';\nimport { InputModule } from './inputs/input/input.module';\nimport { ProgressBarModule } from './progress-bar/progress-bar.module';\nimport { UploadComponent } from './upload/upload.component';\nimport { H4Component } from './hn/h4/h4.component';\nimport { SelectInTextComponent } from './selects/select-in-text/select-in-text.component';\nimport { SelectComponent } from './selects/select/select.component';\nimport { MultipleSearchComponent } from './multiple-search/multiple-search.component';\nimport { MultipleSearchPlusComponent } from './multiple-search-plus/multiple-search-plus.component';\nimport { InputWithSelectComponent } from './inputs/input-with-select/input-with-select.component';\nimport { PopinComponent } from './popin/popin.component';\nimport { FreePopinComponent } from './free-popin/free-popin.component';\nimport { BlockComponent } from './block/block.component';\nimport { WrapperComponent } from './wrapper/wrapper.component';\nimport { FiltersComponent } from './filters/filters.component';\nimport { WrapperBlocsComponent } from './wrapper-blocs/wrapper-blocs.component';\nimport { SnackbarComponent } from './snackbar/snackbar.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport {AlertPopupModule} from './alert-popup/alert-popup-module';\nimport {SearchComponent} from './search/search.component';\nimport {SelectedListComponent} from './selected-list/selected-list.component';\nimport { TreeComponent } from './tree/tree.component';\nimport { TreeModule } from './tree/tree.module';\nimport { SharedPipes } from '../pipes/shared-pipes.module';\nimport {WrapperSidebarComponent} from './wrapper-sidebar/wrapper-sidebar.component';\nimport {AutosizeModule} from 'ngx-autosize';\nimport {BreadcrumbsComponent} from './breadcrumbs/breadcrumbs.component';\nimport {CardPriceComponent} from './card-price/card-price.component';\nimport {TokenCheckComponent} from './token-check/token-check.component';\nimport {BlockWithCheckboxComponent} from './block-with-checkbox/block-with-checkbox.component';\nimport {ConfirmDeleteComponent} from './confirm-delete/confirm-delete.component';\nimport {MosaicComponent} from './mosaic/mosaic.component';\nimport {NgScrollbarModule} from 'ngx-scrollbar';\nimport {NgScrollbarReachedModule} from 'ngx-scrollbar/reached-event';\nimport {ContentWithButtonsComponent} from './content-with-buttons/content-with-buttons.component';\nimport {WrapperMultipleBlockComponent} from './wrapper-multiple-block/wrapper-multiple-block.component';\nimport {DraganddropListComponent} from './draganddrop-list/draganddrop-list.component';\nimport {DragDrop, DragDropModule} from '@angular/cdk/drag-drop';\nimport {ChargingBarComponent} from './charging-bar/charging-bar.component';\nimport {ExpandedPanelComponent} from './expanded-panel/expanded-panel.component';\n\nconst components = [\n TagComponent,\n TabComponent,\n ButtonComponent,\n InfoComponent,\n SettingsComponent,\n DeleteComponent,\n DropdownComponent,\n ImageComponent,\n BackComponent,\n SeparatorComponent,\n LogoComponent,\n RadioComponent,\n StateComponent,\n LabelComponent,\n CalendarComponent,\n WzEditInPlaceComponent,\n AlertComponent,\n HeaderPageComponent,\n SwitchComponent,\n LinkComponent,\n H1Component,\n H2Component,\n H3Component,\n H4Component,\n TextComponent,\n TextAreaComponent,\n UploadComponent,\n SelectInTextComponent,\n SelectComponent,\n MultipleSearchComponent,\n MultipleSearchPlusComponent,\n InputWithSelectComponent,\n PopinComponent,\n FreePopinComponent,\n BlockComponent,\n WrapperComponent,\n FiltersComponent,\n WrapperBlocsComponent,\n SnackbarComponent,\n SearchComponent,\n SelectedListComponent,\n WrapperSidebarComponent,\n BreadcrumbsComponent,\n CardPriceComponent,\n TokenCheckComponent,\n BlockWithCheckboxComponent,\n ConfirmDeleteComponent,\n MosaicComponent,\n ContentWithButtonsComponent,\n WrapperMultipleBlockComponent,\n DraganddropListComponent,\n ChargingBarComponent,\n ExpandedPanelComponent\n];\n\nconst exportsFromModule = [\n PaginationComponent,\n TableComponent,\n TableColumn,\n CheckBoxRow,\n TableColumnHeader,\n TableRow,\n InputSearchComponent,\n InputComponent,\n TooltipComponent,\n CheckboxComponent,\n LoaderComponent,\n ProgressBarComponent,\n TreeComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n NwbAllModule,\n TranslateModule.forChild(),\n ReactiveFormsModule,\n SharedDirectives,\n SharedPipes,\n CdkTableModule,\n TagInputModule,\n DragDropModule,\n PaginationModule,\n TableModule,\n InputSearchModule,\n TooltipModule,\n CheckboxModule,\n InputModule,\n LoaderModule,\n ProgressBarModule,\n PerfectScrollbarModule,\n AlertPopupModule,\n RouterModule,\n AutosizeModule,\n NgScrollbarModule,\n NgScrollbarReachedModule,\n TreeModule\n ],\n declarations: components,\n exports: [...components, ...exportsFromModule]\n})\nexport class SharedComponentsModule {}\n","import { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { NgModule } from '@angular/core';\nimport { SharedComponentsModule } from './components/shared-components.module';\nimport { CommonModule } from '@angular/common';\nimport { SharedDirectives } from './directives/shared-directives.module';\nimport { SharedPipes } from './pipes/shared-pipes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedComponentsModule,\n SharedDirectives,\n SharedPipes,\n NwbAllModule],\n exports: [SharedComponentsModule, SharedDirectives, SharedPipes]\n})\nexport class WiziComponentsModule {}\n","import { NwbFilterGroup } from \"@wizishop/ng-wizi-bulma\";\nimport { Observable, ReplaySubject } from \"rxjs\";\nimport { TableFilters } from \"./table-filters.model\";\n\nexport class TableFiltersGroup extends NwbFilterGroup {\n tableFiltersValuesChange$: ReplaySubject<TableFilters>;\n tableFiltersValuesDebouncedChange$: Observable<TableFilters>;\n\n set(key: \"sort\" | \"order\" | \"searchValue\" | \"totalItems\" | \"itemsPerPage\" | \"currentPage\", value: any): void {\n super.set(key, value);\n }\n\n resetToFirstPage(): void {\n this.set(\"currentPage\", 1);\n }\n}","/*\n * Public API Surface of angular-components\n */\n\nexport * from './lib/wizi-components.module';\nexport * from './lib/components/shared-components.module';\nexport * from './lib/components/tag/tag.component';\nexport * from './lib/components/tab/tab.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/info/info.component';\nexport * from './lib/components/settings/settings.component';\nexport * from './lib/components/delete/delete.component';\nexport * from './lib/components/dropdown/dropdown.component';\nexport * from './lib/components/image/image.component';\nexport * from './lib/components/back/back.component';\nexport * from './lib/components/separator/separator.component';\nexport * from './lib/components/logo/logo.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/state/state.component';\nexport * from './lib/components/label/label.component';\nexport * from './lib/components/calendar/calendar.component';\nexport * from './lib/components/edit-in-place/edit-in-place.component';\nexport * from './lib/components/alert/alert.component';\nexport * from './lib/components/header-page/header-page.component';\nexport * from './lib/components/switch/switch.component';\nexport * from './lib/components/link/link.component';\nexport * from './lib/components/hn/h1/h1.component';\nexport * from './lib/components/hn/h2/h2.component';\nexport * from './lib/components/hn/h3/h3.component';\nexport * from './lib/components/hn/h4/h4.component';\nexport * from './lib/components/selects/select-in-text/select-in-text.component';\nexport * from './lib/components/text/text.component';\nexport * from './lib/components/text-area/text-area.component';\nexport * from './lib/components/pagination/pagination.component';\nexport * from './lib/components/table/table.component';\nexport * from './lib/components/table/shared/table-filters.model';\nexport * from './lib/components/table/shared/table-filters-group.model';\nexport * from './lib/components/table/directives/column.directive';\nexport * from './lib/components/table/directives/checkBoxRow.directive';\nexport * from './lib/components/table/directives/columnHeader.directive';\nexport * from './lib/components/table/directives/raw.directive';\nexport * from './lib/components/inputs/input-search/input-search.component';\nexport * from './lib/components/inputs/input/input.component';\nexport * from './lib/components/tooltip/tooltip.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/loader/loader.component';\nexport * from './lib/components/progress-bar/progress-bar.component';\nexport * from './lib/components/upload/upload.component';\nexport * from './lib/components/selects/select/select.component';\nexport * from './lib/components/selects/select-items.dto';\nexport * from './lib/components/inputs/input-with-select/input-with-select.component';\nexport * from './lib/components/inputs/input-with-select/option-item.dto';\nexport * from './lib/components/multiple-search/multiple-search.component';\nexport * from './lib/components/multiple-search-plus/multiple-search-plus.component';\nexport * from './lib/directives/shared-directives.module';\nexport * from './lib/directives/abstract-debounce/debounce-keyup.directive';\nexport * from './lib/directives/abstract-debounce/abstract-debounce.directive';\nexport * from './lib/directives/auto-hide/auto-hide.directive';\nexport * from './lib/directives/zindex-toggle/zindex-toggle.directive';\nexport * from './lib/directives/ng-var.directive';\nexport * from './lib/utils/html-container.class';\nexport * from './lib/components/selects/call-to-action.model';\nexport * from './lib/components/table/shared/filters-table.service';\nexport * from './lib/components/table/shared/table-filters.model';\nexport * from './lib/components/popin/popin.component';\nexport * from './lib/components/free-popin/free-popin.component';\nexport * from './lib/components/block/block.component';\nexport * from './lib/components/wrapper/wrapper.component';\nexport * from './lib/components/filters/filters.component';\nexport * from './lib/components/expanded-panel/expanded-panel.component';\nexport * from './lib/components/filters/filter-item.dto';\nexport * from './lib/components/wrapper-blocs/wrapper-blocs.component';\nexport * from './lib/components/card-price/card-price.component';\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-results.model';\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-option.model';\nexport * from './lib/components/snackbar/snackbar.component';\nexport * from './lib/components/alert-popup/alert-popup.service';\nexport * from './lib/components/alert-popup/alert-popup.component';\nexport * from './lib/components/alert-popup/alert-popup-module';\nexport * from './lib/components/wrapper-sidebar/wrapper-sidebar.component';\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\nexport * from './lib/components/token-check/token-check.component';\nexport * from './lib/components/block-with-checkbox/block-with-checkbox.component';\nexport * from './lib/components/confirm-delete/confirm-delete.component';\nexport * from './lib/components/search/search.component';\nexport * from './lib/components/charging-bar/charging-bar.component';\nexport * from './lib/components/mosaic/mosaic.component';\nexport * from './lib/components/content-with-buttons/content-with-buttons.component';\nexport * from './lib/components/wrapper-multiple-block/wrapper-multiple-block.component';\nexport * from './lib/components/draganddrop-list/draganddrop-list.component';\nexport * from './lib/components/selected-list/selected-list.component';\nexport * from './lib/components/selected-list/shared/selected-list-option.model';\nexport * from './lib/components/search/shared/search-option.model';\nexport * from './lib/components/tree/tree.component';\nexport * from './lib/components/tree/tree.module';\nexport * from './lib/components/tree/tree.dto';\nexport * from './lib/pipes/shared-pipes.module';\nexport * from './lib/pipes/tree/format-object-to-recursif-tree.pipe';\nexport * from './lib/pipes/tree/format-object-to-simple-tree.pipe';\nexport * from './lib/pipes/select/select-filters.pipe';\nexport * from './lib/pipes/selected-list/are-all-options-selected.pipe';\nexport * from './lib/directives/keyboard-events/keypress-enter.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {inOutX as ɵp} from './lib/animations/in-out/in-out-x.animation';\nexport {inOutY as ɵm} from './lib/animations/in-out/in-out-y.animation';\nexport {CheckboxModule as ɵl} from './lib/components/checkbox/checkbox.module';\nexport {InputSearchModule as ɵg} from './lib/components/inputs/input-search/input-search.module';\nexport {InputModule as ɵh} from './lib/components/inputs/input/input.module';\nexport {LoaderModule as ɵk} from './lib/components/loader/loader.module';\nexport {PaginationModule as ɵb} from './lib/components/pagination/pagination.module';\nexport {PagniationArrayTotalPages as ɵc} from './lib/components/pagination/pipes/array-pages.pipe';\nexport {PagniationText as ɵe} from './lib/components/pagination/pipes/custom-text.pipe';\nexport {PagniationIsLastPage as ɵd} from './lib/components/pagination/pipes/is-last-page.pipe';\nexport {ProgressBarModule as ɵj} from './lib/components/progress-bar/progress-bar.module';\nexport {TableCheckboxIdService as ɵn} from './lib/components/table/shared/table-checkbox-id.service';\nexport {TableModule as ɵf} from './lib/components/table/table.module';\nexport {TooltipModule as ɵi} from './lib/components/tooltip/tooltip.module';\nexport {DomService as ɵa} from './lib/services/dom.service';\nexport {MultiSelectionService as ɵo} from './lib/services/multiple-selection.service';"],"names":["directives","pipes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wizishop-angular-components.js","sources":["../../../../projects/angular-components/src/lib/components/loader/loader.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.component.ts","../../../../projects/angular-components/src/lib/directives/abstract-debounce/abstract-debounce.directive.ts","../../../../projects/angular-components/src/lib/directives/abstract-debounce/debounce-keyup.directive.ts","../../../../projects/angular-components/src/lib/services/dom.service.ts","../../../../projects/angular-components/src/lib/directives/auto-hide/auto-hide.directive.ts","../../../../projects/angular-components/src/lib/directives/zindex-toggle/zindex-toggle.directive.ts","../../../../projects/angular-components/src/lib/directives/ng-var.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/keypress-enter.directive.ts","../../../../projects/angular-components/src/lib/directives/shared-directives.module.ts","../../../../projects/angular-components/src/lib/animations/in-out/in-out-y.animation.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.component.ts","../../../../projects/angular-components/src/lib/components/table/shared/filters-table.service.ts","../../../../projects/angular-components/src/lib/utils/html-container.class.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-checkbox-id.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/checkBoxRow.directive.ts","../../../../projects/angular-components/src/lib/services/multiple-selection.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/raw.directive.ts","../../../../projects/angular-components/src/lib/components/table/table.component.ts","../../../../projects/angular-components/src/lib/components/tag/tag.component.ts","../../../../projects/angular-components/src/lib/components/tab/tab.component.ts","../../../../projects/angular-components/src/lib/components/button/button.component.ts","../../../../projects/angular-components/src/lib/components/info/info.component.ts","../../../../projects/angular-components/src/lib/components/settings/settings.component.ts","../../../../projects/angular-components/src/lib/components/delete/delete.component.ts","../../../../projects/angular-components/src/lib/components/dropdown/dropdown.component.ts","../../../../projects/angular-components/src/lib/components/image/image.component.ts","../../../../projects/angular-components/src/lib/components/back/back.component.ts","../../../../projects/angular-components/src/lib/components/separator/separator.component.ts","../../../../projects/angular-components/src/lib/components/logo/logo.component.ts","../../../../projects/angular-components/src/lib/components/radio/radio.component.ts","../../../../projects/angular-components/src/lib/components/state/state.component.ts","../../../../projects/angular-components/src/lib/animations/in-out/in-out-x.animation.ts","../../../../projects/angular-components/src/lib/components/label/label.component.ts","../../../../projects/angular-components/src/lib/components/calendar/calendar.component.ts","../../../../projects/angular-components/src/lib/components/edit-in-place/edit-in-place.component.ts","../../../../projects/angular-components/src/lib/components/text-area/text-area.component.ts","../../../../projects/angular-components/src/lib/components/hn/h1/h1.component.ts","../../../../projects/angular-components/src/lib/components/hn/h2/h2.component.ts","../../../../projects/angular-components/src/lib/components/hn/h3/h3.component.ts","../../../../projects/angular-components/src/lib/components/header-page/header-page.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input/input.component.ts","../../../../projects/angular-components/src/lib/components/link/link.component.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.component.ts","../../../../projects/angular-components/src/lib/components/switch/switch.component.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.component.ts","../../../../projects/angular-components/src/lib/components/alert/alert.component.ts","../../../../projects/angular-components/src/lib/components/text/text.component.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/is-last-page.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.component.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/array-pages.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/custom-text.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.module.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.module.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.module.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.module.ts","../../../../projects/angular-components/src/lib/components/inputs/input/input.module.ts","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.module.ts","../../../../projects/angular-components/src/lib/components/loader/loader.module.ts","../../../../projects/angular-components/src/lib/components/table/directives/column.directive.ts","../../../../projects/angular-components/src/lib/components/table/directives/columnHeader.directive.ts","../../../../projects/angular-components/src/lib/components/table/table.module.ts","../../../../projects/angular-components/src/lib/components/upload/upload.component.ts","../../../../projects/angular-components/src/lib/components/hn/h4/h4.component.ts","../../../../projects/angular-components/src/lib/components/selects/select-in-text/select-in-text.component.ts","../../../../projects/angular-components/src/lib/components/selects/select/select.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search/multiple-search.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search-plus/multiple-search-plus.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-with-select/input-with-select.component.ts","../../../../projects/angular-components/src/lib/components/popin/popin.component.ts","../../../../projects/angular-components/src/lib/components/free-popin/free-popin.component.ts","../../../../projects/angular-components/src/lib/components/block/block.component.ts","../../../../projects/angular-components/src/lib/components/wrapper/wrapper.component.ts","../../../../projects/angular-components/src/lib/components/filters/filters.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-blocs/wrapper-blocs.component.ts","../../../../projects/angular-components/src/lib/components/snackbar/snackbar.component.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.component.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.service.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup-module.ts","../../../../projects/angular-components/src/lib/components/search/search.component.ts","../../../../projects/angular-components/src/lib/components/selected-list/selected-list.component.ts","../../../../projects/angular-components/src/lib/components/tree/tree.component.ts","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-recursif-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-simple-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/select/select-filters.pipe.ts","../../../../projects/angular-components/src/lib/pipes/selected-list/are-all-options-selected.pipe.ts","../../../../projects/angular-components/src/lib/pipes/shared-pipes.module.ts","../../../../projects/angular-components/src/lib/components/tree/tree.module.ts","../../../../projects/angular-components/src/lib/components/wrapper-sidebar/wrapper-sidebar.component.ts","../../../../projects/angular-components/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../../projects/angular-components/src/lib/components/card-price/card-price.component.ts","../../../../projects/angular-components/src/lib/components/token-check/token-check.component.ts","../../../../projects/angular-components/src/lib/components/block-with-checkbox/block-with-checkbox.component.ts","../../../../projects/angular-components/src/lib/components/confirm-delete/confirm-delete.component.ts","../../../../projects/angular-components/src/lib/components/mosaic/mosaic.component.ts","../../../../projects/angular-components/src/lib/components/content-with-buttons/content-with-buttons.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.ts","../../../../projects/angular-components/src/lib/components/draganddrop-list/draganddrop-list.component.ts","../../../../projects/angular-components/src/lib/components/charging-bar/charging-bar.component.ts","../../../../projects/angular-components/src/lib/components/expanded-panel/expanded-panel.component.ts","../../../../projects/angular-components/src/lib/components/shared-components.module.ts","../../../../projects/angular-components/src/lib/wizi-components.module.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-filters-group.model.ts","../../../../projects/angular-components/src/public-api.ts","../../../../projects/angular-components/src/wizishop-angular-components.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-loader',\n templateUrl: './loader.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LoaderComponent {\n @Input()\n text = '';\n @Input()\n small = false;\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-input-search',\n templateUrl: './input-search.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }]\n})\nexport class InputSearchComponent implements ControlValueAccessor {\n @Input()\n placeholder: string = '';\n\n @Input()\n smallPadding:boolean = false; // todo Try to be more flexible like changing type : export type PaddingConfig = \"default\" | \"small\" | \"big\" | \"no-padding\";\n\n @Input()\n id: string;\n private innerValue: any = '';\n @Output() changeDebounced = new EventEmitter<any>(); // debounced\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (_: any) => void = () => {};\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public handleDebouncedKeyUp(): void {\n this.changeDebounced.emit(this.value);\n }\n}\n","import { Directive, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';\n\n@Directive({\n selector: 'AbstractDebounceDirective'\n})\nexport class AbstractDebounceDirective implements OnDestroy {\n @Input()\n public debounceTime: number;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n protected emitEvent$: Subject<any>;\n protected subscription$: Subject<void>;\n\n constructor() {\n this.debounceTime = 500;\n this.onEventChange = new EventEmitter<any>();\n this.emitEvent$ = new Subject<any>();\n this.subscription$ = new Subject<void>();\n }\n\n ngOnInit(): void {\n this.emitEvent$\n .pipe(\n takeUntil(this.subscription$),\n debounceTime(this.debounceTime),\n distinctUntilChanged(),\n tap(value => this.emitChange(value))\n )\n .subscribe();\n }\n\n public emitChange(value: any): void {\n this.onEventChange.emit(value);\n }\n\n ngOnDestroy(): void {\n this.subscription$.next();\n this.subscription$.complete();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\n@Directive({\n selector: 'input[debounceKeyUp]'\n})\nexport class DebounceKeyupDirective extends AbstractDebounceDirective {\n constructor() {\n super();\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: any): void {\n event.preventDefault();\n this.emitEvent$.next(event);\n }\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injectable, Injector} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport {ComponentType, OverlayContainer} from '@angular/cdk/overlay';\nimport {PortalInjector} from '@angular/cdk/portal';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DomService {\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private overlayContainer: OverlayContainer\n ) {}\n private documentEventSource = new Subject();\n private documentEventDone = this.documentEventSource.asObservable();\n private eventInitialisation = true;\n\n private documentScrollSource = new Subject();\n private documentScrollDone = this.documentScrollSource.asObservable();\n\n documentEvent() {\n this.setDocumentEventListener();\n return this.documentEventDone;\n }\n\n setDocumentEventListener() {\n if (!this.eventInitialisation) {\n return;\n }\n this.eventInitialisation = false;\n document.body.addEventListener('click', event => {\n this.documentEventSource.next(event.target);\n });\n }\n\n documentScroll() {\n return this.documentScrollDone;\n }\n\n setScrollEventListener() {\n window.onscroll = () => {\n this.documentScrollSource.next(window);\n };\n }\n attachComponentPortal<T>(component: ComponentType<T>, injector?: PortalInjector): ComponentRef<T> {\n const componentRef: ComponentRef<T> = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(injector ? injector : this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n\n this.overlayContainer.getContainerElement().appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n }\n}\n","import {Directive, ElementRef, Input, Output, EventEmitter, AfterViewInit, OnInit} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DomService } from '../../services/dom.service';\n\n@Directive({\n selector: '[wzAutoHide]'\n})\nexport class AutoHideDirective implements AfterViewInit {\n @Input() triggerElement: string;\n @Input() forceOn: Array<string> = null;\n subscription: Subscription;\n\n constructor(private _elementRef: ElementRef, private domService: DomService) {}\n\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n ngAfterViewInit(): void {\n this.subscription = this.domService.documentEvent().subscribe((targetElement: Element) => {\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n const classNameFromElement = targetElement.getAttribute('class');\n\n if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {\n\n this.clickOutside.emit(null);\n }\n\n if (this.forceOn != null && classNameFromElement !== null) {\n let needToClose = true;\n this.forceOn.forEach(v => {\n if (!classNameFromElement.includes(v)) {\n needToClose = false;\n }\n });\n if (needToClose) {\n this.clickOutside.emit(null);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe()\n }\n}\n","import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2} from '@angular/core';\n\n@Directive({\n selector: '[zIndexToggle]'\n})\nexport class ZindexToggleDirective implements OnInit, OnDestroy {\n isActived = false;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n @Input('zIndexToggle')\n set isActive(value: boolean) {\n this.isActived = value;\n this.switchToggle();\n }\n get isActive(): boolean {\n return this.isActived;\n }\n\n constructor(private currentElement: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n }\n\n switchToggle() {\n if (this.isActived) {\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n } else {\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n }\n }\n\n ngOnDestroy(): void {\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: '[ngVar]',\n})\nexport class VarDirective {\n // https://stackoverflow.com/questions/38582293/how-to-declare-a-variable-in-a-template-in-angular\n\n @Input()\n set ngVar(context: unknown) {\n this.context.$implicit = this.context.ngVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngVar: unknown;\n } = {\n $implicit: null,\n ngVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(\n private templateRef: TemplateRef<any>,\n private vcRef: ViewContainerRef\n ) {}\n}","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({ selector: '[keypressEnter]' })\nexport class KeypressEnterDirective {\n\n private KEYPRESS_ENTER = \"Enter\";\n\n @HostListener('keypress', ['$event']) onKeypress(event: KeyboardEvent){\n if (event.key === this.KEYPRESS_ENTER) {\n this.keypressEnter.next(true);\n }\n }\n\n @Output() keypressEnter = new EventEmitter<boolean>();\n\n constructor() {}\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DebounceKeyupDirective } from './abstract-debounce/debounce-keyup.directive';\nimport { AbstractDebounceDirective } from './abstract-debounce/abstract-debounce.directive';\nimport { AutoHideDirective } from './auto-hide/auto-hide.directive';\nimport {ZindexToggleDirective} from './zindex-toggle/zindex-toggle.directive';\nimport { VarDirective } from './ng-var.directive';\nimport { KeypressEnterDirective } from './keyboard-events/keypress-enter.directive';\n\nconst directives = [DebounceKeyupDirective, AbstractDebounceDirective, AutoHideDirective, ZindexToggleDirective, VarDirective, KeypressEnterDirective];\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: directives,\n exports: directives\n})\nexport class SharedDirectives {}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutY = trigger('inOutYAnimation', [\n transition(':enter', [\n style({ transform: 'scaleY(0)', height: 0, opacity: 0 }),\n animate('.3s ease-out', style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ transform: 'scaleY(0)', height: 0, opacity: 0 }))\n ])\n]);\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { inOutY } from '../../animations/in-out/in-out-y.animation';\n\n@Component({\n selector: 'wac-checkbox',\n templateUrl: './checkbox.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }],\n animations: [inOutY]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n alone = false;\n @Input()\n checked = false;\n @Input()\n hasInput = false;\n @Input()\n inputPlaceholder = '';\n @Input()\n id = '';\n @Input()\n name: string;\n @Input()\n whiteSpace = true;\n disabled = false;\n\n constructor() {}\n\n private _onChange: Function;\n private _onTextInputChange: Function;\n private _onTouched: Function;\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: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n onTextInputChange(value) {\n if (this._onTextInputChange) {\n this._onTextInputChange(value);\n }\n }\n\n inputClick($event) { // todo it is usefull ?\n $event.stopPropagation();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NwbFilterGroup, NwbFilterRoutingBuilder } from '@wizishop/ng-wizi-bulma';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { TableFiltersGroup } from './table-filters-group.model';\nimport { TableFilters } from './table-filters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FiltersTableService {\n filterGroups = new Map<string, NwbFilterGroup>();\n\n private sortSubject: Subject<any> = new Subject<any>();\n\n constructor(private filterRoutingBuilder: NwbFilterRoutingBuilder) {}\n\n getTableFilterGroup(dataTableName: string): TableFiltersGroup {\n if (this.filterGroups.has(dataTableName)) {\n return this.filterGroups.get(dataTableName) as TableFiltersGroup;\n }\n\n const dataTableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: undefined,\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 0\n };\n\n const filterGroup: TableFiltersGroup = this.filterRoutingBuilder.group(dataTableFilters, dataTableName) as TableFiltersGroup;\n filterGroup.tableFiltersValuesChange$ = new ReplaySubject<TableFilters>(1);\n filterGroup.tableFiltersValuesDebouncedChange$ = filterGroup.tableFiltersValuesChange$.pipe(debounceTime(300));\n\n this.filterGroups.set(dataTableName, filterGroup);\n return filterGroup;\n }\n\n /**\n * Use to reset the others sorts of the table\n * @param dataTableName\n * @param sortName\n * @param order\n */\n emitSortChange(dataTableName: string, sortName: string, order: boolean) {\n this.sortSubject.next({ dataTableName, sortName, order });\n }\n\n getSortChangeListner() {\n return this.sortSubject.asObservable();\n }\n\n setPaginationFilters(dataTableName, totalItems, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage,\n currentPage\n });\n }\n\n /*\n Add defaults filters in the URL if they not exists.\n */\n setInitialPaginationFiltersIfNotExist(dataTableName, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage: filterGroup.get('itemsPerPage') ? parseInt(filterGroup.get('itemsPerPage')) : itemsPerPage,\n currentPage: filterGroup.get('currentPage') ? parseInt(filterGroup.get('currentPage')) : currentPage\n });\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, Injector, Type, ComponentRef, EmbeddedViewRef } from \"@angular/core\";\n\nexport class HtmlContainer {\n private attached: boolean = false;\n\n private disposeFn: () => void;\n\n constructor(\n private hostElement: Element,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n attach(component: Type<any>): ComponentRef<any> {\n if (this.attached) {\n throw new Error('component has already been attached');\n }\n\n this.attached = true;\n const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\n let componentRef = childComponentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n this.disposeFn = () => {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n };\n\n this.hostElement.appendChild((componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n return componentRef;\n }\n\n dispose() {\n if (this.attached) {\n this.disposeFn();\n }\n }\n}","import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class TableCheckboxIdService {\n\n static tableInstance = 0;\n\n currentTableInstance:number;\n nbCheckboxInstances: number = 0;\n\n constructor() {\n TableCheckboxIdService.tableInstance++;\n this.currentTableInstance = TableCheckboxIdService.tableInstance;\n }\n\n getUniqueId() {\n this.nbCheckboxInstances++;\n return `wac-table-${this.currentTableInstance}-${this.nbCheckboxInstances}`;\n }\n}","import { DOCUMENT } from '@angular/common';\nimport {\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Output,\n Renderer2,\n Directive,\n ElementRef,\n Input,\n ComponentRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport { HtmlContainer } from '../../../utils/html-container.class';\nimport { CheckboxComponent } from '../../checkbox/checkbox.component';\nimport { TableCheckboxIdService } from '../shared/table-checkbox-id.service';\n\n@Directive({\n selector: '[checkBoxRow]'\n})\nexport class CheckBoxRow {\n @Input('checkBoxId') checkBoxId: string | number;\n @Input('checkBoxName') checkBoxName: string;\n\n @Input('checkBoxValue') set checkBoxValue(value: boolean) {\n this._value = value;\n if (this.checkboxComponentRef) {\n this.setCheckBoxValue();\n }\n }\n _value: boolean;\n get checkBoxValue(): boolean {\n return this._value;\n }\n\n @Output() checkBoxValueChange: EventEmitter<boolean> = new EventEmitter();\n\n private checkboxComponentRef: ComponentRef<CheckboxComponent>;\n private htmlContainer: HtmlContainer;\n private checkBoxElement;\n\n constructor(\n private currentRow: ElementRef,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private tableCheckboxIdService: TableCheckboxIdService\n ) {}\n\n ngOnInit() {\n this.createCheckBoxComponent();\n this.handleChecboxInputs();\n this.handleCheckboxOutputs();\n }\n\n createCheckBoxComponent() {\n // Create the container\n this.checkBoxElement = document.createElement('div');\n this.checkBoxElement.className = 'wac-table__body__line__cell wac-table__body__line__cell--checkbox';\n\n // Insert divCheckBox in the DOM as the first child of the row\n this.renderer.insertBefore(this.currentRow.nativeElement, this.checkBoxElement, this.currentRow.nativeElement.firstChild);\n\n // Insert the CheckBoxComponent inside the container (DOM and Angular DOM)\n this.htmlContainer = new HtmlContainer(this.checkBoxElement, this.appRef, this.resolver, this.injector);\n this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);\n }\n\n private handleChecboxInputs() {\n this.checkboxComponentRef.instance.id = this.checkBoxId ? '' + this.checkBoxId : this.tableCheckboxIdService.getUniqueId();\n this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;\n this.checkboxComponentRef.instance.alone = true;\n this.setCheckBoxValue();\n }\n\n private setCheckBoxValue() {\n this.checkboxComponentRef.instance.value = this.checkBoxValue;\n }\n\n private handleCheckboxOutputs() {\n // Detect checkbox changes\n this.checkboxComponentRef.instance.registerOnChange(() => {\n this._toggleCheckbox();\n });\n }\n\n private _toggleCheckbox() {\n this.checkBoxValueChange.emit(this.checkBoxValue);\n }\n\n getElement() {\n return this.checkBoxElement.querySelector('.wac-field-checkbox');\n }\n\n isActive(): boolean {\n return !!this.checkboxComponentRef.instance.value;\n }\n\n setActive(isActive: boolean) {\n this.checkboxComponentRef.instance.value = isActive; //? does not trigger output\n }\n\n ngOnDestroy() {\n this.htmlContainer.dispose();\n }\n}\n","import { Injectable, QueryList } from \"@angular/core\";\nimport { Subscription, Subject, merge, fromEvent } from \"rxjs\";\nimport { debounceTime, map } from \"rxjs/operators\";\nimport { SelectionItem } from \"../utils/slection-item.interface\";\n\n@Injectable()\nexport class MultiSelectionService {\n private items: QueryList<SelectionItem>;\n private subscription: Subscription;\n private lastIndex: number;\n private activeChanges: Subject<number[]> = new Subject();\n activeChanges$ = this.activeChanges.asObservable();\n\n constructor() {}\n\n handle(items: QueryList<SelectionItem>, toggleSingleItem: boolean = false): void {\n\n if (!items || !items.first) {\n this.destroy();\n return;\n }\n\n this.destroy(); // close previous subsciption\n\n this.items = items;\n\n const clicks$ = this.getListeners();\n\n this.subscription = merge(...clicks$).subscribe(({ component, isShift: isShiftKeyPressed, index }) => {\n if (!isShiftKeyPressed) {\n if (toggleSingleItem) {\n component.setActive(!component.isActive());\n }\n this.activeChanges.next([index]);\n this.lastIndex = index;\n return;\n }\n\n const start = index;\n const end = this.lastIndex;\n const [first, last] = [Math.min(start, end), Math.max(start, end) + 1];\n const itemsSelection = this.items.toArray().slice(first, last);\n const isBeginnerItemActive = this.items.get(end).isActive();\n\n itemsSelection.forEach(current => current.setActive(isBeginnerItemActive));\n window.getSelection().removeAllRanges(); // remove text selection\n const indexInRange = Array.from({length: last-first}, (x, i) => i + first);\n this.activeChanges.next(indexInRange);\n });\n }\n\n private getListeners() {\n return this.items.map((item, index) => {\n return fromEvent(item.getElement(), 'click').pipe(\n map((event: MouseEvent) => {\n return {\n index,\n isShift: event.shiftKey,\n component: item\n }\n })\n )\n .pipe(debounceTime(100)) // debounced, because when clicking on a wac-checkbox it is emitted twice and can not find why\n });\n }\n\n getActives() {\n return this.items.filter(item => item.isActive());\n }\n\n destroy() {\n this.subscription?.unsubscribe();\n }\n}","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // The selector has the same name as the tableRaw selector in table.component.html\n selector: '[tableRow]'\n})\nexport class TableRow {\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line');\n }\n}\n","import { Component, ContentChildren, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { FiltersTableService } from './shared/filters-table.service';\nimport { Subscription } from 'rxjs';\nimport { TableFilters } from './shared/table-filters.model';\nimport { TableFiltersGroup } from './shared/table-filters-group.model';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { MultiSelectionService } from '../../services/multiple-selection.service';\nimport { TableCheckboxIdService } from './shared/table-checkbox-id.service';\nimport { TableRow } from './directives/raw.directive';\n\n@Component({\n selector: 'wac-table',\n templateUrl: './table.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n TableCheckboxIdService,\n MultiSelectionService\n ]\n})\nexport class TableComponent implements OnInit {\n\n @ContentChildren(CheckBoxRow) checkBoxRows: QueryList<CheckBoxRow>;\n @ContentChildren(TableRow) tableRows: QueryList<TableRow>;\n\n // todo find a way to spotlight the wac-table doc when used on wizi-admin only in dev\n // todo try to use bridge patterne in order to add checkbox and remove checkbowrox directive.\n /// Input/Output of table filters ///\n\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n @Input() tableRoutingName: string; // Name of the table\n @Input() placeholder: string = '';\n\n private _tableFiltersGroup: TableFiltersGroup;\n\n /// Input/Output of checkbox ///\n\n /** Pass to true to display checkbox in the header table */\n @Input() checkbox = false;\n\n @Output() toggleAllCheckBox: EventEmitter<boolean> = new EventEmitter(); // todo replace by checkBoxSelectionChange\n\n @Output() checkBoxSelectionChange: EventEmitter<number[]> = new EventEmitter(); // todo add to doc\n\n /// Input to disable section ///\n\n /** Pass to true to hide search input */\n @Input() disableSearch: boolean = false;\n /** Pass to true to hide the pagniator */\n @Input() disablePagniation: boolean = false;\n\n /// Input for loader on table body ///\n\n @Input() isLoading = false;\n\n /// Private variables ///\n headerCheckBoxId: string;\n private filterGroupChangeSub: Subscription;\n\n constructor(private filtersTableService: FiltersTableService, private tableCheckboxIdService: TableCheckboxIdService, private multiSelectionService: MultiSelectionService) {}\n\n ngOnInit(): void {\n this.headerCheckBoxId = this.tableCheckboxIdService.getUniqueId(); // Create checkbox unique id\n\n /* Handle routing filters */\n if (this.tableRoutingName) {\n\n this.filtersTableService.setInitialPaginationFiltersIfNotExist(\n this.tableRoutingName,\n this.tableFilters.itemsPerPage,\n this.tableFilters.currentPage\n );\n\n this._tableFiltersGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);\n this.setTablesFilters();\n // Listen to filters changes with debounced time to limit multiple api calls\n this.filterGroupChangeSub = this._tableFiltersGroup.valuesChange$.subscribe(() => {\n this.setTablesFilters();\n });\n }\n\n this.multiSelectionService.activeChanges$.subscribe(selectionIndexRawCheckChange => {\n this.checkBoxSelectionChange.emit(selectionIndexRawCheckChange);\n });\n }\n\n ngAfterViewInit() {\n this.multiSelectionService.handle(this.checkBoxRows);\n this.checkBoxRows.changes.subscribe(() => {\n this.multiSelectionService.handle(this.checkBoxRows);\n });\n console.log('this.tableRows', this.tableRows);\n }\n\n onToggleAllCheckBox(event: any) {\n this.toggleAllCheckBox.emit(event.target.checked);\n }\n\n searchChange() {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n\n // Reset routing filters\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n searchValue: this.tableFilters.searchValue,\n sort: undefined,\n order: undefined,\n currentPage: 1\n });\n }\n }\n\n pageChange() {\n this.tableFiltersChange.emit(this.tableFilters);\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n itemsPerPage: this.tableFilters.itemsPerPage,\n currentPage: this.tableFilters.currentPage\n });\n }\n }\n\n /**\n * Set tableFilters from routing data existing in the url\n * */\n private setTablesFilters() {\n this.tableFilters = {\n sort: this._tableFiltersGroup.get('sort'),\n order: this._tableFiltersGroup.get('order') ? this._tableFiltersGroup.get('order') === 'true' : undefined,\n searchValue: this._tableFiltersGroup.get('searchValue'),\n itemsPerPage: this._tableFiltersGroup.get('itemsPerPage') ? parseInt(this._tableFiltersGroup.get('itemsPerPage')) : 0,\n currentPage: this._tableFiltersGroup.get('currentPage') ? parseInt(this._tableFiltersGroup.get('currentPage')) : 0,\n totalItems: this.tableFilters.totalItems\n };\n this.tableFiltersChange.emit(this.tableFilters);\n this._tableFiltersGroup.tableFiltersValuesChange$.next(this.tableFilters);\n }\n\n ngOnDestroy() {\n if (this.filterGroupChangeSub) {\n this.filterGroupChangeSub.unsubscribe();\n }\n this.multiSelectionService.destroy();\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-tag',\n templateUrl: './tag.component.html'\n})\nexport class TagComponent {\n @Input()\n label = '';\n @Input()\n class: 'default'|'success'|'warning'|'error'|'dark'|'gray'|'lightgray';\n @Input()\n hasClose = false;\n\n @Input()\n big = false;\n\n @Input() isOpen:boolean = true;\n @Output() isOpenChange = new EventEmitter<boolean>();\n\n constructor() {}\n\n toggleTag() {\n this.isOpen = !this.isOpen;\n this.isOpenChange.next(this.isOpen);\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-tab',\n templateUrl: './tab.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class TabComponent {\n\n @Input()\n underline = false;\n\n @Input()\n button = false;\n\n @Input()\n tabs = [];\n\n @Input() index: number = 0;\n\n @Output() indexChange = new EventEmitter<any>();\n\n constructor() {}\n\n valueChanged(i) {\n this.index = i;\n this.indexChange.emit(this.index);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport { interval } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'wac-button',\r\n templateUrl: './button.component.html'\r\n})\r\nexport class ButtonComponent implements OnInit, AfterViewInit {\r\n @Input()\r\n extraClasses = 'is-info'; // todo make a list of existing class\r\n\r\n @Input()\r\n label = '';\r\n\r\n @Input()\r\n icon = '';\r\n\r\n @Input()\r\n iconNext: string;\r\n\r\n @Input()\r\n textcolor = null;\r\n @Input()\r\n widthAuto = false;\r\n\r\n @Input()\r\n contentHorizontalPosition: 'left' | 'center' | 'right' = 'center';\r\n\r\n @Input()\r\n iconFontSize = 12;\r\n\r\n @Input()\r\n hasLoader = false;\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Input()\r\n whiteSpaceNowrap = false;\r\n\r\n @Input()\r\n opacity = false;\r\n // TODO MAKE ANNIMATION AVAILABLE FOR MOBILE as CONFIRM DELETE DO (because, its doeant show the text and trigger click)\r\n @Input()\r\n animation = false;\r\n\r\n @Input()\r\n animationRight = false;\r\n\r\n @Input()\r\n animationText = '';\r\n\r\n @Input()\r\n confirmDelete = false;\r\n\r\n @Input()\r\n confirmDeleteText = '';\r\n\r\n @Input()\r\n coin: number | string;\r\n\r\n @Input()\r\n tooltip: string;\r\n\r\n @Input()\r\n tooltipWidth: string;\r\n\r\n @Input()\r\n noPadding = false;\r\n\r\n @Input()\r\n tooltipPosition: 'top-center' | 'top-right' | 'top-left' | 'bottom-center' | 'bottom-right' | 'bottom-left' | 'left' | 'right' = 'top-center';\r\n\r\n @Input()\r\n tooltipOneline = false;\r\n\r\n @Input()\r\n confirmDeletePosition = 'right';\r\n\r\n @Output() public click: EventEmitter<MouseEvent> = new EventEmitter();\r\n\r\n @Input() set isLoading(isLoading : boolean) {\r\n this._isLoading = isLoading;\r\n this.isLoadingChange.next(isLoading);\r\n this.toggleLoading();\r\n }\r\n\r\n @Output() isLoadingChange = new EventEmitter<boolean>();\r\n\r\n get isLoading() : boolean {\r\n return this._isLoading;\r\n }\r\n\r\n private _isLoading: boolean = false;\r\n\r\n\r\n interval = null;\r\n\r\n waitForConfirmDelete = false;\r\n\r\n buttonMaxWidth = '0px';\r\n buttonWidth = '0px';\r\n\r\n buttonMaxWidthDelete = '0px';\r\n buttonWidthDelete = '0px';\r\n\r\n currentLoading = 0;\r\n\r\n @ViewChild('calculWidth')\r\n calculWidth: ElementRef;\r\n\r\n @ViewChild('calculWidthDelete')\r\n calculWidthDelete: ElementRef;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if (this.confirmDelete) {\r\n this.waitForConfirmDelete = true;\r\n }\r\n }\r\n\r\n toggleLoading() {\r\n this.currentLoading = this.isLoading ? 10 : 100;\r\n\r\n interval(200).pipe(takeWhile( time=> this.isLoading)).subscribe(\r\n () => {\r\n if (this.currentLoading < 85) {\r\n this.currentLoading += Math.floor(Math.random() * 15);\r\n }\r\n }\r\n );\r\n }\r\n\r\n addMaxWidth() {\r\n this.buttonMaxWidth = this.buttonWidth + 'px';\r\n }\r\n\r\n resetMaxWidth() {\r\n this.buttonMaxWidth = '0px';\r\n }\r\n\r\n addMaxWidthDelete() {\r\n this.buttonMaxWidthDelete = this.buttonWidthDelete + 'px';\r\n }\r\n\r\n resetMaxWidthDelete() {\r\n this.buttonMaxWidthDelete = '0px';\r\n this.waitForConfirmDelete = true;\r\n }\r\n\r\n onButtonClick(event){\r\n event.stopPropagation();\r\n if (this.disabled) {\r\n return;\r\n }\r\n if (this.hasLoader) {\r\n this.isLoading = false;\r\n setTimeout(() => { // trick to reset the animation loading\r\n this.isLoading = true;\r\n }, 0);\r\n }\r\n\r\n if (!this.waitForConfirmDelete) {\r\n this.click.emit(event);\r\n if (this.confirmDelete) {\r\n this.resetMaxWidthDelete();\r\n }\r\n } else {\r\n this.waitForConfirmDelete = false;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n if (this.animation) {\r\n this.buttonWidth = this.calculWidth.nativeElement.offsetWidth;\r\n }\r\n if (this.confirmDelete) {\r\n this.buttonWidthDelete = this.calculWidthDelete.nativeElement.offsetWidth;\r\n }\r\n }, 1000);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-info',\n templateUrl: './info.component.html'\n})\nexport class InfoComponent {\n constructor() {}\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-settings',\n templateUrl: './settings.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SettingsComponent {\n constructor() {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-delete',\n templateUrl: './delete.component.html'\n})\nexport class DeleteComponent {\n constructor() {}\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-dropdown',\n templateUrl: './dropdown.component.html'\n})\nexport class DropdownComponent {\n @Input()\n hasIcons = false;\n\n @Input()\n items = [];\n\n @Output() userInput = new EventEmitter<any>();\n\n constructor() {}\n\n onUserInput(itemIndex) {\n this.userInput.emit(itemIndex);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'wac-image',\n templateUrl: './image.component.html'\n})\nexport class ImageComponent {\n @Input()\n src: '';\n\n constructor() {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-back',\n templateUrl: './back.component.html'\n})\nexport class BackComponent {\n constructor() {}\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-separator',\n templateUrl: './separator.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SeparatorComponent {\n @Input()\n dashed = false;\n\n constructor() {}\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-logo',\n templateUrl: './logo.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LogoComponent {\n @Input()\n isDropizi: false;\n\n @Input()\n isWhite: false;\n\n constructor() {}\n}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: RadioComponent, multi: true }]\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n options: object;\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n id = '';\n @Input()\n name: string;\n @Input()\n alone = false;\n @Output()\n changeInput = new EventEmitter<any>();\n disabled = false;\n constructor() {}\n private _onChange: Function;\n private _onTouched: Function;\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: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n valueInput(value) {\n this.changeInput.emit(value);\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-state',\n templateUrl: './state.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class StateComponent {\n @Input()\n state = 'success';\n constructor() {}\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutX = trigger('inOutXAnimation', [\n transition(':enter', [\n style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }),\n animate('.3s ease-out', style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }))\n ])\n]);\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { inOutX } from '../../animations/in-out/in-out-x.animation';\n\n@Component({\n selector: 'wac-label',\n templateUrl: './label.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [inOutX]\n})\nexport class LabelComponent {\n @Input()\n index = 0;\n @Input()\n label = '';\n @Input()\n deleted = false;\n\n @Output() onDeleteLabel = new EventEmitter<any>();\n\n constructor() {}\n\n deleteLabel() {\n this.deleted = true;\n this.onDeleteLabel.emit({\n index: this.index,\n label: this.label\n });\n }\n}\n","import { Component, Input, EventEmitter, Output, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-calendar',\n templateUrl: './calendar.component.html'\n})\nexport class CalendarComponent implements OnInit {\n @Input()\n label: string | null;\n @Input()\n type = 'input';\n @Input()\n options: object = {\n displayMode: 'inline',\n showHeader: false,\n showFooter: true,\n showButton: true\n };\n @Input()\n position = 'bottom';\n @Input()\n dateSelected: any = new Date();\n @Input()\n typeDate = 'datetime-local';\n @Input()\n noMargin = false;\n @Output()\n selected: EventEmitter<string> = new EventEmitter<string>();\n @Output() changeData = new EventEmitter<any>();\n open = false;\n startLabel = '';\n endLabel = '';\n currentHours: any;\n currentMinutes: any;\n currentDate: any;\n constructor() {}\n changeDate(event: any) {\n this.currentDate = new Date(new Date(event.startDate).setHours(0, 0, 0, 0));\n this.dateSelected = new Date(\n new Date(new Date(event.startDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.triggerChange({\n startDate: this.dateSelected,\n endDate: this.dateSelected\n });\n }\n\n triggerChange(event: any) {\n this.changeData.emit(event);\n }\n\n openCalendar(value = null) {\n if (value === 'close') {\n if (this.open) {\n this.open = false;\n }\n } else {\n this.open = !this.open;\n }\n }\n ngOnInit(): void {\n if (this.type === 'edit' && this.label) {\n const splitLabel = this.label.split('{x}');\n if (splitLabel.length > 1) {\n this.startLabel = splitLabel[0];\n this.endLabel = splitLabel[1];\n } else {\n this.startLabel = this.label;\n }\n }\n this.currentHours =\n new Date(this.dateSelected).getHours() < 10 ? '0' + new Date(this.dateSelected).getHours() : new Date(this.dateSelected).getHours();\n this.currentMinutes =\n new Date(this.dateSelected).getMinutes() < 10\n ? '0' + new Date(this.dateSelected).getMinutes()\n : new Date(this.dateSelected).getMinutes();\n this.currentDate = new Date(this.dateSelected).setHours(0, 0, 0, 0);\n if (this.typeDate === 'date') {\n this.currentHours = '00';\n this.currentMinutes = '00';\n }\n }\n verifKeyup(events: any) {\n events.target.value = events.target.value.replace(/\\D+/g, '');\n }\n verifHours(events: any) {\n const value = parseInt(events.target.value, 0);\n events.target.value = this.currentHours = value < 24 ? (value < 10 ? '0' + value : value) : 23;\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n verifMinutes(events: any) {\n const value = parseInt(events.target.value, 0);\n events.target.value = this.currentMinutes = value < 60 ? (value < 10 ? '0' + value : value) : 59;\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n addHours(target: any) {\n target.value = this.currentHours =\n parseInt(target.value, 0) + 1 < 24\n ? parseInt(target.value, 0) + 1 < 10\n ? '0' + (parseInt(target.value, 0) + 1)\n : parseInt(target.value, 0) + 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n removeHours(target: any) {\n target.value = this.currentHours =\n parseInt(target.value, 0) - 1 > -1\n ? parseInt(target.value, 0) - 1 < 10\n ? '0' + (parseInt(target.value, 0) - 1)\n : parseInt(target.value, 0) - 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n addMinutes(target: any) {\n target.value = this.currentMinutes =\n parseInt(target.value, 0) + 1 < 60\n ? parseInt(target.value, 0) + 1 < 10\n ? '0' + (parseInt(target.value, 0) + 1)\n : parseInt(target.value, 0) + 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n removeMinutes(target: any) {\n target.value = this.currentMinutes =\n parseInt(target.value, 0) - 1 > -1\n ? parseInt(target.value, 0) - 1 < 10\n ? '0' + (parseInt(target.value, 0) - 1)\n : parseInt(target.value, 0) - 1\n : parseInt(target.value, 0) < 10\n ? '0' + parseInt(target.value, 0)\n : parseInt(target.value, 0);\n const dateData = new Date(\n new Date(new Date(this.currentDate).setHours(0, 0, 0, 0)).getTime() +\n parseInt(this.currentHours, 0) * 60 * 60 * 1000 +\n parseInt(this.currentMinutes, 0) * 60000\n );\n this.dateSelected = dateData;\n this.triggerChange({\n startDate: dateData,\n endDate: dateData\n });\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'wac-edit-in-place',\n templateUrl: './edit-in-place.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: WzEditInPlaceComponent,\n multi: true\n }\n ]\n})\nexport class WzEditInPlaceComponent implements ControlValueAccessor, AfterViewChecked, OnChanges {\n //! Refacto aweful to use\n // todo add exemples in showcases\n @Input()\n type: string;\n @Input()\n nwbOptions: object | string[];\n @Input()\n config: NwbEditInPlaceConfig = {};\n @Input()\n label: string;\n @Output() customChange = new EventEmitter<any>();\n\n @ViewChild('input')\n input: ElementRef;\n\n objectKeys = Object.keys;\n public currentValue: string | number;\n private preValue: string | number;\n\n public inputWidth: number;\n public editing = false;\n public isLoading: boolean;\n private firstEdit: boolean;\n private initialized: boolean;\n\n public onChange: any = Function.prototype;\n public onTouched: any = Function.prototype;\n\n get value(): any {\n return this.currentValue;\n }\n\n set value(v: any) {\n if (v !== this.currentValue) {\n this.currentValue = v;\n }\n }\n\n writeValue(value: any) {\n if (value !== null) {\n if (this.config.currency) {\n this.currentValue = this.parseValueToNumber(value);\n if (this.config.separator !== '.') {\n this.currentValue = this.parseValueToSeparator(this.currentValue);\n }\n this.currentValue += this.config.currency;\n } else {\n this.currentValue = value;\n }\n }\n }\n\n public registerOnChange(fn: (_: any) => {}): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n private _setValue(v: string | number) {\n if (this.type === 'select') {\n this.onChange(v);\n } else if (typeof this.config.currency === 'string') {\n v = this.parseValueToNumber(v);\n this.onChange(v);\n if (this.config.separator !== '.') {\n v = this.parseValueToSeparator(v);\n }\n v = v + this.config.currency;\n this.customChange.emit(v);\n } else {\n this.onChange(v);\n }\n this.writeValue(v);\n this.value = v;\n }\n\n ngAfterViewChecked() {\n if (this.input && this.editing) {\n this.input.nativeElement.focus();\n if (this.config.selectTextUponClick && this.firstEdit && this.preValue && this.input.nativeElement.value) {\n this.input.nativeElement.select();\n this.firstEdit = false;\n }\n }\n this.initialized = true;\n }\n\n startEditing() {\n if (!this.editing) {\n this.editing = true;\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue);\n this.firstEdit = true;\n }\n }\n\n edit() {\n this.preValue = this.currentValue;\n this.editing = true;\n }\n\n onSubmit() {\n this.editing = false;\n if (this.currentValue !== this.preValue) {\n if (typeof this.config.handler === 'function') {\n this.isLoading = true;\n this.config.handler(this.currentValue, this.config.data).subscribe(\n data => {\n let hasChanged: boolean;\n this.isLoading = false;\n if (typeof data !== 'boolean') {\n this.currentValue = data.value;\n hasChanged = data.success;\n } else {\n hasChanged = data;\n }\n if (hasChanged) {\n this._setValue(this.currentValue);\n } else {\n this._setValue(this.preValue);\n }\n },\n () => {\n this.isLoading = false;\n this._setValue(this.preValue);\n }\n );\n } else {\n this._setValue(this.currentValue);\n }\n } else {\n if (typeof this.config.currency === 'string') {\n this.currentValue = this.currentValue + this.config.currency;\n }\n }\n }\n\n checkAndRemoveCurrency(value) {\n if (typeof this.config.currency === 'string') {\n return value.slice(0, -1);\n }\n\n return value;\n }\n\n parseValueToNumber(value) {\n if (!isNaN(value) && value !== '') {\n return parseFloat(value);\n }\n if (typeof this.config.currency === 'string') {\n const indexComma = value.indexOf(',');\n const indexDot = value.indexOf('.');\n if (indexComma > 0 && indexDot === -1) {\n const parsedValue = value.replace(',', '.');\n if (!isNaN(parsedValue)) {\n return parseFloat(parsedValue);\n }\n }\n if (indexDot > 0 && indexComma === -1) {\n if (!isNaN(value)) {\n return parseFloat(value);\n }\n }\n return 0;\n }\n }\n\n parseValueToSeparator(value) {\n if (typeof this.config.separator === 'string') {\n value = parseFloat(value).toFixed(2);\n return value.replace('.', this.config.separator);\n }\n\n return value;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.initialized) {\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue) + this.config.currency;\n this.customChange.emit(this.value);\n }\n }\n\n selectOption(event) {\n this.currentValue = event.target.innerText;\n this.closeSelect(event);\n event.stopPropagation();\n this.customChange.emit(event.target.value);\n }\n\n closeSelect(event) {\n this.editing = false;\n this.isLoading = false;\n event.stopPropagation();\n }\n}\n\nexport interface NwbEditInPlaceConfig {\n /** Whether to select the whole text inside the input upon click */\n selectTextUponClick?: boolean;\n\n /** Data to pass as the second argument for the handler method if any **/\n data?: any;\n\n currency?: string;\n\n separator?: string;\n\n /**\n * handler method to call on change.\n * This allows you to perform any action before setting new value to the model\n * It has to return a boolean observable. If the returned value is true then the model will change.\n */\n handler?: (value: any, data: any) => Observable<boolean | ReturnedData>;\n}\n\nexport interface ReturnedData {\n success: boolean;\n value: any;\n}\n","import { Component, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'wac-text-area',\r\n templateUrl: './text-area.component.html',\r\n\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }]\r\n})\r\nexport class TextAreaComponent implements ControlValueAccessor {\r\n // todo simplify and improve progress bar\r\n @Input()\r\n label = '';\r\n @Input()\r\n value = '';\r\n @Input()\r\n placeholder = '';\r\n @Input()\r\n textInfo = '';\r\n @Input()\r\n textError = '';\r\n @Input()\r\n error = '';\r\n @Input()\r\n success = '';\r\n @Input()\r\n size = null;\r\n @Input()\r\n min = null;\r\n @Input()\r\n max = null;\r\n @Input()\r\n dynamicSize = false;\r\n @Input()\r\n progressBar = false;\r\n @Input()\r\n disabled = false;\r\n @Input()\r\n maxlength: number | string;\r\n @Input()\r\n minlength: number | string;\r\n\r\n id =\r\n 'wac-textarea__' +\r\n Math.random()\r\n .toString(36)\r\n .substr(2, 9);\r\n\r\n private _onChange: Function;\r\n private _onTouched: Function;\r\n\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.value = obj;\r\n }\r\n\r\n onChange(value) {\r\n if (this._onChange) {\r\n this._onChange(value);\r\n this.writeValue(value);\r\n }\r\n }\r\n\r\n onBlur() {\r\n if (this._onTouched) {\r\n this._onTouched();\r\n }\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-h1',\r\n templateUrl: './h1.component.html'\r\n})\r\nexport class H1Component implements OnInit {\r\n @Input()\r\n annotation = '';\r\n @Input()\r\n withImg = false;\r\n @Input()\r\n center = false;\r\n @Input()\r\n color = null;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h2',\n templateUrl: './h2.component.html'\n})\nexport class H2Component implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h3',\n templateUrl: './h3.component.html'\n})\nexport class H3Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n@Component({\r\n selector: 'wac-header-page',\r\n templateUrl: './header-page.component.html'\r\n})\r\nexport class HeaderPageComponent implements OnInit {\r\n @Input()\r\n title: string;\r\n @Input()\r\n linkBack: string;\r\n @Input()\r\n withImg = false;\r\n @Input()\r\n center = false;\r\n constructor() {}\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'wac-input',\r\n templateUrl: './input.component.html',\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }]\r\n})\r\nexport class InputComponent implements ControlValueAccessor {\r\n @Input()\r\n label = '';\r\n @Input()\r\n value = '';\r\n @Input()\r\n type = 'text';\r\n @Input()\r\n placeholder = '';\r\n @Input()\r\n textInfo = null;\r\n @Input()\r\n textError = null;\r\n @Input()\r\n size = null;\r\n @Input()\r\n isNumber = null;\r\n @Input()\r\n withoutBlock = false;\r\n @Input()\r\n icon = '';\r\n @Input()\r\n big = false;\r\n @Input()\r\n medium = false;\r\n @Input()\r\n boldLabel = 'false';\r\n @Input()\r\n min = null;\r\n @Input()\r\n max = null;\r\n @Input()\r\n disableMargin = false;\r\n @Input()\r\n textPrepend = null;\r\n @Input()\r\n textAppend = null;\r\n @Input()\r\n progressBar = false;\r\n @Input()\r\n extraClasses = '';\r\n @Input()\r\n keyPreventDefault = [];\r\n @Input()\r\n showTooltip = false;\r\n @Input()\r\n textTooltip = '';\r\n @Input()\r\n iconTooltip = '';\r\n @Input()\r\n urlTooltip = '';\r\n @Input()\r\n linkTooltip = '';\r\n @Input()\r\n padding = false;\r\n @Input()\r\n disabled = false;\r\n @Input()\r\n indication = false;\r\n @Input()\r\n success = false;\r\n @Input()\r\n error = false;\r\n @Input()\r\n maxlength: number | string;\r\n @Input()\r\n minlength: number | string;\r\n @Input()\r\n indicationLeft = false;\r\n\r\n @Output() keypressEnter = new EventEmitter<boolean>();\r\n\r\n private KEYPRESS_ENTER = \"Enter\";\r\n\r\n id =\r\n 'wz-input_' +\r\n Math.random()\r\n .toString(36)\r\n .substr(2, 9);\r\n\r\n private _onChange: Function;\r\n private _onTouched: Function;\r\n\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.value = obj;\r\n }\r\n\r\n onChange(value) {\r\n if (this._onChange) {\r\n this._onChange(value);\r\n }\r\n }\r\n\r\n onBlur() {\r\n if (this._onTouched) {\r\n this._onTouched();\r\n }\r\n }\r\n\r\n checkNumberValue(value) {\r\n if (this.min && this.min > value) {\r\n this.value = this.min;\r\n }\r\n if (this.max && this.max < value) {\r\n this.value = this.max;\r\n }\r\n }\r\n\r\n onFocusOut() {\r\n if (this.type === 'number') {\r\n this.checkNumberValue(this.value);\r\n }\r\n }\r\n\r\n keyPress(event: KeyboardEvent) {\r\n if (this.keyPreventDefault.includes(event.key)) {\r\n event.preventDefault();\r\n }\r\n\r\n if (event.key === this.KEYPRESS_ENTER) {\r\n this.keypressEnter.next(true);\r\n }\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-link',\r\n templateUrl: './link.component.html'\r\n})\r\nexport class LinkComponent implements OnInit {\r\n\r\n _link: string;\r\n\r\n @Input() set href(link : string) {\r\n this._link = link;\r\n this.setAttributesLink();\r\n }\r\n\r\n get href(): string {\r\n return this._link;\r\n }\r\n\r\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\r\n @Input() id: string;\r\n @Input() class: string;\r\n @Input() fontSize = '14px';\r\n\r\n @ViewChild('linkComponent')\r\n linkComponent: ElementRef;\r\n\r\n constructor(private renderer2: Renderer2) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit() {\r\n this.setAttributesLink();\r\n }\r\n\r\n setAttributesLink() {\r\n if (!this.linkComponent) {\r\n return;\r\n }\r\n\r\n if (this.href) {\r\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"href\", this.href);\r\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"target\", this.target);\r\n } else {\r\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"href\");\r\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"target\");\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-progress-bar',\n templateUrl: './progress-bar.component.html',\n\n})\nexport class ProgressBarComponent {\n @Input()\n valueLength = null;\n @Input()\n min = null;\n @Input()\n max = null;\n\n constructor(private translateService: TranslateService) {}\n\n progressBarClass(spanNumber = -1) {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (spanNumber === 1) {\n return {\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n } else if (spanNumber === 2) {\n return {\n 'is-success': length === max,\n 'is-danger': length > max\n };\n } else {\n return {\n 'is-warning': length < min,\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n }\n }\n\n progressBarSpanPosition(index) {\n const min = this.min;\n const max = this.max;\n const maxSize = this.progressBarGetMaxSize(max);\n const successMin = (min / maxSize) * 100;\n const successMax = (max / maxSize) * 100;\n return index === 1 ? successMin : successMax;\n }\n\n progressBarGetMaxSize(max) {\n return max + max / 4;\n }\n\n progressBarGetTextInfo() {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (length < min) {\n return this.translateService.instant('wac.input.progressbar.information.too.short');\n } else if (length > max) {\n return this.translateService.instant('wac.input.progressbar.information.too.long');\n } else {\n return this.translateService.instant('wac.input.progressbar.information.good');\n }\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n@Component({\r\n selector: 'wac-switch',\r\n templateUrl: './switch.component.html',\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: SwitchComponent, multi: true },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SwitchComponent implements OnInit, ControlValueAccessor {\r\n // todo add ngmodel and review texts display (textState is mandatory in order to display textStateEnable and textStateDisable)\r\n @Input() value = false;\r\n @Input() textState = false;\r\n @Input() textStateAfter = false;\r\n @Input() textStateEnable = '';\r\n @Input() textStateDisable = '';\r\n @Input() showInput = false; // todo should not be handle here, but in another component\r\n @Input() placholderInput: string; // todo should be removed from here\r\n @Input() danger = false;\r\n @Input() whiteSpace: boolean = false;\r\n @Output() switchChange = new EventEmitter<any>(); // todo set emitted type\r\n @Output() changeInput = new EventEmitter<any>(); // todo set emitted type, should be removed\r\n valueInput: string;\r\n public id: string;\r\n\r\n disabled: boolean;\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.id = 'switch-' + Math.floor(Math.random() * Math.floor(1000));\r\n }\r\n\r\n changeValue(event: any) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this.value = event.target.checked;\r\n this.switchChange.emit(this.value);\r\n this.onChange(this.value)\r\n }\r\n\r\n triggerInput() {\r\n this.changeInput.emit(this.valueInput);\r\n }\r\n\r\n private onChange: (value: boolean) => void = (value) => {};\r\n\r\n writeValue(value: boolean): void {\r\n this.value = value;\r\n }\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n onBlur(): void {\r\n this.onTouched();\r\n }\r\n\r\n private onTouched = () => {};\r\n\r\n registerOnTouched(onTouched: any): void {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n setDisabledState(disabled: boolean) {\r\n this.disabled = disabled;\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-tooltip',\n templateUrl: './tooltip.component.html',\n\n})\nexport class TooltipComponent implements OnInit {\n // todo add exemples. Should be a directive. Maybe allow to pass a template like\n @Input()\n tooltipIcon: string;\n @Input()\n tooltipText: string = '';\n @Input()\n tooltipLink: string = '';\n @Input()\n tooltipUrl: string = '#';\n\n constructor() {}\n\n ngOnInit() {\n if (this.tooltipIcon === '') {\n this.tooltipIcon = 'fas fa-info-circle';\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-alert',\n templateUrl: './alert.component.html'\n})\nexport class AlertComponent implements OnInit {\n @Input() icon = true;\n @Input() warning = false;\n @Input() success = false;\n @Input() alert = false;\n @Input() iconClass = 'fas fa-info';\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-text',\n templateUrl: './text.component.html'\n})\nexport class TextComponent implements OnInit {\n @Input()\n textClass: 'grey'|'yellow'|'red'|'label'|'optional';\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'IsLastPage'\n})\nexport class PagniationIsLastPage implements PipeTransform {\n /**\n * Return true, if the current page is the last page. Otherwise, return false.\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): boolean {\n if (!(currentPage >= 0 && totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('currentPage or totalItems or itemsPerPage is/are missing in PagniationIsLastPage pipe.');\n }\n return currentPage === Math.ceil(totalItems / itemsPerPage);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wac-pagination',\n templateUrl: './pagination.component.html'\n})\nexport class PaginationComponent {\n @Input()\n set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Output() pageChange: EventEmitter<PaginationFilters> = new EventEmitter();\n\n constructor() {}\n\n decrementPage() {\n if (this.pagination.currentPage <= 1) {\n return;\n }\n this.pagination.currentPage--;\n this.pageChange.emit(this.pagination);\n }\n\n incrementPage() {\n const isLastPage = new PagniationIsLastPage().transform(\n this.pagination.currentPage,\n this.pagination.totalItems,\n this.pagination.itemsPerPage\n );\n if (isLastPage) {\n return;\n }\n this.pagination.currentPage++;\n this.pageChange.emit(this.pagination);\n }\n\n onGotoPageChange(event: any) {\n this.pagination.currentPage = parseInt(event.target.value);\n this.pageChange.emit(this.pagination);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ArrayTotalPages'\n})\nexport class PagniationArrayTotalPages implements PipeTransform {\n /**\n * Return an incremental array corresponding with the number page\n * [ 1, 2, 3 ..., last page number ]\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems, itemsPerPage): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n const arrayLength: number = Math.ceil(totalItems / itemsPerPage);\n return Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map(x => x + 1);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'customPagniationText'\n})\nexport class PagniationText implements PipeTransform {\n constructor(private translateService: TranslateService) {}\n\n /**\n * Update pagination text if at least one entrie change\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): any {\n let currentItemsLow = 0,\n currentItemsHigh = 0;\n\n if (totalItems) {\n currentItemsLow = (parseInt(currentPage) - 1) * parseInt(itemsPerPage) + 1;\n currentItemsHigh = parseInt(currentPage) * parseInt(itemsPerPage);\n }\n\n if (currentItemsHigh > totalItems) {\n currentItemsHigh = totalItems;\n }\n\n return this.translateService.get('wac.PaginationComponent.on', { low: currentItemsLow, high: currentItemsHigh, total: totalItems })\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { PaginationComponent } from './pagination.component';\nimport { PagniationArrayTotalPages } from './pipes/array-pages.pipe';\nimport { PagniationText } from './pipes/custom-text.pipe';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nconst pipes = [PagniationArrayTotalPages, PagniationIsLastPage, PagniationText];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TranslateModule\n ],\n exports: [PaginationComponent],\n declarations: [PaginationComponent, ...pipes],\n providers: [],\n})\nexport class PaginationModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [CheckboxComponent],\n declarations: [CheckboxComponent],\n providers: [],\n})\nexport class CheckboxModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { ProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [ProgressBarComponent],\n declarations: [ProgressBarComponent],\n providers: [],\n})\nexport class ProgressBarModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { TooltipComponent } from './tooltip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [TooltipComponent],\n declarations: [TooltipComponent],\n providers: [],\n})\nexport class TooltipModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { ProgressBarModule } from '../../progress-bar/progress-bar.module';\nimport { TooltipModule } from '../../tooltip/tooltip.module';\nimport { InputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SharedDirectives,\n TooltipModule,\n ProgressBarModule\n ],\n exports: [InputComponent],\n declarations: [InputComponent],\n providers: [],\n})\nexport class InputModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { InputModule } from '../input/input.module';\n\nimport { InputSearchComponent } from './input-search.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n InputModule,\n SharedDirectives\n ],\n exports: [InputSearchComponent],\n declarations: [InputSearchComponent],\n providers: [],\n})\nexport class InputSearchModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { LoaderComponent } from './loader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [LoaderComponent],\n declarations: [LoaderComponent],\n providers: [],\n})\nexport class LoaderModule { }\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[tableColumn]'\n})\nexport class TableColumn {\n @Input('columnSize') columnSize: string; // Optional.\n @Input('centerCell') centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__body__line__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { EventEmitter, Inject, Output } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { NwbFilter, NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { FiltersTableService } from '../shared/filters-table.service';\nimport { TableFilters } from '../shared/table-filters.model';\n\n@Directive({\n // The selector has the same name as the headerCell selector in table.component.html\n selector: '[headerCell]'\n})\nexport class TableColumnHeader {\n @Input('headerName') // Optional.\n set headerName(value: string) {\n this._headerName = value;\n this.setHeaderName();\n }\n _headerName: string = '';\n get headerName(): string {\n return this._headerName;\n }\n @Input('columnSize') columnSize: string; // Optional.\n @Input('filterRouting') filterRouting: boolean = false; // Optional. Set to true to use Filter Routing.\n @Input('tableName') tableName: string; // Optional, but mandatory to handle sorting\n @Input('sortName') sortName: string; // Optional, but mandatory to handle sorting\n @Input('centerCell') centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n @Output() onSortChange: EventEmitter<boolean> = new EventEmitter(); // Emit the sort value (true, false, undefuned) of the current sort icon when clicking\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n private contentHeader: HTMLAnchorElement;\n private filterGroup: NwbFilterGroup;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private currentCell: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private filtersTableService: FiltersTableService\n ) {}\n\n ngOnInit() {\n if (this.tableName && this.sortName) {\n if (this.filterRouting) {\n this.handleSortRouting();\n } else {\n this.handleSortBasic();\n }\n }\n }\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n this.renderHeaderColumn();\n }\n\n handleSortRouting() {\n this.filterGroup = this.filtersTableService.getTableFilterGroup(this.tableName);\n\n const filterGroupChangeSub = this.filterGroup.valuesChange$.subscribe((filters:NwbFilter[]) => {\n if (!filters || !filters.length) {\n return;\n }\n const filterSort = filters.filter(filter => filter.key === 'sort')[0];\n if (this.sortName !== filterSort.value) {\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(filterGroupChangeSub);\n }\n\n handleSortBasic() {\n const sortChangeSub = this.filtersTableService.getSortChangeListner().subscribe(sort => {\n if (this.tableName === sort.dataTableName && this.sortName !== sort.sortName) {\n // Reset the current sort icon\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(sortChangeSub);\n }\n\n resetSortIcon() {\n // Replace current icon with default icon\n this.contentHeader.className = this.contentHeader.className.replace(this.getCurrentSortIcon(), 'idle');\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__head__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__head__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n\n renderHeaderColumn() {\n this.createHeaderContent();\n this.renderer.appendChild(this.currentCell.nativeElement, this.contentHeader);\n }\n\n createHeaderContent() {\n this.contentHeader = document.createElement('a');\n this.contentHeader.className = 'wac-table__head__cell__search';\n this.setHeaderName();\n if (this.tableName && this.sortName) {\n this.handleSort();\n }\n }\n\n private setHeaderName() {\n if (!this.contentHeader) {\n return;\n }\n this.contentHeader.innerHTML = this.headerName;\n }\n\n handleSort() {\n // Set icon in the header column cell\n this.contentHeader.className += ' wac-table__head__cell__search--' + this.getInitialSortIcon();\n\n // On click on the content header, change the icon and emit event\n this.renderer.listen(this.contentHeader, 'click', () => {\n const currentIcon = this.getCurrentSortIcon();\n let newIcon: string;\n let newSort: string, newOrder: boolean;\n\n switch (currentIcon) {\n case 'idle':\n newIcon = 'up';\n newSort = this.sortName;\n newOrder = true;\n break;\n\n case 'up':\n newIcon = 'down';\n newSort = this.sortName;\n newOrder = false;\n break;\n\n case 'down':\n newIcon = 'idle';\n break;\n\n default:\n newIcon = 'idle';\n break;\n }\n // Replace the icon\n this.contentHeader.className = this.contentHeader.className.replace(currentIcon, newIcon);\n\n this.emitEvents(newSort, newOrder);\n });\n }\n\n getInitialSortIcon() {\n if (!this.filterRouting) {\n return 'idle';\n }\n // Get Initial Sort Icon for Routing Filter\n let initialSortIcon = 'idle';\n if (this.filterGroup.get('sort') === this.sortName) {\n initialSortIcon = this.filterGroup.get('order') == 'true' ? 'up' : 'down';\n }\n return initialSortIcon;\n }\n\n getCurrentSortIcon() {\n const regexp = /wac-table__head__cell__search--(?<icon>\\w+)/;\n const { groups } = regexp.exec(this.contentHeader.className);\n return groups.icon;\n }\n\n emitEvents(newSort, newOrder) {\n if (this.filterRouting) {\n // Will send the filter routing value has changes event\n this.filterGroup.setValues({\n sort: newSort,\n order: newOrder,\n currentPage: 1\n });\n } else {\n // Send the event sort change\n this.filtersTableService.emitSortChange(this.tableName, this.sortName, newOrder);\n }\n if (this.tableFilters) {\n this.tableFilters.sort = this.sortName;\n this.tableFilters.order = newOrder;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n }\n this.onSortChange.emit(newOrder);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => {\n subscription.unsubscribe();\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { InputSearchModule } from '../inputs/input-search/input-search.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { TableColumn } from './directives/column.directive';\nimport { TableColumnHeader } from './directives/columnHeader.directive';\nimport { TableRow } from './directives/raw.directive';\n\nimport { TableComponent } from './table.component';\n\nconst directives = [TableColumn, CheckBoxRow, TableColumnHeader, TableRow,]\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n InputSearchModule,\n LoaderModule,\n CheckboxModule,\n PaginationModule\n ],\n exports: [TableComponent, ...directives],\n declarations: [TableComponent, ...directives],\n providers: [],\n})\nexport class TableModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-upload',\n templateUrl: './upload.component.html'\n})\nexport class UploadComponent implements OnInit {\n @Input()\n label: string = 'Choisir les images à importer';\n @Input()\n type: string = 'button';\n @Input()\n icon: string | boolean = 'far fa-images';\n @Input()\n image: string | boolean = 'assets/angular-components/images/upload/icon_picture.svg';\n @Input()\n labelImage: string = 'Glisser-déposer votre image ici';\n\n @Output()\n open = new EventEmitter<any>();\n constructor() {}\n\n ngOnInit(): void {}\n\n triggerEvent(event) {\n this.open.emit(event);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-h4',\n templateUrl: './h4.component.html'\n})\nexport class H4Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { CalllToAction } from '../call-to-action.model';\nimport { SelectItem } from '../select-items.dto';\n\n@Component({\n selector: 'wac-select-in-text',\n templateUrl: './select-in-text.component.html'\n})\nexport class SelectInTextComponent implements OnInit {\n @Input()\n set items(items: SelectItem[]) {\n this._items = items;\n this.setInitialValues();\n }\n get items(): SelectItem[] {\n return this._items;\n }\n private _items: SelectItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n label: string;\n\n @Input()\n maxWidthItems: string;\n\n @Input()\n type = 'default';\n\n @Input()\n callToAction: CalllToAction;\n\n @Input()\n preText: string;\n\n @Input()\n postText: string;\n\n @Input()\n alwaysOpen: boolean = false;\n\n openCategories = false;\n\n currentLabel: string = '';\n currentLabelIcon: string = '';\n\n @Input() maxWidth = '100%';\n\n @Output() selectValue = new EventEmitter<number>();\n\n @Output() clickOnCallToAction = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit(): void {\n this.currentLabel = this.placeholder;\n this.setInitialValues();\n }\n\n setInitialValues() {\n if (!this.items.length) {\n return;\n }\n\n const itemSelected: SelectItem = this.getItemSelected();\n this.setCurrentItem(itemSelected);\n }\n\n onClose() {\n this.openCategories = false;\n }\n\n customTB(item: SelectItem, index: number) {\n return `${item.id}-${index}`;\n }\n\n onSelectItem(index: number) {\n this.unselectAll();\n const itemSelected: SelectItem = this.items[index];\n this.setCurrentItem(itemSelected);\n this.selectValue.emit(index);\n }\n\n onClickCallToAction() {\n this.clickOnCallToAction.emit(this.callToAction.value);\n }\n\n private getItemSelected():SelectItem {\n let itemSelected: SelectItem = null;\n this.items.forEach(item => {\n if (!item.selected) {\n return;\n }\n itemSelected = item;\n });\n return itemSelected;\n }\n\n private setCurrentItem(itemSelected: SelectItem) {\n if (!itemSelected) {\n return;\n }\n itemSelected.selected = true;\n this.currentLabel = itemSelected.name;\n this.currentLabelIcon = itemSelected.icon;\n }\n\n private unselectAll() {\n this.items.forEach(item => item.selected = false);\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport { CalllToAction } from '../call-to-action.model';\r\nimport { SelectItem } from '../select-items.dto';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'wac-select',\r\n templateUrl: './select.component.html',\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }]\r\n})\r\nexport class SelectComponent implements OnInit, ControlValueAccessor {\r\n //! Refacto improve sroll on mobile, see with Pauline\r\n // todo could be simplify. Check filters manager implementation for use case\r\n\r\n _items: SelectItem[];\r\n @Input() set items(items: SelectItem[]) {\r\n this._items = items;\r\n this.setIndexItemSelected();\r\n }\r\n\r\n get items() : SelectItem[] {\r\n return this._items;\r\n }\r\n\r\n @Input()\r\n placeholder: string;\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n maxWidthItems: string; // todo improvre type like : export type CssUnits = 'em'| 'rem' | 'px'; export type CssUnit = `${number}${CssUnits}`;\r\n\r\n @Input()\r\n search = false;\r\n\r\n @Input()\r\n searchValue: string = '';\r\n\r\n @Input() openUp = false;\r\n\r\n @Output() searchValueChange = new EventEmitter<string>();\r\n\r\n @Input()\r\n type = 'default';\r\n\r\n _calllToAction: CalllToAction; // todo maybe replace by ng-content or allow template or child component like <wac-call-to-action>...\r\n @Input() set callToAction(callToAction: CalllToAction) {\r\n this._calllToAction = callToAction;\r\n }\r\n\r\n get callToAction(): CalllToAction {\r\n return this._calllToAction;\r\n }\r\n\r\n @Input() maxWidth = '100%';\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Output() selectValue = new EventEmitter<number>(); // todo rename more explicit\r\n\r\n @Output() clickOnCallToAction = new EventEmitter<any>();\r\n\r\n @ViewChild('search') searchElement: ElementRef;\r\n\r\n openCategories = false;\r\n\r\n indexItemSelected: number = -1;\r\n\r\n constructor(private translateService: TranslateService) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onClose() {\r\n this.openCategories = false;\r\n }\r\n\r\n customTB(item: SelectItem, index: number) {\r\n return `${item.id}-${index}`;\r\n }\r\n\r\n onSelectItem(id: number) {\r\n this.unselectAll();\r\n this.setIndexItemSelectedById(id);\r\n const itemSelected: SelectItem = this.getItemSelected();\r\n itemSelected.selected = true;\r\n this.selectValue.emit(this.indexItemSelected);\r\n this.onChange(itemSelected);\r\n }\r\n\r\n onClickCallToAction() {\r\n this.onClose();\r\n this.clickOnCallToAction.emit(this.callToAction.value);\r\n }\r\n\r\n onSearcheValueChange() {\r\n this.searchValueChange.emit(this.searchValue);\r\n }\r\n\r\n private getItemSelected(): SelectItem {\r\n return this.items[this.indexItemSelected];\r\n }\r\n\r\n showCategories() {\r\n this.openCategories = true;\r\n setTimeout(() => { // this will make the execution after the above boolean has changed\r\n this.searchElement.nativeElement?.focus();\r\n }, 0);\r\n }\r\n\r\n private unselectAll() {\r\n this.items.forEach(item => item.selected = false);\r\n }\r\n\r\n private setIndexItemSelectedById(id: number) {\r\n this.indexItemSelected = this.items.findIndex(item => item.id === id);\r\n }\r\n\r\n private setIndexItemSelected() {\r\n this.indexItemSelected = this.items.findIndex(item => item.selected);\r\n }\r\n\r\n // ControlValueAccessor methods\r\n\r\n onChange: (selectItem: SelectItem) => void = () => {};\r\n onTouch: any = () => {}\r\n\r\n writeValue(selectItem: any){\r\n if (!selectItem) {\r\n return;\r\n }\r\n this.unselectAll();\r\n selectItem.selected = true;\r\n this.setIndexItemSelectedById(selectItem.id);\r\n }\r\n\r\n registerOnChange(fn: any){\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any){\r\n this.onTouch = fn;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-multiple-search',\n templateUrl: './multiple-search.component.html'\n})\nexport class MultipleSearchComponent implements OnInit {\n @Input() options = {};\n @Input() alwaysOpen = false;\n label = '';\n placeholder = '';\n icon = '';\n query = '';\n search: any = '';\n openSelect = false;\n error = 'wac.simpleSearchComponent.error';\n showError = false;\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n this.setPlaceholder();\n this.setLabel();\n this.setQuery();\n this.setIcon();\n }\n\n setSearchValueToQuery(value) {\n if (value.code !== 'Enter') {\n this.search = encodeURI(value.target.value);\n } else {\n this.submitForm();\n }\n }\n\n submitForm() {\n if (this.search) {\n if (this.search.length > 0) {\n window.location.href = this.query.replace('{s}', this.search);\n } else {\n this.displayError();\n }\n } else {\n this.displayError();\n }\n }\n\n setPlaceholder(value?) {\n if (value) {\n this.placeholder = this.options[value].placeholder;\n } else {\n this.placeholder = this.options[0].placeholder;\n }\n }\n\n setLabel(value?) {\n if (value) {\n this.label = this.options[value].label;\n } else {\n this.label = this.options[0].label;\n }\n }\n\n setQuery(value?) {\n if (value) {\n this.query = this.options[value].queries;\n } else {\n this.query = this.options[0].queries;\n }\n }\n\n displayError() {\n this.showError = true;\n setTimeout(() => {\n this.hideError();\n }, 2000);\n }\n\n hideError() {\n this.showError = false;\n }\n\n setIcon(value?) {\n if (value) {\n this.icon = this.options[value].icon;\n } else {\n this.icon = this.options[0].icon;\n }\n }\n\n openFuncSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n resetAllVue(value) {\n this.setPlaceholder(value);\n this.setLabel(value);\n this.setQuery(value);\n this.setIcon(value);\n this.search = '';\n this.closeSelect();\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MultipleSearchPlusOption } from './shared/multiple-search-plus-option.model';\nimport { MultipleSearchPlusResults } from './shared/multiple-search-plus-results.model';\n\n@Component({\n selector: 'wac-multiple-search-plus',\n templateUrl: './multiple-search-plus.component.html'\n})\nexport class MultipleSearchPlusComponent implements OnInit {\n\n currentOption:number;\n label = '';\n placeholder = '';\n openSelect = false;\n openSearchResults = false;\n\n isLoading = true;\n\n @Input() options:MultipleSearchPlusOption[];\n @Input() searchResults:MultipleSearchPlusResults[];\n\n @Output() searchValue = new EventEmitter();\n @Output() optionsChange = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.setCurrentOption();\n this.setPlaceholder();\n this.setLabel();\n }\n\n setSearchValue(value:any) {\n if(value.target.value != ''){\n this.openSearchResults = true;\n } else {\n this.openSearchResults = false;\n }\n this.searchValue.emit({ currentOption: this.options[this.currentOption].code, value: value.target.value });\n }\n\n setCurrentOption(value?:number) {\n this.currentOption = value || 0;\n }\n\n setPlaceholder(value?:number) {\n this.placeholder = value ? this.options[value].placeholder : this.options[0].placeholder;\n }\n\n setLabel(value?:number) {\n this.label = value ? this.options[value].label : this.options[0].label;\n }\n\n onToggleSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n closeSearchResults() {\n this.openSearchResults = false;\n }\n\n resetAllVue(value:number) {\n this.searchResults = undefined;\n this.setCurrentOption(value);\n this.setPlaceholder(value);\n this.setLabel(value);\n this.openSearchResults = false;\n this.closeSelect();\n }\n\n addResult(index:number) {\n let alreadyExist = false;\n this.options[this.currentOption].table.forEach(elem => {\n if(elem.id == this.searchResults[index].id){\n alreadyExist = true;\n }\n });\n if(!alreadyExist) {\n this.options[this.currentOption].table.push(this.searchResults[index]);\n }\n this.resetAllVue(this.currentOption);\n this.optionsChange.emit({ currentOption: this.options[this.currentOption].code, action: 'add'});\n }\n\n deleteResult(indexItem:number, index:number) {\n this.options[index].table.splice(indexItem,1);\n this.optionsChange.emit({ currentOption: this.options[index].code, action: 'delete'});\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { OptionItem } from './option-item.dto';\n\n@Component({\n selector: 'wac-input-with-select',\n templateUrl: './input-with-select.component.html'\n})\nexport class InputWithSelectComponent implements OnInit {\n // todo add ngmodel for input\n @Input()\n label: string;\n\n @Input()\n text: string;\n\n @Input()\n options: OptionItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n id: string;\n\n currentLabel: string;\n showSelect = false;\n\n @Output() inputValueChange = new EventEmitter<string>();\n @Output() selectValueChange = new EventEmitter<number>();\n\n constructor() {}\n\n ngOnInit() {\n this.options.forEach((item) => {\n if (item.active) {\n this.currentLabel = item.label;\n }\n });\n }\n\n onClickItem(index: number) {\n this.unActiveAll();\n const optionSelected: OptionItem = this.options[index];\n optionSelected.active = true;\n this.currentLabel = optionSelected.label;\n this.showSelect = false;\n this.selectValueChange.emit(index);\n }\n\n onToggleSelect() {\n this.showSelect = !this.showSelect;\n }\n\n onCloseSelect() {\n this.showSelect = false;\n }\n\n onChangeInputValue(e: any) {\n this.inputValueChange.emit(e.target.value);\n }\n\n private unActiveAll() {\n this.options.forEach((item) => {\n item.active = false;\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DomService } from '../../services/dom.service';\r\n\r\n@Component({\r\n selector: 'wac-popin',\r\n templateUrl: './popin.component.html'\r\n})\r\nexport class PopinComponent implements OnInit {\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n content: string;\r\n\r\n @Input()\r\n imgSrc: string;\r\n\r\n @Input()\r\n okButtonLabel: string;\r\n\r\n @Input()\r\n koButtonLabel: string;\r\n\r\n @Input()\r\n okButtonClass: string;\r\n\r\n @Input()\r\n koButtonClass: string;\r\n\r\n @Input()\r\n visible = false;\r\n\r\n @Output()\r\n visibleChange = new EventEmitter();\r\n\r\n @Output()\r\n response = new EventEmitter();\r\n\r\n @Input()\r\n background = true;\r\n\r\n @Input()\r\n closeOnBackgroundClick: boolean = true;\r\n\r\n firstOpen = true;\r\n\r\n constructor(private domService: DomService) { }\r\n\r\n ngOnInit() {\r\n this.domService.setDocumentEventListener();\r\n }\r\n\r\n validatePopin() {\r\n this.response.emit(true);\r\n this.closePopin();\r\n }\r\n\r\n refusePopin(){\r\n this.response.emit(false);\r\n this.closePopin();\r\n }\r\n\r\n closePopin(clickOnBackground: boolean = false) {\r\n if (!this.closeOnBackgroundClick && clickOnBackground) {\r\n return;\r\n }\r\n if(!this.firstOpen){ //trick for auto-hide directive that close immediatly the pop-in\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n this.firstOpen = true;\r\n } else {\r\n this.firstOpen = false;\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomService } from '../../services/dom.service';\n\n@Component({\n selector: 'wac-free-popin',\n templateUrl: './free-popin.component.html'\n})\nexport class FreePopinComponent implements OnInit {\n @Input()\n okButtonLabel: string;\n\n @Input()\n koButtonLabel: string;\n\n @Input()\n visible = false;\n\n @Input()\n disableCloseOutside = false;\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n response = new EventEmitter();\n\n @Input()\n background = true;\n\n @Input()\n zIndex: number = 9999;\n\n firstOpen = true;\n\n constructor(private domService: DomService) { }\n\n ngOnInit() {\n this.domService.setDocumentEventListener();\n }\n\n validatePopin() {\n this.response.emit(true);\n this.closePopin();\n }\n\n refusePopin(){\n this.response.emit(false);\n this.closePopin();\n }\n\n closePopin() {\n if (!this.firstOpen || this.disableCloseOutside) {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n this.firstOpen = true;\n } else {\n this.firstOpen = false;\n }\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'wac-block',\n templateUrl: './block.component.html'\n})\nexport class BlockComponent {\n @Input()\n titleBlock = ''; // Titre interne au block\n\n @Input()\n titleExternalBlock = false; // Titre externe au block\n\n @Input()\n sticky = false; // add sticky to block\n\n @Input()\n simple = false;\n\n @Input()\n noFullHeight = false; // not full height\n\n @Input()\n icon = '';\n\n @Input()\n titleUppercase = true;\n\n @Input()\n borderRadius = false;\n\n @Input()\n removePadding = false;\n\n @Input()\n stretchHeight = false;\n\n constructor() {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper',\n templateUrl: './wrapper.component.html'\n})\nexport class WrapperComponent implements OnInit {\n @Input()\n size = 'fullsize';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FilterItem } from './filter-item.dto';\n\n@Component({\n selector: 'wac-filters',\n templateUrl: './filters.component.html'\n})\nexport class FiltersComponent implements OnInit {\n\n @Input()\n options: FilterItem[];\n\n @Input()\n labelRestart: string = 'Afficher toutes les catégories';\n\n @Output()\n filterChange = new EventEmitter<number>();\n\n filterActiveIndex?: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.options.forEach((item, index) => {\n\n if (item.active) {\n this.filterActiveIndex = '' + index;\n }\n });\n\n }\n\n activeFilter(index: number) {\n this.options[index].active = true;\n this.filterActiveIndex = '' + index;\n this.filterChange.emit(index);\n }\n\n resetFilter() {\n this.options.forEach((item) => {\n item.active = false;\n });\n this.filterActiveIndex = null;\n this.filterChange.emit(-1);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-blocs',\n templateUrl: './wrapper-blocs.component.html'\n})\nexport class WrapperBlocsComponent implements OnInit {\n @Input()\n sidebar = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Input, OnInit, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n selector: 'wac-snackbar',\n templateUrl: './snackbar.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('state', [\n state(\n 'void',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'inactive',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'active',\n style({\n bottom: '0px'\n })\n ),\n transition('void => active', animate(300)),\n transition('active => inactive', animate(300))\n ])\n ]\n})\nexport class SnackbarComponent implements OnInit {\n\n @Input() message: string;\n @Input() textButtonOk?: string;\n @Input() textButtonKo?: string;\n @Input() duration?: number;\n @Input() color?: string;\n @Input() buttonColor?: string;\n\n @Input() visible = false;\n @Output() visibleChange = new EventEmitter();\n\n @Output() response = new EventEmitter();\n\n private manualClose = false;\n\n private timer: any;\n\n ngOnInit() {\n if (this.duration > 0) {\n this.timer = setTimeout(() => this.manualClose = true, this.duration);\n }\n }\n\n validate(){\n this.response.emit(true);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n refuse(){\n this.response.emit(false);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n closeSnackbar(){\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n}\n","import { Observable, Subject } from 'rxjs';\nimport { AlertPopupConfig } from './alert-popup.service';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-alert-popup',\n templateUrl: './alert-popup.component.html',\n host: {\n class: 'wac-alert-popup'\n },\n encapsulation: ViewEncapsulation.None\n})\nexport class AlertPopupComponent implements OnInit {\n config: AlertPopupConfig;\n\n /** Subject for notifying the user that the dialog has finished closing. */\n private afterClosedPopup: Subject<any> = new Subject();\n\n open = false;\n\n private timer: any;\n\n ngOnInit() {\n setTimeout(() => {\n this.open = true;\n }, 50);\n\n if (this.config.duration > 0) {\n this.timer = setTimeout(() => this.dismiss(), this.config.duration);\n }\n }\n\n dismiss() {\n this.open = false;\n\n setTimeout(() => {\n this.afterClosedPopup.next(true);\n this.afterClosedPopup.complete();\n }, 200);\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished closing.\n */\n afterClosed(): Observable<any> {\n return this.afterClosedPopup.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AlertPopupComponent } from './alert-popup.component';\nimport {DomService} from '../../services/dom.service';\n\n@Injectable()\nexport class AlertPopupService {\n constructor(private domService: DomService) {}\n\n open(config: AlertPopupConfig): AlertPopupComponent {\n const componentRef = this.getComponentRef(config);\n\n return componentRef.instance;\n }\n\n private getComponentRef(config: AlertPopupConfig) {\n const componentRef = this.domService.attachComponentPortal(AlertPopupComponent);\n\n config = Object.assign(\n {\n position: 'is-top'\n },\n config\n );\n\n componentRef.instance.config = config;\n\n componentRef.instance.afterClosed().subscribe(() => {\n componentRef.destroy();\n });\n\n return componentRef;\n }\n}\n\nexport interface AlertPopupConfig {\n message: string;\n title?: string;\n icon?: string;\n color?: string;\n position?: string;\n duration?: number;\n extraClasses?: string;\n fullsize?: boolean;\n opacity?: boolean;\n small?: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AlertPopupService } from './alert-popup.service';\nimport { AlertPopupComponent } from './alert-popup.component';\n\n@NgModule({\n imports: [CommonModule],\n providers: [AlertPopupService],\n entryComponents: [AlertPopupComponent],\n declarations: [AlertPopupComponent],\n exports: [AlertPopupComponent]\n})\nexport class AlertPopupModule {}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SearchOption} from './shared/search-option.model';\nimport {SelectItem} from '../selects/select-items.dto';\n\n@Component({\n selector: 'wac-search',\n templateUrl: './search.component.html'\n})\nexport class SearchComponent implements OnInit {\n\n @Input() placeholder: string;\n @Input() alwaysOpen = false;\n @Input() label: string;\n @Input() options: SearchOption[];\n @Input() disableSearchIn = false;\n @Input() emptyResult = '';\n search: any = '';\n openSelect = false;\n triggerOptions: SearchOption[];\n @Output() selectValue = new EventEmitter<number>();\n @Output() searchKeyUp = new EventEmitter<string>();\n @Output() searchFocusOut = new EventEmitter<string>();\n constructor() {}\n\n ngOnInit() {\n this.triggerOptions = this.options;\n }\n\n onClose() {\n this.openSelect = false;\n }\n\n setSearchValueToQuery(value) {\n this.search = value.target.value;\n if (this.disableSearchIn) {\n this.triggerOptions = this.options;\n } else {\n if (this.search.length > 0) {\n this.openSelect = true;\n this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);\n } else {\n this.triggerOptions = this.options;\n }\n }\n this.searchKeyUp.emit(this.search);\n }\n\n sendEventFocusOut() {\n this.searchFocusOut.emit(this.search);\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n onSelectItem(index: number, value: number, label: string) {\n this.search = '';\n this.openSelect = false;\n if (this.disableSearchIn) {\n this.selectValue.emit(index);\n } else {\n const findInOption = this.options.findIndex(element => element.label === label && element.id === value);\n this.selectValue.emit(findInOption);\n }\n }\n\n resetAllVue() {\n this.search = '';\n this.closeSelect();\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SelectedListOption} from './shared/selected-list-option.model';\n\n@Component({\n selector: 'wac-selected-list',\n templateUrl: './selected-list.component.html',\n})\nexport class SelectedListComponent implements OnInit {\n\n @Input() options: SelectedListOption[] = [];\n @Input() label: string;\n @Input() textSelectAll: string;\n @Input() textUnSelectAll: string;\n @Input() enableSelectAll = true;\n @Output() selectedItemsIndex = new EventEmitter<number>();\n @Output() selectedItemsAll = new EventEmitter<number[]>();\n @Output() unSelectedItemsAll = new EventEmitter<number[]>();\n\n selectedOptionIndex = [];\n\n ngOnInit() {\n }\n\n onSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = true;\n return index;\n });\n this.selectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onUnSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = false;\n return index;\n });\n this.unSelectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onSelectItem(index: number) {\n this.options[index].checked = !this.options[index].checked;\n this.selectedItemsIndex.emit(index);\n }\n\n areAllOptionsChecked() {\n return !this.options.some(option => !option.checked);\n }\n\n}\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'wac-tree',\n templateUrl: 'tree.component.html'\n})\n\nexport class TreeComponent implements OnInit {\n\n // https://indepth.dev/posts/1405/ngtemplateoutlet\n\n\n /**\n *! items sould include RecursifDto interface\n */\n @Input() items: any[];\n @Input() treeDepth:number = 0;\n @Input(\"optionTemplate\")\n optionTemplate: TemplateRef<any>;\n\n constructor() { }\n\n ngOnInit() { }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToRecursifTree'\n})\n\nexport class FormatObjectToRecursifTreePipe implements PipeTransform {\n\n childrenProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[]): any {\n this.childrenProperties = childrenProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToRecursifTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToRecursifTree(object: any, treeDepth:number): any {\n for (const childrenProperty of this.childrenProperties) {\n\n object.hasTreeChildren = true;\n\n if (!object.hasOwnProperty(childrenProperty)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[childrenProperty])) {\n throw `Property : \"${childrenProperty}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[childrenProperty];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToRecursifTree(object.treeChildren, treeDepth++);\n break;\n }\n\n object.treeDepth = treeDepth;\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToSimpleTree'\n})\n\nexport class FormatObjectToSimpleTreePipe implements PipeTransform {\n\n private childrenProperties: string[] = [];\n private labelProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[], labelProperties: string[]): any {\n\n this.childrenProperties = childrenProperties;\n this.labelProperties = labelProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToSimpleTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToSimpleTree(object: any, treeDepth:number): any {\n for (const property in object) {\n\n if (!Object.prototype.hasOwnProperty.call(object, property)) {\n continue;\n }\n\n if (this.labelProperties.includes(property)) {\n object.treeLabel = object[property];\n continue;\n }\n\n object.hasTreeChildren = true;\n\n if (!this.childrenProperties.includes(property)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[property])) {\n throw `Property : \"${property}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[property];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToSimpleTree(object.treeChildren, treeDepth++);\n break;\n }\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectItem } from '../../components/selects/select-items.dto';\n\n@Pipe({\n name: 'selectFilters'\n})\n\nexport class SelectFiltersPipe implements PipeTransform {\n transform(items: SelectItem[], filterName: string): any {\n return items.filter(item => {\n const regexp = new RegExp(filterName, 'i');\n return regexp.test(item.name);\n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectedListOption } from '../../components/selected-list/shared/selected-list-option.model';\n\n@Pipe({\n name: 'areAllOptionsSelected',\n pure: false\n})\n\nexport class AreAllOptionsSelectedPipe implements PipeTransform {\n transform(options: SelectedListOption[]): boolean {\n return !options.some(option => !option.checked);\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FormatObjectToRecursifTreePipe } from './tree/format-object-to-recursif-tree.pipe';\nimport { FormatObjectToSimpleTreePipe } from './tree/format-object-to-simple-tree.pipe';\nimport { SelectFiltersPipe } from './select/select-filters.pipe';\nimport { AreAllOptionsSelectedPipe } from './selected-list/are-all-options-selected.pipe';\n\nconst exportedPipes = [FormatObjectToRecursifTreePipe, FormatObjectToSimpleTreePipe];\n\nconst pipes = [\n SelectFiltersPipe,\n AreAllOptionsSelectedPipe\n]\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [...exportedPipes, ...pipes],\n exports: [...exportedPipes, ...pipes]\n})\nexport class SharedPipes {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedPipes } from '../../pipes/shared-pipes.module';\nimport { TreeComponent } from './tree.component';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SharedPipes\n ],\n exports: [TreeComponent],\n declarations: [TreeComponent],\n providers: [],\n})\nexport class TreeModule { }\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-wrapper-sidebar',\r\n templateUrl: './wrapper-sidebar.component.html'\r\n})\r\nexport class WrapperSidebarComponent implements OnInit {\r\n\r\n @Input() reverse = false;\r\n @Input() hideBackground = false;\r\n @Input() backgroundGrey: string;\r\n @Input() backgroundWidth: string;\r\n @Input() stickySidebar = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {BreadcrumbsDto} from './breadcrumbs.dto';\r\n\r\n@Component({\r\n selector: 'wac-breadcrumbs',\r\n templateUrl: './breadcrumbs.component.html',\r\n})\r\nexport class BreadcrumbsComponent implements OnInit {\r\n\r\n @Input()\r\n breadcrumbs: BreadcrumbsDto[];\r\n\r\n @Input()\r\n noResponsive = false;\r\n\r\n index: number = 0;\r\n\r\n @Output()\r\n indexChange = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n valueChanged(i) {\r\n this.index = i;\r\n this.indexChange.emit(this.index);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-card-price',\r\n templateUrl: './card-price.component.html',\r\n})\r\nexport class CardPriceComponent implements OnInit {\r\n\r\n @Input()\r\n amount: string;\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n selected = false;\r\n\r\n @Input()\r\n btnLabelSelected: string;\r\n\r\n @Input()\r\n price: string | number;\r\n\r\n @Input()\r\n currency: string;\r\n\r\n @Input()\r\n priceWording: string;\r\n\r\n @Input()\r\n subtitle: string;\r\n\r\n @Input()\r\n btnLabel: string;\r\n\r\n @Input()\r\n packageSubtitle: string;\r\n\r\n @Input()\r\n linkPackageLabel: string;\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n btnTextcolor = '#ffffff';\r\n\r\n @Input()\r\n extraClasses = 'is-success';\r\n\r\n @Input()\r\n extraClassesSelected = 'is-success is-outlined';\r\n\r\n @Input()\r\n hideButton = false;\r\n\r\n @Output() public confirm: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output() public cancel: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n triggerClick() {\r\n this.confirm.emit(true);\r\n }\r\n\r\n removePackageTrigger() {\r\n this.cancel.emit(true);\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-token-check',\r\n templateUrl: './token-check.component.html',\r\n})\r\nexport class TokenCheckComponent implements OnInit {\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n value: number;\r\n\r\n @Input()\r\n max: number;\r\n\r\n warning = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-block-with-checkbox',\r\n templateUrl: './block-with-checkbox.component.html',\r\n})\r\nexport class BlockWithCheckboxComponent implements OnInit {\r\n\r\n @Input()\r\n selected = false;\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Output()\r\n checkboxAction = new EventEmitter<boolean>();\r\n\r\n randomLabelName: string;\r\n\r\n @Input()\r\n nameRadio = 'wacBlockCheckboxRadio';\r\n\r\n @Input()\r\n isFirst = false;\r\n\r\n @Input()\r\n opacity = '.45';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.randomLabelName = 'radioBlock' + Math.random() * (900 - 700) + 700;\r\n }\r\n\r\n eventSelected(event) {\r\n if (!this.disabled) {\r\n this.selected = event.target.checked;\r\n this.checkboxAction.emit(this.selected);\r\n this.isFirst = false;\r\n }\r\n }\r\n\r\n removeFirstClass() {\r\n if (typeof document.querySelectorAll('.firstWacRadioBLock')[0] !== typeof undefined) {\r\n document.querySelectorAll('.firstWacRadioBLock')[0].classList.remove('firstWacRadioBLock');\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-confirm-delete',\r\n templateUrl: './confirm-delete.component.html'\r\n})\r\nexport class ConfirmDeleteComponent implements OnInit, AfterViewInit {\r\n\r\n @Input()\r\n open = false;\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n labelCancel: string;\r\n\r\n @Input()\r\n labelConfirm: string;\r\n\r\n @Output()\r\n confirm = new EventEmitter<boolean>();\r\n\r\n @Input()\r\n backgroundColor = '#fff';\r\n\r\n @Input()\r\n borderRadius = '0px';\r\n\r\n hideText = false;\r\n\r\n @ViewChild('container') container: ElementRef;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n eventCancel(event) {\r\n this.confirm.emit(false);\r\n this.open = false;\r\n }\r\n\r\n eventConfirm(event) {\r\n this.confirm.emit(true);\r\n this.open = false;\r\n }\r\n\r\n responsiveControl(size) {\r\n if (size < 342) {\r\n this.hideText = true;\r\n } else {\r\n this.hideText = false;\r\n }\r\n }\r\n\r\n @HostListener('window:resize')\r\n onResize(): void {\r\n this.responsiveControl(this.container.nativeElement.offsetWidth);\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.responsiveControl(this.container.nativeElement.offsetWidth);\r\n }, 100);\r\n }\r\n\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output, SimpleChanges, TemplateRef, ViewEncapsulation} from '@angular/core';\r\n\r\nexport type ImageSource = string;\r\nexport type ImageAlt = string;\r\n\r\nexport type MosaicImage = {\r\n src: ImageSource,\r\n alt: ImageAlt\r\n}\r\n\r\nexport type MosaicImages = Readonly<MosaicImage[]>;\r\n\r\n@Component({\r\n selector: 'wac-mosaic',\r\n templateUrl: './mosaic.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MosaicComponent {\r\n\r\n @Input() imagesList: MosaicImages = [];\r\n\r\n @Input() isLoading = false;\r\n\r\n @Input() numberOfColumn = 3;\r\n\r\n @Input() hoverImageTemplate: TemplateRef<any>;\r\n\r\n @Output() importImageSrc = new EventEmitter<ImageSource>();\r\n\r\n @Output() loadMoreImages = new EventEmitter<void>();\r\n\r\n columns: MosaicImages[];\r\n\r\n trackColumn(index: number ) {\r\n return index;\r\n }\r\n\r\n trackImage(index: number, image: MosaicImage ) {\r\n return image.src;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n console.log('changes', changes);\r\n const isNumberOfColumnChange = changes.numberOfColumn && (changes.numberOfColumn.currentValue !== changes.numberOfColumn.previousValue);\r\n if (changes.imagesList) {\r\n this.generateColumns(changes.imagesList.previousValue, changes.imagesList.currentValue, isNumberOfColumnChange);\r\n return;\r\n }\r\n\r\n if (isNumberOfColumnChange) {\r\n this.generateColumns(null, this.imagesList, isNumberOfColumnChange);\r\n }\r\n }\r\n\r\n generateColumns(previousList: MosaicImages, currentList: MosaicImages, isNumberOfColumnChange: boolean) {\r\n const isNewListSmaller = (currentList && previousList) && (currentList.length < previousList.length);\r\n const resetColumns = isNumberOfColumnChange || isNewListSmaller;\r\n const isPreviousListExisting = previousList?.length;\r\n const newImagesToDisplay = !isPreviousListExisting || resetColumns ? currentList : currentList.slice(previousList.length);\r\n let columns = this.separateImagesIntoColumns(newImagesToDisplay);\r\n\r\n if (isPreviousListExisting && !resetColumns) {\r\n const existingColumns = this.columns;\r\n columns = this.concatColumns(existingColumns, columns);\r\n }\r\n\r\n this.columns = columns;\r\n }\r\n\r\n separateImagesIntoColumns(newImagesToDisplay: MosaicImages): MosaicImages[] { // https://stackoverflow.com/questions/8495687/split-array-into-chunks\r\n const columns = [];\r\n const numberOfImagePerColumn = Math.floor(newImagesToDisplay.length / this.numberOfColumn);\r\n for (let i = 0; i < newImagesToDisplay.length; i += numberOfImagePerColumn) {\r\n const chunk = newImagesToDisplay.slice(i, i + numberOfImagePerColumn);\r\n columns.push(chunk);\r\n }\r\n return columns;\r\n }\r\n\r\n concatColumns(oldColumns: MosaicImages[], newColumns: MosaicImages[]): MosaicImages[] {\r\n return oldColumns.map((oldColumn, columnIndex) => [...oldColumn, ...newColumns[columnIndex]]);\r\n }\r\n\r\n onBottomReached() {\r\n this.loadMoreImages.emit();\r\n }\r\n\r\n onImportImage(src: ImageSource) {\r\n this.importImageSrc.emit(src);\r\n }\r\n}\r\n","import {AfterContentInit, AfterViewInit, Component, ContentChild, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-content-with-buttons',\r\n templateUrl: './content-with-buttons.component.html',\r\n})\r\nexport class ContentWithButtonsComponent implements OnInit, AfterViewInit {\r\n\r\n @Input()\r\n iconCopy = 'fa-duotone fa-copy';\r\n\r\n @Input()\r\n iconTranslate = 'fa-regular fa-globe';\r\n\r\n @Input()\r\n tooltipCopy = '';\r\n\r\n @Input()\r\n tooltipTranslate = '';\r\n\r\n @Input()\r\n count = true;\r\n\r\n @Input()\r\n countCharacterLabel = 'caractères';\r\n\r\n @Input()\r\n countWordsLabel = 'mots';\r\n\r\n @Input()\r\n reportLabel: string;\r\n\r\n @Output()\r\n copyAction = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n reportAction = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n translateAction = new EventEmitter<boolean>();\r\n\r\n countWords: number;\r\n\r\n countIsReady = false;\r\n\r\n countCharacter: number;\r\n\r\n randomLabelName: string;\r\n\r\n\r\n ngOnInit() {\r\n this.randomLabelName = 'content-' + Math.random() * (900 - 700) + 700;\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n const content = document.getElementById(this.randomLabelName).innerHTML.replace(/(<([^>]+)>)/gi, '').replace(/[.,\\/#!$%\\^&\\*;:{}=\\-_`~()]/g, '');\r\n this.countCharacter = content.trim().split(' ').join('').length;\r\n this.countWords = content.trim().split(' ').length;\r\n this.countIsReady = true;\r\n });\r\n }\r\n\r\n eventCopy() {\r\n this.copyAction.emit(true);\r\n }\r\n\r\n eventTranslate() {\r\n this.translateAction.emit(true);\r\n }\r\n\r\n eventReport() {\r\n this.reportAction.emit(true);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-wrapper-multiple-block',\r\n templateUrl: './wrapper-multiple-block.component.html',\r\n})\r\nexport class WrapperMultipleBlockComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\r\n\r\n@Component({\r\n selector: 'wac-draganddrop-list',\r\n templateUrl: './draganddrop-list.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DraganddropListComponent implements OnInit {\r\n\r\n @Input()\r\n label = '';\r\n\r\n @Input()\r\n items: Array<string>;\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Input()\r\n max: number;\r\n\r\n @Input()\r\n labelBtnAdd: string;\r\n\r\n @Input()\r\n backgroundColor = '#fff';\r\n\r\n showTriggerSave = false;\r\n\r\n @Output()\r\n itemsChange = new EventEmitter<Array<string>>();\r\n\r\n ngOnInit() {\r\n }\r\n\r\n drop(event: CdkDragDrop<string[]>) {\r\n if (!this.disabled) {\r\n moveItemInArray(this.items, event.previousIndex, event.currentIndex);\r\n this.itemsChange.emit(Object.values(this.items));\r\n }\r\n }\r\n\r\n delete(index) {\r\n if (!this.disabled) {\r\n this.items = this.items.filter((value, i) => i !== index );\r\n this.itemsChange.emit(Object.values(this.items));\r\n }\r\n }\r\n\r\n saveFieldEnd(index, event) {\r\n this.items[index] = event.target.value;\r\n this.itemsChange.emit(Object.values(this.items));\r\n }\r\n\r\n addField() {\r\n this.showTriggerSave = true;\r\n }\r\n\r\n saveNewField(event) {\r\n this.items.push(event.target.value);\r\n this.itemsChange.emit(Object.values(this.items));\r\n this.showTriggerSave = false;\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-charging-bar',\r\n templateUrl: './charging-bar.component.html'\r\n})\r\nexport class ChargingBarComponent implements OnInit {\r\n\r\n @Input()\r\n value = 0;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wac-expanded-panel',\r\n templateUrl: './expanded-panel.component.html',\r\n})\r\nexport class ExpandedPanelComponent implements OnInit {\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n section = false;\r\n\r\n @Input()\r\n open = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NwbAllModule } from '@wizishop/ng-wizi-bulma';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { InputSearchComponent } from './inputs/input-search/input-search.component';\r\nimport { SharedDirectives } from '../directives/shared-directives.module';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { TagInputModule } from 'ngx-chips';\r\nimport { TableComponent } from './table/table.component';\r\nimport { TagComponent } from './tag/tag.component';\r\nimport { TabComponent } from './tab/tab.component';\r\nimport { ButtonComponent } from './button/button.component';\r\nimport { InfoComponent } from './info/info.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { DeleteComponent } from './delete/delete.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\nimport { ImageComponent } from './image/image.component';\r\nimport { BackComponent } from './back/back.component';\r\nimport { SeparatorComponent } from './separator/separator.component';\r\nimport { LogoComponent } from './logo/logo.component';\r\nimport { RadioComponent } from './radio/radio.component';\r\nimport { StateComponent } from './state/state.component';\r\nimport { LabelComponent } from './label/label.component';\r\nimport { CalendarComponent } from './calendar/calendar.component';\r\nimport { WzEditInPlaceComponent } from './edit-in-place/edit-in-place.component';\r\nimport { TextAreaComponent } from './text-area/text-area.component';\r\nimport { H1Component } from './hn/h1/h1.component';\r\nimport { H2Component } from './hn/h2/h2.component';\r\nimport { H3Component } from './hn/h3/h3.component';\r\nimport { HeaderPageComponent } from './header-page/header-page.component';\r\nimport { InputComponent } from './inputs/input/input.component';\r\nimport { LinkComponent } from './link/link.component';\r\nimport { ProgressBarComponent } from './progress-bar/progress-bar.component';\r\nimport { SwitchComponent } from './switch/switch.component';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\nimport { AlertComponent } from './alert/alert.component';\r\nimport { TextComponent } from './text/text.component';\r\nimport { PaginationModule } from './pagination/pagination.module';\r\nimport { PaginationComponent } from './pagination/pagination.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TableModule } from './table/table.module';\r\nimport { CheckBoxRow } from './table/directives/checkBoxRow.directive';\r\nimport { TableColumn } from './table/directives/column.directive';\r\nimport { TableColumnHeader } from './table/directives/columnHeader.directive';\r\nimport { TableRow } from './table/directives/raw.directive';\r\nimport { InputSearchModule } from './inputs/input-search/input-search.module';\r\nimport { TooltipModule } from './tooltip/tooltip.module';\r\nimport { LoaderModule } from './loader/loader.module';\r\nimport { CheckboxModule } from './checkbox/checkbox.module';\r\nimport { InputModule } from './inputs/input/input.module';\r\nimport { ProgressBarModule } from './progress-bar/progress-bar.module';\r\nimport { UploadComponent } from './upload/upload.component';\r\nimport { H4Component } from './hn/h4/h4.component';\r\nimport { SelectInTextComponent } from './selects/select-in-text/select-in-text.component';\r\nimport { SelectComponent } from './selects/select/select.component';\r\nimport { MultipleSearchComponent } from './multiple-search/multiple-search.component';\r\nimport { MultipleSearchPlusComponent } from './multiple-search-plus/multiple-search-plus.component';\r\nimport { InputWithSelectComponent } from './inputs/input-with-select/input-with-select.component';\r\nimport { PopinComponent } from './popin/popin.component';\r\nimport { FreePopinComponent } from './free-popin/free-popin.component';\r\nimport { BlockComponent } from './block/block.component';\r\nimport { WrapperComponent } from './wrapper/wrapper.component';\r\nimport { FiltersComponent } from './filters/filters.component';\r\nimport { WrapperBlocsComponent } from './wrapper-blocs/wrapper-blocs.component';\r\nimport { SnackbarComponent } from './snackbar/snackbar.component';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport {AlertPopupModule} from './alert-popup/alert-popup-module';\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SelectedListComponent} from './selected-list/selected-list.component';\r\nimport { TreeComponent } from './tree/tree.component';\r\nimport { TreeModule } from './tree/tree.module';\r\nimport { SharedPipes } from '../pipes/shared-pipes.module';\r\nimport {WrapperSidebarComponent} from './wrapper-sidebar/wrapper-sidebar.component';\r\nimport {AutosizeModule} from 'ngx-autosize';\r\nimport {BreadcrumbsComponent} from './breadcrumbs/breadcrumbs.component';\r\nimport {CardPriceComponent} from './card-price/card-price.component';\r\nimport {TokenCheckComponent} from './token-check/token-check.component';\r\nimport {BlockWithCheckboxComponent} from './block-with-checkbox/block-with-checkbox.component';\r\nimport {ConfirmDeleteComponent} from './confirm-delete/confirm-delete.component';\r\nimport {MosaicComponent} from './mosaic/mosaic.component';\r\nimport {NgScrollbarModule} from 'ngx-scrollbar';\r\nimport {NgScrollbarReachedModule} from 'ngx-scrollbar/reached-event';\r\nimport {ContentWithButtonsComponent} from './content-with-buttons/content-with-buttons.component';\r\nimport {WrapperMultipleBlockComponent} from './wrapper-multiple-block/wrapper-multiple-block.component';\r\nimport {DraganddropListComponent} from './draganddrop-list/draganddrop-list.component';\r\nimport {DragDrop, DragDropModule} from '@angular/cdk/drag-drop';\r\nimport {ChargingBarComponent} from './charging-bar/charging-bar.component';\r\nimport {ExpandedPanelComponent} from './expanded-panel/expanded-panel.component';\r\n\r\nconst components = [\r\n TagComponent,\r\n TabComponent,\r\n ButtonComponent,\r\n InfoComponent,\r\n SettingsComponent,\r\n DeleteComponent,\r\n DropdownComponent,\r\n ImageComponent,\r\n BackComponent,\r\n SeparatorComponent,\r\n LogoComponent,\r\n RadioComponent,\r\n StateComponent,\r\n LabelComponent,\r\n CalendarComponent,\r\n WzEditInPlaceComponent,\r\n AlertComponent,\r\n HeaderPageComponent,\r\n SwitchComponent,\r\n LinkComponent,\r\n H1Component,\r\n H2Component,\r\n H3Component,\r\n H4Component,\r\n TextComponent,\r\n TextAreaComponent,\r\n UploadComponent,\r\n SelectInTextComponent,\r\n SelectComponent,\r\n MultipleSearchComponent,\r\n MultipleSearchPlusComponent,\r\n InputWithSelectComponent,\r\n PopinComponent,\r\n FreePopinComponent,\r\n BlockComponent,\r\n WrapperComponent,\r\n FiltersComponent,\r\n WrapperBlocsComponent,\r\n SnackbarComponent,\r\n SearchComponent,\r\n SelectedListComponent,\r\n WrapperSidebarComponent,\r\n BreadcrumbsComponent,\r\n CardPriceComponent,\r\n TokenCheckComponent,\r\n BlockWithCheckboxComponent,\r\n ConfirmDeleteComponent,\r\n MosaicComponent,\r\n ContentWithButtonsComponent,\r\n WrapperMultipleBlockComponent,\r\n DraganddropListComponent,\r\n ChargingBarComponent,\r\n ExpandedPanelComponent\r\n];\r\n\r\nconst exportsFromModule = [\r\n PaginationComponent,\r\n TableComponent,\r\n TableColumn,\r\n CheckBoxRow,\r\n TableColumnHeader,\r\n TableRow,\r\n InputSearchComponent,\r\n InputComponent,\r\n TooltipComponent,\r\n CheckboxComponent,\r\n LoaderComponent,\r\n ProgressBarComponent,\r\n TreeComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NwbAllModule,\r\n TranslateModule.forChild(),\r\n ReactiveFormsModule,\r\n SharedDirectives,\r\n SharedPipes,\r\n CdkTableModule,\r\n TagInputModule,\r\n DragDropModule,\r\n PaginationModule,\r\n TableModule,\r\n InputSearchModule,\r\n TooltipModule,\r\n CheckboxModule,\r\n InputModule,\r\n LoaderModule,\r\n ProgressBarModule,\r\n PerfectScrollbarModule,\r\n AlertPopupModule,\r\n RouterModule,\r\n AutosizeModule,\r\n NgScrollbarModule,\r\n NgScrollbarReachedModule,\r\n TreeModule\r\n ],\r\n declarations: components,\r\n exports: [...components, ...exportsFromModule]\r\n})\r\nexport class SharedComponentsModule {}\r\n","import { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { NgModule } from '@angular/core';\nimport { SharedComponentsModule } from './components/shared-components.module';\nimport { CommonModule } from '@angular/common';\nimport { SharedDirectives } from './directives/shared-directives.module';\nimport { SharedPipes } from './pipes/shared-pipes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedComponentsModule,\n SharedDirectives,\n SharedPipes,\n NwbAllModule],\n exports: [SharedComponentsModule, SharedDirectives, SharedPipes]\n})\nexport class WiziComponentsModule {}\n","import { NwbFilterGroup } from \"@wizishop/ng-wizi-bulma\";\nimport { Observable, ReplaySubject } from \"rxjs\";\nimport { TableFilters } from \"./table-filters.model\";\n\nexport class TableFiltersGroup extends NwbFilterGroup {\n tableFiltersValuesChange$: ReplaySubject<TableFilters>;\n tableFiltersValuesDebouncedChange$: Observable<TableFilters>;\n\n set(key: \"sort\" | \"order\" | \"searchValue\" | \"totalItems\" | \"itemsPerPage\" | \"currentPage\", value: any): void {\n super.set(key, value);\n }\n\n resetToFirstPage(): void {\n this.set(\"currentPage\", 1);\n }\n}","/*\r\n * Public API Surface of angular-components\r\n */\r\n\r\nexport * from './lib/wizi-components.module';\r\nexport * from './lib/components/shared-components.module';\r\nexport * from './lib/components/tag/tag.component';\r\nexport * from './lib/components/tab/tab.component';\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/components/info/info.component';\r\nexport * from './lib/components/settings/settings.component';\r\nexport * from './lib/components/delete/delete.component';\r\nexport * from './lib/components/dropdown/dropdown.component';\r\nexport * from './lib/components/image/image.component';\r\nexport * from './lib/components/back/back.component';\r\nexport * from './lib/components/separator/separator.component';\r\nexport * from './lib/components/logo/logo.component';\r\nexport * from './lib/components/radio/radio.component';\r\nexport * from './lib/components/state/state.component';\r\nexport * from './lib/components/label/label.component';\r\nexport * from './lib/components/calendar/calendar.component';\r\nexport * from './lib/components/edit-in-place/edit-in-place.component';\r\nexport * from './lib/components/alert/alert.component';\r\nexport * from './lib/components/header-page/header-page.component';\r\nexport * from './lib/components/switch/switch.component';\r\nexport * from './lib/components/link/link.component';\r\nexport * from './lib/components/hn/h1/h1.component';\r\nexport * from './lib/components/hn/h2/h2.component';\r\nexport * from './lib/components/hn/h3/h3.component';\r\nexport * from './lib/components/hn/h4/h4.component';\r\nexport * from './lib/components/selects/select-in-text/select-in-text.component';\r\nexport * from './lib/components/text/text.component';\r\nexport * from './lib/components/text-area/text-area.component';\r\nexport * from './lib/components/pagination/pagination.component';\r\nexport * from './lib/components/table/table.component';\r\nexport * from './lib/components/table/shared/table-filters.model';\r\nexport * from './lib/components/table/shared/table-filters-group.model';\r\nexport * from './lib/components/table/directives/column.directive';\r\nexport * from './lib/components/table/directives/checkBoxRow.directive';\r\nexport * from './lib/components/table/directives/columnHeader.directive';\r\nexport * from './lib/components/table/directives/raw.directive';\r\nexport * from './lib/components/inputs/input-search/input-search.component';\r\nexport * from './lib/components/inputs/input/input.component';\r\nexport * from './lib/components/tooltip/tooltip.component';\r\nexport * from './lib/components/checkbox/checkbox.component';\r\nexport * from './lib/components/loader/loader.component';\r\nexport * from './lib/components/progress-bar/progress-bar.component';\r\nexport * from './lib/components/upload/upload.component';\r\nexport * from './lib/components/selects/select/select.component';\r\nexport * from './lib/components/selects/select-items.dto';\r\nexport * from './lib/components/inputs/input-with-select/input-with-select.component';\r\nexport * from './lib/components/inputs/input-with-select/option-item.dto';\r\nexport * from './lib/components/multiple-search/multiple-search.component';\r\nexport * from './lib/components/multiple-search-plus/multiple-search-plus.component';\r\nexport * from './lib/directives/shared-directives.module';\r\nexport * from './lib/directives/abstract-debounce/debounce-keyup.directive';\r\nexport * from './lib/directives/abstract-debounce/abstract-debounce.directive';\r\nexport * from './lib/directives/auto-hide/auto-hide.directive';\r\nexport * from './lib/directives/zindex-toggle/zindex-toggle.directive';\r\nexport * from './lib/directives/ng-var.directive';\r\nexport * from './lib/utils/html-container.class';\r\nexport * from './lib/components/selects/call-to-action.model';\r\nexport * from './lib/components/table/shared/filters-table.service';\r\nexport * from './lib/components/table/shared/table-filters.model';\r\nexport * from './lib/components/popin/popin.component';\r\nexport * from './lib/components/free-popin/free-popin.component';\r\nexport * from './lib/components/block/block.component';\r\nexport * from './lib/components/wrapper/wrapper.component';\r\nexport * from './lib/components/filters/filters.component';\r\nexport * from './lib/components/expanded-panel/expanded-panel.component';\r\nexport * from './lib/components/filters/filter-item.dto';\r\nexport * from './lib/components/wrapper-blocs/wrapper-blocs.component';\r\nexport * from './lib/components/card-price/card-price.component';\r\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-results.model';\r\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-option.model';\r\nexport * from './lib/components/snackbar/snackbar.component';\r\nexport * from './lib/components/alert-popup/alert-popup.service';\r\nexport * from './lib/components/alert-popup/alert-popup.component';\r\nexport * from './lib/components/alert-popup/alert-popup-module';\r\nexport * from './lib/components/wrapper-sidebar/wrapper-sidebar.component';\r\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\r\nexport * from './lib/components/token-check/token-check.component';\r\nexport * from './lib/components/block-with-checkbox/block-with-checkbox.component';\r\nexport * from './lib/components/confirm-delete/confirm-delete.component';\r\nexport * from './lib/components/search/search.component';\r\nexport * from './lib/components/charging-bar/charging-bar.component';\r\nexport * from './lib/components/mosaic/mosaic.component';\r\nexport * from './lib/components/content-with-buttons/content-with-buttons.component';\r\nexport * from './lib/components/wrapper-multiple-block/wrapper-multiple-block.component';\r\nexport * from './lib/components/draganddrop-list/draganddrop-list.component';\r\nexport * from './lib/components/selected-list/selected-list.component';\r\nexport * from './lib/components/selected-list/shared/selected-list-option.model';\r\nexport * from './lib/components/search/shared/search-option.model';\r\nexport * from './lib/components/tree/tree.component';\r\nexport * from './lib/components/tree/tree.module';\r\nexport * from './lib/components/tree/tree.dto';\r\nexport * from './lib/pipes/shared-pipes.module';\r\nexport * from './lib/pipes/tree/format-object-to-recursif-tree.pipe';\r\nexport * from './lib/pipes/tree/format-object-to-simple-tree.pipe';\r\nexport * from './lib/pipes/select/select-filters.pipe';\r\nexport * from './lib/pipes/selected-list/are-all-options-selected.pipe';\r\nexport * from './lib/directives/keyboard-events/keypress-enter.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {inOutX as ɵp} from './lib/animations/in-out/in-out-x.animation';\nexport {inOutY as ɵm} from './lib/animations/in-out/in-out-y.animation';\nexport {CheckboxModule as ɵl} from './lib/components/checkbox/checkbox.module';\nexport {InputSearchModule as ɵg} from './lib/components/inputs/input-search/input-search.module';\nexport {InputModule as ɵh} from './lib/components/inputs/input/input.module';\nexport {LoaderModule as ɵk} from './lib/components/loader/loader.module';\nexport {PaginationModule as ɵb} from './lib/components/pagination/pagination.module';\nexport {PagniationArrayTotalPages as ɵc} from './lib/components/pagination/pipes/array-pages.pipe';\nexport {PagniationText as ɵe} from './lib/components/pagination/pipes/custom-text.pipe';\nexport {PagniationIsLastPage as ɵd} from './lib/components/pagination/pipes/is-last-page.pipe';\nexport {ProgressBarModule as ɵj} from './lib/components/progress-bar/progress-bar.module';\nexport {TableCheckboxIdService as ɵn} from './lib/components/table/shared/table-checkbox-id.service';\nexport {TableModule as ɵf} from './lib/components/table/table.module';\nexport {TooltipModule as ɵi} from './lib/components/tooltip/tooltip.module';\nexport {DomService as ɵa} from './lib/services/dom.service';\nexport {MultiSelectionService as ɵo} from './lib/services/multiple-selection.service';"],"names":["directives","pipes"],"mappings":"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"}
|