@acpaas-ui/ngx-forms 5.2.1 → 5.3.0
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/acpaas-ui-ngx-forms.metadata.json +1 -1
- package/bundles/acpaas-ui-ngx-forms.umd.js +13 -2
- package/bundles/acpaas-ui-ngx-forms.umd.js.map +1 -1
- package/bundles/acpaas-ui-ngx-forms.umd.min.js +1 -1
- package/bundles/acpaas-ui-ngx-forms.umd.min.js.map +1 -1
- package/esm2015/lib/upload/components/upload/upload.component.js +6 -2
- package/esm2015/lib/upload/components/upload-zone/upload-zone.component.js +9 -2
- package/esm5/lib/upload/components/upload/upload.component.js +6 -2
- package/esm5/lib/upload/components/upload-zone/upload-zone.component.js +9 -2
- package/fesm2015/acpaas-ui-ngx-forms.js +13 -2
- package/fesm2015/acpaas-ui-ngx-forms.js.map +1 -1
- package/fesm5/acpaas-ui-ngx-forms.js +13 -2
- package/fesm5/acpaas-ui-ngx-forms.js.map +1 -1
- package/lib/upload/components/upload/upload.component.d.ts +1 -0
- package/lib/upload/components/upload-zone/upload-zone.component.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acpaas-ui-ngx-forms.js","sources":["ng://@acpaas-ui/ngx-forms/lib/mask/directives/mask.directive.ts","ng://@acpaas-ui/ngx-forms/lib/mask/mask.module.ts","ng://@acpaas-ui/ngx-forms/lib/shared/services/search.service.ts","ng://@acpaas-ui/ngx-forms/lib/auto-complete/components/auto-complete/auto-complete.component.ts","ng://@acpaas-ui/ngx-forms/lib/auto-complete/auto-complete.module.ts","ng://@acpaas-ui/ngx-forms/lib/datepicker/datepicker.conf.ts","ng://@acpaas-ui/ngx-forms/lib/datepicker/components/datepicker/datepicker.component.ts","ng://@acpaas-ui/ngx-forms/lib/datepicker/datepicker.module.ts","ng://@acpaas-ui/ngx-forms/lib/range-slider/components/range-slider/range-slider.component.ts","ng://@acpaas-ui/ngx-forms/lib/range-slider/range-slider.module.ts","ng://@acpaas-ui/ngx-forms/lib/search-filter/components/search-filter/search-filter.component.ts","ng://@acpaas-ui/ngx-forms/lib/search-filter/search-filter.module.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/classes/timepicker.validators.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/types/timepicker.types.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/components/timepicker/timepicker.component.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/timepicker.module.ts","ng://@acpaas-ui/ngx-forms/lib/upload/upload.conf.ts","ng://@acpaas-ui/ngx-forms/lib/upload/classes/uploader.class.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload/upload.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload-input/upload-input.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload-queue/upload-queue.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload-zone/upload-zone.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/services/validation-messages.service.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/validation-list/validation-list.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/upload.module.ts","ng://@acpaas-ui/ngx-forms/lib/wysiwyg/wysiwyg.conf.ts","ng://@acpaas-ui/ngx-forms/lib/wysiwyg/components/wysiwyg/wysiwyg.component.ts","ng://@acpaas-ui/ngx-forms/lib/wysiwyg/wysiwyg.module.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\nimport Inputmask from 'inputmask';\n\n@Directive({\n selector: '[auiMask]',\n})\nexport class MaskDirective implements OnChanges {\n @Input() public auiMask: string;\n\n constructor(private ref: ElementRef) {\n }\n\n public ngOnChanges(): void {\n this.setMask(this.auiMask);\n }\n\n private setMask(mask): void {\n Inputmask(mask).mask(this.ref.nativeElement);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MaskDirective } from './directives/mask.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n MaskDirective,\n ],\n exports: [\n MaskDirective,\n ],\n providers: [],\n})\nexport class MaskModule {\n}\n","import { Injectable } from '@angular/core';\n\nimport { SearchOptions } from '../types/search.types';\n\n@Injectable()\nexport class SearchService {\n public search(data: any[], options: SearchOptions = {}): any[] {\n const query = options.hasOwnProperty('query') ? options.query : '';\n const minLength = options.hasOwnProperty('minLength') ? options.minLength : 0;\n const key = options.hasOwnProperty('key') ? options.key : '';\n\n if ((!query && options.showAllByDefault) || query.length < minLength) {\n return [...data];\n }\n\n return [...data].filter(item => {\n if (key && !item.hasOwnProperty(key)) {\n return console.error(`\"${key}\" does not exist in item ${JSON.stringify(item, null, 2)}`);\n }\n\n if (key) {\n return this.matchItemWithSearchString(item[key], query);\n }\n\n return this.matchItemWithSearchString(item, query);\n });\n }\n\n private matchItemWithSearchString = (item: any, searchString): boolean => {\n return String(item).toLowerCase().indexOf(searchString.toLowerCase()) > -1;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { get, isEqual } from 'lodash-es';\nimport { FlyoutDirective, FlyoutZoneDirective } from '@acpaas-ui/ngx-flyout';\nimport { SearchService } from '../../../shared/services/search.service';\n\n@Component({\n selector: 'aui-auto-complete',\n styleUrls: [\n './auto-complete.component.scss',\n ],\n templateUrl: './auto-complete.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoCompleteComponent), // tslint:disable-line\n multi: true,\n },\n ],\n})\nexport class AutoCompleteComponent implements ControlValueAccessor, OnInit, OnChanges {\n @Input() id: string;\n @Input() placeholder: string;\n @Input() results: any[] = []; // The values for the selectable list\n @Input() data: any[] = []; // The values to search in when remote search is disabled\n @Input() remote = false; // Disable or enamble remote search\n @Input() minCharacters = 0;\n @Input() mask: string = null;\n @Input() clearInvalid = false;\n @Input() searchIncentiveText: string;\n @Input() loadingText: string;\n @Input() noResultsText: string;\n @Input() showAllByDefault = false;\n @Input() autoComplete = 'off';\n\n // specify which label/value props to use\n @Input() label: string;\n @Input() value: string;\n\n // Eventemitter for searchvalue (parent object should update the results with this param)\n @Output() search: EventEmitter<string> = new EventEmitter();\n @Output() select: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(FlyoutDirective, {static: true}) flyout: FlyoutDirective;\n @ViewChild(FlyoutZoneDirective, {static: true}) flyoutZone: FlyoutZoneDirective;\n\n @ContentChild(TemplateRef, {static: true}) public template: TemplateRef<any>;\n\n public query = '';\n public index = -1; // index for active element in selectable list, by default -1 (so it starts in the input field)\n public selectedItem: any = null; // keep a backup of the selectedItem\n public searching = false; // track remote search state\n public focused = false;\n public isDisabled = false;\n\n private remoteValue = false;\n\n constructor(\n private ref: ElementRef,\n private searchService: SearchService\n ) {\n }\n\n public updateModel = (_: any) => {\n }\n\n // CONTROL_VALUE_ACCESSOR interface\n public writeValue(value = '') {\n if (this.value) {\n const selected = this.data.find((item: any) => item[this.value] === value);\n\n if (selected) {\n return this.query = selected[this.label];\n }\n\n if (this.remote && !!value) {\n this.remoteValue = true;\n }\n }\n\n this.query = value;\n }\n\n // CONTROL_VALUE_ACCESSOR interface\n public registerOnChange(fn) {\n this.updateModel = fn;\n }\n\n // CONTROL_VALUE_ACCESSOR interface\n public registerOnTouched() {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public ngOnInit(): void {\n if ((Array.isArray(this.data) && this.data.length > 0) && !this.query && this.showAllByDefault) {\n this.results = [...this.data];\n }\n }\n\n // OnChanges interface\n public ngOnChanges(changes: SimpleChanges): void {\n if (!changes) {\n return;\n }\n\n const newData = get(changes, 'data.currentValue', []);\n if (!isEqual(newData, get(changes, 'data.previousValue', []))) {\n if (this.remote) {\n this.remoteSearch();\n } else {\n this.localSearch();\n }\n }\n\n if (changes.results && changes.results.currentValue) {\n this.searching = false;\n }\n }\n\n public propagateChange(item: any) {\n this.query = item !== null ? (this.label ? item[this.label] : item) : '';\n this.select.emit(item);\n\n if (!item) {\n return;\n }\n\n const key = this.value ? this.value : this.label ? this.label : null;\n this.updateModel(key ? item[key] || '' : item);\n this.selectedItem = item;\n }\n\n /**\n * triggers on input value change\n */\n public doSearch(): void {\n this.index = -1; // reset index\n this.searching = true;\n\n if (this.remote) {\n this.search.emit(this.query); // ask for new remote data\n } else {\n this.localSearch();\n }\n\n this.openFlyout(); // open the flyout when there is a change\n }\n\n /**\n * triggers on selectable-list:select -> onClick event in selectable-list\n */\n public onSelect(item: any): void {\n this.propagateChange(item);\n this.closeFlyout(); // Close the flyout manually\n }\n\n public onFlyoutClosed(): void {\n // there is only 1 result, select it\n if (this.index >= 0 && this.results.length === 1) {\n return this.onSelect(this.results[0]);\n }\n\n // there is no query nor selected item, clear the selected item\n if (!this.query && this.index < 0) {\n return this.onSelect(null);\n }\n\n // reset the query for an invalid query if clearInvalid is true\n if (this.clearInvalid && this.query && !this.results.length && this.index < 0) {\n this.query = this.selectedItem ? this.label ? this.selectedItem[this.label] : this.selectedItem : '';\n }\n }\n\n public onKeyArrowDown(): void {\n if (this.index < this.results.length - 1) {\n this.scrollList(1);\n }\n\n this.openFlyout();\n }\n\n public onKeyArrowUp(): void {\n if (this.index >= 0) {\n this.scrollList(-1);\n }\n }\n\n public onKeyEnter(event: Event): void {\n event.preventDefault(); // Do not submit form when selecting an item.\n\n const query = this.index >= 0 ? this.results[this.index] : this.query;\n\n this.propagateChange(query);\n this.closeFlyout();\n }\n\n public onKeyEscape(): void {\n this.closeFlyout();\n }\n\n public onFocus(): void {\n this.focused = true;\n this.openFlyout();\n }\n\n public openFlyout(): void {\n if (this.flyout) {\n this.flyout.open();\n }\n }\n\n public closeFlyout(): void {\n if (this.flyout) {\n this.flyout.close();\n }\n\n this.focused = false;\n }\n\n public localSearch(): void {\n this.results = this.searchService.search(this.data, {\n minLength: this.minCharacters,\n key: this.label,\n query: this.query,\n showAllByDefault: this.showAllByDefault,\n });\n\n if (this.results.length === 1 && this.query === this.results[0][this.label]) {\n this.index = 0;\n }\n\n this.searching = false;\n }\n\n public remoteSearch(): void {\n if (!this.remoteValue || !this.data) {\n return;\n }\n\n const selected = this.data.find((item: any) => {\n if (this.value) {\n return item[this.value] === this.query;\n }\n\n return item === this.query;\n });\n\n if (selected) {\n this.query = this.label ? selected[this.label] : selected;\n } else {\n this.query = '';\n }\n\n this.remoteValue = false;\n }\n\n public scrollList(factor: number): void {\n this.index += factor;\n\n if (!this.flyoutZone) {\n return;\n }\n\n const liItems = this.flyoutZone.element.getElementsByTagName('li');\n const liHeight = (liItems[1] ? liItems[1].offsetHeight : liItems[0].offsetHeight);\n const zoneHeight = this.flyoutZone.element.offsetHeight;\n const offset = (zoneHeight / liHeight) / 2;\n\n this.flyoutZone.element.scrollTop = (this.index * liHeight) - (offset * liHeight);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FlyoutModule } from '@acpaas-ui/ngx-flyout';\nimport { SelectableListModule } from '@acpaas-ui/ngx-selectable-list';\nimport { MaskModule } from '../mask/mask.module';\nimport { SearchService } from '../shared/services/search.service';\nimport { AutoCompleteComponent } from './components/auto-complete/auto-complete.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FlyoutModule,\n SelectableListModule,\n MaskModule,\n ],\n declarations: [\n AutoCompleteComponent,\n ],\n exports: [\n AutoCompleteComponent,\n ],\n providers: [\n SearchService,\n ],\n})\nexport class AutoCompleteModule {\n}\n","import { InjectionToken } from '@angular/core';\nimport { DatepickerErrorLabels } from './types/datepicker.types';\n\nexport const DATEPICKER_ERROR_LABELS = new InjectionToken<DatepickerErrorLabels>('errorLabels');\n\nexport const DATEPICKER_DEFAULT_ERROR_LABELS = {\n ERRORS_INVALID_DATE: 'INVALID_DATE',\n ERRORS_INVALID_RANGE: 'INVALID_RANGE',\n};\n\nexport const DATEPICKER_SEPARATOR_CHAR = '/';\nexport const DATEPICKER_DATE_MASK = `99${DATEPICKER_SEPARATOR_CHAR}99${DATEPICKER_SEPARATOR_CHAR}9999`;\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ControlValueAccessor, FormBuilder, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DateHelper, DateRange } from '@acpaas-ui/js-date-utils';\nimport { FlyoutDirective } from '@acpaas-ui/ngx-flyout';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n CalendarService,\n DatepickerResult,\n} from '@acpaas-ui/ngx-calendar';\n\nimport {\n DATEPICKER_DATE_MASK,\n DATEPICKER_DEFAULT_ERROR_LABELS,\n DATEPICKER_ERROR_LABELS,\n DATEPICKER_SEPARATOR_CHAR\n} from '../../datepicker.conf';\nimport { DatepickerValidationErrors } from '../../types/datepicker.types';\nimport { Interval, IntervalBuilder } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: [\n './datepicker.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }, {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => DatepickerComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class DatepickerComponent implements OnInit, OnChanges, OnDestroy, ControlValueAccessor {\n @ViewChild(FlyoutDirective, {static: true}) flyout: FlyoutDirective;\n @Input() id: string;\n @Input() name: string;\n @Input() placeholder = 'dd/mm/yyyy';\n @Input() range: DateRange;\n @Input()\n min: Date | null;\n @Input()\n max: Date | null;\n @Input() autocomplete: 'off';\n\n @Output() blur = new EventEmitter<Event>();\n\n public dateMask = {mask: DATEPICKER_DATE_MASK, showMaskOnHover: false};\n public formControl: FormControl;\n public selectedDate: Date;\n public isDisabled = false;\n public interval: Interval.IInterval<Date>;\n\n private componentDestroyed$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) private monthLabels = CALENDAR_DEFAULT_MONTH_LABELS,\n @Inject(CALENDAR_WEEKDAY_LABELS) private weekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n @Inject(DATEPICKER_ERROR_LABELS) private errorLabels = DATEPICKER_DEFAULT_ERROR_LABELS,\n public calendarService: CalendarService,\n private formBuilder: FormBuilder,\n private ref: ChangeDetectorRef\n ) {\n }\n\n public ngOnInit(): void {\n this.createInterval();\n this.formControl = this.formBuilder.control({value: '', disabled: this.isDisabled});\n this.formControl.valueChanges\n .pipe(\n takeUntil(this.componentDestroyed$)\n )\n .subscribe((value) => {\n if (value) {\n const format = value.split(DATEPICKER_SEPARATOR_CHAR).reverse().join('-');\n const date = DateHelper.parseDate(format, 'yyyy-MM-dd');\n if (date) {\n this.selectedDate = date;\n this.onChange(date.toISOString());\n } else {\n // Change value with original value (and not null or '') so we can add an error in the validate function\n this.onChange(value);\n }\n } else {\n this.selectedDate = null;\n this.onChange('');\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.min || changes.max) {\n this.createInterval();\n }\n }\n\n public ngOnDestroy(): void {\n this.componentDestroyed$.next(true);\n this.componentDestroyed$.complete();\n }\n\n private createInterval() {\n if (!this.min && !this.max) {\n return;\n }\n // Create an interval if min/max is filled in\n this.interval = IntervalBuilder.dateInterval(this.min ? new Date(this.min) : null, this.max ? new Date(this.max) : null)\n .not()\n .build();\n }\n\n public writeValue(value: string | Date): void {\n this.selectedDate = typeof value === 'string'\n ? this.isISODateFormat(value) ? new Date(value) : DateHelper.parseDate(value, 'dd/MM/yyyy')\n : value;\n const dateString = this.selectedDate ? this.formatDate(this.selectedDate) : '';\n this.formControl.setValue(dateString);\n }\n\n public registerOnChange(onChange: (res: any) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (_: any) => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n if (this.formControl) {\n if (isDisabled && this.formControl.enabled) {\n this.formControl.disable();\n } else if (!isDisabled && this.formControl.disabled) {\n this.formControl.enable();\n }\n }\n\n this.ref.markForCheck();\n }\n\n public selectDateFromCalendar(result: DatepickerResult): void {\n if (result.complete) {\n this.formControl.setValue(this.formatDate(result.date));\n this.flyout.close();\n }\n }\n\n public formatDate(date: Date): string {\n return DateHelper.formatDate(date, 'DD/MM/YYYY', {\n leadingZero: true,\n monthLabels: this.monthLabels,\n weekdayLabels: this.weekdayLabels,\n });\n }\n\n public validate(ctrl: FormControl): DatepickerValidationErrors {\n // no error on empty value (add required validator in app)\n if (ctrl.value === '' || ctrl.value === null) {\n return null;\n }\n\n // throw format error if no valid date was provided\n const date = DateHelper.parseDate(ctrl.value);\n if (!date) {\n return {\n format: this.errorLabels.ERRORS_INVALID_DATE,\n };\n }\n\n // no error if valid date an no range provided\n if (!this.range || !this.range.length) {\n return null;\n }\n\n // throw error when out of range\n const range = this.calendarService.getRangeForDate(date, this.range);\n\n return range.indexOf(date.getDate()) >= 0 ? {\n range: this.errorLabels.ERRORS_INVALID_RANGE,\n } : null;\n }\n\n public handleBlur(e: Event): void {\n this.blur.emit(e);\n this.onTouched(e);\n }\n\n private onChange: (res: any) => void = () => undefined;\n\n private onTouched: (_: any) => void = () => undefined;\n\n private isISODateFormat(value: string) {\n if (typeof value !== 'string') {\n return false;\n }\n return value.match(/\\d{4}-\\d{2}-\\d{2}T.*/);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { FlyoutModule } from '@acpaas-ui/ngx-flyout';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n CalendarModule\n} from '@acpaas-ui/ngx-calendar';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\n\nimport { MaskModule } from '../mask/mask.module';\n\nimport { DatepickerComponent } from './components/datepicker/datepicker.component';\nimport { DATEPICKER_DEFAULT_ERROR_LABELS, DATEPICKER_ERROR_LABELS } from './datepicker.conf';\nimport { DatepickerErrorLabels } from './types/datepicker.types';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CalendarModule,\n IconModule,\n FlyoutModule,\n MaskModule,\n ],\n declarations: [\n DatepickerComponent,\n ],\n exports: [\n DatepickerComponent,\n ],\n providers: [\n {provide: CALENDAR_WEEKDAY_LABELS, useValue: CALENDAR_DEFAULT_WEEKDAY_LABELS},\n {provide: CALENDAR_MONTH_LABELS, useValue: CALENDAR_DEFAULT_MONTH_LABELS},\n {provide: DATEPICKER_ERROR_LABELS, useValue: DATEPICKER_DEFAULT_ERROR_LABELS},\n ],\n})\nexport class DatepickerModule {\n static forChild(\n weekdayLabels: string[],\n monthLabels: string[],\n errorLabels: DatepickerErrorLabels\n ): ModuleWithProviders {\n return {\n ngModule: DatepickerModule,\n providers: [\n {provide: CALENDAR_WEEKDAY_LABELS, useValue: weekdayLabels},\n {provide: CALENDAR_MONTH_LABELS, useValue: monthLabels},\n {provide: DATEPICKER_ERROR_LABELS, useValue: errorLabels},\n ],\n };\n }\n}\n","import { Component, ElementRef, forwardRef, HostBinding, HostListener, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { RangeSliderRange } from '../../types/range-slider.types';\n\n@Component({\n selector: 'aui-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: [\n './range-slider.component.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RangeSliderComponent), // tslint:disable-line\n multi: true,\n },\n ],\n})\nexport class RangeSliderComponent implements OnInit, ControlValueAccessor {\n @HostBinding('class.m-range-slider') coreBranding = true;\n @Input() public min = 0;\n @Input() public max = 100;\n @Input() public minimalDistance = 1;\n @Input() public step = 0;\n @Input() public labelBefore = '';\n @Input() public labelAfter = '';\n public start = 0;\n public end: (number | boolean) = false;\n public steps = [];\n public startPercentage;\n public endPercentage;\n public active = null;\n public isDisabled = false;\n public hasFocus = false;\n public click = false;\n\n constructor(private elRef: ElementRef) {\n }\n\n @HostBinding('class.is-disabled') get disabledClass() {\n return this.isDisabled;\n }\n\n public propagateChange = (value: number | RangeSliderRange) => {\n }\n\n public ngOnInit() {\n if (this.step > 0) {\n for (let i = 0; i <= this.max; i += Number(this.step)) {\n this.steps.push(i);\n }\n }\n\n this.startPercentage = this.startToPercentage();\n\n if (this.end) {\n this.endPercentage = this.endToPercentage();\n }\n }\n\n public writeValue(value: any) {\n if (value && value.start) {\n this.start = value.start;\n } else if (!isNaN(value) && value !== '') {\n this.start = Number(value);\n } else {\n this.setStart(Number(this.min));\n }\n\n this.startPercentage = this.startToPercentage();\n\n if (value && value.end) {\n this.end = value.end;\n this.endPercentage = this.endToPercentage();\n }\n }\n\n public registerOnTouched() {\n }\n\n public registerOnChange(fn) {\n this.propagateChange = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public onMouseDown(handle) {\n if (this.isDisabled) {\n return;\n }\n\n this.hasFocus = true;\n this.active = handle;\n }\n\n public toggleFocus(hasFocus, element, $event) {\n if (this.isDisabled) {\n return;\n }\n\n $event.preventDefault();\n this.hasFocus = hasFocus;\n this.active = element;\n }\n\n @HostListener('document:keydown', ['$event'])\n public onKeyDown($event) {\n if (!this.hasFocus) {\n return;\n }\n\n const key = $event.keyCode;\n const keyCodes = {\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n };\n\n if (Object.keys(keyCodes).map(e => keyCodes[e]).indexOf(key) === -1) {\n return;\n }\n let increment = this.minimalDistance;\n\n if (this.step > 0) {\n increment = Number(this.step);\n }\n\n const processValue = (dir) => {\n let newValue = (this.active === 'start' ? this.start : Number(this.end));\n if (dir === 'up') {\n newValue += increment;\n } else {\n newValue -= increment;\n }\n let newPercentage = (newValue - this.min) / (this.max - this.min) * 100;\n\n if (newPercentage > 100) {\n newPercentage = 100;\n }\n if (newPercentage < 0) {\n newPercentage = 0;\n }\n return newPercentage;\n };\n\n switch (key) {\n case keyCodes.right:\n case keyCodes.up:\n this.updateHandle(processValue('up'));\n $event.preventDefault();\n break;\n case keyCodes.left:\n case keyCodes.down:\n this.updateHandle(processValue('down'));\n $event.preventDefault();\n break;\n case keyCodes.end:\n this.updateHandle(100);\n $event.preventDefault();\n break;\n case keyCodes.home:\n this.updateHandle(0);\n $event.preventDefault();\n break;\n }\n\n }\n\n @HostListener('touchend', ['$event'])\n @HostListener('mouseup', ['$event'])\n public onMouseUp(event) {\n if (this.active === 'start') {\n this.setStart(this.round(this.start, this.step, 0));\n this.startPercentage = this.startToPercentage();\n }\n\n if (this.active === 'end') {\n this.setEnd(this.round(this.end, this.step, 0));\n this.endPercentage = this.endToPercentage();\n }\n this.click = false;\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n mouseDown(event) {\n this.click = true;\n }\n\n @HostListener('touchmove', ['$event'])\n @HostListener('mousemove', ['$event'])\n public onMouseMove(event: MouseEvent | TouchEvent) {\n if (!this.active || !this.click) {\n return;\n }\n\n event.preventDefault(); // Do not select text while sliding\n\n const x = (event as MouseEvent).x !== undefined ? (event as MouseEvent).x : (event as TouchEvent).targetTouches[0].pageX;\n const rect = this.elRef.nativeElement.getBoundingClientRect();\n const newPercentage = this.calcPercentage(x, rect.width, rect.left);\n this.updateHandle(newPercentage);\n }\n\n public updateHandle(newPercentage) {\n if (this.active === 'start') {\n this.startPercentage = newPercentage;\n this.setStart(this.percentageToStart());\n\n if (this.minimalDistanceNotRespected()) {\n this.setStart(Number(this.end) - Number(this.minimalDistance));\n this.startPercentage = this.startToPercentage();\n }\n }\n\n if (this.active === 'end' && this.endPercentage) {\n this.endPercentage = newPercentage;\n this.setEnd(this.percentageToEnd());\n\n if (this.minimalDistanceNotRespected()) {\n this.setEnd(Number(this.start) + Number(this.minimalDistance));\n this.endPercentage = this.endToPercentage();\n }\n }\n }\n\n // ---------- HELPERS ---------- //\n public setStart(value) {\n this.start = value;\n\n if (this.end) {\n this.propagateChange({\n start: this.start,\n end: this.end,\n } as RangeSliderRange);\n } else {\n this.propagateChange(this.start);\n }\n }\n\n public setEnd(value) {\n this.end = value;\n\n this.propagateChange({\n start: this.start,\n end: this.end,\n } as RangeSliderRange);\n }\n\n public round(n, increment, offset) {\n if (increment > 0) {\n return Math.round((n - offset) / increment) * increment + offset;\n }\n\n return n;\n }\n\n public startToPercentage() {\n return Math.round((this.start - this.min) / (this.max - this.min) * 100);\n }\n\n public percentageToStart() {\n return Math.round((this.startPercentage / 100) * (this.max - this.min) + Number(this.min));\n }\n\n public endToPercentage() {\n return Math.round((Number(this.end) - this.min) / (this.max - this.min) * 100);\n }\n\n public percentageToEnd() {\n return Math.round((this.endPercentage / 100) * (this.max - this.min) + Number(this.min));\n }\n\n public minimalDistanceNotRespected() {\n return this.minimalDistance >= 0 && this.end && this.start > Number(this.end) - this.minimalDistance;\n }\n\n public calcPercentage(mouseX, width, offsetLeft) {\n const mousePos = mouseX - offsetLeft;\n\n let newPercentage = Math.round((mousePos / width) * 100);\n\n if (newPercentage > 100) {\n newPercentage = 100;\n }\n\n if (newPercentage < 0) {\n newPercentage = 0;\n }\n\n return newPercentage;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RangeSliderComponent } from './components/range-slider/range-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n declarations: [\n RangeSliderComponent,\n ],\n exports: [\n RangeSliderComponent,\n ],\n})\nexport class RangeSliderModule {\n}\n","import { Component, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { debounce, get } from 'lodash-es';\n\nimport { FlyoutSize } from '@acpaas-ui/ngx-flyout';\n\nimport { SearchFilterChoice } from '../../types/search-filter.types';\n\n@Component({\n selector: 'aui-search-filter',\n templateUrl: './search-filter.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SearchFilterComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class SearchFilterComponent implements OnInit, OnChanges, ControlValueAccessor {\n @Input() public id: string;\n @Input() public name: string;\n @Input() public flyoutSize = FlyoutSize.Small;\n @Input() public flyoutAlign;\n @Input() public label = 'Filter';\n @Input() public labelDeselect = 'Alles deselecteren';\n @Input() public labelResults = 'Resultaten';\n @Input() public labelNoResults = 'Geen resultaten gevonden.';\n @Input() public choices: SearchFilterChoice[] = [];\n @Input() public remote: boolean;\n @Input() public placeholder = 'Zoeken';\n @Input() public inputDelay = 150;\n @Input() public showAllByDefault = false;\n @Input() public size: 'large' | 'default' | 'small' | 'tiny' = 'default';\n\n @Output() public search: EventEmitter<string> = new EventEmitter<string>();\n\n public query = '';\n public selectedItems: string[] = [];\n public filteredChoices: SearchFilterChoice[] = [];\n public loading = false;\n public isDisabled = false;\n\n public filterDataFromSearch: () => {};\n\n constructor() {\n this.filterDataFromSearch = debounce(this.filterData.bind(this), this.inputDelay);\n }\n\n public updateModel: (_) => any = () => {\n }\n\n public writeValue(value: string[]): void {\n this.selectedItems = Array.isArray(value) ? value : [];\n }\n\n public registerOnChange(onChange: (_) => any): void {\n this.updateModel = onChange;\n }\n\n public registerOnTouched(): void {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public ngOnInit(): void {\n if (this.showAllByDefault) {\n this.filterData();\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const choices = get(changes, 'choices.currentValue', null);\n\n if (!choices) {\n return;\n }\n\n if (this.remote) {\n this.filteredChoices = [...choices];\n this.loading = false;\n } else {\n this.filterData();\n }\n }\n\n public filterData(): void {\n if (this.remote) {\n this.loading = true;\n\n return this.search.emit(this.query);\n }\n\n this.filterChoices();\n }\n\n public clear(): void {\n this.selectedItems = [];\n this.query = '';\n\n this.filterData();\n this.updateModel(this.selectedItems);\n }\n\n public toggleSelected(choice: string): void {\n const selected = this.selectedItems.indexOf(choice);\n\n if (selected < 0) {\n this.selectedItems = this.selectedItems.concat(choice);\n } else {\n this.selectedItems = [\n ...this.selectedItems.slice(0, selected),\n ...this.selectedItems.slice(selected + 1),\n ];\n }\n\n this.updateModel(this.selectedItems);\n }\n\n private filterChoices(): void {\n this.filteredChoices = this.choices.filter((choice: SearchFilterChoice) => {\n return (\n this.selectedItems.indexOf(choice.value) < 0 &&\n choice.label.toLowerCase().indexOf(this.query.toLowerCase()) >= 0\n );\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { FlyoutModule } from '@acpaas-ui/ngx-flyout';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport { SearchFilterComponent } from './components/search-filter/search-filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FlyoutModule,\n FormsModule,\n IconModule,\n ],\n declarations: [\n SearchFilterComponent,\n ],\n exports: [\n SearchFilterComponent,\n ],\n})\nexport class SearchFilterModule {\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class TimePickerValidators {\n // time `hh:mm` 24h format\n public static minTime(time: string): ValidatorFn {\n const validator = (control: AbstractControl): { [key: string]: any } => {\n const splittedControlValue = control.value.split(':');\n const controlHours = parseInt(splittedControlValue[0], 10);\n const controlMinutes = parseInt(splittedControlValue[1], 10);\n const splittedMinTime = time.split(':');\n const minHours = parseInt(splittedMinTime[0], 10);\n const minMinutes = parseInt(splittedMinTime[1], 10);\n\n // Don't throw error --> use Validator.required\n if (isNaN(controlHours) || isNaN(controlMinutes) || isNaN(minHours) || isNaN(minMinutes)) {\n return null;\n }\n\n if (minHours < controlHours) {\n return null;\n }\n\n if (minHours === controlHours && minMinutes <= controlMinutes) {\n return null;\n }\n\n return {minTime: {value: control.value}};\n };\n\n return validator;\n }\n\n // time `hh:mm` 24h format\n public static maxTime(time: string): ValidatorFn {\n const validator = (control: AbstractControl): { [key: string]: any } => {\n const splittedControlValue = control.value.split(':');\n const controlHours = parseInt(splittedControlValue[0], 10);\n const controlMinutes = parseInt(splittedControlValue[1], 10);\n const splittedMinTime = time.split(':');\n const maxHours = parseInt(splittedMinTime[0], 10);\n const maxMinutes = parseInt(splittedMinTime[1], 10);\n\n // Don't throw error --> use Validator.required\n if (isNaN(controlHours) || isNaN(controlMinutes) || isNaN(maxHours) || isNaN(maxMinutes)) {\n return null;\n }\n\n if (maxHours > controlHours) {\n return null;\n }\n\n if (maxHours === controlHours && maxMinutes >= controlMinutes) {\n return null;\n }\n\n return {maxTime: {value: control.value}};\n };\n\n return validator;\n }\n}\n","export enum TimepickerInputSize {\n Auto = 'auto',\n Small = 'small',\n Large = 'large',\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, FormBuilder, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DateHelper } from '@acpaas-ui/js-date-utils';\n\nimport { TimepickerInputSize } from '../../types/timepicker.types';\n\n@Component({\n selector: 'aui-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: [\n './timepicker.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimepickerComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class TimepickerComponent implements OnInit, OnDestroy, ControlValueAccessor {\n @Input() public id = 'aui-timepicker-' + Math.random().toString(36).substring(2);\n @Input() public hoursPlaceholder = 'uu';\n @Input() public minutesPlaceholder = 'mm';\n @Input() public hasError = false;\n @Input() public size: TimepickerInputSize = TimepickerInputSize.Auto;\n @Input() public ariaLabelHours = 'Uur';\n @Input() public ariaLabelMinutes = 'Minuten';\n\n public shouldUseFallback = false;\n public minutes: string[] = [];\n public hours: string[] = [];\n public updateModel: (value: string) => any;\n\n public timeControl = new FormControl();\n public fallbackForm: FormGroup;\n\n private componentDestroyed$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private formBuilder: FormBuilder,\n private renderer: Renderer2\n ) {\n }\n\n public ngOnInit() {\n this.shouldUseFallback = this.supportsNativeTimepicker();\n this.minutes = this.getMinutes();\n this.hours = this.getHours();\n\n this.fallbackForm = this.formBuilder.group({\n hours: null,\n minutes: null,\n });\n\n this.fallbackForm.valueChanges\n .pipe(takeUntil(this.componentDestroyed$))\n .subscribe((formData) => {\n if (formData.hours && formData.minutes) {\n this.updateModel(`${formData.hours}:${formData.minutes}`);\n } else {\n this.updateModel('');\n }\n });\n\n this.timeControl.valueChanges\n .pipe(takeUntil(this.componentDestroyed$))\n .subscribe((time) => {\n this.updateModel(time);\n });\n }\n\n public ngOnDestroy() {\n this.componentDestroyed$.next(true);\n this.componentDestroyed$.complete();\n }\n\n public writeValue(value: any): void {\n this.timeControl.setValue(value, {emitEvent: false});\n\n if (value) {\n const splitted = value.split(':');\n this.fallbackForm.get('hours').setValue(splitted[0], {emitEvent: false});\n this.fallbackForm.get('minutes').setValue(splitted[1], {emitEvent: false});\n }\n }\n\n public registerOnChange(onChange): void {\n this.updateModel = onChange;\n }\n\n public registerOnTouched(): void {\n }\n\n public setDisabledState(isDisabled: boolean) {\n if (isDisabled) {\n this.timeControl.disable({emitEvent: false});\n this.fallbackForm.disable({emitEvent: false});\n } else {\n this.timeControl.enable({emitEvent: false});\n this.fallbackForm.enable({emitEvent: false});\n }\n }\n\n private supportsNativeTimepicker(): boolean {\n const element = this.renderer.createElement('input');\n element.type = 'time';\n\n return element.type === 'text';\n }\n\n private getMinutes(): string[] {\n return Array(60).fill('').map((value, index) => {\n return DateHelper.addLeadingZero(index);\n });\n }\n\n private getHours(): string[] {\n return Array(24).fill('').map((value, index) => {\n return DateHelper.addLeadingZero(index);\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport { TimepickerComponent } from './components/timepicker/timepicker.component';\n\n@NgModule({\n imports: [\n ReactiveFormsModule,\n CommonModule,\n IconModule,\n ],\n declarations: [\n TimepickerComponent,\n ],\n exports: [\n TimepickerComponent,\n ],\n providers: [],\n})\nexport class TimepickerModule {\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { UploadOptions, ValidationMessages } from './types/upload.types';\n\nexport const UPLOAD_OPTIONS_DEFAULT: UploadOptions = {\n allowedMimeTypes: [],\n allowedFileTypes: [],\n autoUpload: false,\n maxFileSize: 0, // 0 is infinite\n queueLimit: 0, // 0 is infinite\n type: 'drop',\n url: '',\n};\n\nexport const UPLOAD_VALIDATION_MESSAGES = new InjectionToken<ValidationMessages>('uploadValidationMessages');\n","import { Observable } from 'rxjs';\n\nimport { UPLOAD_OPTIONS_DEFAULT } from '../upload.conf';\nimport { InvalidFile, UploadOptions } from '../types/upload.types';\n\nexport class Uploader {\n public options: UploadOptions = UPLOAD_OPTIONS_DEFAULT;\n\n constructor(options?: UploadOptions) {\n this.setOptions(options);\n }\n\n public setOptions(options) {\n this.options = Object.assign({}, this.options, options);\n }\n\n public uploadFiles(files: File[]): Observable<{ progress: number, data: object[] }> {\n const formData: FormData = this.filesToFormData(files);\n\n return new Observable(observer => {\n const xhr = new XMLHttpRequest();\n\n // Progress callback\n xhr.upload.addEventListener('progress', (e) => {\n if (e.lengthComputable) {\n const percentComplete = e.loaded / e.total;\n\n observer.next({\n progress: percentComplete,\n data: null,\n });\n }\n });\n\n // Complete callback\n xhr.onload = () => {\n observer.next({\n progress: 1,\n data: xhr.response,\n });\n // observer.complete();\n };\n\n // Do request\n xhr.responseType = 'json';\n xhr.open('post', this.options.url);\n xhr.send(formData);\n });\n }\n\n public validateFiles(files) {\n const validFiles: File[] = [];\n const invalidFiles: InvalidFile[] = [];\n\n if (files.length > 0) {\n\n for (const file of files) {\n const errors = [];\n\n if (!this.validateFileType(file)) {\n errors.push('INVALID_FILE_TYPE');\n }\n\n if (!this.validateFileSize(file)) {\n errors.push('INVALID_FILE_SIZE');\n }\n\n if (!this.validateMimeType(file)) {\n errors.push('INVALID_MIME_TYPE');\n }\n\n if (errors.length === 0) {\n validFiles.push(file);\n } else {\n invalidFiles.push({\n reasons: errors,\n file,\n });\n }\n }\n }\n\n return {\n validFiles,\n invalidFiles,\n };\n }\n\n protected filesToFormData(files: File[]): FormData {\n const formData = new FormData();\n\n if (!this.options.url || this.options.url === '') {\n throw new Error('Define the upload url.');\n }\n\n for (const file of files) {\n formData.append('file', file);\n }\n\n return formData;\n }\n\n protected getFileExtension(file: File): string {\n return file.name.split('.')[file.name.split('.').length - 1];\n }\n\n protected validateFileType(file: File): boolean {\n const allowedFileTypes = this.options.allowedFileTypes;\n const ext = this.getFileExtension(file);\n\n // Filter defined?\n if (!Array.isArray(allowedFileTypes) || allowedFileTypes.length === 0) {\n return true;\n }\n\n // Make allowedFileTypes case insensitive\n const toUpper = (x) => x.toUpperCase();\n const allowedFileTypesToUpper = allowedFileTypes.map(toUpper);\n\n return allowedFileTypesToUpper.lastIndexOf(ext.toUpperCase()) !== -1;\n }\n\n protected validateFileSize(file: File): boolean {\n const maxFileSize = this.options.maxFileSize;\n\n // Filter defined?\n if (!maxFileSize || maxFileSize === 0) {\n return true;\n }\n\n return maxFileSize > file.size;\n }\n\n protected validateMimeType(file: File): boolean {\n const allowedMimeTypes = this.options.allowedMimeTypes;\n\n // Filter defined?\n if (!Array.isArray(allowedMimeTypes) || allowedMimeTypes.length === 0) {\n return true;\n }\n\n return allowedMimeTypes.lastIndexOf(file.type) !== -1;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { InvalidFile, UploadOptions } from '../../types/upload.types';\nimport { UPLOAD_OPTIONS_DEFAULT } from '../../upload.conf';\nimport { Uploader } from '../../classes/uploader.class';\n\n@Component({\n selector: 'aui-upload',\n styleUrls: [\n './upload.component.scss',\n ],\n templateUrl: './upload.component.html',\n})\nexport class UploadComponent implements OnInit {\n @Input() public id = '';\n @Input() public accept = [];\n @Input() public ariaLabelRemove = 'Verwijder';\n @Input() public disabled = false;\n @Input() public multiple = true;\n @Input() public options: UploadOptions = UPLOAD_OPTIONS_DEFAULT;\n @Output() public selectUploadedFiles: EventEmitter<object[]> = new EventEmitter<object[]>();\n\n public uploader;\n public ariaId;\n public uploadedFiles: object[] = [];\n public invalidFiles: InvalidFile[] = [];\n public queuedFiles: File[] = [];\n\n public ngOnInit() {\n if (!this.id) {\n this.ariaId = 'aui-upload-' + Math.random().toString(36).substring(2);\n }\n this.uploader = new Uploader(this.options);\n }\n\n public onUploadedFiles(files: object[]) {\n this.uploadedFiles = this.uploadedFiles.concat(files);\n this.selectUploadedFiles.emit(this.uploadedFiles);\n }\n\n public onInvalidFiles(files: InvalidFile[]) {\n this.invalidFiles = files;\n }\n\n public onQueuedFiles(files: File[]) {\n this.queuedFiles = this.queuedFiles.concat(files);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { UploadOptions } from '../../types/upload.types';\n\n@Component({\n selector: 'aui-upload-input',\n templateUrl: './upload-input.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: UploadInputComponent,\n multi: true,\n }],\n})\nexport class UploadInputComponent implements ControlValueAccessor {\n @Input() public options: UploadOptions;\n @Input() public format: any;\n\n public propagateChange = (_: any) => undefined;\n\n public writeValue(value: any) {\n }\n\n public registerOnChange(fn) {\n this.propagateChange = fn;\n }\n\n registerOnTouched() {\n }\n\n public onUpload(files) {\n const data = (this.format ? this.format(files) : files);\n this.propagateChange(data);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { Uploader } from '../../classes/uploader.class';\n\n@Component({\n selector: 'aui-upload-queue',\n templateUrl: './upload-queue.component.html',\n})\nexport class UploadQueueComponent {\n @Input() public files: File[];\n @Input() public uploader: Uploader;\n @Input() public ariaLabelRemove = 'Verwijder';\n @Output() public uploadedFiles: EventEmitter<object[]> = new EventEmitter<object[]>();\n\n public uploadProgress = 0;\n\n public remove(index) {\n this.files.splice(index, 1);\n }\n\n public uploadFiles() {\n const progress = undefined;\n const data = undefined;\n this.uploader.uploadFiles(this.files).subscribe(\n (response) => {\n if (response.progress) {\n this.uploadProgress = Math.floor(response.progress * 100);\n }\n if (response.data) {\n this.uploadedFiles.emit(response.data);\n this.files = [];\n }\n }\n );\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, ViewChild } from '@angular/core';\n\nimport { InvalidFile } from '../../types/upload.types';\nimport { Uploader } from '../../classes/uploader.class';\n\n@Component({\n selector: 'aui-upload-zone',\n templateUrl: './upload-zone.component.html',\n})\nexport class UploadZoneComponent implements AfterViewInit {\n @ViewChild('fileInput', {static: false}) fileInput: ElementRef;\n\n @Input() public uploader: Uploader;\n @Input() public id = '';\n @Input() public accept = [];\n @Input() public ariaId = '';\n @Input() public disabled = false;\n @Input() public multiple = true;\n @Output() public uploadedFiles: EventEmitter<object[]> = new EventEmitter<object[]>();\n @Output() public queuedFiles: EventEmitter<File[]> = new EventEmitter<File[]>();\n @Output() public invalidFiles: EventEmitter<InvalidFile[]> = new EventEmitter<InvalidFile[]>();\n\n public hasDragOver = false;\n public classNames: string;\n public uploadProgress = 0;\n public uploadingFiles: File[];\n\n @HostListener('dragover', ['$event'])\n public onDragOver(event: any): void {\n this.preventAndStop(event);\n this.hasDragOver = true;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(event: any): void {\n this.preventAndStop(event);\n this.hasDragOver = false;\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(event: any): void {\n this.preventAndStop(event);\n this.hasDragOver = false;\n const files = this.fileListToArray(event.dataTransfer.files);\n this.handleFiles(files);\n }\n\n constructor(\n private renderer: Renderer2,\n ) {}\n\n public triggerFile() {\n this.fileInput.nativeElement.click();\n }\n\n public updateFiles() {\n const files: any[] = this.fileListToArray(this.fileInput.nativeElement.files);\n this.handleFiles(files);\n }\n\n public onFileClick(event) {\n // When removing a file make sure you can add it again later\n // See: https://stackoverflow.com/questions/59870335/ng2-file-upload-not-allowing-me-to-add-same-doc-after-ive-removed-it-from-que\n event.target.value = '';\n }\n\n ngAfterViewInit() {\n if (this.multiple !== false) { this.renderer.setProperty(this.fileInput.nativeElement, 'multiple', 'multiple'); }\n if (this.accept) { this.renderer.setProperty(this.fileInput.nativeElement, 'accept', this.accept.join()); }\n if (this.disabled) { this.renderer.setProperty(this.fileInput.nativeElement, 'disabled', 'disabled'); }\n }\n\n protected handleFiles(files) {\n const response = this.uploader.validateFiles(files);\n this.invalidFiles.emit(response.invalidFiles);\n\n if (this.uploader.options.autoUpload && response.validFiles.length > 0) {\n this.uploadFiles(response.validFiles);\n } else {\n this.queuedFiles.emit(response.validFiles);\n }\n }\n\n protected uploadFiles(files) {\n // Reset progress\n this.uploadProgress = 0;\n this.uploadingFiles = files;\n\n // upload\n this.uploader.uploadFiles(files).subscribe(\n (response) => {\n if (response.progress) {\n this.uploadProgress = Math.floor(response.progress * 100);\n }\n if (response.data) {\n this.uploadedFiles.emit(response.data);\n }\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n protected fileListToArray(list: FileList): object[] {\n return Array.from(list);\n }\n\n protected preventAndStop(event: any): any {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Inject, Injectable } from '@angular/core';\n\nimport { UPLOAD_VALIDATION_MESSAGES } from '../upload.conf';\n\n@Injectable()\nexport class ValidationMessagesService {\n public INVALID_FILE_TYPE = 'INVALID_FILE_TYPE';\n public INVALID_FILE_SIZE = 'INVALID_FILE_SIZE';\n public INVALID_MIME_TYPE = 'INVALID_MIME_TYPE';\n\n constructor(\n @Inject(UPLOAD_VALIDATION_MESSAGES) private initValues\n ) {\n if (initValues.INVALID_FILE_TYPE) {\n this.INVALID_FILE_TYPE = initValues.INVALID_FILE_TYPE;\n }\n\n if (initValues.INVALID_FILE_SIZE) {\n this.INVALID_FILE_SIZE = initValues.INVALID_FILE_SIZE;\n }\n\n if (initValues.INVALID_MIME_TYPE) {\n this.INVALID_MIME_TYPE = initValues.INVALID_MIME_TYPE;\n }\n }\n}\n\n","import { Component, Input } from '@angular/core';\n\nimport { InvalidFile } from '../../types/upload.types';\n\nimport { ValidationMessagesService } from '../../services/validation-messages.service';\n\n@Component({\n selector: 'aui-validation-list',\n templateUrl: './validation-list.component.html',\n})\nexport class ValidationListComponent {\n @Input() public invalidFiles: InvalidFile[] = [];\n @Input() public ariaLabelRemove = 'Verwijder';\n\n constructor(private messagesService: ValidationMessagesService) {\n }\n\n public remove(index: number): void {\n this.invalidFiles.splice(index, 1);\n }\n\n public formatReasons(reasons: string[]): string {\n const result = [];\n for (const reason of reasons) {\n result.push(this.messagesService[reason]);\n }\n return result.join(', ');\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport { ProgressBarModule } from '@acpaas-ui/ngx-progress-bar';\nimport { UPLOAD_VALIDATION_MESSAGES } from './upload.conf';\nimport { ValidationMessages } from './types/upload.types';\nimport { UploadComponent } from './components/upload/upload.component';\nimport { UploadInputComponent } from './components/upload-input/upload-input.component';\nimport { UploadQueueComponent } from './components/upload-queue/upload-queue.component';\nimport { UploadZoneComponent } from './components/upload-zone/upload-zone.component';\nimport { ValidationListComponent } from './components/validation-list/validation-list.component';\nimport { ValidationMessagesService } from './services/validation-messages.service';\n\n@NgModule({\n imports: [\n CommonModule,\n ProgressBarModule,\n FormsModule,\n IconModule,\n ],\n declarations: [\n UploadComponent,\n UploadInputComponent,\n UploadQueueComponent,\n UploadZoneComponent,\n ValidationListComponent,\n ],\n exports: [\n UploadComponent,\n UploadInputComponent,\n UploadQueueComponent,\n UploadZoneComponent,\n ValidationListComponent,\n ],\n providers: [\n ValidationMessagesService,\n {provide: UPLOAD_VALIDATION_MESSAGES, useValue: {}},\n ],\n})\nexport class UploadModule {\n static forChild(\n validationMessages: ValidationMessages = {}\n ): ModuleWithProviders {\n return {\n ngModule: UploadModule,\n providers: [\n {provide: UPLOAD_VALIDATION_MESSAGES, useValue: validationMessages},\n ],\n };\n }\n}\n","export const WYSIWYG_DEFAULT_CONFIG = {\n bodyClass: 'a-input ckeditor-editable-body',\n contentsCss: ['https://cdn.antwerpen.be/core_branding_scss/5.0.0/main.min.css'],\n extraPlugins: 'divarea',\n find_highlight: {\n element: 'span',\n styles: {'background-color': '#fffc00', color: '#0064b4'},\n },\n format_tags: 'p;h1;h2;h3;h4;h5;h6',\n toolbar_Basic: [\n ['Bold', 'Italic', 'Underline', '-', 'Format', '-', 'Source'],\n ],\n removeButtons: 'Styles',\n removePlugins: 'about',\n toolbar: null,\n uiColor: '#d8d8d8',\n};\n","import { Component, EventEmitter, forwardRef, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { WYSIWYG_DEFAULT_CONFIG } from '../../wysiwyg.conf';\n\n@Component({\n selector: 'aui-wysiwyg',\n templateUrl: './wysiwyg.component.html',\n styleUrls: [\n './wysiwyg.component.scss',\n ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WysiwygComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class WysiwygComponent implements OnInit, ControlValueAccessor {\n @HostBinding('class.aui-wysiwyg') setClass = true;\n\n @Input() additionalStyling: string[];\n @Input() availableTags: string;\n @Input() basic = false;\n @Input() uiColour: string;\n @Input() customConfig: any;\n @Input() debounce: number;\n\n @Output() emitContent: EventEmitter<string> = new EventEmitter();\n @Output() focus: EventEmitter<string> = new EventEmitter();\n @Output() blur: EventEmitter<string> = new EventEmitter();\n\n public ckeditorContent: string;\n public ckeditorConfig = WYSIWYG_DEFAULT_CONFIG;\n public isDisabled = false;\n\n // NG_VALUE_ACCESSOR_INTERFACE\n public writeValue(value: string): void {\n this.ckeditorContent = value;\n this.updateModel(value);\n this.emitContent.emit(this.ckeditorContent);\n }\n\n public onFocus(value: string): void {\n this.focus.emit(value);\n }\n\n public onBlur(value: string): void {\n this.blur.emit(value);\n }\n\n public registerOnChange(onChange: () => void): void {\n this.updateModel = onChange;\n }\n\n public registerOnTouched(): void {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public ngOnInit() {\n this.setConfig();\n }\n\n private updateModel = (...args: any[]) => undefined;\n\n private setConfig(): void {\n if (this.customConfig) {\n this.ckeditorConfig = this.customConfig;\n } else {\n if (this.basic) {\n this.ckeditorConfig.toolbar = 'Basic';\n }\n\n if (this.availableTags) {\n this.ckeditorConfig.format_tags = this.availableTags;\n }\n\n if (this.uiColour) {\n this.ckeditorConfig.uiColor = this.uiColour;\n }\n\n if (this.additionalStyling) {\n this.ckeditorConfig.contentsCss.concat(this.additionalStyling);\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CKEditorModule } from 'ng2-ckeditor';\nimport { WysiwygComponent } from './components/wysiwyg/wysiwyg.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CKEditorModule,\n ],\n declarations: [\n WysiwygComponent,\n ],\n exports: [\n WysiwygComponent,\n ],\n})\nexport class WysiwygModule {\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acpaas-ui-ngx-forms.js","sources":["ng://@acpaas-ui/ngx-forms/lib/mask/directives/mask.directive.ts","ng://@acpaas-ui/ngx-forms/lib/mask/mask.module.ts","ng://@acpaas-ui/ngx-forms/lib/shared/services/search.service.ts","ng://@acpaas-ui/ngx-forms/lib/auto-complete/components/auto-complete/auto-complete.component.ts","ng://@acpaas-ui/ngx-forms/lib/auto-complete/auto-complete.module.ts","ng://@acpaas-ui/ngx-forms/lib/datepicker/datepicker.conf.ts","ng://@acpaas-ui/ngx-forms/lib/datepicker/components/datepicker/datepicker.component.ts","ng://@acpaas-ui/ngx-forms/lib/datepicker/datepicker.module.ts","ng://@acpaas-ui/ngx-forms/lib/range-slider/components/range-slider/range-slider.component.ts","ng://@acpaas-ui/ngx-forms/lib/range-slider/range-slider.module.ts","ng://@acpaas-ui/ngx-forms/lib/search-filter/components/search-filter/search-filter.component.ts","ng://@acpaas-ui/ngx-forms/lib/search-filter/search-filter.module.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/classes/timepicker.validators.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/types/timepicker.types.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/components/timepicker/timepicker.component.ts","ng://@acpaas-ui/ngx-forms/lib/timepicker/timepicker.module.ts","ng://@acpaas-ui/ngx-forms/lib/upload/upload.conf.ts","ng://@acpaas-ui/ngx-forms/lib/upload/classes/uploader.class.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload/upload.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload-input/upload-input.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload-queue/upload-queue.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/upload-zone/upload-zone.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/services/validation-messages.service.ts","ng://@acpaas-ui/ngx-forms/lib/upload/components/validation-list/validation-list.component.ts","ng://@acpaas-ui/ngx-forms/lib/upload/upload.module.ts","ng://@acpaas-ui/ngx-forms/lib/wysiwyg/wysiwyg.conf.ts","ng://@acpaas-ui/ngx-forms/lib/wysiwyg/components/wysiwyg/wysiwyg.component.ts","ng://@acpaas-ui/ngx-forms/lib/wysiwyg/wysiwyg.module.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\nimport Inputmask from 'inputmask';\n\n@Directive({\n selector: '[auiMask]',\n})\nexport class MaskDirective implements OnChanges {\n @Input() public auiMask: string;\n\n constructor(private ref: ElementRef) {\n }\n\n public ngOnChanges(): void {\n this.setMask(this.auiMask);\n }\n\n private setMask(mask): void {\n Inputmask(mask).mask(this.ref.nativeElement);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MaskDirective } from './directives/mask.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n MaskDirective,\n ],\n exports: [\n MaskDirective,\n ],\n providers: [],\n})\nexport class MaskModule {\n}\n","import { Injectable } from '@angular/core';\n\nimport { SearchOptions } from '../types/search.types';\n\n@Injectable()\nexport class SearchService {\n public search(data: any[], options: SearchOptions = {}): any[] {\n const query = options.hasOwnProperty('query') ? options.query : '';\n const minLength = options.hasOwnProperty('minLength') ? options.minLength : 0;\n const key = options.hasOwnProperty('key') ? options.key : '';\n\n if ((!query && options.showAllByDefault) || query.length < minLength) {\n return [...data];\n }\n\n return [...data].filter(item => {\n if (key && !item.hasOwnProperty(key)) {\n return console.error(`\"${key}\" does not exist in item ${JSON.stringify(item, null, 2)}`);\n }\n\n if (key) {\n return this.matchItemWithSearchString(item[key], query);\n }\n\n return this.matchItemWithSearchString(item, query);\n });\n }\n\n private matchItemWithSearchString = (item: any, searchString): boolean => {\n return String(item).toLowerCase().indexOf(searchString.toLowerCase()) > -1;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { get, isEqual } from 'lodash-es';\nimport { FlyoutDirective, FlyoutZoneDirective } from '@acpaas-ui/ngx-flyout';\nimport { SearchService } from '../../../shared/services/search.service';\n\n@Component({\n selector: 'aui-auto-complete',\n styleUrls: [\n './auto-complete.component.scss',\n ],\n templateUrl: './auto-complete.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoCompleteComponent), // tslint:disable-line\n multi: true,\n },\n ],\n})\nexport class AutoCompleteComponent implements ControlValueAccessor, OnInit, OnChanges {\n @Input() id: string;\n @Input() placeholder: string;\n @Input() results: any[] = []; // The values for the selectable list\n @Input() data: any[] = []; // The values to search in when remote search is disabled\n @Input() remote = false; // Disable or enamble remote search\n @Input() minCharacters = 0;\n @Input() mask: string = null;\n @Input() clearInvalid = false;\n @Input() searchIncentiveText: string;\n @Input() loadingText: string;\n @Input() noResultsText: string;\n @Input() showAllByDefault = false;\n @Input() autoComplete = 'off';\n\n // specify which label/value props to use\n @Input() label: string;\n @Input() value: string;\n\n // Eventemitter for searchvalue (parent object should update the results with this param)\n @Output() search: EventEmitter<string> = new EventEmitter();\n @Output() select: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(FlyoutDirective, {static: true}) flyout: FlyoutDirective;\n @ViewChild(FlyoutZoneDirective, {static: true}) flyoutZone: FlyoutZoneDirective;\n\n @ContentChild(TemplateRef, {static: true}) public template: TemplateRef<any>;\n\n public query = '';\n public index = -1; // index for active element in selectable list, by default -1 (so it starts in the input field)\n public selectedItem: any = null; // keep a backup of the selectedItem\n public searching = false; // track remote search state\n public focused = false;\n public isDisabled = false;\n\n private remoteValue = false;\n\n constructor(\n private ref: ElementRef,\n private searchService: SearchService\n ) {\n }\n\n public updateModel = (_: any) => {\n }\n\n // CONTROL_VALUE_ACCESSOR interface\n public writeValue(value = '') {\n if (this.value) {\n const selected = this.data.find((item: any) => item[this.value] === value);\n\n if (selected) {\n return this.query = selected[this.label];\n }\n\n if (this.remote && !!value) {\n this.remoteValue = true;\n }\n }\n\n this.query = value;\n }\n\n // CONTROL_VALUE_ACCESSOR interface\n public registerOnChange(fn) {\n this.updateModel = fn;\n }\n\n // CONTROL_VALUE_ACCESSOR interface\n public registerOnTouched() {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public ngOnInit(): void {\n if ((Array.isArray(this.data) && this.data.length > 0) && !this.query && this.showAllByDefault) {\n this.results = [...this.data];\n }\n }\n\n // OnChanges interface\n public ngOnChanges(changes: SimpleChanges): void {\n if (!changes) {\n return;\n }\n\n const newData = get(changes, 'data.currentValue', []);\n if (!isEqual(newData, get(changes, 'data.previousValue', []))) {\n if (this.remote) {\n this.remoteSearch();\n } else {\n this.localSearch();\n }\n }\n\n if (changes.results && changes.results.currentValue) {\n this.searching = false;\n }\n }\n\n public propagateChange(item: any) {\n this.query = item !== null ? (this.label ? item[this.label] : item) : '';\n this.select.emit(item);\n\n if (!item) {\n return;\n }\n\n const key = this.value ? this.value : this.label ? this.label : null;\n this.updateModel(key ? item[key] || '' : item);\n this.selectedItem = item;\n }\n\n /**\n * triggers on input value change\n */\n public doSearch(): void {\n this.index = -1; // reset index\n this.searching = true;\n\n if (this.remote) {\n this.search.emit(this.query); // ask for new remote data\n } else {\n this.localSearch();\n }\n\n this.openFlyout(); // open the flyout when there is a change\n }\n\n /**\n * triggers on selectable-list:select -> onClick event in selectable-list\n */\n public onSelect(item: any): void {\n this.propagateChange(item);\n this.closeFlyout(); // Close the flyout manually\n }\n\n public onFlyoutClosed(): void {\n // there is only 1 result, select it\n if (this.index >= 0 && this.results.length === 1) {\n return this.onSelect(this.results[0]);\n }\n\n // there is no query nor selected item, clear the selected item\n if (!this.query && this.index < 0) {\n return this.onSelect(null);\n }\n\n // reset the query for an invalid query if clearInvalid is true\n if (this.clearInvalid && this.query && !this.results.length && this.index < 0) {\n this.query = this.selectedItem ? this.label ? this.selectedItem[this.label] : this.selectedItem : '';\n }\n }\n\n public onKeyArrowDown(): void {\n if (this.index < this.results.length - 1) {\n this.scrollList(1);\n }\n\n this.openFlyout();\n }\n\n public onKeyArrowUp(): void {\n if (this.index >= 0) {\n this.scrollList(-1);\n }\n }\n\n public onKeyEnter(event: Event): void {\n event.preventDefault(); // Do not submit form when selecting an item.\n\n const query = this.index >= 0 ? this.results[this.index] : this.query;\n\n this.propagateChange(query);\n this.closeFlyout();\n }\n\n public onKeyEscape(): void {\n this.closeFlyout();\n }\n\n public onFocus(): void {\n this.focused = true;\n this.openFlyout();\n }\n\n public openFlyout(): void {\n if (this.flyout) {\n this.flyout.open();\n }\n }\n\n public closeFlyout(): void {\n if (this.flyout) {\n this.flyout.close();\n }\n\n this.focused = false;\n }\n\n public localSearch(): void {\n this.results = this.searchService.search(this.data, {\n minLength: this.minCharacters,\n key: this.label,\n query: this.query,\n showAllByDefault: this.showAllByDefault,\n });\n\n if (this.results.length === 1 && this.query === this.results[0][this.label]) {\n this.index = 0;\n }\n\n this.searching = false;\n }\n\n public remoteSearch(): void {\n if (!this.remoteValue || !this.data) {\n return;\n }\n\n const selected = this.data.find((item: any) => {\n if (this.value) {\n return item[this.value] === this.query;\n }\n\n return item === this.query;\n });\n\n if (selected) {\n this.query = this.label ? selected[this.label] : selected;\n } else {\n this.query = '';\n }\n\n this.remoteValue = false;\n }\n\n public scrollList(factor: number): void {\n this.index += factor;\n\n if (!this.flyoutZone) {\n return;\n }\n\n const liItems = this.flyoutZone.element.getElementsByTagName('li');\n const liHeight = (liItems[1] ? liItems[1].offsetHeight : liItems[0].offsetHeight);\n const zoneHeight = this.flyoutZone.element.offsetHeight;\n const offset = (zoneHeight / liHeight) / 2;\n\n this.flyoutZone.element.scrollTop = (this.index * liHeight) - (offset * liHeight);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FlyoutModule } from '@acpaas-ui/ngx-flyout';\nimport { SelectableListModule } from '@acpaas-ui/ngx-selectable-list';\nimport { MaskModule } from '../mask/mask.module';\nimport { SearchService } from '../shared/services/search.service';\nimport { AutoCompleteComponent } from './components/auto-complete/auto-complete.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FlyoutModule,\n SelectableListModule,\n MaskModule,\n ],\n declarations: [\n AutoCompleteComponent,\n ],\n exports: [\n AutoCompleteComponent,\n ],\n providers: [\n SearchService,\n ],\n})\nexport class AutoCompleteModule {\n}\n","import { InjectionToken } from '@angular/core';\nimport { DatepickerErrorLabels } from './types/datepicker.types';\n\nexport const DATEPICKER_ERROR_LABELS = new InjectionToken<DatepickerErrorLabels>('errorLabels');\n\nexport const DATEPICKER_DEFAULT_ERROR_LABELS = {\n ERRORS_INVALID_DATE: 'INVALID_DATE',\n ERRORS_INVALID_RANGE: 'INVALID_RANGE',\n};\n\nexport const DATEPICKER_SEPARATOR_CHAR = '/';\nexport const DATEPICKER_DATE_MASK = `99${DATEPICKER_SEPARATOR_CHAR}99${DATEPICKER_SEPARATOR_CHAR}9999`;\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ControlValueAccessor, FormBuilder, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DateHelper, DateRange } from '@acpaas-ui/js-date-utils';\nimport { FlyoutDirective } from '@acpaas-ui/ngx-flyout';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n CalendarService,\n DatepickerResult,\n} from '@acpaas-ui/ngx-calendar';\n\nimport {\n DATEPICKER_DATE_MASK,\n DATEPICKER_DEFAULT_ERROR_LABELS,\n DATEPICKER_ERROR_LABELS,\n DATEPICKER_SEPARATOR_CHAR\n} from '../../datepicker.conf';\nimport { DatepickerValidationErrors } from '../../types/datepicker.types';\nimport { Interval, IntervalBuilder } from '@acpaas-ui/ngx-utils';\n\n@Component({\n selector: 'aui-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: [\n './datepicker.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }, {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => DatepickerComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class DatepickerComponent implements OnInit, OnChanges, OnDestroy, ControlValueAccessor {\n @ViewChild(FlyoutDirective, {static: true}) flyout: FlyoutDirective;\n @Input() id: string;\n @Input() name: string;\n @Input() placeholder = 'dd/mm/yyyy';\n @Input() range: DateRange;\n @Input()\n min: Date | null;\n @Input()\n max: Date | null;\n @Input() autocomplete: 'off';\n\n @Output() blur = new EventEmitter<Event>();\n\n public dateMask = {mask: DATEPICKER_DATE_MASK, showMaskOnHover: false};\n public formControl: FormControl;\n public selectedDate: Date;\n public isDisabled = false;\n public interval: Interval.IInterval<Date>;\n\n private componentDestroyed$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Inject(CALENDAR_MONTH_LABELS) private monthLabels = CALENDAR_DEFAULT_MONTH_LABELS,\n @Inject(CALENDAR_WEEKDAY_LABELS) private weekdayLabels = CALENDAR_DEFAULT_WEEKDAY_LABELS,\n @Inject(DATEPICKER_ERROR_LABELS) private errorLabels = DATEPICKER_DEFAULT_ERROR_LABELS,\n public calendarService: CalendarService,\n private formBuilder: FormBuilder,\n private ref: ChangeDetectorRef\n ) {\n }\n\n public ngOnInit(): void {\n this.createInterval();\n this.formControl = this.formBuilder.control({value: '', disabled: this.isDisabled});\n this.formControl.valueChanges\n .pipe(\n takeUntil(this.componentDestroyed$)\n )\n .subscribe((value) => {\n if (value) {\n const format = value.split(DATEPICKER_SEPARATOR_CHAR).reverse().join('-');\n const date = DateHelper.parseDate(format, 'yyyy-MM-dd');\n if (date) {\n this.selectedDate = date;\n this.onChange(date.toISOString());\n } else {\n // Change value with original value (and not null or '') so we can add an error in the validate function\n this.onChange(value);\n }\n } else {\n this.selectedDate = null;\n this.onChange('');\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.min || changes.max) {\n this.createInterval();\n }\n }\n\n public ngOnDestroy(): void {\n this.componentDestroyed$.next(true);\n this.componentDestroyed$.complete();\n }\n\n private createInterval() {\n if (!this.min && !this.max) {\n return;\n }\n // Create an interval if min/max is filled in\n this.interval = IntervalBuilder.dateInterval(this.min ? new Date(this.min) : null, this.max ? new Date(this.max) : null)\n .not()\n .build();\n }\n\n public writeValue(value: string | Date): void {\n this.selectedDate = typeof value === 'string'\n ? this.isISODateFormat(value) ? new Date(value) : DateHelper.parseDate(value, 'dd/MM/yyyy')\n : value;\n const dateString = this.selectedDate ? this.formatDate(this.selectedDate) : '';\n this.formControl.setValue(dateString);\n }\n\n public registerOnChange(onChange: (res: any) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (_: any) => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n\n if (this.formControl) {\n if (isDisabled && this.formControl.enabled) {\n this.formControl.disable();\n } else if (!isDisabled && this.formControl.disabled) {\n this.formControl.enable();\n }\n }\n\n this.ref.markForCheck();\n }\n\n public selectDateFromCalendar(result: DatepickerResult): void {\n if (result.complete) {\n this.formControl.setValue(this.formatDate(result.date));\n this.flyout.close();\n }\n }\n\n public formatDate(date: Date): string {\n return DateHelper.formatDate(date, 'DD/MM/YYYY', {\n leadingZero: true,\n monthLabels: this.monthLabels,\n weekdayLabels: this.weekdayLabels,\n });\n }\n\n public validate(ctrl: FormControl): DatepickerValidationErrors {\n // no error on empty value (add required validator in app)\n if (ctrl.value === '' || ctrl.value === null) {\n return null;\n }\n\n // throw format error if no valid date was provided\n const date = DateHelper.parseDate(ctrl.value);\n if (!date) {\n return {\n format: this.errorLabels.ERRORS_INVALID_DATE,\n };\n }\n\n // no error if valid date an no range provided\n if (!this.range || !this.range.length) {\n return null;\n }\n\n // throw error when out of range\n const range = this.calendarService.getRangeForDate(date, this.range);\n\n return range.indexOf(date.getDate()) >= 0 ? {\n range: this.errorLabels.ERRORS_INVALID_RANGE,\n } : null;\n }\n\n public handleBlur(e: Event): void {\n this.blur.emit(e);\n this.onTouched(e);\n }\n\n private onChange: (res: any) => void = () => undefined;\n\n private onTouched: (_: any) => void = () => undefined;\n\n private isISODateFormat(value: string) {\n if (typeof value !== 'string') {\n return false;\n }\n return value.match(/\\d{4}-\\d{2}-\\d{2}T.*/);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { FlyoutModule } from '@acpaas-ui/ngx-flyout';\nimport {\n CALENDAR_DEFAULT_MONTH_LABELS,\n CALENDAR_DEFAULT_WEEKDAY_LABELS,\n CALENDAR_MONTH_LABELS,\n CALENDAR_WEEKDAY_LABELS,\n CalendarModule\n} from '@acpaas-ui/ngx-calendar';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\n\nimport { MaskModule } from '../mask/mask.module';\n\nimport { DatepickerComponent } from './components/datepicker/datepicker.component';\nimport { DATEPICKER_DEFAULT_ERROR_LABELS, DATEPICKER_ERROR_LABELS } from './datepicker.conf';\nimport { DatepickerErrorLabels } from './types/datepicker.types';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CalendarModule,\n IconModule,\n FlyoutModule,\n MaskModule,\n ],\n declarations: [\n DatepickerComponent,\n ],\n exports: [\n DatepickerComponent,\n ],\n providers: [\n {provide: CALENDAR_WEEKDAY_LABELS, useValue: CALENDAR_DEFAULT_WEEKDAY_LABELS},\n {provide: CALENDAR_MONTH_LABELS, useValue: CALENDAR_DEFAULT_MONTH_LABELS},\n {provide: DATEPICKER_ERROR_LABELS, useValue: DATEPICKER_DEFAULT_ERROR_LABELS},\n ],\n})\nexport class DatepickerModule {\n static forChild(\n weekdayLabels: string[],\n monthLabels: string[],\n errorLabels: DatepickerErrorLabels\n ): ModuleWithProviders {\n return {\n ngModule: DatepickerModule,\n providers: [\n {provide: CALENDAR_WEEKDAY_LABELS, useValue: weekdayLabels},\n {provide: CALENDAR_MONTH_LABELS, useValue: monthLabels},\n {provide: DATEPICKER_ERROR_LABELS, useValue: errorLabels},\n ],\n };\n }\n}\n","import { Component, ElementRef, forwardRef, HostBinding, HostListener, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { RangeSliderRange } from '../../types/range-slider.types';\n\n@Component({\n selector: 'aui-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: [\n './range-slider.component.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RangeSliderComponent), // tslint:disable-line\n multi: true,\n },\n ],\n})\nexport class RangeSliderComponent implements OnInit, ControlValueAccessor {\n @HostBinding('class.m-range-slider') coreBranding = true;\n @Input() public min = 0;\n @Input() public max = 100;\n @Input() public minimalDistance = 1;\n @Input() public step = 0;\n @Input() public labelBefore = '';\n @Input() public labelAfter = '';\n public start = 0;\n public end: (number | boolean) = false;\n public steps = [];\n public startPercentage;\n public endPercentage;\n public active = null;\n public isDisabled = false;\n public hasFocus = false;\n public click = false;\n\n constructor(private elRef: ElementRef) {\n }\n\n @HostBinding('class.is-disabled') get disabledClass() {\n return this.isDisabled;\n }\n\n public propagateChange = (value: number | RangeSliderRange) => {\n }\n\n public ngOnInit() {\n if (this.step > 0) {\n for (let i = 0; i <= this.max; i += Number(this.step)) {\n this.steps.push(i);\n }\n }\n\n this.startPercentage = this.startToPercentage();\n\n if (this.end) {\n this.endPercentage = this.endToPercentage();\n }\n }\n\n public writeValue(value: any) {\n if (value && value.start) {\n this.start = value.start;\n } else if (!isNaN(value) && value !== '') {\n this.start = Number(value);\n } else {\n this.setStart(Number(this.min));\n }\n\n this.startPercentage = this.startToPercentage();\n\n if (value && value.end) {\n this.end = value.end;\n this.endPercentage = this.endToPercentage();\n }\n }\n\n public registerOnTouched() {\n }\n\n public registerOnChange(fn) {\n this.propagateChange = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public onMouseDown(handle) {\n if (this.isDisabled) {\n return;\n }\n\n this.hasFocus = true;\n this.active = handle;\n }\n\n public toggleFocus(hasFocus, element, $event) {\n if (this.isDisabled) {\n return;\n }\n\n $event.preventDefault();\n this.hasFocus = hasFocus;\n this.active = element;\n }\n\n @HostListener('document:keydown', ['$event'])\n public onKeyDown($event) {\n if (!this.hasFocus) {\n return;\n }\n\n const key = $event.keyCode;\n const keyCodes = {\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n };\n\n if (Object.keys(keyCodes).map(e => keyCodes[e]).indexOf(key) === -1) {\n return;\n }\n let increment = this.minimalDistance;\n\n if (this.step > 0) {\n increment = Number(this.step);\n }\n\n const processValue = (dir) => {\n let newValue = (this.active === 'start' ? this.start : Number(this.end));\n if (dir === 'up') {\n newValue += increment;\n } else {\n newValue -= increment;\n }\n let newPercentage = (newValue - this.min) / (this.max - this.min) * 100;\n\n if (newPercentage > 100) {\n newPercentage = 100;\n }\n if (newPercentage < 0) {\n newPercentage = 0;\n }\n return newPercentage;\n };\n\n switch (key) {\n case keyCodes.right:\n case keyCodes.up:\n this.updateHandle(processValue('up'));\n $event.preventDefault();\n break;\n case keyCodes.left:\n case keyCodes.down:\n this.updateHandle(processValue('down'));\n $event.preventDefault();\n break;\n case keyCodes.end:\n this.updateHandle(100);\n $event.preventDefault();\n break;\n case keyCodes.home:\n this.updateHandle(0);\n $event.preventDefault();\n break;\n }\n\n }\n\n @HostListener('touchend', ['$event'])\n @HostListener('mouseup', ['$event'])\n public onMouseUp(event) {\n if (this.active === 'start') {\n this.setStart(this.round(this.start, this.step, 0));\n this.startPercentage = this.startToPercentage();\n }\n\n if (this.active === 'end') {\n this.setEnd(this.round(this.end, this.step, 0));\n this.endPercentage = this.endToPercentage();\n }\n this.click = false;\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n mouseDown(event) {\n this.click = true;\n }\n\n @HostListener('touchmove', ['$event'])\n @HostListener('mousemove', ['$event'])\n public onMouseMove(event: MouseEvent | TouchEvent) {\n if (!this.active || !this.click) {\n return;\n }\n\n event.preventDefault(); // Do not select text while sliding\n\n const x = (event as MouseEvent).x !== undefined ? (event as MouseEvent).x : (event as TouchEvent).targetTouches[0].pageX;\n const rect = this.elRef.nativeElement.getBoundingClientRect();\n const newPercentage = this.calcPercentage(x, rect.width, rect.left);\n this.updateHandle(newPercentage);\n }\n\n public updateHandle(newPercentage) {\n if (this.active === 'start') {\n this.startPercentage = newPercentage;\n this.setStart(this.percentageToStart());\n\n if (this.minimalDistanceNotRespected()) {\n this.setStart(Number(this.end) - Number(this.minimalDistance));\n this.startPercentage = this.startToPercentage();\n }\n }\n\n if (this.active === 'end' && this.endPercentage) {\n this.endPercentage = newPercentage;\n this.setEnd(this.percentageToEnd());\n\n if (this.minimalDistanceNotRespected()) {\n this.setEnd(Number(this.start) + Number(this.minimalDistance));\n this.endPercentage = this.endToPercentage();\n }\n }\n }\n\n // ---------- HELPERS ---------- //\n public setStart(value) {\n this.start = value;\n\n if (this.end) {\n this.propagateChange({\n start: this.start,\n end: this.end,\n } as RangeSliderRange);\n } else {\n this.propagateChange(this.start);\n }\n }\n\n public setEnd(value) {\n this.end = value;\n\n this.propagateChange({\n start: this.start,\n end: this.end,\n } as RangeSliderRange);\n }\n\n public round(n, increment, offset) {\n if (increment > 0) {\n return Math.round((n - offset) / increment) * increment + offset;\n }\n\n return n;\n }\n\n public startToPercentage() {\n return Math.round((this.start - this.min) / (this.max - this.min) * 100);\n }\n\n public percentageToStart() {\n return Math.round((this.startPercentage / 100) * (this.max - this.min) + Number(this.min));\n }\n\n public endToPercentage() {\n return Math.round((Number(this.end) - this.min) / (this.max - this.min) * 100);\n }\n\n public percentageToEnd() {\n return Math.round((this.endPercentage / 100) * (this.max - this.min) + Number(this.min));\n }\n\n public minimalDistanceNotRespected() {\n return this.minimalDistance >= 0 && this.end && this.start > Number(this.end) - this.minimalDistance;\n }\n\n public calcPercentage(mouseX, width, offsetLeft) {\n const mousePos = mouseX - offsetLeft;\n\n let newPercentage = Math.round((mousePos / width) * 100);\n\n if (newPercentage > 100) {\n newPercentage = 100;\n }\n\n if (newPercentage < 0) {\n newPercentage = 0;\n }\n\n return newPercentage;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RangeSliderComponent } from './components/range-slider/range-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n declarations: [\n RangeSliderComponent,\n ],\n exports: [\n RangeSliderComponent,\n ],\n})\nexport class RangeSliderModule {\n}\n","import { Component, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { debounce, get } from 'lodash-es';\n\nimport { FlyoutSize } from '@acpaas-ui/ngx-flyout';\n\nimport { SearchFilterChoice } from '../../types/search-filter.types';\n\n@Component({\n selector: 'aui-search-filter',\n templateUrl: './search-filter.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SearchFilterComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class SearchFilterComponent implements OnInit, OnChanges, ControlValueAccessor {\n @Input() public id: string;\n @Input() public name: string;\n @Input() public flyoutSize = FlyoutSize.Small;\n @Input() public flyoutAlign;\n @Input() public label = 'Filter';\n @Input() public labelDeselect = 'Alles deselecteren';\n @Input() public labelResults = 'Resultaten';\n @Input() public labelNoResults = 'Geen resultaten gevonden.';\n @Input() public choices: SearchFilterChoice[] = [];\n @Input() public remote: boolean;\n @Input() public placeholder = 'Zoeken';\n @Input() public inputDelay = 150;\n @Input() public showAllByDefault = false;\n @Input() public size: 'large' | 'default' | 'small' | 'tiny' = 'default';\n\n @Output() public search: EventEmitter<string> = new EventEmitter<string>();\n\n public query = '';\n public selectedItems: string[] = [];\n public filteredChoices: SearchFilterChoice[] = [];\n public loading = false;\n public isDisabled = false;\n\n public filterDataFromSearch: () => {};\n\n constructor() {\n this.filterDataFromSearch = debounce(this.filterData.bind(this), this.inputDelay);\n }\n\n public updateModel: (_) => any = () => {\n }\n\n public writeValue(value: string[]): void {\n this.selectedItems = Array.isArray(value) ? value : [];\n }\n\n public registerOnChange(onChange: (_) => any): void {\n this.updateModel = onChange;\n }\n\n public registerOnTouched(): void {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public ngOnInit(): void {\n if (this.showAllByDefault) {\n this.filterData();\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const choices = get(changes, 'choices.currentValue', null);\n\n if (!choices) {\n return;\n }\n\n if (this.remote) {\n this.filteredChoices = [...choices];\n this.loading = false;\n } else {\n this.filterData();\n }\n }\n\n public filterData(): void {\n if (this.remote) {\n this.loading = true;\n\n return this.search.emit(this.query);\n }\n\n this.filterChoices();\n }\n\n public clear(): void {\n this.selectedItems = [];\n this.query = '';\n\n this.filterData();\n this.updateModel(this.selectedItems);\n }\n\n public toggleSelected(choice: string): void {\n const selected = this.selectedItems.indexOf(choice);\n\n if (selected < 0) {\n this.selectedItems = this.selectedItems.concat(choice);\n } else {\n this.selectedItems = [\n ...this.selectedItems.slice(0, selected),\n ...this.selectedItems.slice(selected + 1),\n ];\n }\n\n this.updateModel(this.selectedItems);\n }\n\n private filterChoices(): void {\n this.filteredChoices = this.choices.filter((choice: SearchFilterChoice) => {\n return (\n this.selectedItems.indexOf(choice.value) < 0 &&\n choice.label.toLowerCase().indexOf(this.query.toLowerCase()) >= 0\n );\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { FlyoutModule } from '@acpaas-ui/ngx-flyout';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport { SearchFilterComponent } from './components/search-filter/search-filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FlyoutModule,\n FormsModule,\n IconModule,\n ],\n declarations: [\n SearchFilterComponent,\n ],\n exports: [\n SearchFilterComponent,\n ],\n})\nexport class SearchFilterModule {\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class TimePickerValidators {\n // time `hh:mm` 24h format\n public static minTime(time: string): ValidatorFn {\n const validator = (control: AbstractControl): { [key: string]: any } => {\n const splittedControlValue = control.value.split(':');\n const controlHours = parseInt(splittedControlValue[0], 10);\n const controlMinutes = parseInt(splittedControlValue[1], 10);\n const splittedMinTime = time.split(':');\n const minHours = parseInt(splittedMinTime[0], 10);\n const minMinutes = parseInt(splittedMinTime[1], 10);\n\n // Don't throw error --> use Validator.required\n if (isNaN(controlHours) || isNaN(controlMinutes) || isNaN(minHours) || isNaN(minMinutes)) {\n return null;\n }\n\n if (minHours < controlHours) {\n return null;\n }\n\n if (minHours === controlHours && minMinutes <= controlMinutes) {\n return null;\n }\n\n return {minTime: {value: control.value}};\n };\n\n return validator;\n }\n\n // time `hh:mm` 24h format\n public static maxTime(time: string): ValidatorFn {\n const validator = (control: AbstractControl): { [key: string]: any } => {\n const splittedControlValue = control.value.split(':');\n const controlHours = parseInt(splittedControlValue[0], 10);\n const controlMinutes = parseInt(splittedControlValue[1], 10);\n const splittedMinTime = time.split(':');\n const maxHours = parseInt(splittedMinTime[0], 10);\n const maxMinutes = parseInt(splittedMinTime[1], 10);\n\n // Don't throw error --> use Validator.required\n if (isNaN(controlHours) || isNaN(controlMinutes) || isNaN(maxHours) || isNaN(maxMinutes)) {\n return null;\n }\n\n if (maxHours > controlHours) {\n return null;\n }\n\n if (maxHours === controlHours && maxMinutes >= controlMinutes) {\n return null;\n }\n\n return {maxTime: {value: control.value}};\n };\n\n return validator;\n }\n}\n","export enum TimepickerInputSize {\n Auto = 'auto',\n Small = 'small',\n Large = 'large',\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, FormBuilder, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DateHelper } from '@acpaas-ui/js-date-utils';\n\nimport { TimepickerInputSize } from '../../types/timepicker.types';\n\n@Component({\n selector: 'aui-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: [\n './timepicker.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimepickerComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class TimepickerComponent implements OnInit, OnDestroy, ControlValueAccessor {\n @Input() public id = 'aui-timepicker-' + Math.random().toString(36).substring(2);\n @Input() public hoursPlaceholder = 'uu';\n @Input() public minutesPlaceholder = 'mm';\n @Input() public hasError = false;\n @Input() public size: TimepickerInputSize = TimepickerInputSize.Auto;\n @Input() public ariaLabelHours = 'Uur';\n @Input() public ariaLabelMinutes = 'Minuten';\n\n public shouldUseFallback = false;\n public minutes: string[] = [];\n public hours: string[] = [];\n public updateModel: (value: string) => any;\n\n public timeControl = new FormControl();\n public fallbackForm: FormGroup;\n\n private componentDestroyed$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private formBuilder: FormBuilder,\n private renderer: Renderer2\n ) {\n }\n\n public ngOnInit() {\n this.shouldUseFallback = this.supportsNativeTimepicker();\n this.minutes = this.getMinutes();\n this.hours = this.getHours();\n\n this.fallbackForm = this.formBuilder.group({\n hours: null,\n minutes: null,\n });\n\n this.fallbackForm.valueChanges\n .pipe(takeUntil(this.componentDestroyed$))\n .subscribe((formData) => {\n if (formData.hours && formData.minutes) {\n this.updateModel(`${formData.hours}:${formData.minutes}`);\n } else {\n this.updateModel('');\n }\n });\n\n this.timeControl.valueChanges\n .pipe(takeUntil(this.componentDestroyed$))\n .subscribe((time) => {\n this.updateModel(time);\n });\n }\n\n public ngOnDestroy() {\n this.componentDestroyed$.next(true);\n this.componentDestroyed$.complete();\n }\n\n public writeValue(value: any): void {\n this.timeControl.setValue(value, {emitEvent: false});\n\n if (value) {\n const splitted = value.split(':');\n this.fallbackForm.get('hours').setValue(splitted[0], {emitEvent: false});\n this.fallbackForm.get('minutes').setValue(splitted[1], {emitEvent: false});\n }\n }\n\n public registerOnChange(onChange): void {\n this.updateModel = onChange;\n }\n\n public registerOnTouched(): void {\n }\n\n public setDisabledState(isDisabled: boolean) {\n if (isDisabled) {\n this.timeControl.disable({emitEvent: false});\n this.fallbackForm.disable({emitEvent: false});\n } else {\n this.timeControl.enable({emitEvent: false});\n this.fallbackForm.enable({emitEvent: false});\n }\n }\n\n private supportsNativeTimepicker(): boolean {\n const element = this.renderer.createElement('input');\n element.type = 'time';\n\n return element.type === 'text';\n }\n\n private getMinutes(): string[] {\n return Array(60).fill('').map((value, index) => {\n return DateHelper.addLeadingZero(index);\n });\n }\n\n private getHours(): string[] {\n return Array(24).fill('').map((value, index) => {\n return DateHelper.addLeadingZero(index);\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport { TimepickerComponent } from './components/timepicker/timepicker.component';\n\n@NgModule({\n imports: [\n ReactiveFormsModule,\n CommonModule,\n IconModule,\n ],\n declarations: [\n TimepickerComponent,\n ],\n exports: [\n TimepickerComponent,\n ],\n providers: [],\n})\nexport class TimepickerModule {\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { UploadOptions, ValidationMessages } from './types/upload.types';\n\nexport const UPLOAD_OPTIONS_DEFAULT: UploadOptions = {\n allowedMimeTypes: [],\n allowedFileTypes: [],\n autoUpload: false,\n maxFileSize: 0, // 0 is infinite\n queueLimit: 0, // 0 is infinite\n type: 'drop',\n url: '',\n};\n\nexport const UPLOAD_VALIDATION_MESSAGES = new InjectionToken<ValidationMessages>('uploadValidationMessages');\n","import { Observable } from 'rxjs';\n\nimport { UPLOAD_OPTIONS_DEFAULT } from '../upload.conf';\nimport { InvalidFile, UploadOptions } from '../types/upload.types';\n\nexport class Uploader {\n public options: UploadOptions = UPLOAD_OPTIONS_DEFAULT;\n\n constructor(options?: UploadOptions) {\n this.setOptions(options);\n }\n\n public setOptions(options) {\n this.options = Object.assign({}, this.options, options);\n }\n\n public uploadFiles(files: File[]): Observable<{ progress: number, data: object[] }> {\n const formData: FormData = this.filesToFormData(files);\n\n return new Observable(observer => {\n const xhr = new XMLHttpRequest();\n\n // Progress callback\n xhr.upload.addEventListener('progress', (e) => {\n if (e.lengthComputable) {\n const percentComplete = e.loaded / e.total;\n\n observer.next({\n progress: percentComplete,\n data: null,\n });\n }\n });\n\n // Complete callback\n xhr.onload = () => {\n observer.next({\n progress: 1,\n data: xhr.response,\n });\n // observer.complete();\n };\n\n // Do request\n xhr.responseType = 'json';\n xhr.open('post', this.options.url);\n xhr.send(formData);\n });\n }\n\n public validateFiles(files) {\n const validFiles: File[] = [];\n const invalidFiles: InvalidFile[] = [];\n\n if (files.length > 0) {\n\n for (const file of files) {\n const errors = [];\n\n if (!this.validateFileType(file)) {\n errors.push('INVALID_FILE_TYPE');\n }\n\n if (!this.validateFileSize(file)) {\n errors.push('INVALID_FILE_SIZE');\n }\n\n if (!this.validateMimeType(file)) {\n errors.push('INVALID_MIME_TYPE');\n }\n\n if (errors.length === 0) {\n validFiles.push(file);\n } else {\n invalidFiles.push({\n reasons: errors,\n file,\n });\n }\n }\n }\n\n return {\n validFiles,\n invalidFiles,\n };\n }\n\n protected filesToFormData(files: File[]): FormData {\n const formData = new FormData();\n\n if (!this.options.url || this.options.url === '') {\n throw new Error('Define the upload url.');\n }\n\n for (const file of files) {\n formData.append('file', file);\n }\n\n return formData;\n }\n\n protected getFileExtension(file: File): string {\n return file.name.split('.')[file.name.split('.').length - 1];\n }\n\n protected validateFileType(file: File): boolean {\n const allowedFileTypes = this.options.allowedFileTypes;\n const ext = this.getFileExtension(file);\n\n // Filter defined?\n if (!Array.isArray(allowedFileTypes) || allowedFileTypes.length === 0) {\n return true;\n }\n\n // Make allowedFileTypes case insensitive\n const toUpper = (x) => x.toUpperCase();\n const allowedFileTypesToUpper = allowedFileTypes.map(toUpper);\n\n return allowedFileTypesToUpper.lastIndexOf(ext.toUpperCase()) !== -1;\n }\n\n protected validateFileSize(file: File): boolean {\n const maxFileSize = this.options.maxFileSize;\n\n // Filter defined?\n if (!maxFileSize || maxFileSize === 0) {\n return true;\n }\n\n return maxFileSize > file.size;\n }\n\n protected validateMimeType(file: File): boolean {\n const allowedMimeTypes = this.options.allowedMimeTypes;\n\n // Filter defined?\n if (!Array.isArray(allowedMimeTypes) || allowedMimeTypes.length === 0) {\n return true;\n }\n\n return allowedMimeTypes.lastIndexOf(file.type) !== -1;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { InvalidFile, UploadOptions } from '../../types/upload.types';\nimport { UPLOAD_OPTIONS_DEFAULT } from '../../upload.conf';\nimport { Uploader } from '../../classes/uploader.class';\n\n@Component({\n selector: 'aui-upload',\n styleUrls: [\n './upload.component.scss',\n ],\n templateUrl: './upload.component.html',\n})\nexport class UploadComponent implements OnInit {\n @Input() public id = '';\n @Input() public accept = [];\n @Input() public capture = '';\n @Input() public ariaLabelRemove = 'Verwijder';\n @Input() public disabled = false;\n @Input() public multiple = true;\n @Input() public options: UploadOptions = UPLOAD_OPTIONS_DEFAULT;\n @Output() public selectUploadedFiles: EventEmitter<object[]> = new EventEmitter<object[]>();\n\n public uploader;\n public ariaId;\n public uploadedFiles: object[] = [];\n public invalidFiles: InvalidFile[] = [];\n public queuedFiles: File[] = [];\n\n public ngOnInit() {\n if (!this.id) {\n this.ariaId = 'aui-upload-' + Math.random().toString(36).substring(2);\n }\n this.uploader = new Uploader(this.options);\n }\n\n public onUploadedFiles(files: object[]) {\n this.uploadedFiles = this.uploadedFiles.concat(files);\n this.selectUploadedFiles.emit(this.uploadedFiles);\n }\n\n public onInvalidFiles(files: InvalidFile[]) {\n this.invalidFiles = files;\n }\n\n public onQueuedFiles(files: File[]) {\n this.queuedFiles = this.queuedFiles.concat(files);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { UploadOptions } from '../../types/upload.types';\n\n@Component({\n selector: 'aui-upload-input',\n templateUrl: './upload-input.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: UploadInputComponent,\n multi: true,\n }],\n})\nexport class UploadInputComponent implements ControlValueAccessor {\n @Input() public options: UploadOptions;\n @Input() public format: any;\n\n public propagateChange = (_: any) => undefined;\n\n public writeValue(value: any) {\n }\n\n public registerOnChange(fn) {\n this.propagateChange = fn;\n }\n\n registerOnTouched() {\n }\n\n public onUpload(files) {\n const data = (this.format ? this.format(files) : files);\n this.propagateChange(data);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { Uploader } from '../../classes/uploader.class';\n\n@Component({\n selector: 'aui-upload-queue',\n templateUrl: './upload-queue.component.html',\n})\nexport class UploadQueueComponent {\n @Input() public files: File[];\n @Input() public uploader: Uploader;\n @Input() public ariaLabelRemove = 'Verwijder';\n @Output() public uploadedFiles: EventEmitter<object[]> = new EventEmitter<object[]>();\n\n public uploadProgress = 0;\n\n public remove(index) {\n this.files.splice(index, 1);\n }\n\n public uploadFiles() {\n const progress = undefined;\n const data = undefined;\n this.uploader.uploadFiles(this.files).subscribe(\n (response) => {\n if (response.progress) {\n this.uploadProgress = Math.floor(response.progress * 100);\n }\n if (response.data) {\n this.uploadedFiles.emit(response.data);\n this.files = [];\n }\n }\n );\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, ViewChild } from '@angular/core';\n\nimport { InvalidFile } from '../../types/upload.types';\nimport { Uploader } from '../../classes/uploader.class';\n\n@Component({\n selector: 'aui-upload-zone',\n templateUrl: './upload-zone.component.html',\n})\nexport class UploadZoneComponent implements AfterViewInit {\n @ViewChild('fileInput', {static: false}) fileInput: ElementRef;\n\n @Input() public uploader: Uploader;\n @Input() public id = '';\n @Input() public accept = [];\n @Input() public capture = '';\n @Input() public ariaId = '';\n @Input() public disabled = false;\n @Input() public multiple = true;\n @Output() public uploadedFiles: EventEmitter<object[]> = new EventEmitter<object[]>();\n @Output() public queuedFiles: EventEmitter<File[]> = new EventEmitter<File[]>();\n @Output() public invalidFiles: EventEmitter<InvalidFile[]> = new EventEmitter<InvalidFile[]>();\n\n public hasDragOver = false;\n public classNames: string;\n public uploadProgress = 0;\n public uploadingFiles: File[];\n\n @HostListener('dragover', ['$event'])\n public onDragOver(event: any): void {\n this.preventAndStop(event);\n this.hasDragOver = true;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(event: any): void {\n this.preventAndStop(event);\n this.hasDragOver = false;\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(event: any): void {\n this.preventAndStop(event);\n this.hasDragOver = false;\n const files = this.fileListToArray(event.dataTransfer.files);\n this.handleFiles(files);\n }\n\n constructor(\n private renderer: Renderer2,\n ) {}\n\n public triggerFile() {\n this.fileInput.nativeElement.click();\n }\n\n public updateFiles() {\n const files: any[] = this.fileListToArray(this.fileInput.nativeElement.files);\n this.handleFiles(files);\n }\n\n public onFileClick(event) {\n // When removing a file make sure you can add it again later\n // See: https://stackoverflow.com/questions/59870335/ng2-file-upload-not-allowing-me-to-add-same-doc-after-ive-removed-it-from-que\n event.target.value = '';\n }\n\n ngAfterViewInit() {\n if (this.multiple !== false) { this.renderer.setProperty(this.fileInput.nativeElement, 'multiple', 'multiple'); }\n if (!!this.accept.length) { this.renderer.setProperty(this.fileInput.nativeElement, 'accept', this.accept.join()); }\n if (this.disabled) { this.renderer.setProperty(this.fileInput.nativeElement, 'disabled', 'disabled'); }\n if (this.capture !== '') { this.renderer.setAttribute(this.fileInput.nativeElement, 'capture', this.capture); }\n }\n\n protected handleFiles(files) {\n const response = this.uploader.validateFiles(files);\n this.invalidFiles.emit(response.invalidFiles);\n\n if (this.uploader.options.autoUpload && response.validFiles.length > 0) {\n this.uploadFiles(response.validFiles);\n } else {\n this.queuedFiles.emit(response.validFiles);\n }\n }\n\n protected uploadFiles(files) {\n // Reset progress\n this.uploadProgress = 0;\n this.uploadingFiles = files;\n\n // upload\n this.uploader.uploadFiles(files).subscribe(\n (response) => {\n if (response.progress) {\n this.uploadProgress = Math.floor(response.progress * 100);\n }\n if (response.data) {\n this.uploadedFiles.emit(response.data);\n }\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n protected fileListToArray(list: FileList): object[] {\n return Array.from(list);\n }\n\n protected preventAndStop(event: any): any {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Inject, Injectable } from '@angular/core';\n\nimport { UPLOAD_VALIDATION_MESSAGES } from '../upload.conf';\n\n@Injectable()\nexport class ValidationMessagesService {\n public INVALID_FILE_TYPE = 'INVALID_FILE_TYPE';\n public INVALID_FILE_SIZE = 'INVALID_FILE_SIZE';\n public INVALID_MIME_TYPE = 'INVALID_MIME_TYPE';\n\n constructor(\n @Inject(UPLOAD_VALIDATION_MESSAGES) private initValues\n ) {\n if (initValues.INVALID_FILE_TYPE) {\n this.INVALID_FILE_TYPE = initValues.INVALID_FILE_TYPE;\n }\n\n if (initValues.INVALID_FILE_SIZE) {\n this.INVALID_FILE_SIZE = initValues.INVALID_FILE_SIZE;\n }\n\n if (initValues.INVALID_MIME_TYPE) {\n this.INVALID_MIME_TYPE = initValues.INVALID_MIME_TYPE;\n }\n }\n}\n\n","import { Component, Input } from '@angular/core';\n\nimport { InvalidFile } from '../../types/upload.types';\n\nimport { ValidationMessagesService } from '../../services/validation-messages.service';\n\n@Component({\n selector: 'aui-validation-list',\n templateUrl: './validation-list.component.html',\n})\nexport class ValidationListComponent {\n @Input() public invalidFiles: InvalidFile[] = [];\n @Input() public ariaLabelRemove = 'Verwijder';\n\n constructor(private messagesService: ValidationMessagesService) {\n }\n\n public remove(index: number): void {\n this.invalidFiles.splice(index, 1);\n }\n\n public formatReasons(reasons: string[]): string {\n const result = [];\n for (const reason of reasons) {\n result.push(this.messagesService[reason]);\n }\n return result.join(', ');\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '@acpaas-ui/ngx-icon';\nimport { ProgressBarModule } from '@acpaas-ui/ngx-progress-bar';\nimport { UPLOAD_VALIDATION_MESSAGES } from './upload.conf';\nimport { ValidationMessages } from './types/upload.types';\nimport { UploadComponent } from './components/upload/upload.component';\nimport { UploadInputComponent } from './components/upload-input/upload-input.component';\nimport { UploadQueueComponent } from './components/upload-queue/upload-queue.component';\nimport { UploadZoneComponent } from './components/upload-zone/upload-zone.component';\nimport { ValidationListComponent } from './components/validation-list/validation-list.component';\nimport { ValidationMessagesService } from './services/validation-messages.service';\n\n@NgModule({\n imports: [\n CommonModule,\n ProgressBarModule,\n FormsModule,\n IconModule,\n ],\n declarations: [\n UploadComponent,\n UploadInputComponent,\n UploadQueueComponent,\n UploadZoneComponent,\n ValidationListComponent,\n ],\n exports: [\n UploadComponent,\n UploadInputComponent,\n UploadQueueComponent,\n UploadZoneComponent,\n ValidationListComponent,\n ],\n providers: [\n ValidationMessagesService,\n {provide: UPLOAD_VALIDATION_MESSAGES, useValue: {}},\n ],\n})\nexport class UploadModule {\n static forChild(\n validationMessages: ValidationMessages = {}\n ): ModuleWithProviders {\n return {\n ngModule: UploadModule,\n providers: [\n {provide: UPLOAD_VALIDATION_MESSAGES, useValue: validationMessages},\n ],\n };\n }\n}\n","export const WYSIWYG_DEFAULT_CONFIG = {\n bodyClass: 'a-input ckeditor-editable-body',\n contentsCss: ['https://cdn.antwerpen.be/core_branding_scss/5.0.0/main.min.css'],\n extraPlugins: 'divarea',\n find_highlight: {\n element: 'span',\n styles: {'background-color': '#fffc00', color: '#0064b4'},\n },\n format_tags: 'p;h1;h2;h3;h4;h5;h6',\n toolbar_Basic: [\n ['Bold', 'Italic', 'Underline', '-', 'Format', '-', 'Source'],\n ],\n removeButtons: 'Styles',\n removePlugins: 'about',\n toolbar: null,\n uiColor: '#d8d8d8',\n};\n","import { Component, EventEmitter, forwardRef, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { WYSIWYG_DEFAULT_CONFIG } from '../../wysiwyg.conf';\n\n@Component({\n selector: 'aui-wysiwyg',\n templateUrl: './wysiwyg.component.html',\n styleUrls: [\n './wysiwyg.component.scss',\n ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WysiwygComponent), // tslint:disable-line:no-forward-ref\n multi: true,\n }],\n})\nexport class WysiwygComponent implements OnInit, ControlValueAccessor {\n @HostBinding('class.aui-wysiwyg') setClass = true;\n\n @Input() additionalStyling: string[];\n @Input() availableTags: string;\n @Input() basic = false;\n @Input() uiColour: string;\n @Input() customConfig: any;\n @Input() debounce: number;\n\n @Output() emitContent: EventEmitter<string> = new EventEmitter();\n @Output() focus: EventEmitter<string> = new EventEmitter();\n @Output() blur: EventEmitter<string> = new EventEmitter();\n\n public ckeditorContent: string;\n public ckeditorConfig = WYSIWYG_DEFAULT_CONFIG;\n public isDisabled = false;\n\n // NG_VALUE_ACCESSOR_INTERFACE\n public writeValue(value: string): void {\n this.ckeditorContent = value;\n this.updateModel(value);\n this.emitContent.emit(this.ckeditorContent);\n }\n\n public onFocus(value: string): void {\n this.focus.emit(value);\n }\n\n public onBlur(value: string): void {\n this.blur.emit(value);\n }\n\n public registerOnChange(onChange: () => void): void {\n this.updateModel = onChange;\n }\n\n public registerOnTouched(): void {\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public ngOnInit() {\n this.setConfig();\n }\n\n private updateModel = (...args: any[]) => undefined;\n\n private setConfig(): void {\n if (this.customConfig) {\n this.ckeditorConfig = this.customConfig;\n } else {\n if (this.basic) {\n this.ckeditorConfig.toolbar = 'Basic';\n }\n\n if (this.availableTags) {\n this.ckeditorConfig.format_tags = this.availableTags;\n }\n\n if (this.uiColour) {\n this.ckeditorConfig.uiColor = this.uiColour;\n }\n\n if (this.additionalStyling) {\n this.ckeditorConfig.contentsCss.concat(this.additionalStyling);\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CKEditorModule } from 'ng2-ckeditor';\nimport { WysiwygComponent } from './components/wysiwyg/wysiwyg.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CKEditorModule,\n ],\n declarations: [\n WysiwygComponent,\n ],\n exports: [\n WysiwygComponent,\n ],\n})\nexport class WysiwygModule {\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -2654,6 +2654,7 @@ var UploadComponent = /** @class */ (function () {
|
|
|
2654
2654
|
function UploadComponent() {
|
|
2655
2655
|
this.id = '';
|
|
2656
2656
|
this.accept = [];
|
|
2657
|
+
this.capture = '';
|
|
2657
2658
|
this.ariaLabelRemove = 'Verwijder';
|
|
2658
2659
|
this.disabled = false;
|
|
2659
2660
|
this.multiple = true;
|
|
@@ -2712,13 +2713,14 @@ var UploadComponent = /** @class */ (function () {
|
|
|
2712
2713
|
UploadComponent.decorators = [
|
|
2713
2714
|
{ type: Component, args: [{
|
|
2714
2715
|
selector: 'aui-upload',
|
|
2715
|
-
template: "<div class=\"m-upload aui-upload\">\n <aui-upload-zone\n [id]=\"id\"\n [accept]=\"accept\"\n [ariaId]=\"ariaId\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n [uploader]=\"uploader\"\n (invalidFiles)=\"onInvalidFiles($event)\"\n (queuedFiles)=\"onQueuedFiles($event)\"\n (uploadedFiles)=\"onUploadedFiles($event)\">\n <div class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </div>\n <div class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </div>\n <div class=\"m-upload__button\">\n <ng-content select=\".m-upload__button\"></ng-content>\n </div>\n </aui-upload-zone>\n <aui-validation-list [ariaLabelRemove]=\"ariaLabelRemove\" [invalidFiles]=\"invalidFiles\"></aui-validation-list>\n <aui-upload-queue (uploadedFiles)=\"onUploadedFiles($event)\" *ngIf=\"!options?.autoUpload\" [ariaLabelRemove]=\"ariaLabelRemove\"\n [files]=\"queuedFiles\" [uploader]=\"uploader\"></aui-upload-queue>\n</div>\n",
|
|
2716
|
+
template: "<div class=\"m-upload aui-upload\">\n <aui-upload-zone\n [id]=\"id\"\n [accept]=\"accept\"\n [capture]=\"capture\"\n [ariaId]=\"ariaId\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n [uploader]=\"uploader\"\n (invalidFiles)=\"onInvalidFiles($event)\"\n (queuedFiles)=\"onQueuedFiles($event)\"\n (uploadedFiles)=\"onUploadedFiles($event)\">\n <div class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </div>\n <div class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </div>\n <div class=\"m-upload__button\">\n <ng-content select=\".m-upload__button\"></ng-content>\n </div>\n </aui-upload-zone>\n <aui-validation-list [ariaLabelRemove]=\"ariaLabelRemove\" [invalidFiles]=\"invalidFiles\"></aui-validation-list>\n <aui-upload-queue (uploadedFiles)=\"onUploadedFiles($event)\" *ngIf=\"!options?.autoUpload\" [ariaLabelRemove]=\"ariaLabelRemove\"\n [files]=\"queuedFiles\" [uploader]=\"uploader\"></aui-upload-queue>\n</div>\n",
|
|
2716
2717
|
styles: [".m-upload__button>.m-upload__input{display:none}"]
|
|
2717
2718
|
}] }
|
|
2718
2719
|
];
|
|
2719
2720
|
UploadComponent.propDecorators = {
|
|
2720
2721
|
id: [{ type: Input }],
|
|
2721
2722
|
accept: [{ type: Input }],
|
|
2723
|
+
capture: [{ type: Input }],
|
|
2722
2724
|
ariaLabelRemove: [{ type: Input }],
|
|
2723
2725
|
disabled: [{ type: Input }],
|
|
2724
2726
|
multiple: [{ type: Input }],
|
|
@@ -2733,6 +2735,8 @@ if (false) {
|
|
|
2733
2735
|
/** @type {?} */
|
|
2734
2736
|
UploadComponent.prototype.accept;
|
|
2735
2737
|
/** @type {?} */
|
|
2738
|
+
UploadComponent.prototype.capture;
|
|
2739
|
+
/** @type {?} */
|
|
2736
2740
|
UploadComponent.prototype.ariaLabelRemove;
|
|
2737
2741
|
/** @type {?} */
|
|
2738
2742
|
UploadComponent.prototype.disabled;
|
|
@@ -2920,6 +2924,7 @@ var UploadZoneComponent = /** @class */ (function () {
|
|
|
2920
2924
|
this.renderer = renderer;
|
|
2921
2925
|
this.id = '';
|
|
2922
2926
|
this.accept = [];
|
|
2927
|
+
this.capture = '';
|
|
2923
2928
|
this.ariaId = '';
|
|
2924
2929
|
this.disabled = false;
|
|
2925
2930
|
this.multiple = true;
|
|
@@ -3011,12 +3016,15 @@ var UploadZoneComponent = /** @class */ (function () {
|
|
|
3011
3016
|
if (this.multiple !== false) {
|
|
3012
3017
|
this.renderer.setProperty(this.fileInput.nativeElement, 'multiple', 'multiple');
|
|
3013
3018
|
}
|
|
3014
|
-
if (this.accept) {
|
|
3019
|
+
if (!!this.accept.length) {
|
|
3015
3020
|
this.renderer.setProperty(this.fileInput.nativeElement, 'accept', this.accept.join());
|
|
3016
3021
|
}
|
|
3017
3022
|
if (this.disabled) {
|
|
3018
3023
|
this.renderer.setProperty(this.fileInput.nativeElement, 'disabled', 'disabled');
|
|
3019
3024
|
}
|
|
3025
|
+
if (this.capture !== '') {
|
|
3026
|
+
this.renderer.setAttribute(this.fileInput.nativeElement, 'capture', this.capture);
|
|
3027
|
+
}
|
|
3020
3028
|
};
|
|
3021
3029
|
/**
|
|
3022
3030
|
* @protected
|
|
@@ -3116,6 +3124,7 @@ var UploadZoneComponent = /** @class */ (function () {
|
|
|
3116
3124
|
uploader: [{ type: Input }],
|
|
3117
3125
|
id: [{ type: Input }],
|
|
3118
3126
|
accept: [{ type: Input }],
|
|
3127
|
+
capture: [{ type: Input }],
|
|
3119
3128
|
ariaId: [{ type: Input }],
|
|
3120
3129
|
disabled: [{ type: Input }],
|
|
3121
3130
|
multiple: [{ type: Input }],
|
|
@@ -3138,6 +3147,8 @@ if (false) {
|
|
|
3138
3147
|
/** @type {?} */
|
|
3139
3148
|
UploadZoneComponent.prototype.accept;
|
|
3140
3149
|
/** @type {?} */
|
|
3150
|
+
UploadZoneComponent.prototype.capture;
|
|
3151
|
+
/** @type {?} */
|
|
3141
3152
|
UploadZoneComponent.prototype.ariaId;
|
|
3142
3153
|
/** @type {?} */
|
|
3143
3154
|
UploadZoneComponent.prototype.disabled;
|