@marcura/marcura-combobox 4.7.3 → 4.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1590,7 +1590,7 @@
1590
1590
  return rxjs.of(matchingValue);
1591
1591
  }
1592
1592
  // If no matches found in the selected values, check if item is in cache.
1593
- var cachedValue = matchingValue ? null : _this.getItem(_this._valueNormalizerItems, text);
1593
+ var cachedValue = _this.getItem(_this._valueNormalizerItems, text);
1594
1594
  // If areItemsCached is off, then this.data will be lost by this moment,
1595
1595
  // so we use a cache this.valueNormalizerItems.
1596
1596
  // This is relevant especially in IE/Edge where this.component.value is null,
@@ -1600,14 +1600,13 @@
1600
1600
  }
1601
1601
  // If no match is found and custom values are allowed, create a new custom item
1602
1602
  if (_this.allowCustom) {
1603
- return (_this.itemFactory$ ? _this.itemFactory$(text) : rxjs.of(_this.itemFactory(text))).pipe(function (newValue) {
1603
+ return (_this.itemFactory$ ? _this.itemFactory$(text) : rxjs.of(_this.itemFactory(text))).pipe(operators.tap(function () {
1604
1604
  if (_this._isSync) {
1605
1605
  // Restore original items after selection, otherwise when opening the list
1606
1606
  // next time, only the selected item will appear.
1607
1607
  _this.loadItems();
1608
1608
  }
1609
- return newValue;
1610
- });
1609
+ }));
1611
1610
  }
1612
1611
  return rxjs.of(null);
