@acpaas-ui/ngx-forms 4.7.0 → 4.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"acpaas-ui-ngx-forms.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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 OnDestroy,\n OnInit,\n Output,\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, 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', true);\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 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', true)\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';\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 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 {SearchFilterComponent} from './components/search-filter/search-filter.component';\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n FlyoutModule,\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 {TimepickerComponent} from './components/timepicker/timepicker.component';\n\n@NgModule({\n imports: [\n ReactiveFormsModule,\n CommonModule,\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 disabled = false;\n @Input() public multiple = true;\n @Input() public id = '';\n @Input() public ariaId = '';\n @Input() public accept = [];\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 constructor(\n private renderer: Renderer2,\n ) {}\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 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 {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 ],\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/4.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":["Directive","ElementRef","Input","NgModule","CommonModule","tslib_1.__spread","Injectable","EventEmitter","get","isEqual","Component","NG_VALUE_ACCESSOR","forwardRef","Output","ViewChild","FlyoutDirective","FlyoutZoneDirective","ContentChild","TemplateRef","FormsModule","FlyoutModule","SelectableListModule","InjectionToken","Subject","takeUntil","DateHelper","IntervalBuilder","ChangeDetectionStrategy","NG_VALIDATORS","Inject","CALENDAR_MONTH_LABELS","CALENDAR_WEEKDAY_LABELS","CalendarService","FormBuilder","ChangeDetectorRef","CALENDAR_DEFAULT_WEEKDAY_LABELS","CALENDAR_DEFAULT_MONTH_LABELS","ReactiveFormsModule","CalendarModule","HostBinding","HostListener","FlyoutSize","debounce","FormControl","Renderer2","Observable","tslib_1.__values","ProgressBarModule","CKEditorModule"],"mappings":"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"}
1
+ {"version":3,"file":"acpaas-ui-ngx-forms.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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', true);\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', true)\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';\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 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 {SearchFilterComponent} from './components/search-filter/search-filter.component';\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n FlyoutModule,\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 {TimepickerComponent} from './components/timepicker/timepicker.component';\n\n@NgModule({\n imports: [\n ReactiveFormsModule,\n CommonModule,\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 disabled = false;\n @Input() public multiple = true;\n @Input() public id = '';\n @Input() public ariaId = '';\n @Input() public accept = [];\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 constructor(\n private renderer: Renderer2,\n ) {}\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 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 {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 ],\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/4.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":["Directive","ElementRef","Input","NgModule","CommonModule","tslib_1.__spread","Injectable","EventEmitter","get","isEqual","Component","NG_VALUE_ACCESSOR","forwardRef","Output","ViewChild","FlyoutDirective","FlyoutZoneDirective","ContentChild","TemplateRef","FormsModule","FlyoutModule","SelectableListModule","InjectionToken","Subject","takeUntil","DateHelper","IntervalBuilder","ChangeDetectionStrategy","NG_VALIDATORS","Inject","CALENDAR_MONTH_LABELS","CALENDAR_WEEKDAY_LABELS","CalendarService","FormBuilder","ChangeDetectorRef","CALENDAR_DEFAULT_WEEKDAY_LABELS","CALENDAR_DEFAULT_MONTH_LABELS","ReactiveFormsModule","CalendarModule","HostBinding","HostListener","FlyoutSize","debounce","FormControl","Renderer2","Observable","tslib_1.__values","ProgressBarModule","CKEditorModule"],"mappings":"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"}