1613
1612
  }), operators.map(function (value) {
@@ -1 +1 @@
1
- {"version":3,"file":"marcura-marcura-combobox.umd.js","sources":["../../src/lib/combobox.injectables.ts","../../../../node_modules/tslib/tslib.es6.js","../../src/lib/directives/combobox-item-template.directive.ts","../../src/lib/directives/dropdown-item-template.directive.ts","../../src/lib/directives/dropdown-value-template.directive.ts","../../src/lib/directives/multiselect-item-template.directive.ts","../../src/lib/directives/multiselect-tag-template.directive.ts","../../src/lib/directives/multiselect-tag-wrapper.directive.ts","../../src/lib/components/abstract-dropdown/abstract-dropdown.component.ts","../../src/lib/model/combobox-search-settings-operator.enum.ts","../../src/lib/components/abstract-combobox/abstract-combobox.component.ts","../../src/lib/components/combobox-popup-footer/combobox-popup-footer.component.ts","../../src/lib/model/combobox-changed.event.ts","../../src/lib/components/combobox/combobox.component.ts","../../src/lib/model/dropdown-changed.event.ts","../../src/lib/components/dropdown/dropdown.component.ts","../../src/lib/model/multiselect-changed.event.ts","../../src/lib/components/multiselect/multiselect.component.ts","../../src/lib/combobox.module.ts","../../src/marcura-marcura-combobox.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {IComboboxLocalization} from './model/combobox-localization.interface';\nimport {IDropdownLocalization} from './model/dropdown-localization.interface';\nimport {IDropdownLocalizer} from './model/dropdown-localizer.interface';\nimport {IMultiselectLocalization} from './model/multiselect-localization.interface';\n\nexport const COMBOBOX_LOCALIZER: InjectionToken<IDropdownLocalizer<IComboboxLocalization>> = new InjectionToken(\n 'ComboboxModule.IDropdownLocalizer<IComboboxLocalization>'\n);\nexport const DROPDOWN_LOCALIZER: InjectionToken<IDropdownLocalizer<IDropdownLocalization>> = new InjectionToken(\n 'ComboboxModule.IDropdownLocalizer<IDropdownLocalization>'\n);\nexport const MULTISELECT_LOCALIZER: InjectionToken<IDropdownLocalizer<IMultiselectLocalization>> = new InjectionToken(\n 'ComboboxModule.IDropdownLocalizer<IMultiselectLocalization>'\n);\n","/*! *****************************************************************************\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 (Object.prototype.hasOwnProperty.call(b, 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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} from '@angular/core';\n\n@Directive({\n selector: '[sgComboboxItem]',\n})\nexport class ComboboxItemTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgDropdownItem]',\n})\nexport class DropdownItemTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgDropdownValue]',\n})\nexport class DropdownValueTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgMultiselectItem]',\n})\nexport class MultiselectItemTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgMultiselectTag]',\n})\nexport class MultiselectTagTemplateDirective {}\n","import {Directive, ElementRef, Input} from '@angular/core';\n\n/**\n * Toggles CSS classes of kendo-multiselect tag wrapper (kendo-taglist li.k-button),\n * so necessary styles could be applied when tag state changes, read only state, for example.\n *\n * @export\n */\n@Directive({\n selector: '[sgMultiselectTagWrapper]',\n exportAs: 'multiselectTagWrapper',\n})\nexport class MultiselectTagWrapperDirective {\n private _getTagWrapperAttempts: number = 0;\n private _isReadOnly: boolean = false;\n private _tagWrapper: HTMLElement;\n @Input()\n public get isReadOnly(): boolean {\n return this._isReadOnly;\n }\n public set isReadOnly(isReadOnly: boolean) {\n // Will come as undefined if not set from the outside.\n this._isReadOnly = !!isReadOnly;\n this._tagWrapper = this._tagWrapper || this._getTagWrapper(this._element.nativeElement);\n this._setCssClass(this._tagWrapper);\n }\n\n private _getTagWrapper(element: HTMLElement): HTMLElement {\n if (element.classList.contains('k-button') && element.tagName === 'LI') {\n return element;\n } else {\n if (this._getTagWrapperAttempts >= 5) {\n return null;\n }\n\n this._getTagWrapperAttempts++;\n return this._getTagWrapper(element.parentElement);\n }\n }\n\n private _setCssClass(tagWrapper: HTMLElement): void {\n if (!tagWrapper) {\n return;\n }\n\n if (this.isReadOnly) {\n tagWrapper.classList.add('sg-multiselect__tag-wrapper--is-read-only');\n } else {\n tagWrapper.classList.remove('sg-multiselect__tag-wrapper--is-read-only');\n }\n }\n\n public constructor(private _element: ElementRef) {}\n}\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {\n AbstractControlComponent,\n ControlBlurredEvent,\n ControlState,\n ControlType,\n IOpenableControlComponent,\n IStateableControlComponent,\n ITypeableControlComponent,\n Nil,\n} from '@marcura/marcura-common';\nimport {BehaviorSubject} from 'rxjs';\nimport {IDropdownKendoComponent} from '../../model/dropdown-kendo-component.interface';\n\ninterface IDropdownOpenedEvent {\n isOpen: boolean;\n shouldEmit: boolean;\n}\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class AbstractDropdownComponent<\n TItem,\n TValue,\n TKendoComponent extends IDropdownKendoComponent = IDropdownKendoComponent\n> extends AbstractControlComponent<TValue>\n implements IOpenableControlComponent, IStateableControlComponent, ITypeableControlComponent {\n private _valueField: string = 'id';\n private _textField: string = 'name';\n protected _resetedValue: TValue;\n protected _component: TKendoComponent;\n protected _items: TItem[] = [];\n protected readonly _isOpen: BehaviorSubject<IDropdownOpenedEvent> = new BehaviorSubject({\n isOpen: false,\n shouldEmit: false,\n });\n protected readonly _isLoading: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n protected _type: ControlType | Nil = null;\n protected _state: ControlState | Nil = null;\n protected _isSuccessType: boolean = this._type === ControlType.Success;\n protected _isErrorType: boolean = this._type === ControlType.Error;\n protected _isWarningType: boolean = this._type === ControlType.Warning;\n protected _isHighlightedState: boolean = this._state === ControlState.Highlighted;\n public readonly valueFormControl: FormControl = new FormControl();\n @Input()\n public get valueField(): string {\n return this._valueField;\n }\n public set valueField(valueField: string) {\n if (valueField && this._valueField !== valueField) {\n this._valueField = valueField;\n }\n }\n @Input()\n public get textField(): string {\n return this._textField;\n }\n public set textField(textField: string) {\n if (textField && this._textField !== textField) {\n this._textField = textField;\n }\n }\n @Input()\n public placeholder: string;\n @Input()\n public get isLoading(): boolean {\n return this._isLoading.value;\n }\n public set isLoading(isLoading: boolean) {\n this._isLoading.next(isLoading);\n // Mark hasIsLoadingCssClass @HostBinding for check.\n this._changeDetectorRef.markForCheck();\n }\n @Input()\n public hasReset: boolean = true;\n @Input()\n public popupClass?: string;\n @Input()\n public get state(): ControlState | Nil {\n return this._state;\n }\n public set state(state: ControlState | Nil) {\n if (this._state !== state) {\n this._state = state;\n this._isHighlightedState = state === ControlState.Highlighted;\n this._changeDetectorRef.markForCheck();\n }\n }\n @Input()\n public get type(): ControlType | Nil {\n return this._type;\n }\n public set type(type: ControlType | Nil) {\n if (this._type !== type) {\n this._type = type;\n this._isSuccessType = type === ControlType.Success;\n this._isErrorType = type === ControlType.Error;\n this._isWarningType = type === ControlType.Warning;\n this._changeDetectorRef.markForCheck();\n }\n }\n @Input()\n public get items(): TItem[] {\n return this._items;\n }\n public set items(items: TItem[]) {\n this._items = items || [];\n }\n @Input()\n public listHeight: number = 200;\n @Input()\n public isPrimitiveValue: boolean = false;\n @Input()\n public isOutline: boolean = false;\n @Output()\n public readonly opened: EventEmitter<void> = new EventEmitter();\n @Output()\n public readonly closed: EventEmitter<void> = new EventEmitter();\n public get isOpen(): boolean {\n return this._isOpen.value.isOpen;\n }\n\n public constructor(protected readonly _changeDetectorRef: ChangeDetectorRef) {\n super();\n }\n\n protected _setComponent(component: TKendoComponent): void {\n this._component = component;\n }\n\n protected _emitChanged(value: TValue): void {}\n\n protected _reset(): void {\n const hasValueChanged: boolean = this.hasValueChanged(this.defaultValue);\n\n if (hasValueChanged) {\n this.writeValue(this.defaultValue);\n this.formControl.reset(this.defaultValue);\n this.valueFormControl.reset(this.defaultValue);\n this._component.reset();\n this._emitChanged(this.defaultValue);\n } else {\n this.formControl.markAsPristine();\n this.formControl.markAsUntouched();\n this.valueFormControl.reset(this.defaultValue);\n this._component.reset();\n }\n }\n\n public init(): void {\n this._observer.listen(this._isDisabled, (isDisabled) => {\n if (isDisabled) {\n this.valueFormControl.disable();\n } else {\n this.valueFormControl.enable();\n }\n });\n }\n\n public open(shouldEmitEvent: boolean = true): void {\n this._component.toggle(true);\n this._isOpen.next({isOpen: true, shouldEmit: shouldEmitEvent});\n }\n\n public close(shouldEmitEvent: boolean = true): void {\n this._component.toggle(false);\n this._isOpen.next({isOpen: false, shouldEmit: shouldEmitEvent});\n }\n\n public toggle(shouldEmitEvent: boolean = true): void {\n if (this._isOpen) {\n this.close(shouldEmitEvent);\n } else {\n this.open(shouldEmitEvent);\n }\n }\n\n public focus(): void {\n this._component.focus();\n }\n\n public blur(): void {\n this._component.blur();\n }\n\n public onOpened(): void {\n this._isOpen.next({isOpen: true, shouldEmit: true});\n }\n\n public onClosed(): void {\n this._isOpen.next({isOpen: false, shouldEmit: true});\n }\n\n public onFocused(): void {\n this.focused.emit();\n }\n\n public onBlurred(): void {\n this.blurred.emit(\n new ControlBlurredEvent(\n this.value,\n this._resetedValue || this._focusedValue,\n this.hasValueChanged(this._resetedValue || this._focusedValue)\n )\n );\n this._resetedValue = null;\n }\n\n public onChanged(value: TValue): void {\n value = value === undefined ? this.defaultValue : value;\n this.value = value;\n this.propagateChanged(value);\n this.propagateTouched();\n this._emitChanged(value);\n }\n\n public onResetClicked(): void {\n if (!this.hasReset) {\n return;\n }\n\n this._resetedValue = this.value;\n this.focus();\n this._reset();\n this.open();\n }\n\n public writeValue(value: TValue): void {\n // CSS class @HostBindings aren't updated with OnPush change detection strategy,\n // and are to be marked for check.\n this._changeDetectorRef.markForCheck();\n this.valueFormControl.setValue(value);\n super.writeValue(value);\n }\n\n public setDisabledState(isDisabled: boolean): void {\n super.setDisabledState(isDisabled);\n // Mark hasIsDisabledCssClass @HostBinding for check.\n this._changeDetectorRef.markForCheck();\n }\n}\n","export enum ComboboxSearchSettingsOperator {\n Contains = 'contains',\n StartsWith = 'startsWith',\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\nimport {isFalse, Is, Observer, Worker} from '@marcura/marcura-common';\nimport {GroupResult} from '@progress/kendo-data-query';\nimport {combineLatest, BehaviorSubject, Observable} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, filter, map, skip, tap} from 'rxjs/operators';\nimport {AbstractDropdownComponent} from '../../components/abstract-dropdown/abstract-dropdown.component';\nimport {IComboboxKendoComponent} from '../../model/combobox-kendo-component.interface';\nimport {ComboboxSearchFn} from '../../model/combobox-search-fn.type';\nimport {ComboboxSearchSettingsOperator} from '../../model/combobox-search-settings-operator.enum';\nimport {IComboboxSearchSettings} from '../../model/combobox-search-settings.interface';\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AbstractComboboxComponent<TItem, TValue>\n extends AbstractDropdownComponent<TItem, TValue, IComboboxKendoComponent>\n implements ControlValueAccessor, OnDestroy {\n private _debounceTime: number = 500;\n private readonly _debounceObserver: Observer = new Observer();\n private readonly _worker: Worker = new Worker();\n private readonly _additionalItems: BehaviorSubject<TItem[]> = new BehaviorSubject<TItem[]>([]);\n protected _valueNormalizerItems: TItem[] = [];\n protected _isSync: boolean = false;\n protected readonly _loadedItems: BehaviorSubject<TItem[]> = new BehaviorSubject<TItem[]>([]);\n protected readonly _hasSearched: BehaviorSubject<boolean> = new BehaviorSubject(false);\n protected readonly _isSearching: BehaviorSubject<boolean> = new BehaviorSubject(false);\n protected readonly _searchText: BehaviorSubject<string> = new BehaviorSubject('');\n public readonly combinedItems: Observable<TItem[]> = combineLatest([this._loadedItems, this._additionalItems]).pipe(\n map(([items, additionalItems]) => [...items, ...additionalItems].filter(Is.truthy))\n );\n @Input()\n public isSearchable: boolean = true;\n @Input()\n public minSearchCharacters: number = 1;\n @Input()\n public search: ComboboxSearchFn<TItem>;\n @Input()\n public areItemsCached: boolean = false;\n @Input()\n public get debounceTime(): number {\n return this._debounceTime;\n }\n public set debounceTime(value: number) {\n this._debounceTime = value;\n this._listenToSearched();\n }\n @Input()\n public get items(): TItem[] {\n return this._items;\n }\n public set items(items: TItem[]) {\n this._isSync = true;\n this._items = items || [];\n this._listenToSearched();\n this._loadedItems.next(this._items);\n }\n @Input()\n public get additionalItems(): TItem[] {\n return this._additionalItems.value;\n }\n public set additionalItems(additionalItems: TItem[]) {\n this._additionalItems.next(additionalItems || []);\n }\n @Input()\n public searchSettings: IComboboxSearchSettings = {\n isCaseSensitive: false,\n operator: ComboboxSearchSettingsOperator.Contains,\n };\n @Input()\n public isGroupable: boolean = false;\n @Output()\n public searched: EventEmitter<string> = new EventEmitter();\n public readonly isNoItemsTextVisible: Observable<boolean> = combineLatest([\n this._isSearching,\n this._hasSearched,\n this._isFocused,\n this.combinedItems,\n ]).pipe(\n map(([isSearching, hasSearched, isFocused, combinedItems]) => {\n return !isSearching && hasSearched && isFocused && combinedItems.length === 0;\n })\n );\n public readonly isMinSearchTextVisible: Observable<boolean> = combineLatest([\n this._isSearching,\n this._hasSearched,\n this._isFocused,\n ]).pipe(\n map(([isSearching, hasSearched, isFocused]) => {\n return !this._isSync && !isSearching && !hasSearched && isFocused;\n })\n );\n public readonly isLoadingSpinnerVisible: Observable<boolean> = combineLatest([\n this._isLoading,\n this._isSearching,\n ]).pipe(map(([isLoading, isSearching]) => isLoading || isSearching));\n // To show loading properly we are to use loadedItems as they don't include additionalItems.\n public readonly isLoadingTextVisible: Observable<boolean> = combineLatest([\n this.isLoadingSpinnerVisible,\n this._loadedItems,\n ]).pipe(map(([isLoadingSpinnerVisible, loadedItems]) => isLoadingSpinnerVisible && loadedItems.length === 0));\n\n private _disableChromeAutocomplete(): void {\n if (this._component.searchbar && this._component.searchbar.input) {\n this._renderer.setAttribute(this._component.searchbar.input.nativeElement, 'autocomplete', 'disabled');\n }\n }\n\n private _listenToSearched(): void {\n this._debounceObserver.clear();\n this._debounceObserver.listen(\n this._searchText.pipe(\n distinctUntilChanged(),\n skip(1),\n tap((searchText) => {\n this.searched.emit(searchText);\n this._isSearching.next(this.canLoadItems(searchText) && this._isOpen.value.isOpen);\n }),\n debounceTime(this._isSync ? 0 : this.debounceTime),\n filter(() => this._isOpen.value.isOpen)\n ),\n this.loadItems\n );\n }\n\n private _filterItems(items: TItem[], searchText: string): TItem[] {\n if (!items || !items.length) {\n return [];\n }\n\n return items.filter((item) => {\n let itemText: string = (item[this.textField] || '').trim();\n itemText = this.searchSettings.isCaseSensitive ? itemText : itemText.toLowerCase();\n\n return this.searchSettings.operator === ComboboxSearchSettingsOperator.Contains\n ? itemText.indexOf(searchText) !== -1\n : itemText.substring(0, searchText.length) === searchText;\n });\n }\n\n protected _setComponent(component: IComboboxKendoComponent): void {\n this._component = component;\n this._disableChromeAutocomplete();\n }\n\n protected searchItems(searchText: string): TItem[] {\n if (!this.searchSettings || !searchText || !this._items.length) {\n return this._items;\n }\n\n searchText = this.searchSettings.isCaseSensitive ? searchText : searchText.toLowerCase();\n\n if (this.isGroupable) {\n const groups: GroupResult[] = <any>this._items;\n const filteredGroups: GroupResult[] = groups\n .map((group) => {\n return {\n items: this._filterItems(<TItem[]>group.items, searchText),\n aggregates: group.aggregates,\n field: group.field,\n value: group.value,\n };\n })\n .filter((group) => group.items.length > 0);\n\n return <any>filteredGroups;\n }\n\n return this._filterItems(this._items, searchText);\n }\n\n protected canLoadItems(searchText: string): boolean {\n return searchText.length >= this.minSearchCharacters && !this._isSync;\n }\n\n protected getItem(items: TItem[], text: string): TItem {\n return items.find((item) => item[this.textField].toLowerCase() === text.toLowerCase());\n }\n\n protected isItemEqual<T>(item1: T, item2: T): boolean {\n const isItem1Empty: boolean = item1 === null || item1 === undefined;\n const isItem2Empty: boolean = item2 === null || item2 === undefined;\n\n if (isItem1Empty && isItem2Empty) {\n return true;\n }\n\n if (isItem1Empty || isItem2Empty) {\n return false;\n }\n\n return this.isPrimitiveValue ? item1 === item2 : item1[this.valueField] === item2[this.valueField];\n }\n\n protected loadItems = (searchText?: string): void => {\n searchText = (searchText || '').trim();\n\n if (this._isSync) {\n this._hasSearched.next(!!searchText);\n this._loadedItems.next(this.searchItems(searchText));\n } else {\n if (this.canLoadItems(searchText)) {\n this._isSearching.next(true);\n this._worker.handle(this.search(searchText), (items) => {\n this._hasSearched.next(true);\n this._loadedItems.next(items);\n this._valueNormalizerItems = [...items, ...this._additionalItems.value];\n this._isSearching.next(false);\n });\n } else {\n this._hasSearched.next(false);\n this._loadedItems.next([]);\n this._valueNormalizerItems = [];\n this._isSearching.next(false);\n }\n }\n };\n\n public constructor(changeDetectorRef: ChangeDetectorRef, protected readonly _renderer: Renderer2) {\n super(changeDetectorRef);\n }\n\n public ngOnDestroy(): void {\n this._debounceObserver.destroy();\n this._worker.destroy();\n }\n\n public init(): void {\n super.init();\n this._listenToSearched();\n\n if (this._isSync) {\n this._loadedItems.next(this._items);\n }\n\n // Closed.\n this._observer.listen(\n this._isOpen.pipe(\n filter((event) => !event.isOpen),\n skip(1)\n ),\n (event) => {\n if (!this.areItemsCached && !this._isSync) {\n this._loadedItems.next([]);\n }\n\n this._worker.cancel();\n this._isSearching.next(false);\n\n if (event.shouldEmit) {\n this.closed.emit();\n }\n }\n );\n\n // Blurred.\n this._observer.listen(this._isFocused.pipe(filter(isFalse)), () => {\n // Restore original unfiltered items when the component is blurred\n // after some search text entered. Consider a case:\n // 1. Search with text that gives 0 items.\n // 2. Blur and focus.\n // 3. Search text is cleared, but items remain empty, so the list won't show up.\n this._loadedItems.next(this._items);\n this._hasSearched.next(false);\n });\n }\n\n public onSearched(searchText: string): void {\n this._searchText.next(searchText);\n }\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'sg-combobox-popup-footer',\n templateUrl: 'combobox-popup-footer.component.html',\n})\nexport class ComboboxPopupFooterComponent {\n @Input()\n public isLoadingTextVisible: boolean = false;\n @Input()\n public isNoItemsTextVisible: boolean = false;\n @Input()\n public isMinSearchTextVisible: boolean = false;\n @Input()\n public loadingText: string;\n @Input()\n public noItemsText: string;\n @Input()\n public minSearchText: string;\n @Input()\n public minSearchCharacters: number;\n\n public getMinSearchText(): string {\n return this.minSearchText.replace('{minSearchCharacters}', this.minSearchCharacters.toString());\n }\n}\n","import {ControlChangedEvent} from '@marcura/marcura-common';\n\nexport class ComboboxChangedEvent<TValue> extends ControlChangedEvent<TValue> {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n ABSTRACT_CONTROL_COMPONENT,\n ControlSize,\n ISizeableControlComponent,\n isTrue,\n OPENABLE_CONTROL_COMPONENT,\n SIZEABLE_CONTROL_COMPONENT,\n STATEABLE_CONTROL_COMPONENT,\n TYPEABLE_CONTROL_COMPONENT,\n} from '@marcura/marcura-common';\nimport {ComboBoxComponent as KendoComboBoxComponent, PopupSettings} from '@progress/kendo-angular-dropdowns';\nimport {Observable} from 'rxjs';\nimport {debounceTime, filter, map} from 'rxjs/operators';\nimport {COMBOBOX_LOCALIZER} from '../../combobox.injectables';\nimport {ComboboxItemTemplateDirective} from '../../directives/combobox-item-template.directive';\nimport {ComboboxChangedEvent} from '../../model/combobox-changed.event';\nimport {IComboboxLocalization} from '../../model/combobox-localization.interface';\nimport {IDropdownLocalizer} from '../../model/dropdown-localizer.interface';\nimport {AbstractComboboxComponent} from '../abstract-combobox/abstract-combobox.component';\n\n@Component({\n selector: 'sg-combobox',\n templateUrl: 'combobox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ComboboxComponent),\n multi: true,\n },\n {\n provide: ABSTRACT_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: OPENABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: STATEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: TYPEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: SIZEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n ],\n})\nexport class ComboboxComponent<TItem> extends AbstractComboboxComponent<TItem, TItem>\n implements ISizeableControlComponent, OnInit {\n public readonly defaultValue: TItem = null;\n private _size: ControlSize = ControlSize.Medium;\n private _loadingText: string;\n private _noItemsText: string;\n private _minSearchText: string;\n private _localization: IComboboxLocalization = {\n loadingText: 'Loading...',\n noItemsText: 'No items found.',\n minSearchText: 'Enter {minSearchCharacters} or more characters.',\n };\n @ViewChild('component', {static: true})\n public component: KendoComboBoxComponent;\n @ContentChild(ComboboxItemTemplateDirective, {read: TemplateRef, static: true})\n public itemTemplate: TemplateRef<any>;\n @HostBinding('class.sg-combobox')\n public readonly hasCssClass: boolean = true;\n @HostBinding('class.sg-combobox--has-value')\n public get hasHasValueCssClass(): boolean {\n return this.hasValue;\n }\n @HostBinding('class.sg-combobox--is-hovered')\n public get hasIsHoveredCssClass(): boolean {\n return this._isHovered.value;\n }\n @HostBinding('class.sg-combobox--is-focused')\n public get hasIsFocusedCssClass(): boolean {\n return this.isFocused;\n }\n @HostBinding('class.sg-combobox--is-disabled')\n public get hasIsDisabledCssClass(): boolean {\n return this.isDisabled;\n }\n @HostBinding('class.sg-combobox--type-success')\n public get isSuccessType(): boolean {\n return this._isSuccessType;\n }\n @HostBinding('class.sg-combobox--type-error')\n public get isErrorType(): boolean {\n return this._isErrorType;\n }\n @HostBinding('class.sg-combobox--type-warning')\n public get isWarningType(): boolean {\n return this._isWarningType;\n }\n @HostBinding('class.sg-combobox--state-highlighted')\n public get isHighlightedState(): boolean {\n return this._isHighlightedState;\n }\n @HostBinding('class.sg-combobox--is-loading')\n public get hasIsLoadingCssClass(): boolean {\n return this.isLoading || this._isSearching.value;\n }\n @HostBinding('class.sg-combobox--has-reset')\n public get hasHasResetCssClass(): boolean {\n return this.hasReset;\n }\n @HostBinding('class.sg-combobox--is-outline')\n public get hasIsOutlineCssClass(): boolean {\n return this.isOutline;\n }\n @HostBinding('class.sg-combobox--size-small')\n public hasSmallSizeCssClass: boolean = false;\n @HostBinding('class.sg-combobox--size-medium')\n public hasMediumSizeCssClass: boolean = true;\n @Input()\n public get loadingText(): string {\n return this._loadingText || this._localization.loadingText;\n }\n public set loadingText(loadingText: string) {\n this._loadingText = loadingText;\n }\n @Input()\n public get noItemsText(): string {\n return this._noItemsText || this._localization.noItemsText;\n }\n public set noItemsText(noItemsText: string) {\n this._noItemsText = noItemsText;\n }\n @Input()\n public get minSearchText(): string {\n return this._minSearchText || this._localization.minSearchText;\n }\n public set minSearchText(minSearchText: string) {\n this._minSearchText = minSearchText;\n }\n @Input()\n public shouldSuggest: boolean = true;\n @Input()\n public openOnFocus: boolean = true;\n @Input()\n public allowCustom: boolean = false;\n @Input()\n public get size(): ControlSize {\n return this._size;\n }\n public set size(size: ControlSize) {\n if (size) {\n this._size = size;\n }\n\n this.hasSmallSizeCssClass = this._size === ControlSize.Small;\n this.hasMediumSizeCssClass = this._size === ControlSize.Medium;\n }\n @Output()\n public changed: EventEmitter<ComboboxChangedEvent<TItem>> = new EventEmitter();\n /**\n * This field contains factory method for items which will be created placing customizable values inside component. Works when allowCustom is true.\n *\n * @memberof ComboboxComponent\n */\n @Input()\n public itemFactory: (text: string) => TItem = (text: string): TItem => {\n return {[this.valueField]: null, [this.textField]: text} as any;\n };\n public get popupSettings(): PopupSettings {\n return {\n animate: true,\n popupClass: `sg-combobox-popup${this.isGroupable ? ' sg-combobox-popup--is-groupable' : ''} ${\n this.popupClass || ''\n }`,\n };\n }\n\n protected _emitChanged(value: TItem): void {\n this.changed.emit(new ComboboxChangedEvent(value));\n }\n\n protected hasValueChanged(value: TItem): boolean {\n return !this.isItemEqual(this.value, value);\n }\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n renderer: Renderer2,\n @Optional()\n @Inject(COMBOBOX_LOCALIZER)\n private readonly _localizer: IDropdownLocalizer<IComboboxLocalization>\n ) {\n super(changeDetectorRef, renderer);\n this._localize();\n }\n\n private _localize(): void {\n if (!this._localizer) {\n return;\n }\n\n this._localization = this._localizer.localization;\n this._observer.listen(this._localizer.localizationChanged, (localization) => {\n this._localization = localization;\n });\n }\n\n public onResetClicked(): void {\n if (!this.hasReset) {\n return;\n }\n\n this._resetedValue = this.value;\n this.focus();\n this._reset();\n\n if (this.openOnFocus) {\n this.open();\n }\n }\n\n public ngOnInit(): void {\n this._setComponent(this.component);\n this.init();\n\n // Opened.\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => {\n if (!this.areItemsCached) {\n this._hasSearched.next(false);\n }\n\n if (this.canLoadItems(this._searchText.value) && this._loadedItems.value.length === 0) {\n this.loadItems(this._searchText.value);\n }\n });\n this._observer.listen(\n this._isOpen.pipe(\n filter((event) => event.isOpen),\n // When clicking reset icon, opened event triggers search event with\n // with old searchbar value instead of an empty string.\n // So we need to give searchbar a moment before fire opened event.\n // Steps to reproduce the bug:\n // 1) Search for Vladivostok and select it 2) Reset value with icon\n // 3) searchText remains \"Vladivostok\", but should be \"\".\n debounceTime(50)\n ),\n () => this.opened.emit()\n );\n\n // Focused.\n this._observer.listen(this._isFocused.pipe(filter(isTrue)), () => {\n if (this.openOnFocus) {\n this.open();\n }\n });\n }\n\n public onChanged(value: TItem): void {\n if (!this.hasValueChanged(value)) {\n return;\n }\n\n value = value === undefined ? this.defaultValue : value;\n this.value = value;\n this.component.searchbar.suggestedText = '';\n this.propagateChanged(value);\n this.propagateTouched();\n this._emitChanged(value);\n\n if (!value && this._isSync) {\n // Restore original items after selection, otherwise when opening the list\n // next time, only the previously selected item will appear.\n // Steps to reproduce: 1) Select \"Cayman Brac\", 2) Focus out and focus back,\n // 3) Delete a couple of characters with a Backspace from the end and hit Enter.\n // 4) Open the list.\n this.loadItems();\n }\n }\n\n public valueNormalizer = (text$: Observable<string>): any =>\n text$.pipe(\n map(() => {\n let value: TItem = null;\n if (!this.component) {\n return value;\n }\n // Can't use this._searchText.value here as it might be empty, consider:\n // 1) type custom text, 2) focus out and back in 3) there's a text in searchbar,\n // but this._searchText.value is empty.\n // So this.component.searchbar.value is to be used.\n const text: string = (this.component.searchbar.value || '').trim();\n\n if (!text) {\n return value;\n }\n\n if (this.component.value && this.component.value[this.textField].toLowerCase() === text.toLowerCase()) {\n value = this.component.value;\n } else if (this.getItem(this._valueNormalizerItems, text)) {\n // If areItemsCached is off, then this.data will be lost by this moment,\n // so we use a cache this.valueNormalizerItems.\n // This is relevant especially in IE/Edge where this.component.value is null,\n // so the code falls back to this condition section.\n value = this.getItem(this._valueNormalizerItems, text);\n } else if (this.allowCustom) {\n value = this.itemFactory(text);\n\n if (this._isSync) {\n // Restore original items after selection, otherwise when opening the list\n // next time, only the selected item will appear.\n this.loadItems();\n }\n } else {\n // Clears search text if suggestion hasn't been selected.\n // Steps to reproduce.\n // 1. Use Dymanic Empty sample.\n // 2. Type 'to', wait for the list to load, but don't select 'Tokai'. Instead hit Esc key.\n // 3. See that the search bar still contains 'to' text, while the value is null,\n // which is wrong - search bar text should be removed.\n // this.component.searchbar.suggestedText = ''; // This doesn't work.\n // As the above line doesn't work, so workaround it by setting form control value to null.\n this.valueFormControl.setValue(value);\n }\n\n this._valueNormalizerItems = [];\n return value;\n })\n );\n}\n","import {ControlChangedEvent} from '@marcura/marcura-common';\n\nexport class DropdownChangedEvent<TValue> extends ControlChangedEvent<TValue> {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n ABSTRACT_CONTROL_COMPONENT,\n ControlSize,\n ISizeableControlComponent,\n OPENABLE_CONTROL_COMPONENT,\n SIZEABLE_CONTROL_COMPONENT,\n STATEABLE_CONTROL_COMPONENT,\n TYPEABLE_CONTROL_COMPONENT,\n} from '@marcura/marcura-common';\nimport {DropDownListComponent, PopupSettings} from '@progress/kendo-angular-dropdowns';\nimport {filter, skip} from 'rxjs/operators';\nimport {DROPDOWN_LOCALIZER} from '../../combobox.injectables';\nimport {AbstractDropdownComponent} from '../../components/abstract-dropdown/abstract-dropdown.component';\nimport {DropdownItemTemplateDirective} from '../../directives/dropdown-item-template.directive';\nimport {DropdownValueTemplateDirective} from '../../directives/dropdown-value-template.directive';\nimport {DropdownChangedEvent} from '../../model/dropdown-changed.event';\nimport {IDropdownLocalization} from '../../model/dropdown-localization.interface';\nimport {IDropdownLocalizer} from '../../model/dropdown-localizer.interface';\n\n@Component({\n selector: 'sg-dropdown',\n templateUrl: 'dropdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n {\n provide: ABSTRACT_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: OPENABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: STATEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: TYPEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: SIZEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n ],\n})\nexport class DropdownComponent<TItem> extends AbstractDropdownComponent<TItem, TItem>\n implements ISizeableControlComponent, OnInit, ControlValueAccessor {\n public readonly defaultValue: TItem = null;\n private _size: ControlSize = ControlSize.Medium;\n private _noItemsText: string;\n private _localization: IDropdownLocalization = {\n noItemsText: 'No items found.',\n };\n @ViewChild('component', {static: true})\n public component: DropDownListComponent;\n @ContentChild(DropdownItemTemplateDirective, {read: TemplateRef})\n public itemTemplate: TemplateRef<any>;\n @ContentChild(DropdownValueTemplateDirective, {read: TemplateRef})\n public valueTemplate: TemplateRef<any>;\n @HostBinding('class.sg-dropdown')\n public readonly hasCssClass: boolean = true;\n @HostBinding('class.sg-dropdown--has-value')\n public get hasHasValueCssClass(): boolean {\n return this.hasValue;\n }\n @HostBinding('class.sg-dropdown--is-focused')\n public get hasIsFocusedCssClass(): boolean {\n return this.isFocused;\n }\n @HostBinding('class.sg-dropdown--is-hovered')\n public get hasIsHoveredCssClass(): boolean {\n return this._isHovered.value;\n }\n @HostBinding('class.sg-dropdown--is-disabled')\n public get hasIsDisabledCssClass(): boolean {\n return this.isDisabled;\n }\n @HostBinding('class.sg-dropdown--type-success')\n public get isSuccessType(): boolean {\n return this._isSuccessType;\n }\n @HostBinding('class.sg-dropdown--type-error')\n public get isErrorType(): boolean {\n return this._isErrorType;\n }\n @HostBinding('class.sg-dropdown--type-warning')\n public get isWarningType(): boolean {\n return this._isWarningType;\n }\n @HostBinding('class.sg-dropdown--state-highlighted')\n public get isHighlightedState(): boolean {\n return this._isHighlightedState;\n }\n @HostBinding('class.sg-dropdown--is-loading')\n public get hasIsLoadingCssClass(): boolean {\n return this.isLoading;\n }\n @HostBinding('class.sg-dropdown--has-reset')\n public get hasHasResetCssClass(): boolean {\n return this.hasReset;\n }\n @HostBinding('class.sg-dropdown--is-outline')\n public get hasIsOutlineCssClass(): boolean {\n return this.isOutline;\n }\n @HostBinding('class.sg-dropdown--size-small')\n public hasSmallSizeCssClass: boolean = false;\n @HostBinding('class.sg-dropdown--size-medium')\n public hasMediumSizeCssClass: boolean = true;\n @Input()\n public get noItemsText(): string {\n return this._noItemsText || this._localization.noItemsText;\n }\n public set noItemsText(noItemsText: string) {\n this._noItemsText = noItemsText;\n }\n @Input()\n public get size(): ControlSize {\n return this._size;\n }\n public set size(size: ControlSize) {\n if (size) {\n this._size = size;\n }\n\n this.hasSmallSizeCssClass = this._size === ControlSize.Small;\n this.hasMediumSizeCssClass = this._size === ControlSize.Medium;\n }\n @Output()\n public changed: EventEmitter<DropdownChangedEvent<TItem>> = new EventEmitter();\n public get popupSettings(): PopupSettings {\n return {\n animate: true,\n popupClass: `sg-dropdown-popup ${this.popupClass || ''}`,\n };\n }\n\n protected _emitChanged(value: TItem): void {\n this.changed.emit(new DropdownChangedEvent(value));\n }\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(DROPDOWN_LOCALIZER)\n private readonly _localizer: IDropdownLocalizer<IDropdownLocalization>\n ) {\n super(changeDetectorRef);\n this._localize();\n }\n\n private _localize(): void {\n if (!this._localizer) {\n return;\n }\n\n this._localization = this._localizer.localization;\n this._observer.listen(this._localizer.localizationChanged, (localization) => {\n this._localization = localization;\n });\n }\n\n public ngOnInit(): void {\n this._setComponent(this.component);\n this.init();\n\n // Opened.\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => this.opened.emit());\n\n // Closed.\n this._observer.listen(\n this._isOpen.pipe(\n filter((event) => !event.isOpen),\n skip(1)\n ),\n (event) => {\n if (event.shouldEmit) {\n this.closed.emit();\n }\n }\n );\n }\n}\n","import {ControlChangedEvent} from '@marcura/marcura-common';\n\nexport class MultiselectChangedEvent<TValue> extends ControlChangedEvent<TValue> {}\n","import {\n forwardRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n ABSTRACT_CONTROL_COMPONENT,\n OPENABLE_CONTROL_COMPONENT,\n STATEABLE_CONTROL_COMPONENT,\n TYPEABLE_CONTROL_COMPONENT,\n} from '@marcura/marcura-common';\nimport {TagColor} from '@marcura/marcura-tag';\nimport {MultiSelectComponent, PopupSettings} from '@progress/kendo-angular-dropdowns';\nimport {of, Observable} from 'rxjs';\nimport {filter, map, switchMap} from 'rxjs/operators';\nimport {MULTISELECT_LOCALIZER} from '../../combobox.injectables';\nimport {MultiselectItemTemplateDirective} from '../../directives/multiselect-item-template.directive';\nimport {MultiselectTagTemplateDirective} from '../../directives/multiselect-tag-template.directive';\nimport {IDropdownLocalizer} from '../../model/dropdown-localizer.interface';\nimport {MultiselectChangedEvent} from '../../model/multiselect-changed.event';\nimport {IMultiselectLocalization} from '../../model/multiselect-localization.interface';\nimport {AbstractComboboxComponent} from '../abstract-combobox/abstract-combobox.component';\n\n@Component({\n selector: 'sg-multiselect',\n templateUrl: 'multiselect.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiselectComponent),\n multi: true,\n },\n {\n provide: ABSTRACT_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n {\n provide: OPENABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n {\n provide: STATEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n {\n provide: TYPEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n ],\n})\nexport class MultiselectComponent<TItem> extends AbstractComboboxComponent<TItem, TItem[]> implements OnInit {\n private _loadingText: string;\n private _noItemsText: string;\n private _minSearchText: string;\n private _localization: IMultiselectLocalization = {\n loadingText: 'Loading...',\n noItemsText: 'No items found.',\n minSearchText: 'Enter {minSearchCharacters} or more characters.',\n };\n public readonly defaultValue: TItem[] = [];\n\n @ViewChild('component', {static: true})\n public component: MultiSelectComponent;\n @ContentChild(MultiselectItemTemplateDirective, {read: TemplateRef, static: true})\n public itemTemplate: TemplateRef<any>;\n @ContentChild(MultiselectTagTemplateDirective, {read: TemplateRef, static: true})\n public tagTemplate: TemplateRef<any>;\n @HostBinding('class.sg-multiselect')\n public readonly hasCssClass: boolean = true;\n @HostBinding('class.sg-multiselect--has-value')\n public get hasValue(): boolean {\n return this.valueFormControl.value && this.valueFormControl.value.length > 0;\n }\n @HostBinding('class.sg-multiselect--is-focused')\n public get hasIsFocusedCssClass(): boolean {\n return this.isFocused;\n }\n @HostBinding('class.sg-multiselect--is-hovered')\n public get hasIsHoveredCssClass(): boolean {\n return this._isHovered.value;\n }\n @HostBinding('class.sg-multiselect--is-disabled')\n public get hasIsDisabledCssClass(): boolean {\n return this.isDisabled;\n }\n @HostBinding('class.sg-multiselect--type-success')\n public get isSuccessType(): boolean {\n return this._isSuccessType;\n }\n @HostBinding('class.sg-multiselect--type-error')\n public get isErrorType(): boolean {\n return this._isErrorType;\n }\n @HostBinding('class.sg-multiselect--type-warning')\n public get isWarningType(): boolean {\n return this._isWarningType;\n }\n @HostBinding('class.sg-multiselect--state-highlighted')\n public get isHighlightedState(): boolean {\n return this._isHighlightedState;\n }\n @HostBinding('class.sg-multiselect--is-loading')\n public get hasIsLoadingCssClass(): boolean {\n return this.isLoading || this._isSearching.value;\n }\n @HostBinding('class.sg-multiselect--has-reset')\n public get hasHasResetCssClass(): boolean {\n return this.hasReset;\n }\n @HostBinding('class.sg-multiselect--is-outline')\n public get hasIsOutlineCssClass(): boolean {\n return this.isOutline;\n }\n @Input()\n public get loadingText(): string {\n return this._loadingText || this._localization.loadingText;\n }\n public set loadingText(loadingText: string) {\n this._loadingText = loadingText;\n }\n @Input()\n public get noItemsText(): string {\n return this._noItemsText || this._localization.noItemsText;\n }\n public set noItemsText(noItemsText: string) {\n this._noItemsText = noItemsText;\n }\n @Input()\n public get minSearchText(): string {\n return this._minSearchText || this._localization.minSearchText;\n }\n public set minSearchText(minSearchText: string) {\n this._minSearchText = minSearchText;\n }\n @Input()\n public allowCustom: boolean = false;\n /**\n * This field contains factory method which takes a custom text input and returns an Observable<TItem>.\n * The observable sends the text to a remote service, which processes it and returns a generated TItem.\n * Works when allowCustom is true.\n *\n * @memberof MultiselectComponent\n */\n @Input()\n public itemFactory$: ((text: string) => Observable<TItem>) | undefined = undefined;\n @Output()\n public changed: EventEmitter<MultiselectChangedEvent<TItem[]>> = new EventEmitter();\n @Input()\n public isReadOnlyTag: (item: TItem) => boolean = null;\n @Input()\n public isActivatedTag: (item: TItem) => boolean = () => false;\n @Input()\n public tagColor: (item: TItem) => TagColor = () => null;\n /**\n * This field contains factory method for items which will be created placing customizable values inside component. Works when allowCustom is true.\n *\n * @memberof MultiselectComponent\n */\n @Input()\n public itemFactory: (text: string) => TItem = (text: string): TItem => {\n return {[this.valueField]: null, [this.textField]: text} as any;\n };\n\n public get popupSettings(): PopupSettings {\n return {\n animate: true,\n popupClass: `sg-multiselect-popup${this.isGroupable ? ' sg-multiselect-popup--is-groupable' : ''} ${\n this.popupClass || ''\n }`,\n };\n }\n\n protected _emitChanged(value: TItem[]): void {\n this.changed.emit(new MultiselectChangedEvent(value));\n }\n\n protected hasValueChanged(value: TItem[]): boolean {\n const isOldValueEmpty: boolean = this.value === null || this.value === undefined || this.value.length === 0;\n const isNewValueEmpty: boolean = value === null || value === undefined || value.length === 0;\n\n if (isOldValueEmpty && isNewValueEmpty) {\n return false;\n }\n\n if (isOldValueEmpty || isNewValueEmpty) {\n return true;\n }\n\n return (\n this.value.length !== value.length || this.value.some((item, index) => !this.isItemEqual(item, value[index]))\n );\n }\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n renderer: Renderer2,\n @Optional()\n @Inject(MULTISELECT_LOCALIZER)\n private readonly _localizer: IDropdownLocalizer<IMultiselectLocalization>\n ) {\n super(changeDetectorRef, renderer);\n this._localize();\n }\n\n private _localize(): void {\n if (!this._localizer) {\n return;\n }\n\n this._localization = this._localizer.localization;\n this._observer.listen(this._localizer.localizationChanged, (localization) => {\n this._localization = localization;\n });\n }\n\n public ngOnInit(): void {\n this._setComponent(this.component);\n this.init();\n\n // Opened.\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => {\n this._hasSearched.next(false);\n\n if (!this.areItemsCached && this._loadedItems.value.length === 0) {\n this.loadItems(this._searchText.value);\n }\n });\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => this.opened.emit());\n }\n\n public valueNormalizer = (text$: Observable<string>): any =>\n text$.pipe(\n switchMap(() => {\n if (!this.component) {\n return of(null);\n }\n // Can't use this._searchText.value here as it might be empty, consider:\n // 1) type custom text, 2) focus out and back in 3) there's a text in searchbar,\n // but this._searchText.value is empty.\n // So this.component.searchbar.value is to be used.\n const text: string = (this.component.searchbar.value || '').trim();\n\n if (!text) {\n return of(null);\n }\n\n const matchingValue: TItem | null = this.component.value?.find((item) =>\n item[this.textField].toLowerCase() === text.toLowerCase()) ?? null;\n\n // Handle case when value already contains items that match the search text.\n if (matchingValue) {\n return of(matchingValue);\n }\n // If no matches found in the selected values, check if item is in cache.\n const cachedValue: TItem | null = matchingValue ? null : this.getItem(this._valueNormalizerItems, text);\n // If areItemsCached is off, then this.data will be lost by this moment,\n // so we use a cache this.valueNormalizerItems.\n // This is relevant especially in IE/Edge where this.component.value is null,\n // so the code falls back to this condition section.\n if (cachedValue) {\n return of(cachedValue);\n }\n // If no match is found and custom values are allowed, create a new custom item\n if (this.allowCustom) {\n return (this.itemFactory$ ? this.itemFactory$(text) : of(this.itemFactory(text))).pipe((newValue) => {\n if (this._isSync) {\n // Restore original items after selection, otherwise when opening the list\n // next time, only the selected item will appear.\n this.loadItems();\n }\n return newValue;\n });\n }\n\n return of(null);\n }),\n map((value) => {\n this._valueNormalizerItems = [];\n return value;\n })\n );\n}\n","import {CommonModule} from '@angular/common';\nimport {ElementRef, NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TagModule} from '@marcura/marcura-tag';\nimport {ComboBoxModule, DropDownListModule, MultiSelectModule} from '@progress/kendo-angular-dropdowns';\nimport {PopupModule, POPUP_CONTAINER} from '@progress/kendo-angular-popup';\nimport {ComboboxItemTemplateDirective} from '../lib/directives/combobox-item-template.directive';\nimport {DropdownItemTemplateDirective} from '../lib/directives/dropdown-item-template.directive';\nimport {DropdownValueTemplateDirective} from '../lib/directives/dropdown-value-template.directive';\nimport {MultiselectItemTemplateDirective} from '../lib/directives/multiselect-item-template.directive';\nimport {MultiselectTagTemplateDirective} from '../lib/directives/multiselect-tag-template.directive';\nimport {MultiselectTagWrapperDirective} from '../lib/directives/multiselect-tag-wrapper.directive';\nimport {AbstractComboboxComponent} from './components/abstract-combobox/abstract-combobox.component';\nimport {AbstractDropdownComponent} from './components/abstract-dropdown/abstract-dropdown.component';\nimport {ComboboxPopupFooterComponent} from './components/combobox-popup-footer/combobox-popup-footer.component';\nimport {ComboboxComponent} from './components/combobox/combobox.component';\nimport {DropdownComponent} from './components/dropdown/dropdown.component';\nimport {MultiselectComponent} from './components/multiselect/multiselect.component';\n\nconst components: any[] = [\n AbstractComboboxComponent,\n AbstractDropdownComponent,\n ComboboxComponent,\n ComboboxPopupFooterComponent,\n MultiselectComponent,\n DropdownComponent,\n];\nconst directives: any[] = [\n ComboboxItemTemplateDirective,\n MultiselectItemTemplateDirective,\n MultiselectTagTemplateDirective,\n MultiselectTagWrapperDirective,\n DropdownItemTemplateDirective,\n DropdownValueTemplateDirective,\n];\n\nexport function getPopupContainer(): ElementRef {\n return {nativeElement: document.body} as ElementRef;\n}\n\n@NgModule({\n declarations: [...components, ...directives],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n ComboBoxModule,\n MultiSelectModule,\n PopupModule,\n TagModule,\n DropDownListModule,\n ],\n exports: [...components, ...directives],\n providers: [\n {\n provide: POPUP_CONTAINER,\n useFactory: getPopupContainer,\n },\n ],\n})\nexport class ComboboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","Directive","ElementRef","Input","BehaviorSubject","ControlType","ControlState","FormControl","EventEmitter","ControlBlurredEvent","AbstractControlComponent","Component","ChangeDetectionStrategy","ChangeDetectorRef","Output","ComboboxSearchSettingsOperator","Observer","Worker","combineLatest","map","Is","distinctUntilChanged","skip","tap","debounceTime","filter","isFalse","Renderer2","ControlChangedEvent","ControlSize","isTrue","NG_VALUE_ACCESSOR","forwardRef","ABSTRACT_CONTROL_COMPONENT","OPENABLE_CONTROL_COMPONENT","STATEABLE_CONTROL_COMPONENT","TYPEABLE_CONTROL_COMPONENT","SIZEABLE_CONTROL_COMPONENT","Optional","Inject","ViewChild","ContentChild","TemplateRef","HostBinding","switchMap","of","NgModule","CommonModule","ReactiveFormsModule","ComboBoxModule","MultiSelectModule","PopupModule","TagModule","DropDownListModule","POPUP_CONTAINER"],"mappings":"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"}
1
+ {"version":3,"file":"marcura-marcura-combobox.umd.js","sources":["../../src/lib/combobox.injectables.ts","../../../../node_modules/tslib/tslib.es6.js","../../src/lib/directives/combobox-item-template.directive.ts","../../src/lib/directives/dropdown-item-template.directive.ts","../../src/lib/directives/dropdown-value-template.directive.ts","../../src/lib/directives/multiselect-item-template.directive.ts","../../src/lib/directives/multiselect-tag-template.directive.ts","../../src/lib/directives/multiselect-tag-wrapper.directive.ts","../../src/lib/components/abstract-dropdown/abstract-dropdown.component.ts","../../src/lib/model/combobox-search-settings-operator.enum.ts","../../src/lib/components/abstract-combobox/abstract-combobox.component.ts","../../src/lib/components/combobox-popup-footer/combobox-popup-footer.component.ts","../../src/lib/model/combobox-changed.event.ts","../../src/lib/components/combobox/combobox.component.ts","../../src/lib/model/dropdown-changed.event.ts","../../src/lib/components/dropdown/dropdown.component.ts","../../src/lib/model/multiselect-changed.event.ts","../../src/lib/components/multiselect/multiselect.component.ts","../../src/lib/combobox.module.ts","../../src/marcura-marcura-combobox.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {IComboboxLocalization} from './model/combobox-localization.interface';\nimport {IDropdownLocalization} from './model/dropdown-localization.interface';\nimport {IDropdownLocalizer} from './model/dropdown-localizer.interface';\nimport {IMultiselectLocalization} from './model/multiselect-localization.interface';\n\nexport const COMBOBOX_LOCALIZER: InjectionToken<IDropdownLocalizer<IComboboxLocalization>> = new InjectionToken(\n 'ComboboxModule.IDropdownLocalizer<IComboboxLocalization>'\n);\nexport const DROPDOWN_LOCALIZER: InjectionToken<IDropdownLocalizer<IDropdownLocalization>> = new InjectionToken(\n 'ComboboxModule.IDropdownLocalizer<IDropdownLocalization>'\n);\nexport const MULTISELECT_LOCALIZER: InjectionToken<IDropdownLocalizer<IMultiselectLocalization>> = new InjectionToken(\n 'ComboboxModule.IDropdownLocalizer<IMultiselectLocalization>'\n);\n","/*! *****************************************************************************\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 (Object.prototype.hasOwnProperty.call(b, 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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} from '@angular/core';\n\n@Directive({\n selector: '[sgComboboxItem]',\n})\nexport class ComboboxItemTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgDropdownItem]',\n})\nexport class DropdownItemTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgDropdownValue]',\n})\nexport class DropdownValueTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgMultiselectItem]',\n})\nexport class MultiselectItemTemplateDirective {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[sgMultiselectTag]',\n})\nexport class MultiselectTagTemplateDirective {}\n","import {Directive, ElementRef, Input} from '@angular/core';\n\n/**\n * Toggles CSS classes of kendo-multiselect tag wrapper (kendo-taglist li.k-button),\n * so necessary styles could be applied when tag state changes, read only state, for example.\n *\n * @export\n */\n@Directive({\n selector: '[sgMultiselectTagWrapper]',\n exportAs: 'multiselectTagWrapper',\n})\nexport class MultiselectTagWrapperDirective {\n private _getTagWrapperAttempts: number = 0;\n private _isReadOnly: boolean = false;\n private _tagWrapper: HTMLElement;\n @Input()\n public get isReadOnly(): boolean {\n return this._isReadOnly;\n }\n public set isReadOnly(isReadOnly: boolean) {\n // Will come as undefined if not set from the outside.\n this._isReadOnly = !!isReadOnly;\n this._tagWrapper = this._tagWrapper || this._getTagWrapper(this._element.nativeElement);\n this._setCssClass(this._tagWrapper);\n }\n\n private _getTagWrapper(element: HTMLElement): HTMLElement {\n if (element.classList.contains('k-button') && element.tagName === 'LI') {\n return element;\n } else {\n if (this._getTagWrapperAttempts >= 5) {\n return null;\n }\n\n this._getTagWrapperAttempts++;\n return this._getTagWrapper(element.parentElement);\n }\n }\n\n private _setCssClass(tagWrapper: HTMLElement): void {\n if (!tagWrapper) {\n return;\n }\n\n if (this.isReadOnly) {\n tagWrapper.classList.add('sg-multiselect__tag-wrapper--is-read-only');\n } else {\n tagWrapper.classList.remove('sg-multiselect__tag-wrapper--is-read-only');\n }\n }\n\n public constructor(private _element: ElementRef) {}\n}\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {\n AbstractControlComponent,\n ControlBlurredEvent,\n ControlState,\n ControlType,\n IOpenableControlComponent,\n IStateableControlComponent,\n ITypeableControlComponent,\n Nil,\n} from '@marcura/marcura-common';\nimport {BehaviorSubject} from 'rxjs';\nimport {IDropdownKendoComponent} from '../../model/dropdown-kendo-component.interface';\n\ninterface IDropdownOpenedEvent {\n isOpen: boolean;\n shouldEmit: boolean;\n}\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class AbstractDropdownComponent<\n TItem,\n TValue,\n TKendoComponent extends IDropdownKendoComponent = IDropdownKendoComponent\n> extends AbstractControlComponent<TValue>\n implements IOpenableControlComponent, IStateableControlComponent, ITypeableControlComponent {\n private _valueField: string = 'id';\n private _textField: string = 'name';\n protected _resetedValue: TValue;\n protected _component: TKendoComponent;\n protected _items: TItem[] = [];\n protected readonly _isOpen: BehaviorSubject<IDropdownOpenedEvent> = new BehaviorSubject({\n isOpen: false,\n shouldEmit: false,\n });\n protected readonly _isLoading: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n protected _type: ControlType | Nil = null;\n protected _state: ControlState | Nil = null;\n protected _isSuccessType: boolean = this._type === ControlType.Success;\n protected _isErrorType: boolean = this._type === ControlType.Error;\n protected _isWarningType: boolean = this._type === ControlType.Warning;\n protected _isHighlightedState: boolean = this._state === ControlState.Highlighted;\n public readonly valueFormControl: FormControl = new FormControl();\n @Input()\n public get valueField(): string {\n return this._valueField;\n }\n public set valueField(valueField: string) {\n if (valueField && this._valueField !== valueField) {\n this._valueField = valueField;\n }\n }\n @Input()\n public get textField(): string {\n return this._textField;\n }\n public set textField(textField: string) {\n if (textField && this._textField !== textField) {\n this._textField = textField;\n }\n }\n @Input()\n public placeholder: string;\n @Input()\n public get isLoading(): boolean {\n return this._isLoading.value;\n }\n public set isLoading(isLoading: boolean) {\n this._isLoading.next(isLoading);\n // Mark hasIsLoadingCssClass @HostBinding for check.\n this._changeDetectorRef.markForCheck();\n }\n @Input()\n public hasReset: boolean = true;\n @Input()\n public popupClass?: string;\n @Input()\n public get state(): ControlState | Nil {\n return this._state;\n }\n public set state(state: ControlState | Nil) {\n if (this._state !== state) {\n this._state = state;\n this._isHighlightedState = state === ControlState.Highlighted;\n this._changeDetectorRef.markForCheck();\n }\n }\n @Input()\n public get type(): ControlType | Nil {\n return this._type;\n }\n public set type(type: ControlType | Nil) {\n if (this._type !== type) {\n this._type = type;\n this._isSuccessType = type === ControlType.Success;\n this._isErrorType = type === ControlType.Error;\n this._isWarningType = type === ControlType.Warning;\n this._changeDetectorRef.markForCheck();\n }\n }\n @Input()\n public get items(): TItem[] {\n return this._items;\n }\n public set items(items: TItem[]) {\n this._items = items || [];\n }\n @Input()\n public listHeight: number = 200;\n @Input()\n public isPrimitiveValue: boolean = false;\n @Input()\n public isOutline: boolean = false;\n @Output()\n public readonly opened: EventEmitter<void> = new EventEmitter();\n @Output()\n public readonly closed: EventEmitter<void> = new EventEmitter();\n public get isOpen(): boolean {\n return this._isOpen.value.isOpen;\n }\n\n public constructor(protected readonly _changeDetectorRef: ChangeDetectorRef) {\n super();\n }\n\n protected _setComponent(component: TKendoComponent): void {\n this._component = component;\n }\n\n protected _emitChanged(value: TValue): void {}\n\n protected _reset(): void {\n const hasValueChanged: boolean = this.hasValueChanged(this.defaultValue);\n\n if (hasValueChanged) {\n this.writeValue(this.defaultValue);\n this.formControl.reset(this.defaultValue);\n this.valueFormControl.reset(this.defaultValue);\n this._component.reset();\n this._emitChanged(this.defaultValue);\n } else {\n this.formControl.markAsPristine();\n this.formControl.markAsUntouched();\n this.valueFormControl.reset(this.defaultValue);\n this._component.reset();\n }\n }\n\n public init(): void {\n this._observer.listen(this._isDisabled, (isDisabled) => {\n if (isDisabled) {\n this.valueFormControl.disable();\n } else {\n this.valueFormControl.enable();\n }\n });\n }\n\n public open(shouldEmitEvent: boolean = true): void {\n this._component.toggle(true);\n this._isOpen.next({isOpen: true, shouldEmit: shouldEmitEvent});\n }\n\n public close(shouldEmitEvent: boolean = true): void {\n this._component.toggle(false);\n this._isOpen.next({isOpen: false, shouldEmit: shouldEmitEvent});\n }\n\n public toggle(shouldEmitEvent: boolean = true): void {\n if (this._isOpen) {\n this.close(shouldEmitEvent);\n } else {\n this.open(shouldEmitEvent);\n }\n }\n\n public focus(): void {\n this._component.focus();\n }\n\n public blur(): void {\n this._component.blur();\n }\n\n public onOpened(): void {\n this._isOpen.next({isOpen: true, shouldEmit: true});\n }\n\n public onClosed(): void {\n this._isOpen.next({isOpen: false, shouldEmit: true});\n }\n\n public onFocused(): void {\n this.focused.emit();\n }\n\n public onBlurred(): void {\n this.blurred.emit(\n new ControlBlurredEvent(\n this.value,\n this._resetedValue || this._focusedValue,\n this.hasValueChanged(this._resetedValue || this._focusedValue)\n )\n );\n this._resetedValue = null;\n }\n\n public onChanged(value: TValue): void {\n value = value === undefined ? this.defaultValue : value;\n this.value = value;\n this.propagateChanged(value);\n this.propagateTouched();\n this._emitChanged(value);\n }\n\n public onResetClicked(): void {\n if (!this.hasReset) {\n return;\n }\n\n this._resetedValue = this.value;\n this.focus();\n this._reset();\n this.open();\n }\n\n public writeValue(value: TValue): void {\n // CSS class @HostBindings aren't updated with OnPush change detection strategy,\n // and are to be marked for check.\n this._changeDetectorRef.markForCheck();\n this.valueFormControl.setValue(value);\n super.writeValue(value);\n }\n\n public setDisabledState(isDisabled: boolean): void {\n super.setDisabledState(isDisabled);\n // Mark hasIsDisabledCssClass @HostBinding for check.\n this._changeDetectorRef.markForCheck();\n }\n}\n","export enum ComboboxSearchSettingsOperator {\n Contains = 'contains',\n StartsWith = 'startsWith',\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\nimport {isFalse, Is, Observer, Worker} from '@marcura/marcura-common';\nimport {GroupResult} from '@progress/kendo-data-query';\nimport {combineLatest, BehaviorSubject, Observable} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, filter, map, skip, tap} from 'rxjs/operators';\nimport {AbstractDropdownComponent} from '../../components/abstract-dropdown/abstract-dropdown.component';\nimport {IComboboxKendoComponent} from '../../model/combobox-kendo-component.interface';\nimport {ComboboxSearchFn} from '../../model/combobox-search-fn.type';\nimport {ComboboxSearchSettingsOperator} from '../../model/combobox-search-settings-operator.enum';\nimport {IComboboxSearchSettings} from '../../model/combobox-search-settings.interface';\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AbstractComboboxComponent<TItem, TValue>\n extends AbstractDropdownComponent<TItem, TValue, IComboboxKendoComponent>\n implements ControlValueAccessor, OnDestroy {\n private _debounceTime: number = 500;\n private readonly _debounceObserver: Observer = new Observer();\n private readonly _worker: Worker = new Worker();\n private readonly _additionalItems: BehaviorSubject<TItem[]> = new BehaviorSubject<TItem[]>([]);\n protected _valueNormalizerItems: TItem[] = [];\n protected _isSync: boolean = false;\n protected readonly _loadedItems: BehaviorSubject<TItem[]> = new BehaviorSubject<TItem[]>([]);\n protected readonly _hasSearched: BehaviorSubject<boolean> = new BehaviorSubject(false);\n protected readonly _isSearching: BehaviorSubject<boolean> = new BehaviorSubject(false);\n protected readonly _searchText: BehaviorSubject<string> = new BehaviorSubject('');\n public readonly combinedItems: Observable<TItem[]> = combineLatest([this._loadedItems, this._additionalItems]).pipe(\n map(([items, additionalItems]) => [...items, ...additionalItems].filter(Is.truthy))\n );\n @Input()\n public isSearchable: boolean = true;\n @Input()\n public minSearchCharacters: number = 1;\n @Input()\n public search: ComboboxSearchFn<TItem>;\n @Input()\n public areItemsCached: boolean = false;\n @Input()\n public get debounceTime(): number {\n return this._debounceTime;\n }\n public set debounceTime(value: number) {\n this._debounceTime = value;\n this._listenToSearched();\n }\n @Input()\n public get items(): TItem[] {\n return this._items;\n }\n public set items(items: TItem[]) {\n this._isSync = true;\n this._items = items || [];\n this._listenToSearched();\n this._loadedItems.next(this._items);\n }\n @Input()\n public get additionalItems(): TItem[] {\n return this._additionalItems.value;\n }\n public set additionalItems(additionalItems: TItem[]) {\n this._additionalItems.next(additionalItems || []);\n }\n @Input()\n public searchSettings: IComboboxSearchSettings = {\n isCaseSensitive: false,\n operator: ComboboxSearchSettingsOperator.Contains,\n };\n @Input()\n public isGroupable: boolean = false;\n @Output()\n public searched: EventEmitter<string> = new EventEmitter();\n public readonly isNoItemsTextVisible: Observable<boolean> = combineLatest([\n this._isSearching,\n this._hasSearched,\n this._isFocused,\n this.combinedItems,\n ]).pipe(\n map(([isSearching, hasSearched, isFocused, combinedItems]) => {\n return !isSearching && hasSearched && isFocused && combinedItems.length === 0;\n })\n );\n public readonly isMinSearchTextVisible: Observable<boolean> = combineLatest([\n this._isSearching,\n this._hasSearched,\n this._isFocused,\n ]).pipe(\n map(([isSearching, hasSearched, isFocused]) => {\n return !this._isSync && !isSearching && !hasSearched && isFocused;\n })\n );\n public readonly isLoadingSpinnerVisible: Observable<boolean> = combineLatest([\n this._isLoading,\n this._isSearching,\n ]).pipe(map(([isLoading, isSearching]) => isLoading || isSearching));\n // To show loading properly we are to use loadedItems as they don't include additionalItems.\n public readonly isLoadingTextVisible: Observable<boolean> = combineLatest([\n this.isLoadingSpinnerVisible,\n this._loadedItems,\n ]).pipe(map(([isLoadingSpinnerVisible, loadedItems]) => isLoadingSpinnerVisible && loadedItems.length === 0));\n\n private _disableChromeAutocomplete(): void {\n if (this._component.searchbar && this._component.searchbar.input) {\n this._renderer.setAttribute(this._component.searchbar.input.nativeElement, 'autocomplete', 'disabled');\n }\n }\n\n private _listenToSearched(): void {\n this._debounceObserver.clear();\n this._debounceObserver.listen(\n this._searchText.pipe(\n distinctUntilChanged(),\n skip(1),\n tap((searchText) => {\n this.searched.emit(searchText);\n this._isSearching.next(this.canLoadItems(searchText) && this._isOpen.value.isOpen);\n }),\n debounceTime(this._isSync ? 0 : this.debounceTime),\n filter(() => this._isOpen.value.isOpen)\n ),\n this.loadItems\n );\n }\n\n private _filterItems(items: TItem[], searchText: string): TItem[] {\n if (!items || !items.length) {\n return [];\n }\n\n return items.filter((item) => {\n let itemText: string = (item[this.textField] || '').trim();\n itemText = this.searchSettings.isCaseSensitive ? itemText : itemText.toLowerCase();\n\n return this.searchSettings.operator === ComboboxSearchSettingsOperator.Contains\n ? itemText.indexOf(searchText) !== -1\n : itemText.substring(0, searchText.length) === searchText;\n });\n }\n\n protected _setComponent(component: IComboboxKendoComponent): void {\n this._component = component;\n this._disableChromeAutocomplete();\n }\n\n protected searchItems(searchText: string): TItem[] {\n if (!this.searchSettings || !searchText || !this._items.length) {\n return this._items;\n }\n\n searchText = this.searchSettings.isCaseSensitive ? searchText : searchText.toLowerCase();\n\n if (this.isGroupable) {\n const groups: GroupResult[] = <any>this._items;\n const filteredGroups: GroupResult[] = groups\n .map((group) => {\n return {\n items: this._filterItems(<TItem[]>group.items, searchText),\n aggregates: group.aggregates,\n field: group.field,\n value: group.value,\n };\n })\n .filter((group) => group.items.length > 0);\n\n return <any>filteredGroups;\n }\n\n return this._filterItems(this._items, searchText);\n }\n\n protected canLoadItems(searchText: string): boolean {\n return searchText.length >= this.minSearchCharacters && !this._isSync;\n }\n\n protected getItem(items: TItem[], text: string): TItem {\n return items.find((item) => item[this.textField].toLowerCase() === text.toLowerCase());\n }\n\n protected isItemEqual<T>(item1: T, item2: T): boolean {\n const isItem1Empty: boolean = item1 === null || item1 === undefined;\n const isItem2Empty: boolean = item2 === null || item2 === undefined;\n\n if (isItem1Empty && isItem2Empty) {\n return true;\n }\n\n if (isItem1Empty || isItem2Empty) {\n return false;\n }\n\n return this.isPrimitiveValue ? item1 === item2 : item1[this.valueField] === item2[this.valueField];\n }\n\n protected loadItems = (searchText?: string): void => {\n searchText = (searchText || '').trim();\n\n if (this._isSync) {\n this._hasSearched.next(!!searchText);\n this._loadedItems.next(this.searchItems(searchText));\n } else {\n if (this.canLoadItems(searchText)) {\n this._isSearching.next(true);\n this._worker.handle(this.search(searchText), (items) => {\n this._hasSearched.next(true);\n this._loadedItems.next(items);\n this._valueNormalizerItems = [...items, ...this._additionalItems.value];\n this._isSearching.next(false);\n });\n } else {\n this._hasSearched.next(false);\n this._loadedItems.next([]);\n this._valueNormalizerItems = [];\n this._isSearching.next(false);\n }\n }\n };\n\n public constructor(changeDetectorRef: ChangeDetectorRef, protected readonly _renderer: Renderer2) {\n super(changeDetectorRef);\n }\n\n public ngOnDestroy(): void {\n this._debounceObserver.destroy();\n this._worker.destroy();\n }\n\n public init(): void {\n super.init();\n this._listenToSearched();\n\n if (this._isSync) {\n this._loadedItems.next(this._items);\n }\n\n // Closed.\n this._observer.listen(\n this._isOpen.pipe(\n filter((event) => !event.isOpen),\n skip(1)\n ),\n (event) => {\n if (!this.areItemsCached && !this._isSync) {\n this._loadedItems.next([]);\n }\n\n this._worker.cancel();\n this._isSearching.next(false);\n\n if (event.shouldEmit) {\n this.closed.emit();\n }\n }\n );\n\n // Blurred.\n this._observer.listen(this._isFocused.pipe(filter(isFalse)), () => {\n // Restore original unfiltered items when the component is blurred\n // after some search text entered. Consider a case:\n // 1. Search with text that gives 0 items.\n // 2. Blur and focus.\n // 3. Search text is cleared, but items remain empty, so the list won't show up.\n this._loadedItems.next(this._items);\n this._hasSearched.next(false);\n });\n }\n\n public onSearched(searchText: string): void {\n this._searchText.next(searchText);\n }\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'sg-combobox-popup-footer',\n templateUrl: 'combobox-popup-footer.component.html',\n})\nexport class ComboboxPopupFooterComponent {\n @Input()\n public isLoadingTextVisible: boolean = false;\n @Input()\n public isNoItemsTextVisible: boolean = false;\n @Input()\n public isMinSearchTextVisible: boolean = false;\n @Input()\n public loadingText: string;\n @Input()\n public noItemsText: string;\n @Input()\n public minSearchText: string;\n @Input()\n public minSearchCharacters: number;\n\n public getMinSearchText(): string {\n return this.minSearchText.replace('{minSearchCharacters}', this.minSearchCharacters.toString());\n }\n}\n","import {ControlChangedEvent} from '@marcura/marcura-common';\n\nexport class ComboboxChangedEvent<TValue> extends ControlChangedEvent<TValue> {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n ABSTRACT_CONTROL_COMPONENT,\n ControlSize,\n ISizeableControlComponent,\n isTrue,\n OPENABLE_CONTROL_COMPONENT,\n SIZEABLE_CONTROL_COMPONENT,\n STATEABLE_CONTROL_COMPONENT,\n TYPEABLE_CONTROL_COMPONENT,\n} from '@marcura/marcura-common';\nimport {ComboBoxComponent as KendoComboBoxComponent, PopupSettings} from '@progress/kendo-angular-dropdowns';\nimport {Observable} from 'rxjs';\nimport {debounceTime, filter, map} from 'rxjs/operators';\nimport {COMBOBOX_LOCALIZER} from '../../combobox.injectables';\nimport {ComboboxItemTemplateDirective} from '../../directives/combobox-item-template.directive';\nimport {ComboboxChangedEvent} from '../../model/combobox-changed.event';\nimport {IComboboxLocalization} from '../../model/combobox-localization.interface';\nimport {IDropdownLocalizer} from '../../model/dropdown-localizer.interface';\nimport {AbstractComboboxComponent} from '../abstract-combobox/abstract-combobox.component';\n\n@Component({\n selector: 'sg-combobox',\n templateUrl: 'combobox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ComboboxComponent),\n multi: true,\n },\n {\n provide: ABSTRACT_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: OPENABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: STATEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: TYPEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n {\n provide: SIZEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => ComboboxComponent),\n },\n ],\n})\nexport class ComboboxComponent<TItem> extends AbstractComboboxComponent<TItem, TItem>\n implements ISizeableControlComponent, OnInit {\n public readonly defaultValue: TItem = null;\n private _size: ControlSize = ControlSize.Medium;\n private _loadingText: string;\n private _noItemsText: string;\n private _minSearchText: string;\n private _localization: IComboboxLocalization = {\n loadingText: 'Loading...',\n noItemsText: 'No items found.',\n minSearchText: 'Enter {minSearchCharacters} or more characters.',\n };\n @ViewChild('component', {static: true})\n public component: KendoComboBoxComponent;\n @ContentChild(ComboboxItemTemplateDirective, {read: TemplateRef, static: true})\n public itemTemplate: TemplateRef<any>;\n @HostBinding('class.sg-combobox')\n public readonly hasCssClass: boolean = true;\n @HostBinding('class.sg-combobox--has-value')\n public get hasHasValueCssClass(): boolean {\n return this.hasValue;\n }\n @HostBinding('class.sg-combobox--is-hovered')\n public get hasIsHoveredCssClass(): boolean {\n return this._isHovered.value;\n }\n @HostBinding('class.sg-combobox--is-focused')\n public get hasIsFocusedCssClass(): boolean {\n return this.isFocused;\n }\n @HostBinding('class.sg-combobox--is-disabled')\n public get hasIsDisabledCssClass(): boolean {\n return this.isDisabled;\n }\n @HostBinding('class.sg-combobox--type-success')\n public get isSuccessType(): boolean {\n return this._isSuccessType;\n }\n @HostBinding('class.sg-combobox--type-error')\n public get isErrorType(): boolean {\n return this._isErrorType;\n }\n @HostBinding('class.sg-combobox--type-warning')\n public get isWarningType(): boolean {\n return this._isWarningType;\n }\n @HostBinding('class.sg-combobox--state-highlighted')\n public get isHighlightedState(): boolean {\n return this._isHighlightedState;\n }\n @HostBinding('class.sg-combobox--is-loading')\n public get hasIsLoadingCssClass(): boolean {\n return this.isLoading || this._isSearching.value;\n }\n @HostBinding('class.sg-combobox--has-reset')\n public get hasHasResetCssClass(): boolean {\n return this.hasReset;\n }\n @HostBinding('class.sg-combobox--is-outline')\n public get hasIsOutlineCssClass(): boolean {\n return this.isOutline;\n }\n @HostBinding('class.sg-combobox--size-small')\n public hasSmallSizeCssClass: boolean = false;\n @HostBinding('class.sg-combobox--size-medium')\n public hasMediumSizeCssClass: boolean = true;\n @Input()\n public get loadingText(): string {\n return this._loadingText || this._localization.loadingText;\n }\n public set loadingText(loadingText: string) {\n this._loadingText = loadingText;\n }\n @Input()\n public get noItemsText(): string {\n return this._noItemsText || this._localization.noItemsText;\n }\n public set noItemsText(noItemsText: string) {\n this._noItemsText = noItemsText;\n }\n @Input()\n public get minSearchText(): string {\n return this._minSearchText || this._localization.minSearchText;\n }\n public set minSearchText(minSearchText: string) {\n this._minSearchText = minSearchText;\n }\n @Input()\n public shouldSuggest: boolean = true;\n @Input()\n public openOnFocus: boolean = true;\n @Input()\n public allowCustom: boolean = false;\n @Input()\n public get size(): ControlSize {\n return this._size;\n }\n public set size(size: ControlSize) {\n if (size) {\n this._size = size;\n }\n\n this.hasSmallSizeCssClass = this._size === ControlSize.Small;\n this.hasMediumSizeCssClass = this._size === ControlSize.Medium;\n }\n @Output()\n public changed: EventEmitter<ComboboxChangedEvent<TItem>> = new EventEmitter();\n /**\n * This field contains factory method for items which will be created placing customizable values inside component. Works when allowCustom is true.\n *\n * @memberof ComboboxComponent\n */\n @Input()\n public itemFactory: (text: string) => TItem = (text: string): TItem => {\n return {[this.valueField]: null, [this.textField]: text} as any;\n };\n public get popupSettings(): PopupSettings {\n return {\n animate: true,\n popupClass: `sg-combobox-popup${this.isGroupable ? ' sg-combobox-popup--is-groupable' : ''} ${\n this.popupClass || ''\n }`,\n };\n }\n\n protected _emitChanged(value: TItem): void {\n this.changed.emit(new ComboboxChangedEvent(value));\n }\n\n protected hasValueChanged(value: TItem): boolean {\n return !this.isItemEqual(this.value, value);\n }\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n renderer: Renderer2,\n @Optional()\n @Inject(COMBOBOX_LOCALIZER)\n private readonly _localizer: IDropdownLocalizer<IComboboxLocalization>\n ) {\n super(changeDetectorRef, renderer);\n this._localize();\n }\n\n private _localize(): void {\n if (!this._localizer) {\n return;\n }\n\n this._localization = this._localizer.localization;\n this._observer.listen(this._localizer.localizationChanged, (localization) => {\n this._localization = localization;\n });\n }\n\n public onResetClicked(): void {\n if (!this.hasReset) {\n return;\n }\n\n this._resetedValue = this.value;\n this.focus();\n this._reset();\n\n if (this.openOnFocus) {\n this.open();\n }\n }\n\n public ngOnInit(): void {\n this._setComponent(this.component);\n this.init();\n\n // Opened.\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => {\n if (!this.areItemsCached) {\n this._hasSearched.next(false);\n }\n\n if (this.canLoadItems(this._searchText.value) && this._loadedItems.value.length === 0) {\n this.loadItems(this._searchText.value);\n }\n });\n this._observer.listen(\n this._isOpen.pipe(\n filter((event) => event.isOpen),\n // When clicking reset icon, opened event triggers search event with\n // with old searchbar value instead of an empty string.\n // So we need to give searchbar a moment before fire opened event.\n // Steps to reproduce the bug:\n // 1) Search for Vladivostok and select it 2) Reset value with icon\n // 3) searchText remains \"Vladivostok\", but should be \"\".\n debounceTime(50)\n ),\n () => this.opened.emit()\n );\n\n // Focused.\n this._observer.listen(this._isFocused.pipe(filter(isTrue)), () => {\n if (this.openOnFocus) {\n this.open();\n }\n });\n }\n\n public onChanged(value: TItem): void {\n if (!this.hasValueChanged(value)) {\n return;\n }\n\n value = value === undefined ? this.defaultValue : value;\n this.value = value;\n this.component.searchbar.suggestedText = '';\n this.propagateChanged(value);\n this.propagateTouched();\n this._emitChanged(value);\n\n if (!value && this._isSync) {\n // Restore original items after selection, otherwise when opening the list\n // next time, only the previously selected item will appear.\n // Steps to reproduce: 1) Select \"Cayman Brac\", 2) Focus out and focus back,\n // 3) Delete a couple of characters with a Backspace from the end and hit Enter.\n // 4) Open the list.\n this.loadItems();\n }\n }\n\n public valueNormalizer = (text$: Observable<string>): any =>\n text$.pipe(\n map(() => {\n let value: TItem = null;\n if (!this.component) {\n return value;\n }\n // Can't use this._searchText.value here as it might be empty, consider:\n // 1) type custom text, 2) focus out and back in 3) there's a text in searchbar,\n // but this._searchText.value is empty.\n // So this.component.searchbar.value is to be used.\n const text: string = (this.component.searchbar.value || '').trim();\n\n if (!text) {\n return value;\n }\n\n if (this.component.value && this.component.value[this.textField].toLowerCase() === text.toLowerCase()) {\n value = this.component.value;\n } else if (this.getItem(this._valueNormalizerItems, text)) {\n // If areItemsCached is off, then this.data will be lost by this moment,\n // so we use a cache this.valueNormalizerItems.\n // This is relevant especially in IE/Edge where this.component.value is null,\n // so the code falls back to this condition section.\n value = this.getItem(this._valueNormalizerItems, text);\n } else if (this.allowCustom) {\n value = this.itemFactory(text);\n\n if (this._isSync) {\n // Restore original items after selection, otherwise when opening the list\n // next time, only the selected item will appear.\n this.loadItems();\n }\n } else {\n // Clears search text if suggestion hasn't been selected.\n // Steps to reproduce.\n // 1. Use Dymanic Empty sample.\n // 2. Type 'to', wait for the list to load, but don't select 'Tokai'. Instead hit Esc key.\n // 3. See that the search bar still contains 'to' text, while the value is null,\n // which is wrong - search bar text should be removed.\n // this.component.searchbar.suggestedText = ''; // This doesn't work.\n // As the above line doesn't work, so workaround it by setting form control value to null.\n this.valueFormControl.setValue(value);\n }\n\n this._valueNormalizerItems = [];\n return value;\n })\n );\n}\n","import {ControlChangedEvent} from '@marcura/marcura-common';\n\nexport class DropdownChangedEvent<TValue> extends ControlChangedEvent<TValue> {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n ABSTRACT_CONTROL_COMPONENT,\n ControlSize,\n ISizeableControlComponent,\n OPENABLE_CONTROL_COMPONENT,\n SIZEABLE_CONTROL_COMPONENT,\n STATEABLE_CONTROL_COMPONENT,\n TYPEABLE_CONTROL_COMPONENT,\n} from '@marcura/marcura-common';\nimport {DropDownListComponent, PopupSettings} from '@progress/kendo-angular-dropdowns';\nimport {filter, skip} from 'rxjs/operators';\nimport {DROPDOWN_LOCALIZER} from '../../combobox.injectables';\nimport {AbstractDropdownComponent} from '../../components/abstract-dropdown/abstract-dropdown.component';\nimport {DropdownItemTemplateDirective} from '../../directives/dropdown-item-template.directive';\nimport {DropdownValueTemplateDirective} from '../../directives/dropdown-value-template.directive';\nimport {DropdownChangedEvent} from '../../model/dropdown-changed.event';\nimport {IDropdownLocalization} from '../../model/dropdown-localization.interface';\nimport {IDropdownLocalizer} from '../../model/dropdown-localizer.interface';\n\n@Component({\n selector: 'sg-dropdown',\n templateUrl: 'dropdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n {\n provide: ABSTRACT_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: OPENABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: STATEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: TYPEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n {\n provide: SIZEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => DropdownComponent),\n },\n ],\n})\nexport class DropdownComponent<TItem> extends AbstractDropdownComponent<TItem, TItem>\n implements ISizeableControlComponent, OnInit, ControlValueAccessor {\n public readonly defaultValue: TItem = null;\n private _size: ControlSize = ControlSize.Medium;\n private _noItemsText: string;\n private _localization: IDropdownLocalization = {\n noItemsText: 'No items found.',\n };\n @ViewChild('component', {static: true})\n public component: DropDownListComponent;\n @ContentChild(DropdownItemTemplateDirective, {read: TemplateRef})\n public itemTemplate: TemplateRef<any>;\n @ContentChild(DropdownValueTemplateDirective, {read: TemplateRef})\n public valueTemplate: TemplateRef<any>;\n @HostBinding('class.sg-dropdown')\n public readonly hasCssClass: boolean = true;\n @HostBinding('class.sg-dropdown--has-value')\n public get hasHasValueCssClass(): boolean {\n return this.hasValue;\n }\n @HostBinding('class.sg-dropdown--is-focused')\n public get hasIsFocusedCssClass(): boolean {\n return this.isFocused;\n }\n @HostBinding('class.sg-dropdown--is-hovered')\n public get hasIsHoveredCssClass(): boolean {\n return this._isHovered.value;\n }\n @HostBinding('class.sg-dropdown--is-disabled')\n public get hasIsDisabledCssClass(): boolean {\n return this.isDisabled;\n }\n @HostBinding('class.sg-dropdown--type-success')\n public get isSuccessType(): boolean {\n return this._isSuccessType;\n }\n @HostBinding('class.sg-dropdown--type-error')\n public get isErrorType(): boolean {\n return this._isErrorType;\n }\n @HostBinding('class.sg-dropdown--type-warning')\n public get isWarningType(): boolean {\n return this._isWarningType;\n }\n @HostBinding('class.sg-dropdown--state-highlighted')\n public get isHighlightedState(): boolean {\n return this._isHighlightedState;\n }\n @HostBinding('class.sg-dropdown--is-loading')\n public get hasIsLoadingCssClass(): boolean {\n return this.isLoading;\n }\n @HostBinding('class.sg-dropdown--has-reset')\n public get hasHasResetCssClass(): boolean {\n return this.hasReset;\n }\n @HostBinding('class.sg-dropdown--is-outline')\n public get hasIsOutlineCssClass(): boolean {\n return this.isOutline;\n }\n @HostBinding('class.sg-dropdown--size-small')\n public hasSmallSizeCssClass: boolean = false;\n @HostBinding('class.sg-dropdown--size-medium')\n public hasMediumSizeCssClass: boolean = true;\n @Input()\n public get noItemsText(): string {\n return this._noItemsText || this._localization.noItemsText;\n }\n public set noItemsText(noItemsText: string) {\n this._noItemsText = noItemsText;\n }\n @Input()\n public get size(): ControlSize {\n return this._size;\n }\n public set size(size: ControlSize) {\n if (size) {\n this._size = size;\n }\n\n this.hasSmallSizeCssClass = this._size === ControlSize.Small;\n this.hasMediumSizeCssClass = this._size === ControlSize.Medium;\n }\n @Output()\n public changed: EventEmitter<DropdownChangedEvent<TItem>> = new EventEmitter();\n public get popupSettings(): PopupSettings {\n return {\n animate: true,\n popupClass: `sg-dropdown-popup ${this.popupClass || ''}`,\n };\n }\n\n protected _emitChanged(value: TItem): void {\n this.changed.emit(new DropdownChangedEvent(value));\n }\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(DROPDOWN_LOCALIZER)\n private readonly _localizer: IDropdownLocalizer<IDropdownLocalization>\n ) {\n super(changeDetectorRef);\n this._localize();\n }\n\n private _localize(): void {\n if (!this._localizer) {\n return;\n }\n\n this._localization = this._localizer.localization;\n this._observer.listen(this._localizer.localizationChanged, (localization) => {\n this._localization = localization;\n });\n }\n\n public ngOnInit(): void {\n this._setComponent(this.component);\n this.init();\n\n // Opened.\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => this.opened.emit());\n\n // Closed.\n this._observer.listen(\n this._isOpen.pipe(\n filter((event) => !event.isOpen),\n skip(1)\n ),\n (event) => {\n if (event.shouldEmit) {\n this.closed.emit();\n }\n }\n );\n }\n}\n","import {ControlChangedEvent} from '@marcura/marcura-common';\n\nexport class MultiselectChangedEvent<TValue> extends ControlChangedEvent<TValue> {}\n","import {\n forwardRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n ABSTRACT_CONTROL_COMPONENT,\n OPENABLE_CONTROL_COMPONENT,\n STATEABLE_CONTROL_COMPONENT,\n TYPEABLE_CONTROL_COMPONENT,\n} from '@marcura/marcura-common';\nimport {TagColor} from '@marcura/marcura-tag';\nimport {MultiSelectComponent, PopupSettings} from '@progress/kendo-angular-dropdowns';\nimport {of, Observable} from 'rxjs';\nimport {filter, map, switchMap, tap} from 'rxjs/operators';\nimport {MULTISELECT_LOCALIZER} from '../../combobox.injectables';\nimport {MultiselectItemTemplateDirective} from '../../directives/multiselect-item-template.directive';\nimport {MultiselectTagTemplateDirective} from '../../directives/multiselect-tag-template.directive';\nimport {IDropdownLocalizer} from '../../model/dropdown-localizer.interface';\nimport {MultiselectChangedEvent} from '../../model/multiselect-changed.event';\nimport {IMultiselectLocalization} from '../../model/multiselect-localization.interface';\nimport {AbstractComboboxComponent} from '../abstract-combobox/abstract-combobox.component';\n\n@Component({\n selector: 'sg-multiselect',\n templateUrl: 'multiselect.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiselectComponent),\n multi: true,\n },\n {\n provide: ABSTRACT_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n {\n provide: OPENABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n {\n provide: STATEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n {\n provide: TYPEABLE_CONTROL_COMPONENT,\n useExisting: forwardRef(() => MultiselectComponent),\n },\n ],\n})\nexport class MultiselectComponent<TItem> extends AbstractComboboxComponent<TItem, TItem[]> implements OnInit {\n private _loadingText: string;\n private _noItemsText: string;\n private _minSearchText: string;\n private _localization: IMultiselectLocalization = {\n loadingText: 'Loading...',\n noItemsText: 'No items found.',\n minSearchText: 'Enter {minSearchCharacters} or more characters.',\n };\n public readonly defaultValue: TItem[] = [];\n\n @ViewChild('component', {static: true})\n public component: MultiSelectComponent;\n @ContentChild(MultiselectItemTemplateDirective, {read: TemplateRef, static: true})\n public itemTemplate: TemplateRef<any>;\n @ContentChild(MultiselectTagTemplateDirective, {read: TemplateRef, static: true})\n public tagTemplate: TemplateRef<any>;\n @HostBinding('class.sg-multiselect')\n public readonly hasCssClass: boolean = true;\n @HostBinding('class.sg-multiselect--has-value')\n public get hasValue(): boolean {\n return this.valueFormControl.value && this.valueFormControl.value.length > 0;\n }\n @HostBinding('class.sg-multiselect--is-focused')\n public get hasIsFocusedCssClass(): boolean {\n return this.isFocused;\n }\n @HostBinding('class.sg-multiselect--is-hovered')\n public get hasIsHoveredCssClass(): boolean {\n return this._isHovered.value;\n }\n @HostBinding('class.sg-multiselect--is-disabled')\n public get hasIsDisabledCssClass(): boolean {\n return this.isDisabled;\n }\n @HostBinding('class.sg-multiselect--type-success')\n public get isSuccessType(): boolean {\n return this._isSuccessType;\n }\n @HostBinding('class.sg-multiselect--type-error')\n public get isErrorType(): boolean {\n return this._isErrorType;\n }\n @HostBinding('class.sg-multiselect--type-warning')\n public get isWarningType(): boolean {\n return this._isWarningType;\n }\n @HostBinding('class.sg-multiselect--state-highlighted')\n public get isHighlightedState(): boolean {\n return this._isHighlightedState;\n }\n @HostBinding('class.sg-multiselect--is-loading')\n public get hasIsLoadingCssClass(): boolean {\n return this.isLoading || this._isSearching.value;\n }\n @HostBinding('class.sg-multiselect--has-reset')\n public get hasHasResetCssClass(): boolean {\n return this.hasReset;\n }\n @HostBinding('class.sg-multiselect--is-outline')\n public get hasIsOutlineCssClass(): boolean {\n return this.isOutline;\n }\n @Input()\n public get loadingText(): string {\n return this._loadingText || this._localization.loadingText;\n }\n public set loadingText(loadingText: string) {\n this._loadingText = loadingText;\n }\n @Input()\n public get noItemsText(): string {\n return this._noItemsText || this._localization.noItemsText;\n }\n public set noItemsText(noItemsText: string) {\n this._noItemsText = noItemsText;\n }\n @Input()\n public get minSearchText(): string {\n return this._minSearchText || this._localization.minSearchText;\n }\n public set minSearchText(minSearchText: string) {\n this._minSearchText = minSearchText;\n }\n @Input()\n public allowCustom: boolean = false;\n /**\n * This field contains factory method which takes a custom text input and returns an Observable<TItem>.\n * The observable sends the text to a remote service, which processes it and returns a generated TItem.\n * Works when allowCustom is true.\n *\n * @memberof MultiselectComponent\n */\n @Input()\n public itemFactory$: ((text: string) => Observable<TItem>) | undefined = undefined;\n @Output()\n public changed: EventEmitter<MultiselectChangedEvent<TItem[]>> = new EventEmitter();\n @Input()\n public isReadOnlyTag: (item: TItem) => boolean = null;\n @Input()\n public isActivatedTag: (item: TItem) => boolean = () => false;\n @Input()\n public tagColor: (item: TItem) => TagColor = () => null;\n /**\n * This field contains factory method for items which will be created placing customizable values inside component. Works when allowCustom is true.\n *\n * @memberof MultiselectComponent\n */\n @Input()\n public itemFactory: (text: string) => TItem = (text: string): TItem => {\n return {[this.valueField]: null, [this.textField]: text} as any;\n };\n\n public get popupSettings(): PopupSettings {\n return {\n animate: true,\n popupClass: `sg-multiselect-popup${this.isGroupable ? ' sg-multiselect-popup--is-groupable' : ''} ${\n this.popupClass || ''\n }`,\n };\n }\n\n protected _emitChanged(value: TItem[]): void {\n this.changed.emit(new MultiselectChangedEvent(value));\n }\n\n protected hasValueChanged(value: TItem[]): boolean {\n const isOldValueEmpty: boolean = this.value === null || this.value === undefined || this.value.length === 0;\n const isNewValueEmpty: boolean = value === null || value === undefined || value.length === 0;\n\n if (isOldValueEmpty && isNewValueEmpty) {\n return false;\n }\n\n if (isOldValueEmpty || isNewValueEmpty) {\n return true;\n }\n\n return (\n this.value.length !== value.length || this.value.some((item, index) => !this.isItemEqual(item, value[index]))\n );\n }\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n renderer: Renderer2,\n @Optional()\n @Inject(MULTISELECT_LOCALIZER)\n private readonly _localizer: IDropdownLocalizer<IMultiselectLocalization>\n ) {\n super(changeDetectorRef, renderer);\n this._localize();\n }\n\n private _localize(): void {\n if (!this._localizer) {\n return;\n }\n\n this._localization = this._localizer.localization;\n this._observer.listen(this._localizer.localizationChanged, (localization) => {\n this._localization = localization;\n });\n }\n\n public ngOnInit(): void {\n this._setComponent(this.component);\n this.init();\n\n // Opened.\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => {\n this._hasSearched.next(false);\n\n if (!this.areItemsCached && this._loadedItems.value.length === 0) {\n this.loadItems(this._searchText.value);\n }\n });\n this._observer.listen(this._isOpen.pipe(filter((event) => event.isOpen)), () => this.opened.emit());\n }\n\n public valueNormalizer = (text$: Observable<string>): any =>\n text$.pipe(\n switchMap(() => {\n if (!this.component) {\n return of(null);\n }\n // Can't use this._searchText.value here as it might be empty, consider:\n // 1) type custom text, 2) focus out and back in 3) there's a text in searchbar,\n // but this._searchText.value is empty.\n // So this.component.searchbar.value is to be used.\n const text: string = (this.component.searchbar.value || '').trim();\n\n if (!text) {\n return of(null);\n }\n\n const matchingValue: TItem | null = this.component.value?.find((item) =>\n item[this.textField].toLowerCase() === text.toLowerCase()) ?? null;\n\n // Handle case when value already contains items that match the search text.\n if (matchingValue) {\n return of(matchingValue);\n }\n // If no matches found in the selected values, check if item is in cache.\n const cachedValue: TItem | null = this.getItem(this._valueNormalizerItems, text);\n // If areItemsCached is off, then this.data will be lost by this moment,\n // so we use a cache this.valueNormalizerItems.\n // This is relevant especially in IE/Edge where this.component.value is null,\n // so the code falls back to this condition section.\n if (cachedValue) {\n return of(cachedValue);\n }\n // If no match is found and custom values are allowed, create a new custom item\n if (this.allowCustom) {\n return (this.itemFactory$ ? this.itemFactory$(text) : of(this.itemFactory(text))).pipe(\n tap(() => {\n if (this._isSync) {\n // Restore original items after selection, otherwise when opening the list\n // next time, only the selected item will appear.\n this.loadItems();\n }\n }));\n }\n\n return of(null);\n }),\n map((value) => {\n this._valueNormalizerItems = [];\n return value;\n })\n );\n}\n","import {CommonModule} from '@angular/common';\nimport {ElementRef, NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TagModule} from '@marcura/marcura-tag';\nimport {ComboBoxModule, DropDownListModule, MultiSelectModule} from '@progress/kendo-angular-dropdowns';\nimport {PopupModule, POPUP_CONTAINER} from '@progress/kendo-angular-popup';\nimport {ComboboxItemTemplateDirective} from '../lib/directives/combobox-item-template.directive';\nimport {DropdownItemTemplateDirective} from '../lib/directives/dropdown-item-template.directive';\nimport {DropdownValueTemplateDirective} from '../lib/directives/dropdown-value-template.directive';\nimport {MultiselectItemTemplateDirective} from '../lib/directives/multiselect-item-template.directive';\nimport {MultiselectTagTemplateDirective} from '../lib/directives/multiselect-tag-template.directive';\nimport {MultiselectTagWrapperDirective} from '../lib/directives/multiselect-tag-wrapper.directive';\nimport {AbstractComboboxComponent} from './components/abstract-combobox/abstract-combobox.component';\nimport {AbstractDropdownComponent} from './components/abstract-dropdown/abstract-dropdown.component';\nimport {ComboboxPopupFooterComponent} from './components/combobox-popup-footer/combobox-popup-footer.component';\nimport {ComboboxComponent} from './components/combobox/combobox.component';\nimport {DropdownComponent} from './components/dropdown/dropdown.component';\nimport {MultiselectComponent} from './components/multiselect/multiselect.component';\n\nconst components: any[] = [\n AbstractComboboxComponent,\n AbstractDropdownComponent,\n ComboboxComponent,\n ComboboxPopupFooterComponent,\n MultiselectComponent,\n DropdownComponent,\n];\nconst directives: any[] = [\n ComboboxItemTemplateDirective,\n MultiselectItemTemplateDirective,\n MultiselectTagTemplateDirective,\n MultiselectTagWrapperDirective,\n DropdownItemTemplateDirective,\n DropdownValueTemplateDirective,\n];\n\nexport function getPopupContainer(): ElementRef {\n return {nativeElement: document.body} as ElementRef;\n}\n\n@NgModule({\n declarations: [...components, ...directives],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n ComboBoxModule,\n MultiSelectModule,\n PopupModule,\n TagModule,\n DropDownListModule,\n ],\n exports: [...components, ...directives],\n providers: [\n {\n provide: POPUP_CONTAINER,\n useFactory: getPopupContainer,\n },\n ],\n})\nexport class ComboboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","Directive","ElementRef","Input","BehaviorSubject","ControlType","ControlState","FormControl","EventEmitter","ControlBlurredEvent","AbstractControlComponent","Component","ChangeDetectionStrategy","ChangeDetectorRef","Output","ComboboxSearchSettingsOperator","Observer","Worker","combineLatest","map","Is","distinctUntilChanged","skip","tap","debounceTime","filter","isFalse","Renderer2","ControlChangedEvent","ControlSize","isTrue","NG_VALUE_ACCESSOR","forwardRef","ABSTRACT_CONTROL_COMPONENT","OPENABLE_CONTROL_COMPONENT","STATEABLE_CONTROL_COMPONENT","TYPEABLE_CONTROL_COMPONENT","SIZEABLE_CONTROL_COMPONENT","Optional","Inject","ViewChild","ContentChild","TemplateRef","HostBinding","switchMap","of","NgModule","CommonModule","ReactiveFormsModule","ComboBoxModule","MultiSelectModule","PopupModule","TagModule","DropDownListModule","POPUP_CONTAINER"],"mappings":"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"}