@indice/ng-components 0.2.98 → 0.2.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"indice-ng-components.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-components/src/lib/directives/click-outside.directive.ts","../../../projects/ng-components/src/lib/controls/drop-down-menu/drop-down-menu.component.ts","../../../projects/ng-components/src/lib/icons.ts","../../../projects/ng-components/src/lib/types.ts","../../../projects/ng-components/src/lib/controls/pager/pager.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-tile.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-column.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-details-section.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view-empty-state.component.ts","../../../projects/ng-components/src/lib/controls/skeleton-loader/skeleton-loader.component.ts","../../../projects/ng-components/src/lib/controls/collapsible-panel/collapsible-panel.component.ts","../../../projects/ng-components/src/lib/controls/kpi-tile/kpi-tile.component.ts","../../../projects/ng-components/src/lib/controls/date-picker/date-picker.component.ts","../../../projects/ng-components/src/lib/services/toaster.service.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster-container.component.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster.component.ts","../../../projects/ng-components/src/lib/controls/avatar-initials/avatar-initials.component.ts","../../../projects/ng-components/src/lib/controls/toggle/toggle.component.ts","../../../projects/ng-components/src/lib/tokens.ts","../../../projects/ng-components/src/lib/directives/dynamic-component-host.directive.ts","../../../projects/ng-components/src/lib/services/component-loader/content-ref.class.ts","../../../projects/ng-components/src/lib/services/component-loader/component-loader.class.ts","../../../projects/ng-components/src/lib/services/component-loader/component-loader.factory.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-layout/shell-layout.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-header/shell-header.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-footer/shell-footer.component.ts","../../../projects/ng-components/src/lib/layouts/views/view-layout/view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/model-view-layout/model-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/side-view-layout/side-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/form-layout/form-layout.component.ts","../../../projects/ng-components/src/lib/pages/auth/auth-callback/auth-callback.component.ts","../../../projects/ng-components/src/lib/pages/auth/auth-renew/auth-renew.component.ts","../../../projects/ng-components/src/lib/pages/auth/logged-out/logged-out.component.ts","../../../projects/ng-components/src/lib/pages/http-status/error/error.component.ts","../../../projects/ng-components/src/lib/pages/http-status/page-not-found/page-not-found.component.ts","../../../projects/ng-components/src/lib/pages/http-status/unauthorized/unauthorized.component.ts","../../../projects/ng-components/src/lib/pipes/address.pipe.ts","../../../projects/ng-components/src/lib/pipes/duration-format.pipe.ts","../../../projects/ng-components/src/lib/helpers/base-list.component.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-styles.class.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-backdrop-component.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-options.class.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-container-component.ts","../../../projects/ng-components/src/lib/services/modal-service/modal.class.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-service.ts","../../../projects/ng-components/src/lib/controls/side-pane/side-pane.component.ts","../../../projects/ng-components/src/lib/ng-components.module.ts","../../../projects/ng-components/src/public-api.ts","../../../projects/ng-components/src/indice-ng-components.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (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 if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","//\r\n// https://github.com/arkon/ng-click-outside\r\n// the project is inactive - so imoved the directive code in our project\r\n//\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n PLATFORM_ID,\r\n SimpleChanges,\r\n NgZone,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n// tslint:disable-next-line:directive-selector\r\n@Directive({ selector: '[clickOutside]' })\r\nexport class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input() clickOutsideEnabled = true;\r\n\r\n @Input() attachOutsideOnClick = false;\r\n @Input() delayClickOutsideInit = false;\r\n @Input() emitOnBlur = false;\r\n\r\n @Input() exclude = '';\r\n @Input() excludeBeforeClick = false;\r\n\r\n @Input() clickOutsideEvents = '';\r\n\r\n @Output() clickOutside: EventEmitter<Event> = new EventEmitter<Event>();\r\n\r\n // tslint:disable-next-line:variable-name\r\n private _nodesExcluded: Array<HTMLElement> = [];\r\n // tslint:disable-next-line:variable-name\r\n private _events: Array<string> = ['click'];\r\n\r\n constructor(\r\n // tslint:disable-next-line:variable-name\r\n private _el: ElementRef,\r\n // tslint:disable-next-line:variable-name\r\n private _ngZone: NgZone,\r\n @Inject(PLATFORM_ID) private platformId: any) {\r\n this._initOnClickBody = this._initOnClickBody.bind(this);\r\n this._onClickBody = this._onClickBody.bind(this);\r\n this._onWindowBlur = this._onWindowBlur.bind(this);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!isPlatformBrowser(this.platformId)) { return; }\r\n\r\n this._init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (!isPlatformBrowser(this.platformId)) { return; }\r\n\r\n this._removeClickOutsideListener();\r\n this._removeAttachOutsideOnClickListener();\r\n this._removeWindowBlurListener();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!isPlatformBrowser(this.platformId)) { return; }\r\n\r\n // tslint:disable-next-line:no-string-literal\r\n if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {\r\n this._init();\r\n }\r\n }\r\n\r\n private _init(): void {\r\n if (this.clickOutsideEvents !== '') {\r\n this._events = this.clickOutsideEvents.split(',').map(e => e.trim());\r\n }\r\n\r\n this._excludeCheck();\r\n\r\n if (this.attachOutsideOnClick) {\r\n this._initAttachOutsideOnClickListener();\r\n } else {\r\n this._initOnClickBody();\r\n }\r\n\r\n if (this.emitOnBlur) {\r\n this._initWindowBlurListener();\r\n }\r\n }\r\n\r\n private _initOnClickBody(): void {\r\n if (this.delayClickOutsideInit) {\r\n setTimeout(this._initClickOutsideListener.bind(this));\r\n } else {\r\n this._initClickOutsideListener();\r\n }\r\n }\r\n\r\n private _excludeCheck(): void {\r\n if (this.exclude) {\r\n try {\r\n const nodes = Array.from(document.querySelectorAll(this.exclude)) as Array<HTMLElement>;\r\n if (nodes) {\r\n this._nodesExcluded = nodes;\r\n }\r\n } catch (err) {\r\n console.error('[ng-click-outside] Check your exclude selector syntax.', err);\r\n }\r\n }\r\n }\r\n\r\n private _onClickBody(ev: Event): void {\r\n if (!this.clickOutsideEnabled) { return; }\r\n\r\n if (this.excludeBeforeClick) {\r\n this._excludeCheck();\r\n }\r\n\r\n if (!this._el.nativeElement.contains(ev.target) && !this._shouldExclude(ev.target)) {\r\n this._emit(ev);\r\n\r\n if (this.attachOutsideOnClick) {\r\n this._removeClickOutsideListener();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Resolves problem with outside click on iframe\r\n * @see https://github.com/arkon/ng-click-outside/issues/32\r\n */\r\n private _onWindowBlur(ev: Event): void {\r\n setTimeout(() => {\r\n if (!document.hidden) {\r\n this._emit(ev);\r\n }\r\n });\r\n }\r\n\r\n private _emit(ev: Event): void {\r\n if (!this.clickOutsideEnabled) { return; }\r\n\r\n this._ngZone.run(() => this.clickOutside.emit(ev));\r\n }\r\n\r\n private _shouldExclude(target: any): boolean {\r\n // tslint:disable-next-line:prefer-const\r\n for (let excludedNode of this._nodesExcluded) {\r\n if (excludedNode.contains(target)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _initClickOutsideListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => document.addEventListener(e, this._onClickBody));\r\n });\r\n }\r\n\r\n private _removeClickOutsideListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => document.removeEventListener(e, this._onClickBody));\r\n });\r\n }\r\n\r\n private _initAttachOutsideOnClickListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => this._el.nativeElement.addEventListener(e, this._initOnClickBody));\r\n });\r\n }\r\n\r\n private _removeAttachOutsideOnClickListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => this._el.nativeElement.removeEventListener(e, this._initOnClickBody));\r\n });\r\n }\r\n\r\n private _initWindowBlurListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.addEventListener('blur', this._onWindowBlur);\r\n });\r\n }\r\n\r\n private _removeWindowBlurListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.removeEventListener('blur', this._onWindowBlur);\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { MenuOption } from '../../types';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-drop-down-menu',\r\n templateUrl: './drop-down-menu.component.html',\r\n})\r\nexport class DropDownMenuComponent implements OnInit, OnChanges {\r\n @Input() options: MenuOption[] = [];\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('selected') selectedValue: any | null = null;\r\n @Input() multiple = false;\r\n @Input() placeholder: string = 'Παρακαλώ επιλέξτε...';\r\n\r\n private selectedOption$: MenuOption | null = null;\r\n public get selectedOption(): MenuOption | null {\r\n return this.selectedOption$;\r\n }\r\n public set selectedOption(option: MenuOption | null) {\r\n this.selectedOption$ = option;\r\n this.selectedValue = option ? option.value : null;\r\n this.expanded = false;\r\n }\r\n\r\n @Output() selectedChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() selectedChanged: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n private expanded$ = false;\r\n public get expanded(): boolean {\r\n return this.expanded$;\r\n }\r\n public set expanded(value: boolean) {\r\n this.expanded$ = value;\r\n }\r\n constructor() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.options && this.options.length > 0 && this.selectedValue !== null && this.selectedValue !== undefined) {\r\n this.selectedOption$ = this.options.filter((o) => o.value === this.selectedValue)[0];\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public isSelected(option: MenuOption): boolean {\r\n return option != null && this.selectedValue != null && option.value === this.selectedValue;\r\n }\r\n\r\n public onClickOutside($event: any): void {\r\n this.expanded = false;\r\n }\r\n\r\n public selectOption(option: MenuOption): void {\r\n this.selectedOption = option;\r\n this.selectedChange.emit(option.value);\r\n this.selectedChanged.emit(option.value);\r\n }\r\n}\r\n","export class Icons {\r\n // https://uifabricicons.azurewebsites.net/\r\n public static Dashboard = `ms-Icon ms-Icon--HomeGroup `;\r\n public static Locations = `ms-Icon ms-Icon--MapPin `;\r\n public static ChargePoints = `ms-Icon ms-Icon--ChatBot `;\r\n public static Transations = `ms-Icon ms-Icon--PaymentCard `;\r\n public static Badges = `ms-Icon ms-Icon--IDBadge `;\r\n\r\n public static Information = `ms-Icon ms-Icon--Info`;\r\n public static Refresh = `ms-Icon ms-Icon--Refresh`;\r\n public static Search = `ms-Icon ms-Icon--Search`;\r\n public static Add = `ms-Icon ms-Icon--Add`;\r\n public static Delete = `ms-Icon ms-Icon--Delete`;\r\n public static SendEmail = `ms-Icon ms-Icon--NewMail`;\r\n public static Filter = `ms-Icon ms-Icon--Filter`;\r\n public static Export = `ms-Icon ms-Icon--ExcelDocument`;\r\n public static Import = `ms-Icon ms-Icon--PeopleAdd`;\r\n\r\n public static TilesView = `ms-Icon ms-Icon--AppIconDefault`;\r\n public static TableView = `ms-Icon ms-Icon--Table`;\r\n public static MapView = `ms-Icon ms-Icon--MapPin`;\r\n public static EntryView = `ms-Icon ms-Icon--EntryView`;\r\n\r\n public static Separator = `ms-Icon ms-Icon--Separator text-white`;\r\n\r\n public static ItemsCount = 'ms-Icon ms-Icon--Boards';\r\n\r\n public static Heart = 'ms-Icon ms-Icon--Heart';\r\n public static HeartBroken = 'ms-Icon ms-Icon--HeartBroken';\r\n public static DateTime = 'ms-Icon ms-Icon--ReminderTime';\r\n\r\n public static Expand = 'ms-Icon ms-Icon--ChevronDown';\r\n public static Collapse = 'ms-Icon ms-Icon--ChevronUp';\r\n\r\n public static SortAsc = 'ms-Icon ms-Icon--Ascending';\r\n public static SortDesc = 'ms-Icon ms-Icon--Descending';\r\n\r\n public static Details = ' ms-Icon ms-Icon--AccountActivity'\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface IAppLinks {\r\n public: Observable<NavLink[]>;\r\n main: Observable<NavLink[]>;\r\n profile: Observable<NavLink[]>;\r\n profileActions: Observable<NavLink[]>;\r\n legal: Observable<NavLink[]>;\r\n brand: Observable<NavLink[]>;\r\n}\r\n\r\n\r\nexport class NavLink {\r\n constructor(text: string, path: string, exact: boolean = false, external: boolean = false, icon?: string) {\r\n this.text = text;\r\n this.path = path;\r\n this.exact = exact;\r\n this.external = external;\r\n this.icon = icon;\r\n }\r\n public text: string;\r\n public path: string;\r\n public exact: boolean;\r\n public external: boolean;\r\n public icon: string | undefined;\r\n}\r\n\r\nexport class ExternalNavLink extends NavLink {\r\n constructor(text: string, path: string, openInNewTab?: boolean, icon?: string) {\r\n super(text, path, true, openInNewTab, icon);\r\n }\r\n}\r\n\r\nexport class FragmentNavLink extends NavLink {\r\n constructor(text: string, path: string, icon?: string) {\r\n super(text, path, true, true, icon);\r\n }\r\n}\r\n\r\nexport class ViewAction {\r\n public type: string;\r\n public key: string | null;\r\n public param: any;\r\n public icon: string;\r\n public tooltip: string | null;\r\n\r\n constructor(type: string, key: string | null, param: any, icon: string, tooltip: string | null) {\r\n this.type = type;\r\n this.key = key;\r\n this.param = param;\r\n this.icon = icon;\r\n this.tooltip = tooltip;\r\n }\r\n}\r\n\r\nexport class ListViewType {\r\n public static Tiles = 'tiles';\r\n public static Table = 'table';\r\n public static Map = 'map';\r\n public static Gallery = 'gallery';\r\n}\r\n\r\nexport class RouterViewAction extends ViewAction {\r\n public outlet: string | null = null;\r\n public link: string | null = null;\r\n constructor(icon: string, link: string, outlet: string | null, tooltip: string | null) {\r\n super('router-link', null, null, icon, tooltip);\r\n this.outlet = outlet;\r\n this.link = link;\r\n }\r\n}\r\n\r\n\r\nexport class SwitchViewAction extends ViewAction {\r\n constructor(view: string, icon: string, tooltip: string | null) {\r\n super('switch-view', null, view, icon, tooltip);\r\n }\r\n}\r\n\r\nexport interface IResultSet<T> {\r\n count: number;\r\n items: T[];\r\n}\r\n\r\nexport class HeaderMetaItem {\r\n public key: string | null = null;\r\n public icon: string | null = null;\r\n public text: string | null = null;\r\n}\r\n\r\nexport class MenuOption {\r\n constructor(text: string, value: any, description?: string, data?: any, icon?: string) {\r\n this.text = text;\r\n this.value = value;\r\n this.description = description;\r\n this.data = data;\r\n this.icon = icon;\r\n }\r\n public text: string;\r\n public value: any;\r\n public description: string | undefined;\r\n public data: any | undefined;\r\n public icon: string | undefined;\r\n}\r\n\r\nexport interface IAddress {\r\n id?: string;\r\n street?: string | null;\r\n streetNumber?: string | null;\r\n city?: string | null;\r\n region?: string | null;\r\n postalCode?: string | null;\r\n country?: string | null;\r\n}\r\n\r\nexport interface IShellConfig {\r\n appLogo: string;\r\n appLogoAlt: string;\r\n showHeader: boolean;\r\n showUserNameOnHeader?: boolean;\r\n customHeaderComponent?: any;\r\n showFooter: boolean;\r\n customFooterComponent?: any;\r\n fluid: boolean;\r\n}\r\n\r\nexport class DefaultShellConfig implements IShellConfig {\r\n appLogo = 'https://tailwindui.com/img/logos/workflow-mark.svg?color=white';\r\n appLogoAlt = 'your app name here';\r\n showHeader = true;\r\n showUserNameOnHeader = false;\r\n showFooter = true;\r\n fluid = false;\r\n}\r\n\r\nexport enum SCREEN_SIZE {\r\n XS,\r\n SM,\r\n MD,\r\n LG,\r\n XL\r\n}\r\n\r\nexport interface IScreenSize {\r\n id: SCREEN_SIZE;\r\n name: string;\r\n css: string;\r\n}\r\n\r\nexport enum ToastType {\r\n Info = 'info',\r\n Success = 'success',\r\n Error = 'error',\r\n Warning = 'warning'\r\n}\r\n\r\nexport const NULL_TOAST = { title : '_____NULL_____' } as Toast;\r\n\r\nexport interface Toast {\r\n type: ToastType;\r\n title: string;\r\n body: string;\r\n delay: number;\r\n}\r\n\r\nexport enum SidePaneSize {\r\n Default = '',\r\n Small25 = '25%',\r\n Medium50 = '50%',\r\n Large75 = '75%'\r\n}\r\n\r\nexport enum SidePaneOverlayType {\r\n Default = '',\r\n None = '-opacity-0',\r\n Light = '',\r\n Dark = '-opacity-50'\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Icons } from '../../icons';\r\nimport { MenuOption } from '../../types';\r\n\r\n@Component({\r\n selector: 'lib-pager',\r\n templateUrl: './pager.component.html'\r\n})\r\nexport class PagerComponent implements OnInit, OnChanges {\r\n // PAGING\r\n @Input() count: number | null = null;\r\n @Input() page = 1;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size') pageSize = 20;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size-options') pageSizeOptions: MenuOption[] = [\r\n new MenuOption('10', 10),\r\n new MenuOption('20', 20),\r\n new MenuOption('30', 30),\r\n new MenuOption('50', 50),\r\n new MenuOption('100', 100)\r\n ];\r\n public pages: MenuOption[] = [];\r\n @Output() pageChanged: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() pageSizeChanged: EventEmitter<number> = new EventEmitter<number>();\r\n public canPreviousPage = false;\r\n public canNextPage = false;\r\n\r\n // SORTING\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-options') sortOptions: MenuOption[] = [];\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort') sort: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-dir') sortdir: string | null = 'desc';\r\n @Output() sortChanged: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() sortdirChanged: EventEmitter<string> = new EventEmitter<string>();\r\n public sortdirIcon = Icons.SortDesc;\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.calcPages();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n private calcPages(): void {\r\n this.pages = [];\r\n if (this.count && this.count > 0) {\r\n const pageCount = this.count / this.pageSize;\r\n for (let i = 0; i < pageCount; i++) {\r\n this.pages.push(new MenuOption(i + 1 + '', i + 1));\r\n }\r\n }\r\n this.canPreviousPage = this.page > 1;\r\n this.canNextPage = this.page < this.pages.length;\r\n }\r\n\r\n public nextPage(): void {\r\n const next = this.page + 1;\r\n this.gotoPage(next);\r\n }\r\n\r\n public previousPage(): void {\r\n const previous = this.page - 1;\r\n this.gotoPage(previous);\r\n }\r\n\r\n public gotoPage(page: number): void {\r\n this.page = page;\r\n this.pageChanged.emit(page);\r\n this.calcPages();\r\n }\r\n\r\n public pageSizeOptionChanged(pageSize: number): void {\r\n this.pageSizeChanged.emit(pageSize);\r\n this.calcPages();\r\n }\r\n\r\n public pageOptionChanged(page: number): void {\r\n this.pageChanged.emit(page);\r\n this.calcPages();\r\n }\r\n\r\n public sortOptionChanged(sort: string): void {\r\n this.sortChanged.emit(sort);\r\n }\r\n\r\n public toggleSortdir(): void {\r\n let sortdir = 'desc';\r\n if (this.sortdir === 'desc') {\r\n sortdir = 'asc';\r\n this.sortdirIcon = Icons.SortAsc;\r\n } else {\r\n sortdir = 'desc';\r\n this.sortdirIcon = Icons.SortDesc;\r\n }\r\n this.sortdirChanged.emit(sortdir);\r\n }\r\n\r\n}\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n@Component({ selector: 'lib-list-tile', template: '<ng-content></ng-content>' })\r\nexport class ListTileComponent{\r\n @ContentChild(TemplateRef) template: any | null = null;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\n\n@Component({selector: 'lib-list-column', template: '<ng-content></ng-content>'})\nexport class ListColumnComponent {\n @Input() title: string | null = null;\n // tslint:disable-next-line:no-input-rename\n @Input('full-width') fullWidth = false;\n @ContentChild(TemplateRef) template: any | null = null;\n constructor() { }\n}\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n@Component({ selector: 'lib-list-details-section', template: '<ng-content></ng-content>' })\r\nexport class ListDetailsSectionComponent{\r\n @ContentChild(TemplateRef) template: any | null = null;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ContentChild, ContentChildren, EventEmitter, Input, Output, QueryList, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MenuOption, ListViewType } from '../../types';\r\nimport { ListTileComponent } from './list-tile.component';\r\nimport { ListColumnComponent } from './list-column.component';\r\nimport { ListDetailsSectionComponent } from './list-details-section.component';\r\nimport { Icons } from '../../icons';\r\n\r\n@Component({\r\n selector: 'lib-list-view',\r\n templateUrl: './list-view.component.html'\r\n})\r\nexport class ListViewComponent implements OnChanges {\r\n // BUSY STATE\r\n @Input() busy = false;\r\n public expandIcon = Icons.Expand;\r\n public collapseIcon = Icons.Collapse;\r\n // DATA SOURCE!\r\n @Input() items: any[] | null | undefined;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('show-pager') showPager = true;\r\n\r\n // PAGING - pass through for pager component\r\n @Input() count: number | null = null;\r\n @Input() page = 1;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size') pageSize = 20;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size-options') pageSizeOptions: MenuOption[] = [];\r\n @Output() pageChanged: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() pageSizeChanged: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() detailsOpened: EventEmitter<{ item: any, open: boolean }> = new EventEmitter<{ item: any, open: boolean }>();\r\n\r\n public tableViewSupported = false;\r\n private multipleFullWidth = false;\r\n public fullWidthTHClass = 'list-view-th-full';\r\n public fullWidthTDClass = 'list-view-td-full';\r\n public tilesViewSupported = false;\r\n public detailsSectionSupported = false;\r\n\r\n // DETAILS SECTION\r\n // Check if details section and button should be displayed according to the count of the value given\r\n @Input('details-section-property-count') detailsSectionPropertyCount: string | null = null;\r\n\r\n\r\n // SORTING - pass through for pager component\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-options') sortOptions: MenuOption[] = [];\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort') sort: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-dir') sortdir: string | null = '-';\r\n @Output() sortChanged: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() sortdirChanged: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Input() view = ListViewType.Table;\r\n\r\n // COLUMNS\r\n public columns: any[] = [];\r\n @ContentChildren(ListColumnComponent, { read: ListColumnComponent })\r\n set cols(refs: QueryList<ListColumnComponent>) {\r\n this.columns = refs?.toArray();\r\n if (this.columns && this.columns.length > 0) {\r\n this.tableViewSupported = true;\r\n }\r\n this.multipleFullWidth = this.columns.filter(c => c.fullWidth).length > 1;\r\n this.fullWidthTHClass = this.multipleFullWidth ? 'list-view-th-half' : 'list-view-th-full';\r\n this.fullWidthTDClass = this.multipleFullWidth ? 'list-view-td-half' : 'list-view-td-full';\r\n }\r\n\r\n public tilesDeckClass = 'cards-deck-4';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('tiles-count') tilesCount = 4;\r\n\r\n public tileTemplate: any | null | undefined = null;\r\n @ContentChild(ListTileComponent, { read: ListTileComponent })\r\n set tiles(ref: ListTileComponent) {\r\n this.tileTemplate = ref;\r\n if (this.tileTemplate) {\r\n this.tilesViewSupported = true;\r\n }\r\n }\r\n\r\n public detailsTemplate: any | null | undefined = null;\r\n @ContentChild(ListDetailsSectionComponent, { read: ListDetailsSectionComponent })\r\n set details(ref: ListDetailsSectionComponent) {\r\n this.detailsTemplate = ref;\r\n if (this.detailsTemplate) {\r\n this.detailsSectionSupported = true;\r\n }\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const tilesCountChange = changes['tiles-count'] || changes.tilesCount;\r\n if (tilesCountChange) {\r\n this.setTilesDeckClass(tilesCountChange.currentValue);\r\n }\r\n }\r\n\r\n // events\r\n public emitPageChanged($event: number): void {\r\n this.pageChanged.emit($event);\r\n }\r\n\r\n public emitPageSizeChanged($event: number): void {\r\n this.pageSizeChanged.emit($event);\r\n }\r\n\r\n public emitSortChanged($event: string): void {\r\n this.sortChanged.emit($event);\r\n }\r\n public emitSortdirChanged($event: string): void {\r\n this.sortdirChanged.emit($event);\r\n }\r\n\r\n public toggleDetails(item: any): void {\r\n item.detailsExpanded = !item.detailsExpanded;\r\n this.detailsOpened.emit({ item, open: item.detailsExpanded });\r\n }\r\n\r\n // helpers\r\n private setTilesDeckClass(tiles: number): void {\r\n if (tiles >= 1 && tiles <= 4) {\r\n this.tilesDeckClass =\r\n this.view !== ListViewType.Gallery\r\n ? `cards-deck-${tiles}`\r\n : this.items && this.items.length > 0\r\n ? `gallery-deck-${tiles}`\r\n : 'gallery-deck'\r\n } else {\r\n this.tilesDeckClass =\r\n this.view !== ListViewType.Gallery\r\n ? 'cards-deck-3'\r\n : this.items && this.items.length > 0\r\n ? 'gallery-deck-3'\r\n : 'gallery-deck'\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-list-view-empty-state',\n templateUrl: './list-view-empty-state.component.html'\n})\nexport class ListViewEmptyStateComponent implements OnInit {\n\n @Input() title = 'Δεν βρέθηκαν εγγραφές.';\n // tslint:disable-next-line:no-input-rename\n @Input('sub-title') subTitle = 'Παρακαλώ αλλάξτε τα κριτήρια αναζήτησης σας ή ξεκινήστε προσθέτοντας μια νέα εγγραφή';\n // tslint:disable-next-line:no-input-rename\n @Input('new-item-label') newItemLabel = 'Νέα εγγραφή';\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'lib-skeleton-loader',\n templateUrl: './skeleton-loader.component.html'\n})\nexport class SkeletonLoaderComponent implements OnInit {\n @Input() count = 5;\n @Input() type = 'tiles'; // 'large-tile', 'table'\n constructor() { }\n\n ngOnInit(): void {\n }\n\n public counter(i: number): number[] {\n return new Array(i);\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-collapsible-panel',\r\n templateUrl: './collapsible-panel.component.html'\r\n})\r\nexport class CollapsiblePanelComponent implements OnInit {\r\n @Input() title: string | null = null;\r\n public visible = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-kpi-tile',\n templateUrl: './kpi-tile.component.html'\n})\nexport class KpiTileComponent implements OnInit {\n\n @Input() title: string | undefined = undefined;\n @Input() busy = false;\n @Input() kpi: any | undefined = undefined;\n // tslint:disable-next-line:no-output-rename\n @Output('tile-action') tileAction: EventEmitter<any> = new EventEmitter<any>();\n constructor() { }\n\n ngOnInit(): void {\n }\n\n public emitTileAction($event: any): boolean {\n $event.preventDefault();\n $event.stopPropagation();\n this.tileAction.emit($event);\n return false;\n }\n\n}\n","import { Component, ElementRef, EventEmitter, forwardRef, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n// freaksly simple date picker : https://tailwind-elements.com/docs/standard/forms/datepicker/\r\n@Component({\r\n selector: 'lib-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DatepickerComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class DatepickerComponent implements OnInit, ControlValueAccessor {\r\n @Input() readonly: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input('display-format') displayFormat: string | undefined = 'dd/MM/yyyy';\r\n @Input() placeholder: string | undefined = '';\r\n @Input() value: Date | undefined | null = null;\r\n @Output() valueChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n @ViewChild('dateInput') dateInput: ElementRef | undefined;\r\n public showCalendar = false;\r\n public showYears = false;\r\n public monthNames = [\r\n 'Ιανουάριος',\r\n 'Φεβρουάριος',\r\n 'Μάρτιος',\r\n 'Απρίλιος',\r\n 'Μάϊος',\r\n 'Ιούνιος',\r\n 'Ιούλιος',\r\n 'Αύγουστος',\r\n 'Σεπτέμβριος',\r\n 'Οκτώβριος',\r\n 'Νοεμβριος',\r\n 'Δεκέμβριος',\r\n ];\r\n public dayNames = ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ'];\r\n\r\n public month: number = -1;\r\n public year: number = -1;\r\n public calendarDates: any[] = [];\r\n public calendarYears: any[] = [];\r\n public showCalendarYears: any[] = [];\r\n public blankDays: any[] = [];\r\n public calendarYearPage = 1;\r\n private yearsPerPage = 30;\r\n\r\n private onChange$: any | undefined = undefined;\r\n private onTouched$: any | undefined = undefined;\r\n\r\n ngOnInit(): void {\r\n let today = new Date();\r\n this.month = today.getMonth();\r\n this.year = today.getFullYear();\r\n this.calendarDates = [{ day: this.value, today: this.value, selected: this.value }];\r\n this.calendarYears = [{ year: this.value?.getFullYear(), today: this.value, selected: this.value }];\r\n const yearsArray = [];\r\n for (let i = 1950; i <= today.getFullYear() + 2; i++) {\r\n yearsArray.push({ year: i, today: this.compareDates(today, null, i), selected: i == this.value?.getFullYear() });\r\n }\r\n this.calendarYears = yearsArray;\r\n this.showCalendarYears = this.paginate(this.calendarYears, 1);\r\n this.calcDays();\r\n }\r\n\r\n constructor() { }\r\n\r\n writeValue(obj: any): void {\r\n if (obj) {\r\n this.value = new Date(obj);\r\n this.month = this.value.getMonth();\r\n this.year = this.value.getFullYear();\r\n }\r\n }\r\n\r\n registerOnChange(fn: (_: any) => void): void {\r\n this.onChange$ = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched$ = fn;\r\n }\r\n\r\n public onBlur(event: any): void {\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n this.getDateFromInput();\r\n }\r\n\r\n public selectDateValue(date: any): void {\r\n // This should be in UTC\r\n let selectedDate = new Date(this.year, this.month, date.day, 3, 0, 0, 0);\r\n this.value = selectedDate;\r\n this.valueChange.emit(this.value);\r\n if (this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n this.updateDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n this.showCalendar = false;\r\n }\r\n\r\n public selectYearValue(year: any): void {\r\n // This should be in UTC\r\n let selectedDate = new Date(year.year, this.month ?? 1, this.calendarDates?.find(x => x.selected == true).day ?? 1, 3, 0, 0, 0);\r\n this.year = year.year;\r\n this.value = selectedDate;\r\n this.valueChange.emit(this.value);\r\n if (this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n this.updateDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n this.showYears = false;\r\n this.showCalendar = true;\r\n this.calcDays();\r\n }\r\n\r\n public previousMonth(): void {\r\n if (this.month !== 0) {\r\n this.month = this.month - 1;\r\n this.calcDays();\r\n } else {\r\n this.month = 11;\r\n this.year = this.year - 1;\r\n this.calcDays();\r\n }\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n public nextMonth(): void {\r\n if (this.month !== 11) {\r\n this.month = this.month + 1;\r\n this.calcDays();\r\n } else {\r\n this.month = 0;\r\n this.year = this.year + 1;\r\n this.calcDays();\r\n }\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n public previousYear(): void {\r\n this.showCalendarYears = this.paginate(\r\n this.calendarYears,\r\n this.calendarYearPage > 1 ? --this.calendarYearPage : 1);\r\n this.calcDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n public nextYear(): void {\r\n this.showCalendarYears = this.paginate(\r\n this.calendarYears,\r\n this.calendarYearPage <= this.calendarYears.length / this.yearsPerPage\r\n ? ++this.calendarYearPage\r\n : this.calendarYearPage);\r\n this.calcDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n private compareDates(date1: Date | undefined | null, day: number | null | undefined, year: number | null | undefined): boolean {\r\n if (!date1) {\r\n return false;\r\n }\r\n const d = new Date(year ?? this.year, this.month, day ?? this.value?.getDay());\r\n return date1.toDateString() === d.toDateString();\r\n };\r\n\r\n private calcDays(): void {\r\n const daysInMonth = new Date(this.year, this.month + 1, 0).getDate();\r\n // find where to start calendar day of week\r\n const dayOfWeek = new Date(this.year, this.month).getDay();\r\n const blankdaysArray = new Array<number>();\r\n for (var i = 1; i <= dayOfWeek; i++) {\r\n // check if month is February\r\n blankdaysArray.push(this.month != 2 ? (32 - i) : (29 - i));\r\n blankdaysArray.reverse().sort();\r\n }\r\n const daysArray = [];\r\n const today = new Date();\r\n for (var i = 1; i <= daysInMonth; i++) {\r\n daysArray.push({ day: i, today: this.compareDates(today, i, null), selected: this.compareDates(this.value ?? today, i, null) });\r\n }\r\n const yearsArray = [];\r\n for (let i = 1950; i <= today.getFullYear() + 2; i++) {\r\n yearsArray.push({ year: i, today: this.compareDates(today, null, i), selected: i == this.year });\r\n }\r\n this.calendarYears = yearsArray;\r\n this.blankDays = blankdaysArray;\r\n this.calendarDates = daysArray;\r\n }\r\n\r\n private updateDays(): void {\r\n const today = new Date();\r\n this.calendarDates.forEach(d => {\r\n d.today = this.compareDates(today, d, this.year);\r\n d.selected = this.compareDates(this.value, d, this.year);\r\n });\r\n }\r\n\r\n private paginate(array: any[], page_number: number): any[] {\r\n return array.slice((page_number - 1) * this.yearsPerPage, page_number * this.yearsPerPage);\r\n }\r\n\r\n private getDateFromInput() {\r\n if (this.dateInput?.nativeElement.value !== '') {\r\n var dateParts = this.dateInput?.nativeElement.value.split(\"/\");\r\n let dateInGrFormat = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0], 3, 0, 0);\r\n if (dateInGrFormat.toString() !== 'Invalid Date') {\r\n this.writeValue(dateInGrFormat)\r\n this.calcDays();\r\n this.valueChange.emit(dateInGrFormat);\r\n }\r\n if (this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n this.updateDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n this.showCalendar = false;\r\n }\r\n\r\n public openYears() {\r\n this.showYears = !this.showYears;\r\n this.calendarYearPage = Math.ceil(this.calendarYears.map(x => x.year).indexOf(this.year) / this.yearsPerPage);\r\n this.showCalendarYears = this.paginate(this.calendarYears, this.calendarYearPage !== 0 ? this.calendarYearPage : 1);\r\n this.calcDays();\r\n }\r\n\r\n public openCalendar() {\r\n this.showCalendar = !this.showCalendar;\r\n this.calcDays();\r\n }\r\n \r\n public closeCalendar(){\r\n this.showCalendar = false;\r\n this.getDateFromInput();\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { Toast, ToastType, NULL_TOAST } from '../types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToasterService {\n\n private subject: BehaviorSubject<Toast>;\n public toast$: Observable<Toast>;\n\n constructor() {\n this.subject = new BehaviorSubject<Toast>(NULL_TOAST);\n this.toast$ = this.subject.asObservable()\n .pipe(filter( toast => toast !== null && toast.title !== NULL_TOAST.title ));\n }\n\n public show(type: ToastType, title?: string, body?: string, delay?: number): void {\n this.subject.next({ type, title, body, delay } as Toast);\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { ToasterService } from '../../services/toaster.service';\r\nimport { Toast } from '../../types';\r\n\r\n@Component({\r\n selector: 'lib-toaster-container',\r\n templateUrl: './toaster-container.component.html'\r\n})\r\nexport class ToasterContainerComponent implements OnInit {\r\n\r\n toasts: Toast[] = [];\r\n\r\n constructor(private toaster: ToasterService) { }\r\n\r\n ngOnInit(): void {\r\n this.toaster.toast$\r\n .subscribe(toast => {\r\n this.toasts = [toast, ...this.toasts];\r\n setTimeout(() => this.toasts.pop(), toast.delay || 6000);\r\n });\r\n }\r\n\r\n remove(index: number): void {\r\n this.toasts = this.toasts.slice(0, index).concat(this.toasts.slice(index + 1));\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Toast } from '../../types';\r\n\r\n@Component({\r\n selector: 'lib-toaster',\r\n templateUrl: './toaster.component.html'\r\n})\r\nexport class ToasterComponent implements OnInit {\r\n\r\n @Input() toast: Toast | undefined;\r\n @Input() i = 0;\r\n @Output() remove = new EventEmitter<number>();\r\n public isMobile = false;\r\n public closed = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n window.screen.width > 640 ? this.isMobile = false : this.isMobile = true;\r\n }\r\n\r\n public closeToast(index: number): void {\r\n this.closed = true;\r\n setTimeout(() => this.remove.emit(index), 100);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-avatar-initials',\r\n templateUrl: './avatar-initials.component.html'\r\n})\r\nexport class AvatarInitialsComponent implements OnInit {\r\n @Input()\r\n public name: string | null | undefined;\r\n @Input()\r\n public large = false;\r\n public initials?: string;\r\n public circleColor!: string;\r\n private colors = [\r\n '#EB7181', // red\r\n '#468547', // green\r\n '#FFD558', // yellow\r\n '#3670B2', // blue\r\n ];\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.createInititals();\r\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length));\r\n // assign this to a class if you want to randomly change background colors of the circle.\r\n this.circleColor = this.colors[randomIndex];\r\n }\r\n\r\n private createInititals(): void {\r\n if (this.name) {\r\n let initials = '';\r\n for (let i = 0; i < this.name.length; i++) {\r\n if (this.name.charAt(i) === ' ') {\r\n continue;\r\n }\r\n if (this.name.charAt(i) === this.name.charAt(i).toUpperCase()) {\r\n initials += this.name.charAt(i);\r\n if (initials.length === 2) {\r\n break;\r\n }\r\n }\r\n }\r\n this.initials = initials;\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-toggle',\r\n templateUrl: './toggle.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ToggleComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class ToggleComponent implements OnInit, ControlValueAccessor {\r\n @Input()\r\n public value: boolean | null | undefined;\r\n @Input()\r\n public disabled:boolean | null | undefined;\r\n @Output() valueChange: EventEmitter<Boolean> = new EventEmitter<Boolean>();\r\n\r\n private onChange$: any | undefined = undefined;\r\n private onTouched$: any | undefined = undefined;\r\n\r\n constructor() { }\r\n \r\n writeValue(obj: any): void {\r\n if(obj) {\r\n this.value = obj || false;\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange$ = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched$ = fn;\r\n }\r\n\r\n public onBlur(event: any): void {\r\n if(this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public changeValue(){\r\n this.value = !this.value;\r\n this.valueChange.emit(this.value);\r\n if(this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n if(this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { IAppLinks, IShellConfig } from './types';\r\n\r\nexport const APP_LINKS = new InjectionToken<IAppLinks>('APP_LINKS');\r\nexport const SHELL_CONFIG = new InjectionToken<IShellConfig>('SHELL_CONFIG');\r\n","import { Directive, ViewContainerRef, Input } from '@angular/core';\r\n\r\n@Directive({ selector: '[appDynamicComponentHost]' })\r\nexport class DynamicComponentHostDirective {\r\n @Input() hostName: string = '';\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}","import { ComponentRef, ViewRef } from '@angular/core';\r\n\r\n/**\r\n * Holds information about the dynamic content.\r\n * @remarks\r\n * `ComponentRef` is undefined in the case content is of `TemplateRef` type.\r\n */\r\nexport class ContentRef {\r\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef<any>) {}\r\n}\r\n","import {\r\n ComponentFactoryResolver,\r\n ViewContainerRef,\r\n ComponentFactory,\r\n Type,\r\n ElementRef,\r\n StaticProvider,\r\n TemplateRef,\r\n ComponentRef,\r\n ApplicationRef,\r\n Injector,\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ComponentLoaderOptions } from './component-loader-options.class';\r\nimport { ContentRef } from './content-ref.class';\r\n\r\n/**\r\n * Provides ways of loading and handling dynamic content.\r\n *\r\n * @remarks\r\n * Do NOT use this directly, create an instance through {@link ComponentLoaderFactory}\r\n * You can use this loader in two ways:\r\n * - Attaches a component to `ViewContainerRef`.\r\n * - Attaches a component to `ViewContainerRef`. The attached component has a `<ng-content>` tag inside its view. The {@link ComponentLoaderOptions.content} will be drawn inside this tag.\r\n *\r\n * @internal\r\n */\r\nexport class ComponentLoader<T> {\r\n /**\r\n * Before content is shown event.\r\n */\r\n onBeforeShow = new Subject();\r\n /**\r\n * After show content event.\r\n * @returns The id of newly created component ref.\r\n */\r\n onShown = new Subject();\r\n /**\r\n * Before content is hidden event.\r\n * @returns The instance of attached component;\r\n */\r\n onBeforeHide = new Subject();\r\n /**\r\n * After content is hidden event.\r\n * @returns The id of destroyed component ref.\r\n */\r\n onHidden = new Subject();\r\n\r\n public instance?: T;\r\n public componentRef?: ComponentRef<T>;\r\n private componentFactory?: ComponentFactory<T>;\r\n private container: string | ElementRef | any;\r\n private providers: StaticProvider[] = [];\r\n private contentRef?: ContentRef;\r\n private containerDefaultSelector = 'body';\r\n private innerComponent?: ComponentRef<T>;\r\n constructor(\r\n private vcr: ViewContainerRef | undefined,\r\n private cfr: ComponentFactoryResolver,\r\n private applicationRef: ApplicationRef,\r\n private injector: Injector\r\n ) {}\r\n\r\n /**\r\n * Attaches component.\r\n * @param componentType - The type component to attach.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public attach(componentType: Type<T>): ComponentLoader<T> {\r\n this.componentFactory = this.cfr.resolveComponentFactory<T>(componentType);\r\n return this;\r\n }\r\n\r\n /**\r\n * Body will be used in nothing is provided.\r\n * @param container - The element in which dynamic content will be drawn inside to. For string case a query to the dom will be executed to find the element.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public to(container?: string | ElementRef): ComponentLoader<T> {\r\n this.container = container || this.container;\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds provider to the providers array. These providers will be injected to the attached component.\r\n *\r\n * @see {@link https://angular.io/guide/glossary#di-token | Injection Token}\r\n *\r\n * @param provider - Provider to inject.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public provide(provider: StaticProvider): ComponentLoader<T> {\r\n this.providers.push(provider);\r\n return this;\r\n }\r\n\r\n /**\r\n * Attaches attached component to dom and any dynamic content if provided.\r\n * @remarks\r\n * Also triggers the {@link ComponentLoader.onBeforeShow} and {@link ComponentLoader.onShown} events.\r\n *\r\n * @param options - {@link ComponentLoaderOptions}.\r\n * @returns A reference to the created content.\r\n */\r\n public show(options: ComponentLoaderOptions = {}): ComponentRef<T> | undefined {\r\n if (this.componentRef) {\r\n throw Error('Component is already shown');\r\n }\r\n if (!this.componentFactory) {\r\n throw Error('You must attach a component');\r\n }\r\n this.onBeforeShow.next();\r\n\r\n if (options.content) {\r\n this.contentRef = this.getContentRef(options.content, options.context, options.initialState);\r\n }\r\n this.createComponentAndAttachToView(options);\r\n this.appendContentToContainer();\r\n this.markComponentsForCheck();\r\n\r\n this.onShown.next(options.id);\r\n\r\n return this.componentRef;\r\n }\r\n\r\n /**\r\n * Removes attached component from dom.\r\n * @remarks\r\n * Also triggers the {@link ComponentLoader.onBeforeHide} and {@link ComponentLoader.onHidden} events.\r\n *\r\n * @param id - If provided it is returned through the {@link ComponentLoader.onHidden}.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public hide(id?: number | string, result?: any): ComponentLoader<T> {\r\n if (!this.componentRef) {\r\n throw Error('No attached component found to hide');\r\n }\r\n\r\n this.onBeforeHide.next(this.componentRef.instance);\r\n\r\n const componentEl = this.componentRef.location.nativeElement;\r\n componentEl.parentNode.removeChild(componentEl);\r\n if (this.contentRef?.componentRef) {\r\n this.contentRef.componentRef.destroy();\r\n }\r\n if (this.vcr && this.contentRef?.viewRef) {\r\n this.vcr.remove(this.vcr.indexOf(this.contentRef.viewRef));\r\n }\r\n if (this.contentRef?.viewRef) {\r\n this.contentRef.viewRef.destroy();\r\n }\r\n this.contentRef = void 0;\r\n this.componentRef = void 0;\r\n\r\n this.onHidden.next(id ? { id, result } : null);\r\n\r\n return this;\r\n }\r\n\r\n getInnerComponent(): ComponentRef<T> | undefined {\r\n return this.innerComponent;\r\n }\r\n\r\n private markComponentsForCheck() {\r\n if (this.contentRef?.componentRef) {\r\n this.innerComponent = this.contentRef.componentRef.instance;\r\n this.contentRef.componentRef.changeDetectorRef.markForCheck();\r\n this.contentRef.componentRef.changeDetectorRef.detectChanges();\r\n }\r\n this.componentRef!.changeDetectorRef.markForCheck();\r\n this.componentRef!.changeDetectorRef.detectChanges();\r\n }\r\n\r\n private createComponentAndAttachToView(options: ComponentLoaderOptions) {\r\n const injector = Injector.create({\r\n providers: this.providers,\r\n parent: this.injector,\r\n });\r\n this.componentRef = this.componentFactory!.create(injector, this.contentRef?.nodes);\r\n this.applicationRef.attachView(this.componentRef.hostView);\r\n this.instance = this.componentRef.instance;\r\n Object.assign(this.componentRef.instance, options);\r\n }\r\n\r\n private appendContentToContainer() {\r\n if (this.container instanceof ElementRef) {\r\n this.container.nativeElement.appendChild(this.componentRef?.location.nativeElement);\r\n }\r\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\r\n const selectedElement = document.querySelector(this.container) || document.querySelector(this.containerDefaultSelector);\r\n if (!selectedElement) {\r\n return;\r\n }\r\n selectedElement.appendChild(this.componentRef?.location.nativeElement);\r\n }\r\n }\r\n\r\n private getContentRef(content?: string | TemplateRef<any>, context?: any, initialState?: any): ContentRef {\r\n //TemplateRef case\r\n if (content instanceof TemplateRef) {\r\n if (this.vcr) {\r\n const viewRef = this.vcr.createEmbeddedView<TemplateRef<T>>(content, context);\r\n viewRef.markForCheck();\r\n return new ContentRef([viewRef.rootNodes], viewRef);\r\n }\r\n const viewRef = content.createEmbeddedView({});\r\n this.applicationRef.attachView(viewRef);\r\n return new ContentRef([viewRef.rootNodes], viewRef);\r\n }\r\n\r\n //Component case\r\n if (typeof content === 'function') {\r\n const contentCf = this.cfr.resolveComponentFactory(content);\r\n const injector = Injector.create({\r\n providers: this.providers,\r\n parent: this.injector,\r\n });\r\n const componentRef = contentCf.create(injector);\r\n Object.assign(componentRef.instance, initialState);\r\n this.applicationRef.attachView(componentRef.hostView);\r\n return new ContentRef([[componentRef.location.nativeElement]], componentRef.hostView, componentRef);\r\n }\r\n\r\n throw Error('Unsupported content type');\r\n }\r\n}\r\n","import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, ViewContainerRef } from '@angular/core';\r\nimport { ComponentLoader } from './component-loader.class';\r\n\r\n/**\r\n * Use to create instances of {@link ComponentLoader}.\r\n *\r\n * @public\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class ComponentLoaderFactory {\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private injector: Injector,\r\n private applicationRef: ApplicationRef\r\n ) {}\r\n\r\n /**\r\n * Returns a new instance of {@link ComponentLoader}\r\n * @param viewContainerRef - The view container the dynamic content will be attached to.\r\n * @returns A new instance of {@link ComponentLoader}.\r\n *\r\n * @public\r\n */\r\n createLoader<T>(viewContainerRef?: ViewContainerRef): ComponentLoader<T> {\r\n return new ComponentLoader<T>(viewContainerRef, this.componentFactoryResolver, this.applicationRef, this.injector);\r\n }\r\n}\r\n","import { SHELL_CONFIG } from './../../../tokens';\r\nimport { IShellConfig, DefaultShellConfig } from './../../../types';\r\nimport { AfterViewInit, Component, OnInit, OnDestroy, Inject, ViewChildren, QueryList, AfterViewChecked } from '@angular/core';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\nimport { ActivationStart, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Subscription, timer } from 'rxjs';\r\nimport { DynamicComponentHostDirective } from '../../../directives/dynamic-component-host.directive';\r\nimport { ComponentLoaderFactory } from '../../../services/component-loader/component-loader.factory';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-shell-layout',\r\n templateUrl: './shell-layout.component.html',\r\n})\r\nexport class ShellLayoutComponent implements OnInit, OnDestroy, AfterViewInit, AfterViewChecked {\r\n @ViewChildren(DynamicComponentHostDirective)\r\n dynamicComponentHosts: QueryList<DynamicComponentHostDirective> | null = null;\r\n public showRightPaneSM = false;\r\n private routerSub$: Subscription | null = null;\r\n public activeConfig: IShellConfig = new DefaultShellConfig();\r\n public loaded = false;\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private router: Router,\r\n private location: Location,\r\n @Inject(SHELL_CONFIG) private config: IShellConfig | null,\r\n private componentLoaderFactory: ComponentLoaderFactory\r\n ) {\r\n if (!config) {\r\n config = new DefaultShellConfig();\r\n }\r\n this.activeConfig = config;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n setTimeout(() => { this.loaded = true; }, 200);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.routerSub$ = this.router.events.pipe(filter((event) => event instanceof ActivationStart)).subscribe((e) => {\r\n // console.log('ShellLayoutComponent ActivationStart', e);\r\n if ((e as ActivationStart)?.snapshot) {\r\n // console.log('ShellLayoutComponent ActivationStart snapshot', (e as ActivationStart)?.snapshot);\r\n if ((e as ActivationStart)?.snapshot?.data) {\r\n // console.log('ShellLayoutComponent ActivationStart snapshot data', (e as ActivationStart)?.snapshot.data);\r\n if ((e as ActivationStart)?.snapshot?.data.shell) {\r\n // console.log('ShellLayoutComponent ActivationStart snapshot data shell params',\r\n // (e as ActivationStart)?.snapshot.data.shell);\r\n this.activeConfig = (e as ActivationStart)?.snapshot.data.shell as IShellConfig;\r\n // console.log('ShellLayoutComponent activeConfig from route: ', this.activeConfig);\r\n if (this.activeConfig.customHeaderComponent) {\r\n this.initCustomComponents();\r\n }\r\n } else {\r\n this.activeConfig = this.config ? this.config : new DefaultShellConfig();\r\n // console.log('ShellLayoutComponent default activeConfig: ', this.activeConfig);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initCustomComponents();\r\n }\r\n\r\n private initCustomComponents(): void {\r\n if (this.dynamicComponentHosts && this.dynamicComponentHosts.length > 0) {\r\n this.loadCustomComponent(this.dynamicComponentHosts.find((_) => _.hostName === 'Header'));\r\n // since you're not using it...\r\n // this.loadCustomComponent(this.dynamicComponentHosts.find(_ => _.hostName === 'Footer'));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.routerSub$) {\r\n this.routerSub$.unsubscribe();\r\n }\r\n }\r\n\r\n private loadCustomComponent(host: DynamicComponentHostDirective | undefined): void {\r\n if (host) {\r\n const viewContainerRef = host.viewContainerRef;\r\n if (viewContainerRef && this.activeConfig.customHeaderComponent) {\r\n const clf = this.componentLoaderFactory.createLoader(viewContainerRef);\r\n const headerCompRef = clf.attach(this.activeConfig.customHeaderComponent).to(viewContainerRef.element).show();\r\n }\r\n }\r\n }\r\n}\r\n","import { AuthService } from '@indice/ng-auth';\r\nimport { Component, OnInit, OnDestroy, Inject, Input } from '@angular/core';\r\nimport { User } from 'oidc-client';\r\nimport { Event, NavigationStart, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { NavLink } from '../../../types';\r\nimport { APP_LINKS, SHELL_CONFIG } from '../../../tokens';\r\nimport { BehaviorSubject, isObservable, observable, Observable, of } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-shell-header',\r\n templateUrl: './shell-header.component.html',\r\n})\r\nexport class ShellHeaderComponent implements OnInit, OnDestroy {\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('section-links') sectionLinksPath = 'main';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('profile-menu') profileMenuVisible = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('show-userName') showUserNameOnHeader: boolean | undefined = false;\r\n @Input() border = true;\r\n public sectionLinks: Observable<NavLink[]> = of([]);\r\n public mobileMenuExpanded = false;\r\n public userMenuExpanded = false;\r\n protected routeSubject: Observable<Event>;\r\n protected routerSub$: Subscription | null = null;\r\n protected userSub$: Subscription | null = null;\r\n protected statusSub$: Subscription | null = null;\r\n public user: User | null = null;\r\n public avatarName: string | null = null;\r\n\r\n constructor(\r\n @Inject(AuthService) protected authService: AuthService,\r\n @Inject(Router) protected router: Router,\r\n @Inject(SHELL_CONFIG) public config: any,\r\n @Inject(APP_LINKS) public links: any\r\n ) {\r\n this.routeSubject = this.router.events.pipe(filter((event) => event instanceof NavigationStart));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log(this.showUserNameOnHeader);\r\n\r\n if (this.routerSub$) {\r\n this.routerSub$.unsubscribe();\r\n }\r\n // TODO: check authenticated user here before we start polling server status\r\n if (this.statusSub$) {\r\n this.statusSub$.unsubscribe();\r\n }\r\n if (this.userSub$) {\r\n this.userSub$.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sectionLinks = this.links[this.sectionLinksPath] as Observable<NavLink[]>;\r\n this.routerSub$ = this.routeSubject.subscribe((event) => {\r\n this.mobileMenuExpanded = false;\r\n this.userMenuExpanded = false;\r\n });\r\n this.authService.loadUser().subscribe((user) => {\r\n console.log(user);\r\n this.setCurrentUser(user);\r\n }, error => {\r\n console.error(error);\r\n }\r\n );\r\n // Detect user changes and display / or not user info accordingly...\r\n this.userSub$ = this.authService.user$.subscribe((user: any) => {\r\n // console.log('ShellHeaderComponent user subscription');\r\n this.setCurrentUser(user);\r\n });\r\n }\r\n\r\n // tslint:disable-next-line:typedef\r\n public onClickOutside($event: any) {\r\n this.userMenuExpanded = false;\r\n }\r\n\r\n public signin(event: any | null | undefined): void {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n this.authService.signinRedirect();\r\n }\r\n\r\n private setCurrentUser(user: any): void {\r\n this.user = user;\r\n if (this.user && this.user.profile) {\r\n this.avatarName = `${this.user.profile.given_name?.charAt(0)}${this.user.profile.family_name?.charAt(0)}`.toUpperCase();\r\n // console.log('load user', this.avatarName);\r\n }\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { APP_LINKS } from '../../../tokens';\r\nimport { IAppLinks } from '../../../types';\r\n\r\n@Component({\r\n selector: 'lib-shell-footer',\r\n templateUrl: './shell-footer.component.html'\r\n\r\n})\r\n\r\nexport class ShellFooterComponent {\r\n constructor(@Inject(APP_LINKS) public links: IAppLinks) {\r\n }\r\n}\r\n","import { SwitchViewAction } from '../../../types';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Component, Input, OnInit, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { HeaderMetaItem, RouterViewAction, ViewAction } from '../../../types';\r\n\r\n@Component({\r\n selector: 'lib-view-layout',\r\n templateUrl: './view-layout.component.html'\r\n})\r\nexport class ViewLayoutComponent implements OnInit {\r\n // tslint:disable-next-line:no-input-rename\r\n @ViewChild('search') private searchInput$?: ElementRef;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('show-header') header = true;\r\n @Input() fluid = false;\r\n @Input() title = 'no title';\r\n @Input() icon: string | null = null;\r\n @Input() actions: ViewAction[] | null = null;\r\n @Input() busy = false;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('search-placeholder') searchPlaceholder: string | null = 'αναζήτηση';\r\n @Input() view: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('meta-items') metaItems: HeaderMetaItem[] | null = [];\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onAction: EventEmitter<ViewAction> = new EventEmitter<ViewAction>();\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onSearch: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n constructor(private route$: ActivatedRoute, private router$: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this.searchInput$?.nativeElement){\r\n fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(\r\n map((event: any) => {\r\n return event.target.value; // Get input value.\r\n }),\r\n filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),\r\n // If character length greater than minimumSearchCharacters setting.\r\n debounceTime(1000), // Time in milliseconds between key events.\r\n distinctUntilChanged() // If previous query is different from current.\r\n ).subscribe();\r\n }\r\n }\r\n\r\n public emitActionClick(action: ViewAction): void {\r\n this.onAction.emit(action);\r\n }\r\n\r\n public routerLinkActionClick(action: RouterViewAction | any): void {\r\n // console.log('routerLinkActionClick', action);\r\n if (action.outlet) {\r\n this.router$.navigate(['', { outlets: { rightpane: action.link } }]);\r\n } else {\r\n this.router$.navigate([action.link]);\r\n }\r\n }\r\n\r\n searchActionClick(action: ViewAction, text: string): void {\r\n this.onSearch.emit(text);\r\n }\r\n\r\n searchActionType(text: string): void {\r\n this.onSearch.emit(this.searchInput$?.nativeElement.value);\r\n }\r\n\r\n public handleClear(event: any): void {\r\n console.log('handle clear!!!');\r\n event.stopPropagation();\r\n this.onSearch.emit(event.target?.value);\r\n }\r\n\r\n public switchViewActionClick(action: SwitchViewAction | any): void {\r\n // console.log('switchViewActionClick', action);\r\n this.view = action.param;\r\n if (action && action.param) {\r\n this.router$.navigate([], { queryParams: { view: action.param }, queryParamsHandling: 'merge', skipLocationChange: false });\r\n }\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { HeaderMetaItem } from '../../../types';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-model-view-layout',\r\n templateUrl: './model-view-layout.component.html'\r\n})\r\nexport class ModelViewLayoutComponent implements OnInit {\r\n public showRightPaneSM = false;\r\n @Input() title = 'no title';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('primary-links') primary: { text: string, link: string }[] | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('secondary-links') secondary: { text: string, link: string }[] | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('meta-items') metaItems: HeaderMetaItem[] | null = [\r\n // { key: 'test', icon: Icons.Badges, text: 'βρέθηκαν 200 αποτελέσματα' }\r\n ];\r\n constructor( private location: Location) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public onSidePaneActivated($event: any): void {\r\n //console.log('onSidePaneActivated', $event);\r\n this.showRightPaneSM = true;\r\n }\r\n\r\n public onSidePaneDeactivated($event: any): void {\r\n //console.log('onSidePaneActivated', $event);\r\n this.showRightPaneSM = false;\r\n }\r\n\r\n public closeSidePane(): void {\r\n this.location.back();\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-side-view-layout',\r\n templateUrl: './side-view-layout.component.html'\r\n})\r\nexport class SideViewLayoutComponent implements OnInit {\r\n @Input() title: string | null = 'Πληροφορίες';\r\n @Input() showActions = true;\r\n @Input() disabled = false;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('return-path') returnPath: string | undefined;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('ok-label') okLabel = 'Αποθήκευση';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('ok-show') okShow = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('ok-close-dialog') closeOnOk = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('cancel-label') cancelLabel = 'Ακύρωση';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('cancel-show') cancelShow = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('force-location-back') forceLocationBack = false;\r\n // @Output() close = new EventEmitter<any>();\r\n @Output() cancel: EventEmitter<boolean> = new EventEmitter();\r\n @Output() ok: EventEmitter<boolean> = new EventEmitter();\r\n\r\n constructor(private location: Location, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public closeSidePane(): void {\r\n if (this.returnPath) {\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(this.returnPath || '/'));\r\n } else {\r\n if ((this.router.url.split('/(')[0] !== this.router.url) && !this.forceLocationBack) {\r\n this.router.navigateByUrl(this.router.url.split('/(')[0]);\r\n } else if ((this.router.url.split('(')[0] !== this.router.url) && !this.forceLocationBack) {\r\n this.router.navigateByUrl(this.router.url.split('(')[0]);\r\n } else {\r\n this.location.back();\r\n }\r\n }\r\n }\r\n\r\n public emitClose(): void {\r\n this.cancel.emit(false);\r\n this.closeSidePane();\r\n }\r\n\r\n public emitCancel(): void {\r\n this.cancel.emit(false);\r\n this.closeSidePane();\r\n }\r\n\r\n public emitOK(): void {\r\n this.ok.emit(true);\r\n if (this.closeOnOk) {\r\n this.closeSidePane();\r\n }\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fromEvent } from 'rxjs';\r\nimport { map, filter, debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { RouterViewAction, ViewAction } from '../../../types';\r\n\r\n@Component({\r\n selector: 'lib-form-layout',\r\n templateUrl: './form-layout.component.html'\r\n})\r\nexport class FormLayoutComponent implements OnInit {\r\n // tslint:disable-next-line:no-input-rename\r\n @ViewChild('search') private searchInput$?: ElementRef;\r\n @Input() title: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('search-placeholder') searchPlaceholder: string | null = 'αναζήτηση'\r\n @Input() actions: ViewAction[] | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sub-title') subTitle: string | null = null;\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onAction: EventEmitter<ViewAction> = new EventEmitter<ViewAction>();\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onSearch: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() onComplete: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor(private router$: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this.searchInput$?.nativeElement){\r\n fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(\r\n map((event: any) => {\r\n return event.target.value; // Get input value.\r\n }),\r\n filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),\r\n // If character length greater than minimumSearchCharacters setting.\r\n debounceTime(1000), // Time in milliseconds between key events.\r\n distinctUntilChanged() // If previous query is different from current.\r\n ).subscribe();\r\n }\r\n }\r\n\r\n public onSidePaneDeactivated($event: any): void {\r\n this.onComplete.emit(true);\r\n }\r\n\r\n public emitActionClick(action: ViewAction): void {\r\n this.onAction.emit(action);\r\n }\r\n\r\n searchActionClick(action: ViewAction, text: string): void {\r\n this.onSearch.emit(text);\r\n }\r\n\r\n searchActionType(text: string): void {\r\n this.onSearch.emit(this.searchInput$?.nativeElement.value);\r\n }\r\n\r\n public routerLinkActionClick(action: RouterViewAction | any, relative: boolean = false): void {\r\n if (action.outlet) {\r\n this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);\r\n } else {\r\n this.router$.navigate([action.link]);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '@indice/ng-auth';\r\n\r\n@Component({\r\n selector: 'lib-auth-callback',\r\n templateUrl: './auth-callback.component.html'\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n constructor(@Inject(AuthService) private authService: AuthService, private router: Router) { }\r\n\r\n public status = 'παρακαλώ περιμένετε...';\r\n\r\n public ngOnInit(): void {\r\n this.authService.signinRedirectCallback().subscribe((user) => {\r\n if (user) {\r\n this.router.navigateByUrl(user.state?.url || '/');\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '@indice/ng-auth';\r\n\r\n@Component({\r\n selector: 'lib-auth-renew',\r\n template: ''\r\n})\r\nexport class AuthRenewComponent implements OnInit {\r\n constructor(@Inject(AuthService) private authService: AuthService, private router: Router) { }\r\n\r\n public ngOnInit(): void {\r\n this.authService.signinSilentCallback().subscribe(user => {\r\n if (!user) {\r\n this.router.navigate(['/unauthorized']);\r\n }\r\n });\r\n }\r\n}\r\n","import { AuthService } from '@indice/ng-auth';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-logged-out',\r\n templateUrl: './logged-out.component.html'\r\n})\r\nexport class LoggedOutComponent implements OnInit {\r\n constructor(@Inject(AuthService) private authService: AuthService) { }\r\n\r\n public status = 'working on it, please give me a sec...';\r\n public finished = false;\r\n\r\n public ngOnInit(): void {\r\n this.authService.removeUser().subscribe(() => {\r\n this.status = 'Thank you!';\r\n this.finished = true;\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-error',\r\n templateUrl: './error.component.html'\r\n})\r\nexport class ErrorComponent implements OnInit {\r\n public error = 'Error!';\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-page-not-found',\r\n templateUrl: './page-not-found.component.html'\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-unauthorized',\r\n templateUrl: './unauthorized.component.html'\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n constructor() { }\r\n\r\n public ngOnInit(): void { }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { IAddress } from '../types';\r\n\r\n@Pipe({\r\n name: 'address',\r\n pure: false\r\n})\r\nexport class AddressPipe implements PipeTransform {\r\n\r\n transform(value: IAddress | undefined): string {\r\n if (value === undefined || null || '') {\r\n return '';\r\n }\r\n // tslint:disable-next-line:no-non-null-assertion\r\n return `${value.street || ''}${value.streetNumber ? ' ' + value.streetNumber : ''}${value.city ? ', ' + value.city : ''}${+value.postalCode! ? ', ' + +value.postalCode! : ''}`;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'durationFormat',\r\n pure: false\r\n})\r\nexport class DurationFormatPipe implements PipeTransform {\r\n\r\n transform(value: any, arg1: any, arg2: any): string {\r\n\r\n let days: any;\r\n let seconds: any;\r\n let minutes: any;\r\n let hours: any;\r\n\r\n if (arg1 === 'ms' && arg2 === 'hhmmss') {\r\n seconds = Math.floor((value / 1000) % 60);\r\n minutes = Math.floor(((value / (1000 * 60)) % 60));\r\n hours = Math.floor((value / (1000 * 60 * 60)));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n } else if (arg1 === 's' && arg2 === 'hhmmss') {\r\n seconds = Math.floor((value % 60));\r\n minutes = Math.floor(((value / 60) % 60));\r\n hours = Math.floor(((value / 60) / 60));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n } else if (arg1 === 'ms' && (arg2 === 'ddhhmmss' || arg2 === 'ddhhmmssLong')) {\r\n seconds = Math.floor(((value / 1000) % 60));\r\n minutes = Math.floor((value / (1000 * 60) % 60));\r\n hours = Math.floor((value / (1000 * 60 * 60) % 24));\r\n days = Math.floor((value / (1000 * 60 * 60 * 24)));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n } else if (arg1 === 's' && (arg2 === 'ddhhmmss' || arg2 === 'ddhhmmssLong')) {\r\n seconds = Math.floor(value % 60);\r\n minutes = Math.floor(((value / 60) % 60));\r\n hours = Math.floor(((value / 60) / 60) % 24);\r\n days = Math.floor((((value / 60) / 60) / 24));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n }\r\n else {\r\n return value;\r\n }\r\n }\r\n\r\n private format(arg2: string, seconds: any, minutes: any, hours: any, days: any): any {\r\n (days < 10) ? days = '0' + days : days;\r\n (hours < 10) ? hours = '0' + hours : hours;\r\n (minutes < 10) ? minutes = '0' + minutes : minutes;\r\n (seconds < 10) ? seconds = '0' + seconds : seconds;\r\n\r\n switch (arg2) {\r\n case 'hhmmss':\r\n return `${hours}:${minutes}:${seconds}`;\r\n\r\n case 'ddhhmmss':\r\n return `${days}d, ${hours}h, ${minutes}m, ${seconds}s`;\r\n\r\n case 'ddhhmmssLong':\r\n return `${days} days, ${hours} hours, ${minutes} minutes, ${seconds} seconds`;\r\n }\r\n return undefined;\r\n }\r\n\r\n}\r\n","import { Observable, Subscription, of } from 'rxjs';\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { HeaderMetaItem, IResultSet, MenuOption, RouterViewAction, ViewAction, ListViewType } from '../types';\r\nimport { Icons } from '../icons';\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseListComponent<T> implements OnInit, OnDestroy {\r\n public items: T[] | null | undefined = null;\r\n public view: string = ListViewType.Tiles;\r\n public title: string | null = null;\r\n public actions: ViewAction[] = [];\r\n public loaderItems: any[] = [1, 2, 3, 4, 5];\r\n public page = 1;\r\n public pageSize = 20;\r\n public count = 0;\r\n public sort: string | null = '';\r\n public sortdir: string | null = '-';\r\n public search: string | null = '';\r\n public sortOptions: MenuOption[] = [];\r\n public metaItems: HeaderMetaItem[] = [];\r\n public abstract newItemLink: string | null;\r\n private routeSub$: Subscription | undefined;\r\n\r\n constructor(private route$: ActivatedRoute, private router$: Router) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.routeSub$) {\r\n this.routeSub$.unsubscribe();\r\n }\r\n }\r\n\r\n public getViewActions(): Observable<ViewAction[]> {\r\n const actions = [\r\n new ViewAction('search', null, null, Icons.Search, 'αναζήτηση'),\r\n new ViewAction('refresh', null, null, Icons.Refresh, 'ανανέωση στοιχείων')\r\n ];\r\n if (this.newItemLink) {\r\n actions.push(new RouterViewAction(Icons.Add, this.newItemLink, 'rightpane', 'προσθήκη νέας εγγραφής;'));\r\n }\r\n return of(actions);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getViewActions().subscribe(actions => {\r\n this.actions = actions || [];\r\n });\r\n\r\n this.metaItems = [\r\n { key: 'count', icon: Icons.ItemsCount, text: 'παρακαλώ περιμένετε...' }\r\n ];\r\n\r\n // disabled external route changes monitoring due to sync issues - which is bad :) - refresh from url will not work\r\n // until i come up with a solution...\r\n\r\n this.routeSub$ = this.route$.queryParamMap.subscribe(params => {\r\n if (params.keys.length === 0) {\r\n return;\r\n }\r\n\r\n // changing the view mode does not require reloading...\r\n this.view = params.get('view') || ListViewType.Tiles;\r\n // console.log('route changes ', this.view);\r\n\r\n // if (params.get('search') !== this.search) {\r\n // this.searchChanged(params.get('search'));\r\n // }\r\n\r\n // const page = +(params.get('page') || 1);\r\n // if (page !== this.page) {\r\n // this.page = page;\r\n // }\r\n\r\n // const size = +(params.get('pagesize') || 20);\r\n // if (this.pageSize !== size) {\r\n // this.pageSize = size;\r\n // }\r\n\r\n // if (params.get('search') !== this.search) {\r\n // this.search = params.get('search');\r\n // }\r\n\r\n // if (params.get('sort') !== this.sort) {\r\n // this.sort = params.get('sort');\r\n // }\r\n\r\n // if (params.get('sortdir') !== this.sortdir) {\r\n // this.sortdir = params.get('sortdir');\r\n // }\r\n\r\n });\r\n\r\n // just to sync params in query\r\n this.setRouteParams(true);\r\n this.load();\r\n }\r\n\r\n private setRouteParams(locationChange: boolean = false): void {\r\n this.router$.navigate([], {\r\n relativeTo: this.route$, queryParams: {\r\n view: this.view,\r\n page: this.page,\r\n pagesize: this.pageSize,\r\n search: this.search,\r\n sort: this.sort,\r\n dir: this.sortdir\r\n }, queryParamsHandling: 'merge', skipLocationChange: locationChange\r\n });\r\n }\r\n\r\n public actionHandler($event: ViewAction): void {\r\n // console.log('BaseListComponent actionHandler', $event);\r\n if ($event.key === 'refresh') {\r\n this.refresh();\r\n }\r\n }\r\n\r\n private load(): void {\r\n // console.log('BaseListComponent LOAD');\r\n this.count = 0;\r\n this.items = null;\r\n this.loadItems().subscribe(result => {\r\n this.count = result ? result.count : 0;\r\n this.items = result?.items;\r\n this.updateHeaderMeta();\r\n }, err => {\r\n this.count = 0;\r\n this.items = null;\r\n this.updateHeaderMeta();\r\n });\r\n }\r\n\r\n private updateHeaderMeta(): void {\r\n const count = this.metaItems?.filter(m => m.key === 'count')[0];\r\n if (count) {\r\n this.count === 1 ? count.text = `${this.count} αποτέλεσμα` : count.text = `${this.count} αποτελέσματα`;\r\n }\r\n }\r\n\r\n public abstract loadItems(): Observable<IResultSet<T> | null | undefined>;\r\n\r\n public clear(): void {\r\n this.count = 0;\r\n this.page = 1;\r\n this.items = null;\r\n this.search = null;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n\r\n public refresh(): void {\r\n this.count = 0;\r\n this.page = 1;\r\n this.items = null;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n\r\n public pageChanged(page: number): void {\r\n if (this.page !== page) {\r\n this.page = page;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n }\r\n\r\n public pageSizeChanged(pageSize: number): void {\r\n if (this.pageSize !== pageSize) {\r\n this.pageSize = pageSize;\r\n this.page = 1;\r\n this.setRouteParams();\r\n this.refresh();\r\n }\r\n }\r\n\r\n public sortChanged(sort: string): void {\r\n // console.log('base-list sortChanged', sort);\r\n if (this.sort !== sort) {\r\n this.page = 1;\r\n this.sort = sort;\r\n this.setRouteParams();\r\n this.refresh();\r\n }\r\n }\r\n\r\n public sortdirChanged(sortdir: string): void {\r\n if (this.sortdir !== sortdir) {\r\n this.page = 1;\r\n this.sortdir = sortdir;\r\n this.setRouteParams();\r\n this.refresh();\r\n }\r\n }\r\n\r\n public searchChanged(searchText: string | null): void {\r\n this.count = 0;\r\n this.page = 1;\r\n this.items = null;\r\n this.search = searchText;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n}\r\n","export const cssClassNames = {\r\n backdrop: 'modal-backdrop',\r\n show: 'show',\r\n fade: 'fade',\r\n\tmodalOpen: 'modal-open'\r\n};\r\n\r\nexport const animationTime = {\r\n backdrop: 150,\r\n modal: 300,\r\n};\r\n","import { Component, ElementRef, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { ComponentLoader } from '../component-loader/component-loader.class';\r\nimport { animationTime, cssClassNames } from './modal-styles.class';\r\n\r\n/**\r\n * Background layer for modals.\r\n * Override class name to theme it.\r\n * @see {@link cssClassNames}\r\n * @internal\r\n */\r\n@Component({\r\n selector: 'lib-modal-backdrop',\r\n encapsulation: ViewEncapsulation.None,\r\n template: '',\r\n host: {\r\n class: cssClassNames.backdrop,\r\n },\r\n})\r\nexport class ModalBackdropComponent implements OnInit {\r\n private animationsEnabled = false;\r\n private backdropLoader: ComponentLoader<ModalBackdropComponent> | undefined;\r\n constructor(private element: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.animationsEnabled) {\r\n this.renderer.addClass(this.element.nativeElement, cssClassNames.fade);\r\n this.reflow(this.element.nativeElement);\r\n }\r\n this.renderer.addClass(this.element.nativeElement, cssClassNames.show);\r\n }\r\n\r\n public hide() {\r\n this.renderer.removeClass(this.element.nativeElement, cssClassNames.show);\r\n setTimeout(() => this.backdropLoader?.hide(), this.animationsEnabled ? animationTime.backdrop : 0);\r\n }\r\n\r\n reflow(element: any): void {\r\n ((bs: any): void => bs)(element.offsetHeight);\r\n }\r\n}\r\n","import { Injectable, InjectionToken, StaticProvider } from '@angular/core';\r\n\r\n/**\r\n * Modals option can be passed to a specific modal from {@link ModalService.show} or set globbaly using the injection token {@link MODAL_CONFIG_DEFAULT_OVERRIDE}.\r\n * @remarks\r\n * Modal specific options are merged with global options.\r\n * @see {@link modalConfigDefaults} for defaults.\r\n * @public\r\n */\r\n@Injectable()\r\nexport class ModalOptions<T = Record<string, unknown>> {\r\n /**\r\n * Id for opened modal. If not set a random one is generated.\r\n */\r\n id?: number | string;\r\n /**\r\n * If static is set the modal will not close when clicking outside of modal.\r\n * @remarks\r\n * Keyboard event (escape key) stills applies. If you must get a result then also set keyboard to false.\r\n */\r\n backdrop?: boolean | 'static';\r\n /**\r\n * Closes the modal when escape key is pressed.\r\n */\r\n keyboard?: boolean;\r\n /**\r\n * Shows the modal when initialized.\r\n */\r\n show?: boolean;\r\n /**\r\n * Ignore the backdrop click. Pretty much the same as backdrop static.\r\n */\r\n ignoreBackdropClick?: boolean;\r\n /**\r\n * Css class for opened modal.\r\n */\r\n class?: string;\r\n /**\r\n * Toggle animation.\r\n */\r\n animated?: boolean;\r\n /**\r\n * Modal initial data. \r\n * @remarks\r\n * This data must be known properties of content component.\r\n */\r\n initialState?: Partial<T>;\r\n /**\r\n * Function to intercept the closure.\r\n * @remarks\r\n * You can use to catch the close event and even prevent it from closing.\r\n */\r\n closeInterceptor?: CloseInterceptorFn;\r\n /**\r\n * Modal static providers.\r\n * @see {@link https://angular.io/guide/glossary#di-token | Injection Token}\r\n */\r\n providers?: StaticProvider[];\r\n /**\r\n * aria-labelledby attribute value to set on the modal window.\r\n */\r\n ariaLabelledBy?: string;\r\n /**\r\n * aria-describedby attribute value to set on the modal window.\r\n */\r\n ariaDescribedby?: string;\r\n}\r\n\r\n/**\r\n * Default option values.\r\n */\r\nexport const modalConfigDefaults: ModalOptions = {\r\n backdrop: true,\r\n keyboard: true,\r\n show: false,\r\n ignoreBackdropClick: false,\r\n class: '',\r\n animated: true,\r\n initialState: {},\r\n closeInterceptor: void 0,\r\n};\r\n\r\n/**\r\n * Use this injection token to set global options.\r\n */\r\nexport const MODAL_CONFIG_DEFAULT_OVERRIDE: InjectionToken<ModalOptions> = new InjectionToken<ModalOptions>('override-default-config');\r\n\r\n/**\r\n * Close interceptor promise.\r\n */\r\nexport type CloseInterceptorFn = () => Promise<void>;\r\n","import { Component, ElementRef, HostListener, OnDestroy, OnInit, Renderer2 } from '@angular/core';\r\nimport { animationTime, cssClassNames } from './modal-styles.class';\r\nimport { ModalOptions } from './modal-options.class';\r\nimport { ModalService } from './modal-service';\r\n\r\n/**\r\n * Modal container component.\r\n * @remarks\r\n * All dynamic content `TemplateRef` or `Component` case will be drawn inside this.\r\n * You can override css classes to theme it {@link cssClassNames}\r\n * @internal\r\n */\r\n@Component({\r\n selector: 'lib-modal-container',\r\n template: `\r\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\" focusTrap>\r\n <div class=\"modal-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n host: {\r\n class: 'modal',\r\n role: 'dialog',\r\n tabindex: '-1',\r\n '[attr.aria-modal]': 'true',\r\n '[attr.aria-labelledby]': 'config.ariaLabelledBy',\r\n '[attr.aria-describedby]': 'config.ariaDescribedby',\r\n },\r\n})\r\nexport class ModalContainerComponent implements OnInit, OnDestroy {\r\n public level?: number;\r\n public config: ModalOptions;\r\n public modalService?: ModalService;\r\n private isShown = false;\r\n private animationsEnabled = false;\r\n private isModalHiding = false;\r\n private clickStartedInContent = false;\r\n constructor(options: ModalOptions, protected _element: ElementRef, private renderer: Renderer2) {\r\n this.config = Object.assign({}, options);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.animationsEnabled) {\r\n this.renderer.addClass(this._element.nativeElement, cssClassNames.fade);\r\n }\r\n this.renderer.setStyle(this._element.nativeElement, 'display', 'block');\r\n setTimeout(\r\n () => {\r\n this.isShown = true;\r\n this.renderer.addClass(this._element.nativeElement, cssClassNames.show);\r\n },\r\n this.animationsEnabled ? animationTime.backdrop : 0\r\n );\r\n if (this._element.nativeElement) {\r\n this._element.nativeElement.focus();\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onClickStarted(event: MouseEvent): void {\r\n this.clickStartedInContent = event.target !== this._element.nativeElement;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClickStop(event: MouseEvent): void {\r\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\r\n if (this.config.ignoreBackdropClick || this.config.backdrop === 'static' || !clickedInBackdrop) {\r\n this.clickStartedInContent = false;\r\n return;\r\n }\r\n this.hide();\r\n }\r\n\r\n @HostListener('window:popstate')\r\n onPopState(): void {\r\n this.hide();\r\n }\r\n\r\n @HostListener('window:keydown.esc', ['$event'])\r\n onEsc(event: KeyboardEvent): void {\r\n if (!this.isShown) {\r\n return;\r\n }\r\n if (event.keyCode === 27 || event.key === 'Escape' || event.key === 'Esc') {\r\n event.preventDefault();\r\n }\r\n if (this.config.keyboard && this.config.id === this.modalService?.getActiveModal().config.id) {\r\n this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.isShown) {\r\n this._hide();\r\n }\r\n }\r\n\r\n hide(result?: any): void {\r\n if (this.isModalHiding || !this.isShown) {\r\n return;\r\n }\r\n if (this.config.closeInterceptor) {\r\n this.config.closeInterceptor().then(\r\n () => this._hide(),\r\n () => undefined\r\n );\r\n return;\r\n }\r\n this._hide(result);\r\n }\r\n\r\n private _hide(result?: any): void {\r\n this.isModalHiding = true;\r\n this.renderer.removeClass(this._element.nativeElement, cssClassNames.show);\r\n setTimeout(\r\n () => {\r\n this.isShown = false;\r\n this.modalService?.hide(this.config.id, result);\r\n this.isModalHiding = false;\r\n },\r\n this.animationsEnabled ? animationTime.modal : 0\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n/**\r\n * Modal class.\r\n * @remarks\r\n * This is returned from {@link ModalService.show}.\r\n * @public\r\n */\r\n@Injectable()\r\nexport class Modal<T = any> {\r\n /**\r\n * Event that is fired when the modal behind the ref starts hiding.\r\n * @returns\r\n * Modal component instance.\r\n */\r\n onBeforeHide?: Subject<unknown>;\r\n /**\r\n * Event that is fired when the modal behind the ref finishes hiding.\r\n * @returns\r\n * An object containing the id of the closed modal and result.\r\n */\r\n onHidden?: Subject<unknown>;\r\n /**\r\n * Id of this modal.\r\n */\r\n id?: number | string;\r\n\r\n /**\r\n * Reference to a component inside the modal. Null if modal's been created with TemplateRef.\r\n * @remarks\r\n * You can use this to do nasty stuff with opened modal instance.\r\n */\r\n content?: T;\r\n\r\n /**\r\n * Hides the modal\r\n * @param result - A result to the observers.\r\n */\r\n hide: (result?: any) => void = () => void 0;\r\n /**\r\n * Sets new class to modal window.\r\n */\r\n setClass: (newClass: string) => void = () => void 0;\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { ComponentRef, Inject, Injectable, OnDestroy, Optional, Renderer2, RendererFactory2, TemplateRef } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ComponentLoader } from '../component-loader/component-loader.class';\r\nimport { animationTime, cssClassNames } from './modal-styles.class';\r\nimport { ModalBackdropComponent } from './modal-backdrop-component';\r\nimport { ModalContainerComponent } from './modal-container-component';\r\nimport { modalConfigDefaults, ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE } from './modal-options.class';\r\nimport { Modal } from './modal.class';\r\nimport { ComponentLoaderFactory } from '../component-loader/component-loader.factory';\r\n\r\n/**\r\n * A service for using modals.\r\n *\r\n * @public\r\n */\r\n@Injectable()\r\nexport class ModalService implements OnDestroy {\r\n private onBeforeShow = new Subject();\r\n private onShown = new Subject();\r\n private onBeforeHide = new Subject();\r\n private onHidden = new Subject();\r\n\r\n private backdropRef?: ComponentRef<ModalBackdropComponent>;\r\n private defaultConfig: ModalOptions;\r\n private backdropLoader: ComponentLoader<ModalBackdropComponent>;\r\n private loaders: ComponentLoader<ModalContainerComponent>[] = [];\r\n private renderer: Renderer2;\r\n private modalsCount = 0;\r\n private initialPadding = '0px';\r\n constructor(\r\n private clf: ComponentLoaderFactory,\r\n rendererFactory: RendererFactory2,\r\n @Inject(DOCUMENT) private document: any,\r\n @Optional() @Inject(MODAL_CONFIG_DEFAULT_OVERRIDE) modalDefaultOption: ModalOptions\r\n ) {\r\n this.backdropLoader = this.clf.createLoader<ModalBackdropComponent>();\r\n this.defaultConfig = { ...modalConfigDefaults, ...modalDefaultOption };\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.loaders.forEach((loader) => loader.instance?.hide());\r\n }\r\n\r\n /**\r\n * Opens a new modal.\r\n *\r\n * @param content - `Component` or `TemplateRef` type.\r\n * @param config - Specific {@link ModalOptions | options} for this modal. Global and specific options are merged.\r\n * @returns An instance of {@link Modal}\r\n */\r\n public show<T>(content: string | TemplateRef<any> | { new (...args: any[]): T }, config?: ModalOptions<T>) {\r\n this.modalsCount++;\r\n const combinedConfig = { ...this.defaultConfig, ...config };\r\n combinedConfig.id = config?.id || new Date().getUTCMilliseconds();\r\n this.createLoaders();\r\n\r\n this.addBodyPadding();\r\n if (this.modalsCount === 1) {\r\n this.renderer.addClass(this.document.body, cssClassNames.modalOpen);\r\n }\r\n this.showBackdrop(combinedConfig);\r\n return this.showModal<T>(content, combinedConfig);\r\n }\r\n\r\n /**\r\n * Hide an active modal.\r\n * @param id - Id of modal to hide. If not provided all active modals are hidden.\r\n * @param result - A result to be sent to observers.\r\n */\r\n public hide(id?: number | string, result?: any) {\r\n if (this.modalsCount === 1 || id == null) {\r\n this.hideBackdrop();\r\n this.revertScrollbar();\r\n this.renderer.removeClass(this.document.body, cssClassNames.modalOpen);\r\n }\r\n this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;\r\n setTimeout(\r\n () => {\r\n this.hideModal(id, result);\r\n this.removeLoaders(id);\r\n },\r\n //Bug\r\n //Should use combined config but for the moment is not possible to pass it this parameter.\r\n //If config is an instance variable then every newly opened modal will override the config\r\n //resulting in opened modals to get a new configuration\r\n this.defaultConfig.animated ? animationTime.backdrop : 0\r\n );\r\n }\r\n\r\n public getActiveModal(): ModalContainerComponent {\r\n return this.loaders[this.modalsCount - 1].instance as ModalContainerComponent;\r\n }\r\n\r\n private showModal<T>(content: any, combinedConfig: ModalOptions): Modal<T> {\r\n const modalLoader = this.loaders[this.loaders.length - 1];\r\n if (combinedConfig && combinedConfig.providers) {\r\n combinedConfig.providers.forEach((provider) => modalLoader.provide(provider));\r\n }\r\n\r\n const modal = new Modal<any>();\r\n const modalContainerRef = modalLoader\r\n .provide({ provide: ModalOptions, useValue: combinedConfig })\r\n .provide({ provide: Modal, useValue: modal })\r\n .attach(ModalContainerComponent)\r\n .to('body');\r\n\r\n modal.setClass = (newClass: string) => {\r\n if (modalContainerRef.instance) {\r\n modalContainerRef.instance.config.class = newClass;\r\n }\r\n };\r\n\r\n modal.onBeforeHide = new Subject();\r\n modal.onHidden = new Subject();\r\n this.copyEvent(modalLoader.onBeforeHide, modal.onBeforeHide);\r\n this.copyEvent(modalLoader.onHidden, modal.onHidden);\r\n modalContainerRef.show({\r\n content,\r\n animationsEnabled: combinedConfig.animated,\r\n initialState: combinedConfig.initialState,\r\n modalService: this,\r\n id: combinedConfig.id,\r\n });\r\n\r\n if (modalContainerRef.instance) {\r\n modalContainerRef.instance.level = this.modalsCount;\r\n modal.content = modalLoader.getInnerComponent();\r\n modal.id = modalContainerRef.instance.config?.id;\r\n modal.hide = (res) => modalContainerRef.instance?.hide(res);\r\n }\r\n\r\n return modal;\r\n }\r\n\r\n private hideModal(id?: number | string, result?: any): void {\r\n if (id != null) {\r\n const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);\r\n const modalLoader = this.loaders[indexToRemove];\r\n if (modalLoader) {\r\n modalLoader.hide(id, result);\r\n }\r\n } else {\r\n this.loaders.forEach((loader: ComponentLoader<ModalContainerComponent>) => {\r\n if (loader.instance) {\r\n loader.hide(loader.instance.config.id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private showBackdrop(combinedConfig: ModalOptions): void {\r\n const isBackdropEnabled = combinedConfig.backdrop === true || combinedConfig.backdrop === 'static';\r\n const isBackdropInDOM = this.backdropRef != null;\r\n if (isBackdropEnabled && !isBackdropInDOM) {\r\n this.backdropLoader\r\n .attach(ModalBackdropComponent)\r\n .to('body')\r\n .show({ animationsEnabled: combinedConfig.animated, backdropLoader: this.backdropLoader });\r\n this.backdropRef = this.backdropLoader.componentRef;\r\n }\r\n }\r\n\r\n private hideBackdrop(): void {\r\n if (!this.backdropRef) {\r\n return;\r\n }\r\n this.backdropRef.instance.hide();\r\n this.backdropRef = void 0;\r\n }\r\n\r\n private removeLoaders(id?: number | string): void {\r\n if (id != null) {\r\n const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);\r\n if (indexToRemove >= 0) {\r\n this.loaders.splice(indexToRemove, 1);\r\n this.loaders.forEach((loader: ComponentLoader<ModalContainerComponent>, i: number) => {\r\n if (loader.instance) {\r\n loader.instance.level = i + 1;\r\n }\r\n });\r\n }\r\n } else {\r\n this.loaders.splice(0, this.loaders.length);\r\n }\r\n }\r\n\r\n private addBodyPadding() {\r\n if (this.modalsCount === 1) {\r\n const width = this.getScrollbarWidth();\r\n if (this.isScrollBarPresent(width)) {\r\n this.initialPadding = this.document.body.style.paddingRight;\r\n const actualPadding = parseFloat(window.getComputedStyle(this.document.body).paddingRight);\r\n this.document.body.style.paddingRight = `${actualPadding + width}px`;\r\n }\r\n }\r\n }\r\n\r\n private revertScrollbar() {\r\n this.document.body.style.paddingRight = this.initialPadding;\r\n }\r\n\r\n private getScrollbarWidth(): number {\r\n const measurer = this.document.createElement('div');\r\n measurer.className = 'modal-scrollbar-measure';\r\n\r\n const body = this.document.body;\r\n body.appendChild(measurer);\r\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\r\n body.removeChild(measurer);\r\n\r\n return width;\r\n }\r\n\r\n private isScrollBarPresent(scrollbarWidth: number) {\r\n const rect = this.document.body.getBoundingClientRect();\r\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\r\n const uncertainty = 0.1 * scrollbarWidth;\r\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\r\n }\r\n\r\n private createLoaders(): void {\r\n const loader = this.clf.createLoader<ModalContainerComponent>();\r\n this.copyEvent(loader.onBeforeShow, this.onBeforeShow);\r\n this.copyEvent(loader.onShown, this.onShown);\r\n this.copyEvent(loader.onBeforeHide, this.onBeforeHide);\r\n this.copyEvent(loader.onHidden, this.onHidden);\r\n this.loaders.push(loader);\r\n }\r\n\r\n private copyEvent(from: Subject<unknown>, to: Subject<unknown>) {\r\n from.subscribe((data) => {\r\n to.next(data);\r\n });\r\n }\r\n}\r\n","import { SidePaneOverlayType, SidePaneSize } from './../../types';\r\nimport { Router } from '@angular/router';\r\nimport { Component, Input, OnInit, OnDestroy, Inject, EventEmitter, Output } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-side-pane',\r\n templateUrl: './side-pane.component.html'\r\n})\r\nexport class SidePaneComponent implements OnInit, OnDestroy {\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('visible') showPane = false;\r\n public sizeContainerStyle = 'side-pane-box-size';\r\n public overlayStyle = 'side-pane-overlay';\r\n @Output() onComplete: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n \r\n constructor(private router: Router, @Inject(DOCUMENT) private document: any,) { }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public onSidePaneActivated(component: any): void {\r\n this.document.body.classList.add('modal-active');\r\n let sizeStyleSuffix = '';\r\n const state = this.router.getCurrentNavigation()?.extras.state;\r\n if (state) {\r\n if (state.paneSize) {\r\n if (state.paneSize === SidePaneSize.Small25) {\r\n sizeStyleSuffix = '-25';\r\n } else if (state.paneSize === SidePaneSize.Medium50) {\r\n sizeStyleSuffix = '-50';\r\n } else if (state.paneSize === SidePaneSize.Large75) {\r\n sizeStyleSuffix = '-75';\r\n }\r\n }\r\n if (state.paneOverlay) {\r\n if (state.paneOverlay === SidePaneOverlayType.None) {\r\n this.overlayStyle = 'side-pane-overlay-opacity-0';\r\n } else if (state.paneOverlay === SidePaneOverlayType.Dark) {\r\n this.overlayStyle = 'side-pane-overlay-opacity-50';\r\n } else {\r\n this.overlayStyle = 'side-pane-overlay';\r\n }\r\n }\r\n }\r\n this.sizeContainerStyle = `side-pane-box-size${sizeStyleSuffix}`;\r\n this.showPane = true;\r\n }\r\n\r\n public onSidePaneDeactivated($event: any): void { \r\n this.document.body.classList.remove('modal-active');\r\n this.showPane = false;\r\n this.onComplete.emit(true);\r\n }\r\n\r\n}\r\n","import { AvatarInitialsComponent } from './controls/avatar-initials/avatar-initials.component';\r\nimport { ToasterService } from './services/toaster.service';\r\nimport { ToasterComponent } from './controls/toaster/toaster.component';\r\nimport { ToasterContainerComponent } from './controls/toaster/toaster-container.component';\r\nimport { DatepickerComponent } from './controls/date-picker/date-picker.component';\r\nimport { SidePaneComponent } from './controls/side-pane/side-pane.component';\r\nimport { ListDetailsSectionComponent } from './controls/list-view/list-details-section.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { UnauthorizedComponent } from './pages/http-status/unauthorized/unauthorized.component';\r\nimport { PageNotFoundComponent } from './pages/http-status/page-not-found/page-not-found.component';\r\nimport { ErrorComponent } from './pages/http-status/error/error.component';\r\nimport { LoggedOutComponent } from './pages/auth/logged-out/logged-out.component';\r\nimport { AuthCallbackComponent } from './pages/auth/auth-callback/auth-callback.component';\r\nimport { IndiceAuthModule } from '@indice/ng-auth';\r\nimport { SkeletonLoaderComponent } from './controls/skeleton-loader/skeleton-loader.component';\r\nimport { ListTileComponent } from './controls/list-view/list-tile.component';\r\nimport { ListColumnComponent } from './controls/list-view/list-column.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { DropDownMenuComponent } from './controls/drop-down-menu/drop-down-menu.component';\r\nimport { ListViewComponent } from './controls/list-view/list-view.component';\r\nimport { PagerComponent } from './controls/pager/pager.component';\r\nimport { ClickOutsideDirective } from './directives/click-outside.directive';\r\nimport { ShellFooterComponent } from './layouts/shell/shell-footer/shell-footer.component';\r\nimport { ShellHeaderComponent } from './layouts/shell/shell-header/shell-header.component';\r\nimport { ShellLayoutComponent } from './layouts/shell/shell-layout/shell-layout.component';\r\nimport { FormLayoutComponent } from './layouts/views/form-layout/form-layout.component';\r\nimport { ModelViewLayoutComponent } from './layouts/views/model-view-layout/model-view-layout.component';\r\nimport { SideViewLayoutComponent } from './layouts/views/side-view-layout/side-view-layout.component';\r\nimport { ViewLayoutComponent } from './layouts/views/view-layout/view-layout.component';\r\nimport { AuthRenewComponent } from './pages/auth/auth-renew/auth-renew.component';\r\nimport { AddressPipe } from './pipes/address.pipe';\r\nimport { DurationFormatPipe } from './pipes/duration-format.pipe';\r\nimport { CollapsiblePanelComponent } from './controls/collapsible-panel/collapsible-panel.component';\r\nimport { KpiTileComponent } from './controls/kpi-tile/kpi-tile.component';\r\nimport { DynamicComponentHostDirective } from './directives/dynamic-component-host.directive';\r\nimport { ListViewEmptyStateComponent } from './controls/list-view/list-view-empty-state.component';\r\nimport { ToggleComponent } from './controls/toggle/toggle.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n // diectives\r\n ClickOutsideDirective,\r\n DynamicComponentHostDirective,\r\n // controls\r\n DropDownMenuComponent,\r\n PagerComponent,\r\n ListViewComponent,\r\n ListColumnComponent,\r\n ListTileComponent,\r\n ListDetailsSectionComponent,\r\n ListViewEmptyStateComponent,\r\n SkeletonLoaderComponent,\r\n CollapsiblePanelComponent,\r\n KpiTileComponent,\r\n SidePaneComponent,\r\n DatepickerComponent,\r\n AvatarInitialsComponent,\r\n ToggleComponent,\r\n // Toaster\r\n ToasterContainerComponent,\r\n ToasterComponent,\r\n // shell layout\r\n ShellLayoutComponent,\r\n ShellHeaderComponent,\r\n ShellFooterComponent,\r\n // view layouts\r\n ViewLayoutComponent,\r\n SideViewLayoutComponent,\r\n ModelViewLayoutComponent,\r\n FormLayoutComponent,\r\n // pages (common)\r\n AuthCallbackComponent,\r\n AuthRenewComponent,\r\n LoggedOutComponent,\r\n ErrorComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n // pipes\r\n AddressPipe,\r\n DurationFormatPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n IndiceAuthModule\r\n ],\r\n exports: [\r\n ClickOutsideDirective,\r\n DropDownMenuComponent,\r\n PagerComponent,\r\n ListViewComponent,\r\n ListColumnComponent,\r\n ListTileComponent,\r\n ListDetailsSectionComponent,\r\n ListViewEmptyStateComponent,\r\n KpiTileComponent,\r\n SkeletonLoaderComponent,\r\n ShellLayoutComponent,\r\n ShellHeaderComponent,\r\n ShellFooterComponent,\r\n ViewLayoutComponent,\r\n SideViewLayoutComponent,\r\n ModelViewLayoutComponent,\r\n FormLayoutComponent,\r\n AuthCallbackComponent,\r\n AuthRenewComponent,\r\n LoggedOutComponent,\r\n ErrorComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n AddressPipe,\r\n DurationFormatPipe,\r\n CollapsiblePanelComponent,\r\n SidePaneComponent,\r\n DatepickerComponent,\r\n ToasterContainerComponent,\r\n ToasterComponent,\r\n AvatarInitialsComponent,\r\n ToggleComponent\r\n ]\r\n})\r\nexport class IndiceComponentsModule {\r\n // tslint:disable-next-line:typedef\r\n static forRoot() {\r\n return {\r\n ngModule: IndiceComponentsModule,\r\n providers: [ToasterService]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of @indice/ng-components\r\n */\r\n\r\n// directives\r\nexport * from './lib/directives/click-outside.directive';\r\n\r\n// controls\r\nexport * from './lib/controls/drop-down-menu/drop-down-menu.component';\r\nexport * from './lib/controls/pager/pager.component';\r\nexport * from './lib/controls/list-view/list-view.component';\r\nexport * from './lib/controls/list-view/list-column.component';\r\nexport * from './lib/controls/list-view/list-tile.component';\r\nexport * from './lib/controls/list-view/list-details-section.component';\r\nexport * from './lib/controls/list-view/list-view-empty-state.component';\r\nexport * from './lib/controls/skeleton-loader/skeleton-loader.component';\r\nexport * from './lib/controls/collapsible-panel/collapsible-panel.component';\r\nexport * from './lib/controls/kpi-tile/kpi-tile.component';\r\nexport * from './lib/controls/date-picker/date-picker.component';\r\nexport * from './lib/controls/toaster/toaster-container.component';\r\nexport * from './lib/controls/toaster/toaster.component';\r\nexport * from './lib/controls/avatar-initials/avatar-initials.component';\r\nexport * from './lib/controls/toggle/toggle.component';\r\n\r\n// shell layout\r\nexport * from './lib/layouts/shell/shell-layout/shell-layout.component';\r\nexport * from './lib/layouts/shell/shell-header/shell-header.component';\r\nexport * from './lib/layouts/shell/shell-footer/shell-footer.component';\r\n\r\n// view layouts\r\nexport * from './lib/layouts/views/view-layout/view-layout.component';\r\nexport * from './lib/layouts/views/model-view-layout/model-view-layout.component';\r\nexport * from './lib/layouts/views/side-view-layout/side-view-layout.component';\r\nexport * from './lib/layouts/views/form-layout/form-layout.component';\r\n\r\n// pages\r\nexport * from './lib/pages/auth/auth-callback/auth-callback.component';\r\nexport * from './lib/pages/auth/auth-renew/auth-renew.component';\r\nexport * from './lib/pages/auth/logged-out/logged-out.component';\r\nexport * from './lib/pages/http-status/error/error.component';\r\nexport * from './lib/pages/http-status/page-not-found/page-not-found.component';\r\nexport * from './lib/pages/http-status/unauthorized/unauthorized.component';\r\n\r\n// pipes\r\nexport * from './lib/pipes/address.pipe';\r\nexport * from './lib/pipes/duration-format.pipe';\r\n\r\n// common stuff (tokens, types, helper classes)\r\nexport * from './lib/tokens';\r\nexport * from './lib/types';\r\nexport * from './lib/icons';\r\nexport * from './lib/helpers/base-list.component';\r\n\r\n// services\r\nexport * from './lib/services/component-loader/component-loader.factory';\r\nexport * from './lib/services/modal-service/modal-service';\r\nexport { ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE, CloseInterceptorFn } from './lib/services/modal-service/modal-options.class';\r\nexport * from './lib/services/modal-service/modal.class';\r\nexport * from './lib/services/toaster.service';\r\n\r\nexport * from './lib/ng-components.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SidePaneComponent as ɵb} from './lib/controls/side-pane/side-pane.component';\nexport {DynamicComponentHostDirective as ɵa} from './lib/directives/dynamic-component-host.directive';"],"names":["EventEmitter","isPlatformBrowser","Directive","ElementRef","NgZone","Inject","PLATFORM_ID","Input","Output","Component","SCREEN_SIZE","ToastType","SidePaneSize","SidePaneOverlayType","Router","ContentChild","TemplateRef","ContentChildren","NG_VALUE_ACCESSOR","forwardRef","ViewChild","BehaviorSubject","filter","Injectable","InjectionToken","ViewContainerRef","Subject","Injector","ComponentFactoryResolver","ApplicationRef","ActivationStart","DOCUMENT","Location","ViewChildren","router","of","NavigationStart","AuthService","fromEvent","map","debounceTime","distinctUntilChanged","ActivatedRoute","Pipe","ViewEncapsulation","Renderer2","HostListener","RendererFactory2","Optional","NgModule","CommonModule","RouterModule","IndiceAuthModule"],"mappings":"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"}
1
+ {"version":3,"file":"indice-ng-components.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-components/src/lib/directives/click-outside.directive.ts","../../../projects/ng-components/src/lib/controls/drop-down-menu/drop-down-menu.component.ts","../../../projects/ng-components/src/lib/icons.ts","../../../projects/ng-components/src/lib/types.ts","../../../projects/ng-components/src/lib/controls/pager/pager.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-tile.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-column.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-details-section.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view-empty-state.component.ts","../../../projects/ng-components/src/lib/controls/skeleton-loader/skeleton-loader.component.ts","../../../projects/ng-components/src/lib/controls/collapsible-panel/collapsible-panel.component.ts","../../../projects/ng-components/src/lib/controls/kpi-tile/kpi-tile.component.ts","../../../projects/ng-components/src/lib/controls/date-picker/date-picker.component.ts","../../../projects/ng-components/src/lib/services/toaster.service.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster-container.component.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster.component.ts","../../../projects/ng-components/src/lib/controls/avatar-initials/avatar-initials.component.ts","../../../projects/ng-components/src/lib/controls/toggle/toggle.component.ts","../../../projects/ng-components/src/lib/tokens.ts","../../../projects/ng-components/src/lib/directives/dynamic-component-host.directive.ts","../../../projects/ng-components/src/lib/services/component-loader/content-ref.class.ts","../../../projects/ng-components/src/lib/services/component-loader/component-loader.class.ts","../../../projects/ng-components/src/lib/services/component-loader/component-loader.factory.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-layout/shell-layout.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-header/shell-header.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-footer/shell-footer.component.ts","../../../projects/ng-components/src/lib/layouts/views/view-layout/view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/model-view-layout/model-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/side-view-layout/side-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/form-layout/form-layout.component.ts","../../../projects/ng-components/src/lib/pages/auth/auth-callback/auth-callback.component.ts","../../../projects/ng-components/src/lib/pages/auth/auth-renew/auth-renew.component.ts","../../../projects/ng-components/src/lib/pages/auth/logged-out/logged-out.component.ts","../../../projects/ng-components/src/lib/pages/http-status/error/error.component.ts","../../../projects/ng-components/src/lib/pages/http-status/page-not-found/page-not-found.component.ts","../../../projects/ng-components/src/lib/pages/http-status/unauthorized/unauthorized.component.ts","../../../projects/ng-components/src/lib/pipes/address.pipe.ts","../../../projects/ng-components/src/lib/pipes/duration-format.pipe.ts","../../../projects/ng-components/src/lib/helpers/base-list.component.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-styles.class.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-backdrop-component.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-options.class.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-container-component.ts","../../../projects/ng-components/src/lib/services/modal-service/modal.class.ts","../../../projects/ng-components/src/lib/services/modal-service/modal-service.ts","../../../projects/ng-components/src/lib/controls/side-pane/side-pane.component.ts","../../../projects/ng-components/src/lib/ng-components.module.ts","../../../projects/ng-components/src/public-api.ts","../../../projects/ng-components/src/indice-ng-components.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (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 if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","//\r\n// https://github.com/arkon/ng-click-outside\r\n// the project is inactive - so imoved the directive code in our project\r\n//\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n PLATFORM_ID,\r\n SimpleChanges,\r\n NgZone,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n// tslint:disable-next-line:directive-selector\r\n@Directive({ selector: '[clickOutside]' })\r\nexport class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input() clickOutsideEnabled = true;\r\n\r\n @Input() attachOutsideOnClick = false;\r\n @Input() delayClickOutsideInit = false;\r\n @Input() emitOnBlur = false;\r\n\r\n @Input() exclude = '';\r\n @Input() excludeBeforeClick = false;\r\n\r\n @Input() clickOutsideEvents = '';\r\n\r\n @Output() clickOutside: EventEmitter<Event> = new EventEmitter<Event>();\r\n\r\n // tslint:disable-next-line:variable-name\r\n private _nodesExcluded: Array<HTMLElement> = [];\r\n // tslint:disable-next-line:variable-name\r\n private _events: Array<string> = ['click'];\r\n\r\n constructor(\r\n // tslint:disable-next-line:variable-name\r\n private _el: ElementRef,\r\n // tslint:disable-next-line:variable-name\r\n private _ngZone: NgZone,\r\n @Inject(PLATFORM_ID) private platformId: any) {\r\n this._initOnClickBody = this._initOnClickBody.bind(this);\r\n this._onClickBody = this._onClickBody.bind(this);\r\n this._onWindowBlur = this._onWindowBlur.bind(this);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!isPlatformBrowser(this.platformId)) { return; }\r\n\r\n this._init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (!isPlatformBrowser(this.platformId)) { return; }\r\n\r\n this._removeClickOutsideListener();\r\n this._removeAttachOutsideOnClickListener();\r\n this._removeWindowBlurListener();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!isPlatformBrowser(this.platformId)) { return; }\r\n\r\n // tslint:disable-next-line:no-string-literal\r\n if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {\r\n this._init();\r\n }\r\n }\r\n\r\n private _init(): void {\r\n if (this.clickOutsideEvents !== '') {\r\n this._events = this.clickOutsideEvents.split(',').map(e => e.trim());\r\n }\r\n\r\n this._excludeCheck();\r\n\r\n if (this.attachOutsideOnClick) {\r\n this._initAttachOutsideOnClickListener();\r\n } else {\r\n this._initOnClickBody();\r\n }\r\n\r\n if (this.emitOnBlur) {\r\n this._initWindowBlurListener();\r\n }\r\n }\r\n\r\n private _initOnClickBody(): void {\r\n if (this.delayClickOutsideInit) {\r\n setTimeout(this._initClickOutsideListener.bind(this));\r\n } else {\r\n this._initClickOutsideListener();\r\n }\r\n }\r\n\r\n private _excludeCheck(): void {\r\n if (this.exclude) {\r\n try {\r\n const nodes = Array.from(document.querySelectorAll(this.exclude)) as Array<HTMLElement>;\r\n if (nodes) {\r\n this._nodesExcluded = nodes;\r\n }\r\n } catch (err) {\r\n console.error('[ng-click-outside] Check your exclude selector syntax.', err);\r\n }\r\n }\r\n }\r\n\r\n private _onClickBody(ev: Event): void {\r\n if (!this.clickOutsideEnabled) { return; }\r\n\r\n if (this.excludeBeforeClick) {\r\n this._excludeCheck();\r\n }\r\n\r\n if (!this._el.nativeElement.contains(ev.target) && !this._shouldExclude(ev.target)) {\r\n this._emit(ev);\r\n\r\n if (this.attachOutsideOnClick) {\r\n this._removeClickOutsideListener();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Resolves problem with outside click on iframe\r\n * @see https://github.com/arkon/ng-click-outside/issues/32\r\n */\r\n private _onWindowBlur(ev: Event): void {\r\n setTimeout(() => {\r\n if (!document.hidden) {\r\n this._emit(ev);\r\n }\r\n });\r\n }\r\n\r\n private _emit(ev: Event): void {\r\n if (!this.clickOutsideEnabled) { return; }\r\n\r\n this._ngZone.run(() => this.clickOutside.emit(ev));\r\n }\r\n\r\n private _shouldExclude(target: any): boolean {\r\n // tslint:disable-next-line:prefer-const\r\n for (let excludedNode of this._nodesExcluded) {\r\n if (excludedNode.contains(target)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _initClickOutsideListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => document.addEventListener(e, this._onClickBody));\r\n });\r\n }\r\n\r\n private _removeClickOutsideListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => document.removeEventListener(e, this._onClickBody));\r\n });\r\n }\r\n\r\n private _initAttachOutsideOnClickListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => this._el.nativeElement.addEventListener(e, this._initOnClickBody));\r\n });\r\n }\r\n\r\n private _removeAttachOutsideOnClickListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._events.forEach(e => this._el.nativeElement.removeEventListener(e, this._initOnClickBody));\r\n });\r\n }\r\n\r\n private _initWindowBlurListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.addEventListener('blur', this._onWindowBlur);\r\n });\r\n }\r\n\r\n private _removeWindowBlurListener(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.removeEventListener('blur', this._onWindowBlur);\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { MenuOption } from '../../types';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-drop-down-menu',\r\n templateUrl: './drop-down-menu.component.html',\r\n})\r\nexport class DropDownMenuComponent implements OnInit, OnChanges {\r\n @Input() options: MenuOption[] = [];\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('selected') selectedValue: any | null = null;\r\n @Input() multiple = false;\r\n @Input() placeholder: string = 'Παρακαλώ επιλέξτε...';\r\n\r\n private selectedOption$: MenuOption | null = null;\r\n public get selectedOption(): MenuOption | null {\r\n return this.selectedOption$;\r\n }\r\n public set selectedOption(option: MenuOption | null) {\r\n this.selectedOption$ = option;\r\n this.selectedValue = option ? option.value : null;\r\n this.expanded = false;\r\n }\r\n\r\n @Output() selectedChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() selectedChanged: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n private expanded$ = false;\r\n public get expanded(): boolean {\r\n return this.expanded$;\r\n }\r\n public set expanded(value: boolean) {\r\n this.expanded$ = value;\r\n }\r\n constructor() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.options && this.options.length > 0 && this.selectedValue !== null && this.selectedValue !== undefined) {\r\n this.selectedOption$ = this.options.filter((o) => o.value === this.selectedValue)[0];\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public isSelected(option: MenuOption): boolean {\r\n return option != null && this.selectedValue != null && option.value === this.selectedValue;\r\n }\r\n\r\n public onClickOutside($event: any): void {\r\n this.expanded = false;\r\n }\r\n\r\n public selectOption(option: MenuOption): void {\r\n this.selectedOption = option;\r\n this.selectedChange.emit(option.value);\r\n this.selectedChanged.emit(option.value);\r\n }\r\n}\r\n","export class Icons {\r\n // https://uifabricicons.azurewebsites.net/\r\n public static Dashboard = `ms-Icon ms-Icon--HomeGroup `;\r\n public static Locations = `ms-Icon ms-Icon--MapPin `;\r\n public static ChargePoints = `ms-Icon ms-Icon--ChatBot `;\r\n public static Transations = `ms-Icon ms-Icon--PaymentCard `;\r\n public static Badges = `ms-Icon ms-Icon--IDBadge `;\r\n\r\n public static Information = `ms-Icon ms-Icon--Info`;\r\n public static Refresh = `ms-Icon ms-Icon--Refresh`;\r\n public static Search = `ms-Icon ms-Icon--Search`;\r\n public static Add = `ms-Icon ms-Icon--Add`;\r\n public static Delete = `ms-Icon ms-Icon--Delete`;\r\n public static SendEmail = `ms-Icon ms-Icon--NewMail`;\r\n public static Filter = `ms-Icon ms-Icon--Filter`;\r\n public static Export = `ms-Icon ms-Icon--ExcelDocument`;\r\n public static Import = `ms-Icon ms-Icon--PeopleAdd`;\r\n\r\n public static TilesView = `ms-Icon ms-Icon--AppIconDefault`;\r\n public static TableView = `ms-Icon ms-Icon--Table`;\r\n public static MapView = `ms-Icon ms-Icon--MapPin`;\r\n public static EntryView = `ms-Icon ms-Icon--EntryView`;\r\n\r\n public static Separator = `ms-Icon ms-Icon--Separator text-white`;\r\n\r\n public static ItemsCount = 'ms-Icon ms-Icon--Boards';\r\n\r\n public static Heart = 'ms-Icon ms-Icon--Heart';\r\n public static HeartBroken = 'ms-Icon ms-Icon--HeartBroken';\r\n public static DateTime = 'ms-Icon ms-Icon--ReminderTime';\r\n\r\n public static Expand = 'ms-Icon ms-Icon--ChevronDown';\r\n public static Collapse = 'ms-Icon ms-Icon--ChevronUp';\r\n\r\n public static SortAsc = 'ms-Icon ms-Icon--Ascending';\r\n public static SortDesc = 'ms-Icon ms-Icon--Descending';\r\n\r\n public static Details = ' ms-Icon ms-Icon--AccountActivity'\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface IAppLinks {\r\n public: Observable<NavLink[]>;\r\n main: Observable<NavLink[]>;\r\n profile: Observable<NavLink[]>;\r\n profileActions: Observable<NavLink[]>;\r\n legal: Observable<NavLink[]>;\r\n brand: Observable<NavLink[]>;\r\n}\r\n\r\n\r\nexport class NavLink {\r\n constructor(text: string, path: string, exact: boolean = false, external: boolean = false, icon?: string) {\r\n this.text = text;\r\n this.path = path;\r\n this.exact = exact;\r\n this.external = external;\r\n this.icon = icon;\r\n }\r\n public text: string;\r\n public path: string;\r\n public exact: boolean;\r\n public external: boolean;\r\n public icon: string | undefined;\r\n}\r\n\r\nexport class ExternalNavLink extends NavLink {\r\n constructor(text: string, path: string, openInNewTab?: boolean, icon?: string) {\r\n super(text, path, true, openInNewTab, icon);\r\n }\r\n}\r\n\r\nexport class FragmentNavLink extends NavLink {\r\n constructor(text: string, path: string, icon?: string) {\r\n super(text, path, true, true, icon);\r\n }\r\n}\r\n\r\nexport class ViewAction {\r\n public type: string;\r\n public key: string | null;\r\n public param: any;\r\n public icon: string;\r\n public tooltip: string | null;\r\n\r\n constructor(type: string, key: string | null, param: any, icon: string, tooltip: string | null) {\r\n this.type = type;\r\n this.key = key;\r\n this.param = param;\r\n this.icon = icon;\r\n this.tooltip = tooltip;\r\n }\r\n}\r\n\r\nexport class ListViewType {\r\n public static Tiles = 'tiles';\r\n public static Table = 'table';\r\n public static Map = 'map';\r\n public static Gallery = 'gallery';\r\n}\r\n\r\nexport class RouterViewAction extends ViewAction {\r\n public outlet: string | null = null;\r\n public link: string | null = null;\r\n constructor(icon: string, link: string, outlet: string | null, tooltip: string | null) {\r\n super('router-link', null, null, icon, tooltip);\r\n this.outlet = outlet;\r\n this.link = link;\r\n }\r\n}\r\n\r\n\r\nexport class SwitchViewAction extends ViewAction {\r\n constructor(view: string, icon: string, tooltip: string | null) {\r\n super('switch-view', null, view, icon, tooltip);\r\n }\r\n}\r\n\r\nexport interface IResultSet<T> {\r\n count: number;\r\n items: T[];\r\n}\r\n\r\nexport class HeaderMetaItem {\r\n public key: string | null = null;\r\n public icon: string | null = null;\r\n public text: string | null = null;\r\n}\r\n\r\nexport class MenuOption {\r\n constructor(text: string, value: any, description?: string, data?: any, icon?: string) {\r\n this.text = text;\r\n this.value = value;\r\n this.description = description;\r\n this.data = data;\r\n this.icon = icon;\r\n }\r\n public text: string;\r\n public value: any;\r\n public description: string | undefined;\r\n public data: any | undefined;\r\n public icon: string | undefined;\r\n}\r\n\r\nexport interface IAddress {\r\n id?: string;\r\n street?: string | null;\r\n streetNumber?: string | null;\r\n city?: string | null;\r\n region?: string | null;\r\n postalCode?: string | null;\r\n country?: string | null;\r\n}\r\n\r\nexport interface IShellConfig {\r\n appLogo: string;\r\n appLogoAlt: string;\r\n showHeader: boolean;\r\n showUserNameOnHeader?: boolean;\r\n customHeaderComponent?: any;\r\n showFooter: boolean;\r\n customFooterComponent?: any;\r\n fluid: boolean;\r\n}\r\n\r\nexport class DefaultShellConfig implements IShellConfig {\r\n appLogo = 'https://tailwindui.com/img/logos/workflow-mark.svg?color=white';\r\n appLogoAlt = 'your app name here';\r\n showHeader = true;\r\n showUserNameOnHeader = false;\r\n showFooter = true;\r\n fluid = false;\r\n}\r\n\r\nexport enum SCREEN_SIZE {\r\n XS,\r\n SM,\r\n MD,\r\n LG,\r\n XL\r\n}\r\n\r\nexport interface IScreenSize {\r\n id: SCREEN_SIZE;\r\n name: string;\r\n css: string;\r\n}\r\n\r\nexport enum ToastType {\r\n Info = 'info',\r\n Success = 'success',\r\n Error = 'error',\r\n Warning = 'warning'\r\n}\r\n\r\nexport const NULL_TOAST = { title : '_____NULL_____' } as Toast;\r\n\r\nexport interface Toast {\r\n type: ToastType;\r\n title: string;\r\n body: string;\r\n delay: number;\r\n}\r\n\r\nexport enum SidePaneSize {\r\n Default = '',\r\n Small25 = '25%',\r\n Medium50 = '50%',\r\n Large75 = '75%'\r\n}\r\n\r\nexport enum SidePaneOverlayType {\r\n Default = '',\r\n None = '-opacity-0',\r\n Light = '',\r\n Dark = '-opacity-50'\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Icons } from '../../icons';\r\nimport { MenuOption } from '../../types';\r\n\r\n@Component({\r\n selector: 'lib-pager',\r\n templateUrl: './pager.component.html'\r\n})\r\nexport class PagerComponent implements OnInit, OnChanges {\r\n // BUSY STATE\r\n @Input() busy = false;\r\n // PAGING\r\n @Input() count: number | null = null;\r\n @Input() page = 1;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size') pageSize = 20;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size-options') pageSizeOptions: MenuOption[] = [\r\n new MenuOption('10', 10),\r\n new MenuOption('20', 20),\r\n new MenuOption('30', 30),\r\n new MenuOption('50', 50),\r\n new MenuOption('100', 100)\r\n ];\r\n public pages: MenuOption[] = [];\r\n @Output() pageChanged: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() pageSizeChanged: EventEmitter<number> = new EventEmitter<number>();\r\n public canPreviousPage = false;\r\n public canNextPage = false;\r\n\r\n // SORTING\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-options') sortOptions: MenuOption[] = [];\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort') sort: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-dir') sortdir: string | null = 'desc';\r\n @Output() sortChanged: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() sortdirChanged: EventEmitter<string> = new EventEmitter<string>();\r\n public sortdirIcon = Icons.SortDesc;\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.calcPages();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n private calcPages(): void {\r\n this.pages = [];\r\n if (this.count && this.count > 0) {\r\n const pageCount = this.count / this.pageSize;\r\n for (let i = 0; i < pageCount; i++) {\r\n this.pages.push(new MenuOption(i + 1 + '', i + 1));\r\n }\r\n }\r\n this.canPreviousPage = this.page > 1;\r\n this.canNextPage = this.page < this.pages.length;\r\n }\r\n\r\n public nextPage(): void {\r\n const next = this.page + 1;\r\n this.gotoPage(next);\r\n }\r\n\r\n public previousPage(): void {\r\n const previous = this.page - 1;\r\n this.gotoPage(previous);\r\n }\r\n\r\n public gotoPage(page: number): void {\r\n this.page = page;\r\n this.pageChanged.emit(page);\r\n this.calcPages();\r\n }\r\n\r\n public pageSizeOptionChanged(pageSize: number): void {\r\n this.pageSizeChanged.emit(pageSize);\r\n this.calcPages();\r\n }\r\n\r\n public pageOptionChanged(page: number): void {\r\n this.pageChanged.emit(page);\r\n this.calcPages();\r\n }\r\n\r\n public sortOptionChanged(sort: string): void {\r\n this.sortChanged.emit(sort);\r\n }\r\n\r\n public toggleSortdir(): void {\r\n let sortdir = 'desc';\r\n if (this.sortdir === 'desc') {\r\n sortdir = 'asc';\r\n this.sortdirIcon = Icons.SortAsc;\r\n } else {\r\n sortdir = 'desc';\r\n this.sortdirIcon = Icons.SortDesc;\r\n }\r\n this.sortdirChanged.emit(sortdir);\r\n }\r\n\r\n}\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n@Component({ selector: 'lib-list-tile', template: '<ng-content></ng-content>' })\r\nexport class ListTileComponent{\r\n @ContentChild(TemplateRef) template: any | null = null;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\n\n@Component({selector: 'lib-list-column', template: '<ng-content></ng-content>'})\nexport class ListColumnComponent {\n @Input() title: string | null = null;\n // tslint:disable-next-line:no-input-rename\n @Input('full-width') fullWidth = false;\n @ContentChild(TemplateRef) template: any | null = null;\n constructor() { }\n}\n","import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n@Component({ selector: 'lib-list-details-section', template: '<ng-content></ng-content>' })\r\nexport class ListDetailsSectionComponent{\r\n @ContentChild(TemplateRef) template: any | null = null;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ContentChild, ContentChildren, EventEmitter, Input, Output, QueryList, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MenuOption, ListViewType } from '../../types';\r\nimport { ListTileComponent } from './list-tile.component';\r\nimport { ListColumnComponent } from './list-column.component';\r\nimport { ListDetailsSectionComponent } from './list-details-section.component';\r\nimport { Icons } from '../../icons';\r\n\r\n@Component({\r\n selector: 'lib-list-view',\r\n templateUrl: './list-view.component.html'\r\n})\r\nexport class ListViewComponent implements OnChanges {\r\n // BUSY STATE\r\n @Input() busy = false;\r\n public expandIcon = Icons.Expand;\r\n public collapseIcon = Icons.Collapse;\r\n // DATA SOURCE!\r\n @Input() items: any[] | null | undefined;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('show-pager') showPager = true;\r\n\r\n // PAGING - pass through for pager component\r\n @Input() count: number | null = null;\r\n @Input() page = 1;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size') pageSize = 20;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('page-size-options') pageSizeOptions: MenuOption[] = [];\r\n @Output() pageChanged: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() pageSizeChanged: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() detailsOpened: EventEmitter<{ item: any, open: boolean }> = new EventEmitter<{ item: any, open: boolean }>();\r\n\r\n public tableViewSupported = false;\r\n private multipleFullWidth = false;\r\n public fullWidthTHClass = 'list-view-th-full';\r\n public fullWidthTDClass = 'list-view-td-full';\r\n public tilesViewSupported = false;\r\n public detailsSectionSupported = false;\r\n\r\n // DETAILS SECTION\r\n // Check if details section and button should be displayed according to the count of the value given\r\n @Input('details-section-property-count') detailsSectionPropertyCount: string | null = null;\r\n\r\n\r\n // SORTING - pass through for pager component\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-options') sortOptions: MenuOption[] = [];\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort') sort: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sort-dir') sortdir: string | null = '-';\r\n @Output() sortChanged: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() sortdirChanged: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Input() view = ListViewType.Table;\r\n\r\n // COLUMNS\r\n public columns: any[] = [];\r\n @ContentChildren(ListColumnComponent, { read: ListColumnComponent })\r\n set cols(refs: QueryList<ListColumnComponent>) {\r\n this.columns = refs?.toArray();\r\n if (this.columns && this.columns.length > 0) {\r\n this.tableViewSupported = true;\r\n }\r\n this.multipleFullWidth = this.columns.filter(c => c.fullWidth).length > 1;\r\n this.fullWidthTHClass = this.multipleFullWidth ? 'list-view-th-half' : 'list-view-th-full';\r\n this.fullWidthTDClass = this.multipleFullWidth ? 'list-view-td-half' : 'list-view-td-full';\r\n }\r\n\r\n public tilesDeckClass = 'cards-deck-4';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('tiles-count') tilesCount = 4;\r\n\r\n public tileTemplate: any | null | undefined = null;\r\n @ContentChild(ListTileComponent, { read: ListTileComponent })\r\n set tiles(ref: ListTileComponent) {\r\n this.tileTemplate = ref;\r\n if (this.tileTemplate) {\r\n this.tilesViewSupported = true;\r\n }\r\n }\r\n\r\n public detailsTemplate: any | null | undefined = null;\r\n @ContentChild(ListDetailsSectionComponent, { read: ListDetailsSectionComponent })\r\n set details(ref: ListDetailsSectionComponent) {\r\n this.detailsTemplate = ref;\r\n if (this.detailsTemplate) {\r\n this.detailsSectionSupported = true;\r\n }\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const tilesCountChange = changes['tiles-count'] || changes.tilesCount;\r\n if (tilesCountChange) {\r\n this.setTilesDeckClass(tilesCountChange.currentValue);\r\n }\r\n }\r\n\r\n // events\r\n public emitPageChanged($event: number): void {\r\n this.pageChanged.emit($event);\r\n }\r\n\r\n public emitPageSizeChanged($event: number): void {\r\n this.pageSizeChanged.emit($event);\r\n }\r\n\r\n public emitSortChanged($event: string): void {\r\n this.sortChanged.emit($event);\r\n }\r\n public emitSortdirChanged($event: string): void {\r\n this.sortdirChanged.emit($event);\r\n }\r\n\r\n public toggleDetails(item: any): void {\r\n item.detailsExpanded = !item.detailsExpanded;\r\n this.detailsOpened.emit({ item, open: item.detailsExpanded });\r\n }\r\n\r\n // helpers\r\n private setTilesDeckClass(tiles: number): void {\r\n if (tiles >= 1 && tiles <= 4) {\r\n this.tilesDeckClass =\r\n this.view !== ListViewType.Gallery\r\n ? `cards-deck-${tiles}`\r\n : this.items && this.items.length > 0\r\n ? `gallery-deck-${tiles}`\r\n : 'gallery-deck'\r\n } else {\r\n this.tilesDeckClass =\r\n this.view !== ListViewType.Gallery\r\n ? 'cards-deck-3'\r\n : this.items && this.items.length > 0\r\n ? 'gallery-deck-3'\r\n : 'gallery-deck'\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-list-view-empty-state',\n templateUrl: './list-view-empty-state.component.html'\n})\nexport class ListViewEmptyStateComponent implements OnInit {\n\n @Input() title = 'Δεν βρέθηκαν εγγραφές.';\n // tslint:disable-next-line:no-input-rename\n @Input('sub-title') subTitle = 'Παρακαλώ αλλάξτε τα κριτήρια αναζήτησης σας ή ξεκινήστε προσθέτοντας μια νέα εγγραφή';\n // tslint:disable-next-line:no-input-rename\n @Input('new-item-label') newItemLabel = 'Νέα εγγραφή';\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'lib-skeleton-loader',\n templateUrl: './skeleton-loader.component.html'\n})\nexport class SkeletonLoaderComponent implements OnInit {\n @Input() count = 5;\n @Input() type = 'tiles'; // 'large-tile', 'table'\n constructor() { }\n\n ngOnInit(): void {\n }\n\n public counter(i: number): number[] {\n return new Array(i);\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-collapsible-panel',\r\n templateUrl: './collapsible-panel.component.html'\r\n})\r\nexport class CollapsiblePanelComponent implements OnInit {\r\n @Input() title: string | null = null;\r\n public visible = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-kpi-tile',\n templateUrl: './kpi-tile.component.html'\n})\nexport class KpiTileComponent implements OnInit {\n\n @Input() title: string | undefined = undefined;\n @Input() busy = false;\n @Input() kpi: any | undefined = undefined;\n // tslint:disable-next-line:no-output-rename\n @Output('tile-action') tileAction: EventEmitter<any> = new EventEmitter<any>();\n constructor() { }\n\n ngOnInit(): void {\n }\n\n public emitTileAction($event: any): boolean {\n $event.preventDefault();\n $event.stopPropagation();\n this.tileAction.emit($event);\n return false;\n }\n\n}\n","import { Component, ElementRef, EventEmitter, forwardRef, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n// freaksly simple date picker : https://tailwind-elements.com/docs/standard/forms/datepicker/\r\n@Component({\r\n selector: 'lib-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DatepickerComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class DatepickerComponent implements OnInit, ControlValueAccessor {\r\n @Input() readonly: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input('display-format') displayFormat: string | undefined = 'dd/MM/yyyy';\r\n @Input() placeholder: string | undefined = '';\r\n @Input() value: Date | undefined | null = null;\r\n @Output() valueChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n @ViewChild('dateInput') dateInput: ElementRef | undefined;\r\n public showCalendar = false;\r\n public showYears = false;\r\n public monthNames = [\r\n 'Ιανουάριος',\r\n 'Φεβρουάριος',\r\n 'Μάρτιος',\r\n 'Απρίλιος',\r\n 'Μάϊος',\r\n 'Ιούνιος',\r\n 'Ιούλιος',\r\n 'Αύγουστος',\r\n 'Σεπτέμβριος',\r\n 'Οκτώβριος',\r\n 'Νοεμβριος',\r\n 'Δεκέμβριος',\r\n ];\r\n public dayNames = ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ'];\r\n\r\n public month: number = -1;\r\n public year: number = -1;\r\n public calendarDates: any[] = [];\r\n public calendarYears: any[] = [];\r\n public showCalendarYears: any[] = [];\r\n public blankDays: any[] = [];\r\n public calendarYearPage = 1;\r\n private yearsPerPage = 30;\r\n\r\n private onChange$: any | undefined = undefined;\r\n private onTouched$: any | undefined = undefined;\r\n\r\n ngOnInit(): void {\r\n let today = new Date();\r\n this.month = today.getMonth();\r\n this.year = today.getFullYear();\r\n this.calendarDates = [{ day: this.value, today: this.value, selected: this.value }];\r\n this.calendarYears = [{ year: this.value?.getFullYear(), today: this.value, selected: this.value }];\r\n const yearsArray = [];\r\n for (let i = 1950; i <= today.getFullYear() + 2; i++) {\r\n yearsArray.push({ year: i, today: this.compareDates(today, null, i), selected: i == this.value?.getFullYear() });\r\n }\r\n this.calendarYears = yearsArray;\r\n this.showCalendarYears = this.paginate(this.calendarYears, 1);\r\n this.calcDays();\r\n }\r\n\r\n constructor() { }\r\n\r\n writeValue(obj: any): void {\r\n if (obj) {\r\n this.value = new Date(obj);\r\n this.month = this.value.getMonth();\r\n this.year = this.value.getFullYear();\r\n }\r\n }\r\n\r\n registerOnChange(fn: (_: any) => void): void {\r\n this.onChange$ = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched$ = fn;\r\n }\r\n\r\n public onBlur(event: any): void {\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n this.getDateFromInput();\r\n }\r\n\r\n public selectDateValue(date: any): void {\r\n // This should be in UTC\r\n let selectedDate = new Date(this.year, this.month, date.day, 3, 0, 0, 0);\r\n this.value = selectedDate;\r\n this.valueChange.emit(this.value);\r\n if (this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n this.updateDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n this.showCalendar = false;\r\n }\r\n\r\n public selectYearValue(year: any): void {\r\n // This should be in UTC\r\n let selectedDate = new Date(year.year, this.month ?? 1, this.calendarDates?.find(x => x.selected == true).day ?? 1, 3, 0, 0, 0);\r\n this.year = year.year;\r\n this.value = selectedDate;\r\n this.valueChange.emit(this.value);\r\n if (this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n this.updateDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n this.showYears = false;\r\n this.showCalendar = true;\r\n this.calcDays();\r\n }\r\n\r\n public previousMonth(): void {\r\n if (this.month !== 0) {\r\n this.month = this.month - 1;\r\n this.calcDays();\r\n } else {\r\n this.month = 11;\r\n this.year = this.year - 1;\r\n this.calcDays();\r\n }\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n public nextMonth(): void {\r\n if (this.month !== 11) {\r\n this.month = this.month + 1;\r\n this.calcDays();\r\n } else {\r\n this.month = 0;\r\n this.year = this.year + 1;\r\n this.calcDays();\r\n }\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n public previousYear(): void {\r\n this.showCalendarYears = this.paginate(\r\n this.calendarYears,\r\n this.calendarYearPage > 1 ? --this.calendarYearPage : 1);\r\n this.calcDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n public nextYear(): void {\r\n this.showCalendarYears = this.paginate(\r\n this.calendarYears,\r\n this.calendarYearPage <= this.calendarYears.length / this.yearsPerPage\r\n ? ++this.calendarYearPage\r\n : this.calendarYearPage);\r\n this.calcDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n private compareDates(date1: Date | undefined | null, day: number | null | undefined, year: number | null | undefined): boolean {\r\n if (!date1) {\r\n return false;\r\n }\r\n const d = new Date(year ?? this.year, this.month, day ?? this.value?.getDay());\r\n return date1.toDateString() === d.toDateString();\r\n };\r\n\r\n private calcDays(): void {\r\n const daysInMonth = new Date(this.year, this.month + 1, 0).getDate();\r\n // find where to start calendar day of week\r\n const dayOfWeek = new Date(this.year, this.month).getDay();\r\n const blankdaysArray = new Array<number>();\r\n for (var i = 1; i <= dayOfWeek; i++) {\r\n // check if month is February\r\n blankdaysArray.push(this.month != 2 ? (32 - i) : (29 - i));\r\n blankdaysArray.reverse().sort();\r\n }\r\n const daysArray = [];\r\n const today = new Date();\r\n for (var i = 1; i <= daysInMonth; i++) {\r\n daysArray.push({ day: i, today: this.compareDates(today, i, null), selected: this.compareDates(this.value ?? today, i, null) });\r\n }\r\n const yearsArray = [];\r\n for (let i = 1950; i <= today.getFullYear() + 2; i++) {\r\n yearsArray.push({ year: i, today: this.compareDates(today, null, i), selected: i == this.year });\r\n }\r\n this.calendarYears = yearsArray;\r\n this.blankDays = blankdaysArray;\r\n this.calendarDates = daysArray;\r\n }\r\n\r\n private updateDays(): void {\r\n const today = new Date();\r\n this.calendarDates.forEach(d => {\r\n d.today = this.compareDates(today, d, this.year);\r\n d.selected = this.compareDates(this.value, d, this.year);\r\n });\r\n }\r\n\r\n private paginate(array: any[], page_number: number): any[] {\r\n return array.slice((page_number - 1) * this.yearsPerPage, page_number * this.yearsPerPage);\r\n }\r\n\r\n private getDateFromInput() {\r\n if (this.dateInput?.nativeElement.value !== '') {\r\n var dateParts = this.dateInput?.nativeElement.value.split(\"/\");\r\n let dateInGrFormat = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0], 3, 0, 0);\r\n if (dateInGrFormat.toString() !== 'Invalid Date') {\r\n this.writeValue(dateInGrFormat)\r\n this.calcDays();\r\n this.valueChange.emit(dateInGrFormat);\r\n }\r\n if (this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n this.updateDays();\r\n if (this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n this.showCalendar = false;\r\n }\r\n\r\n public openYears() {\r\n this.showYears = !this.showYears;\r\n this.calendarYearPage = Math.ceil(this.calendarYears.map(x => x.year).indexOf(this.year) / this.yearsPerPage);\r\n this.showCalendarYears = this.paginate(this.calendarYears, this.calendarYearPage !== 0 ? this.calendarYearPage : 1);\r\n this.calcDays();\r\n }\r\n\r\n public openCalendar() {\r\n this.showCalendar = !this.showCalendar;\r\n this.calcDays();\r\n }\r\n \r\n public closeCalendar(){\r\n this.showCalendar = false;\r\n this.getDateFromInput();\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { Toast, ToastType, NULL_TOAST } from '../types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToasterService {\n\n private subject: BehaviorSubject<Toast>;\n public toast$: Observable<Toast>;\n\n constructor() {\n this.subject = new BehaviorSubject<Toast>(NULL_TOAST);\n this.toast$ = this.subject.asObservable()\n .pipe(filter( toast => toast !== null && toast.title !== NULL_TOAST.title ));\n }\n\n public show(type: ToastType, title?: string, body?: string, delay?: number): void {\n this.subject.next({ type, title, body, delay } as Toast);\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { ToasterService } from '../../services/toaster.service';\r\nimport { Toast } from '../../types';\r\n\r\n@Component({\r\n selector: 'lib-toaster-container',\r\n templateUrl: './toaster-container.component.html'\r\n})\r\nexport class ToasterContainerComponent implements OnInit {\r\n\r\n toasts: Toast[] = [];\r\n\r\n constructor(private toaster: ToasterService) { }\r\n\r\n ngOnInit(): void {\r\n this.toaster.toast$\r\n .subscribe(toast => {\r\n this.toasts = [toast, ...this.toasts];\r\n setTimeout(() => this.toasts.pop(), toast.delay || 6000);\r\n });\r\n }\r\n\r\n remove(index: number): void {\r\n this.toasts = this.toasts.slice(0, index).concat(this.toasts.slice(index + 1));\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Toast } from '../../types';\r\n\r\n@Component({\r\n selector: 'lib-toaster',\r\n templateUrl: './toaster.component.html'\r\n})\r\nexport class ToasterComponent implements OnInit {\r\n\r\n @Input() toast: Toast | undefined;\r\n @Input() i = 0;\r\n @Output() remove = new EventEmitter<number>();\r\n public isMobile = false;\r\n public closed = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n window.screen.width > 640 ? this.isMobile = false : this.isMobile = true;\r\n }\r\n\r\n public closeToast(index: number): void {\r\n this.closed = true;\r\n setTimeout(() => this.remove.emit(index), 100);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-avatar-initials',\r\n templateUrl: './avatar-initials.component.html'\r\n})\r\nexport class AvatarInitialsComponent implements OnInit {\r\n @Input()\r\n public name: string | null | undefined;\r\n @Input()\r\n public large = false;\r\n public initials?: string;\r\n public circleColor!: string;\r\n private colors = [\r\n '#EB7181', // red\r\n '#468547', // green\r\n '#FFD558', // yellow\r\n '#3670B2', // blue\r\n ];\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.createInititals();\r\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length));\r\n // assign this to a class if you want to randomly change background colors of the circle.\r\n this.circleColor = this.colors[randomIndex];\r\n }\r\n\r\n private createInititals(): void {\r\n if (this.name) {\r\n let initials = '';\r\n for (let i = 0; i < this.name.length; i++) {\r\n if (this.name.charAt(i) === ' ') {\r\n continue;\r\n }\r\n if (this.name.charAt(i) === this.name.charAt(i).toUpperCase()) {\r\n initials += this.name.charAt(i);\r\n if (initials.length === 2) {\r\n break;\r\n }\r\n }\r\n }\r\n this.initials = initials;\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-toggle',\r\n templateUrl: './toggle.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ToggleComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class ToggleComponent implements OnInit, ControlValueAccessor {\r\n @Input()\r\n public value: boolean | null | undefined;\r\n @Input()\r\n public disabled:boolean | null | undefined;\r\n @Output() valueChange: EventEmitter<Boolean> = new EventEmitter<Boolean>();\r\n\r\n private onChange$: any | undefined = undefined;\r\n private onTouched$: any | undefined = undefined;\r\n\r\n constructor() { }\r\n \r\n writeValue(obj: any): void {\r\n if(obj) {\r\n this.value = obj || false;\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange$ = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched$ = fn;\r\n }\r\n\r\n public onBlur(event: any): void {\r\n if(this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public changeValue(){\r\n this.value = !this.value;\r\n this.valueChange.emit(this.value);\r\n if(this.onChange$) {\r\n this.onChange$(this.value);\r\n }\r\n if(this.onTouched$) {\r\n this.onTouched$();\r\n }\r\n }\r\n}","import { InjectionToken } from '@angular/core';\r\nimport { IAppLinks, IShellConfig } from './types';\r\n\r\nexport const APP_LINKS = new InjectionToken<IAppLinks>('APP_LINKS');\r\nexport const SHELL_CONFIG = new InjectionToken<IShellConfig>('SHELL_CONFIG');\r\n","import { Directive, ViewContainerRef, Input } from '@angular/core';\r\n\r\n@Directive({ selector: '[appDynamicComponentHost]' })\r\nexport class DynamicComponentHostDirective {\r\n @Input() hostName: string = '';\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}","import { ComponentRef, ViewRef } from '@angular/core';\r\n\r\n/**\r\n * Holds information about the dynamic content.\r\n * @remarks\r\n * `ComponentRef` is undefined in the case content is of `TemplateRef` type.\r\n */\r\nexport class ContentRef {\r\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef<any>) {}\r\n}\r\n","import {\r\n ComponentFactoryResolver,\r\n ViewContainerRef,\r\n ComponentFactory,\r\n Type,\r\n ElementRef,\r\n StaticProvider,\r\n TemplateRef,\r\n ComponentRef,\r\n ApplicationRef,\r\n Injector,\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ComponentLoaderOptions } from './component-loader-options.class';\r\nimport { ContentRef } from './content-ref.class';\r\n\r\n/**\r\n * Provides ways of loading and handling dynamic content.\r\n *\r\n * @remarks\r\n * Do NOT use this directly, create an instance through {@link ComponentLoaderFactory}\r\n * You can use this loader in two ways:\r\n * - Attaches a component to `ViewContainerRef`.\r\n * - Attaches a component to `ViewContainerRef`. The attached component has a `<ng-content>` tag inside its view. The {@link ComponentLoaderOptions.content} will be drawn inside this tag.\r\n *\r\n * @internal\r\n */\r\nexport class ComponentLoader<T> {\r\n /**\r\n * Before content is shown event.\r\n */\r\n onBeforeShow = new Subject();\r\n /**\r\n * After show content event.\r\n * @returns The id of newly created component ref.\r\n */\r\n onShown = new Subject();\r\n /**\r\n * Before content is hidden event.\r\n * @returns The instance of attached component;\r\n */\r\n onBeforeHide = new Subject();\r\n /**\r\n * After content is hidden event.\r\n * @returns The id of destroyed component ref.\r\n */\r\n onHidden = new Subject();\r\n\r\n public instance?: T;\r\n public componentRef?: ComponentRef<T>;\r\n private componentFactory?: ComponentFactory<T>;\r\n private container: string | ElementRef | any;\r\n private providers: StaticProvider[] = [];\r\n private contentRef?: ContentRef;\r\n private containerDefaultSelector = 'body';\r\n private innerComponent?: ComponentRef<T>;\r\n constructor(\r\n private vcr: ViewContainerRef | undefined,\r\n private cfr: ComponentFactoryResolver,\r\n private applicationRef: ApplicationRef,\r\n private injector: Injector\r\n ) {}\r\n\r\n /**\r\n * Attaches component.\r\n * @param componentType - The type component to attach.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public attach(componentType: Type<T>): ComponentLoader<T> {\r\n this.componentFactory = this.cfr.resolveComponentFactory<T>(componentType);\r\n return this;\r\n }\r\n\r\n /**\r\n * Body will be used in nothing is provided.\r\n * @param container - The element in which dynamic content will be drawn inside to. For string case a query to the dom will be executed to find the element.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public to(container?: string | ElementRef): ComponentLoader<T> {\r\n this.container = container || this.container;\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds provider to the providers array. These providers will be injected to the attached component.\r\n *\r\n * @see {@link https://angular.io/guide/glossary#di-token | Injection Token}\r\n *\r\n * @param provider - Provider to inject.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public provide(provider: StaticProvider): ComponentLoader<T> {\r\n this.providers.push(provider);\r\n return this;\r\n }\r\n\r\n /**\r\n * Attaches attached component to dom and any dynamic content if provided.\r\n * @remarks\r\n * Also triggers the {@link ComponentLoader.onBeforeShow} and {@link ComponentLoader.onShown} events.\r\n *\r\n * @param options - {@link ComponentLoaderOptions}.\r\n * @returns A reference to the created content.\r\n */\r\n public show(options: ComponentLoaderOptions = {}): ComponentRef<T> | undefined {\r\n if (this.componentRef) {\r\n throw Error('Component is already shown');\r\n }\r\n if (!this.componentFactory) {\r\n throw Error('You must attach a component');\r\n }\r\n this.onBeforeShow.next();\r\n\r\n if (options.content) {\r\n this.contentRef = this.getContentRef(options.content, options.context, options.initialState);\r\n }\r\n this.createComponentAndAttachToView(options);\r\n this.appendContentToContainer();\r\n this.markComponentsForCheck();\r\n\r\n this.onShown.next(options.id);\r\n\r\n return this.componentRef;\r\n }\r\n\r\n /**\r\n * Removes attached component from dom.\r\n * @remarks\r\n * Also triggers the {@link ComponentLoader.onBeforeHide} and {@link ComponentLoader.onHidden} events.\r\n *\r\n * @param id - If provided it is returned through the {@link ComponentLoader.onHidden}.\r\n * @returns Current instance of {@link ComponentLoader}\r\n */\r\n public hide(id?: number | string, result?: any): ComponentLoader<T> {\r\n if (!this.componentRef) {\r\n throw Error('No attached component found to hide');\r\n }\r\n\r\n this.onBeforeHide.next(this.componentRef.instance);\r\n\r\n const componentEl = this.componentRef.location.nativeElement;\r\n componentEl.parentNode.removeChild(componentEl);\r\n if (this.contentRef?.componentRef) {\r\n this.contentRef.componentRef.destroy();\r\n }\r\n if (this.vcr && this.contentRef?.viewRef) {\r\n this.vcr.remove(this.vcr.indexOf(this.contentRef.viewRef));\r\n }\r\n if (this.contentRef?.viewRef) {\r\n this.contentRef.viewRef.destroy();\r\n }\r\n this.contentRef = void 0;\r\n this.componentRef = void 0;\r\n\r\n this.onHidden.next(id ? { id, result } : null);\r\n\r\n return this;\r\n }\r\n\r\n getInnerComponent(): ComponentRef<T> | undefined {\r\n return this.innerComponent;\r\n }\r\n\r\n private markComponentsForCheck() {\r\n if (this.contentRef?.componentRef) {\r\n this.innerComponent = this.contentRef.componentRef.instance;\r\n this.contentRef.componentRef.changeDetectorRef.markForCheck();\r\n this.contentRef.componentRef.changeDetectorRef.detectChanges();\r\n }\r\n this.componentRef!.changeDetectorRef.markForCheck();\r\n this.componentRef!.changeDetectorRef.detectChanges();\r\n }\r\n\r\n private createComponentAndAttachToView(options: ComponentLoaderOptions) {\r\n const injector = Injector.create({\r\n providers: this.providers,\r\n parent: this.injector,\r\n });\r\n this.componentRef = this.componentFactory!.create(injector, this.contentRef?.nodes);\r\n this.applicationRef.attachView(this.componentRef.hostView);\r\n this.instance = this.componentRef.instance;\r\n Object.assign(this.componentRef.instance, options);\r\n }\r\n\r\n private appendContentToContainer() {\r\n if (this.container instanceof ElementRef) {\r\n this.container.nativeElement.appendChild(this.componentRef?.location.nativeElement);\r\n }\r\n if (typeof this.container === 'string' && typeof document !== 'undefined') {\r\n const selectedElement = document.querySelector(this.container) || document.querySelector(this.containerDefaultSelector);\r\n if (!selectedElement) {\r\n return;\r\n }\r\n selectedElement.appendChild(this.componentRef?.location.nativeElement);\r\n }\r\n }\r\n\r\n private getContentRef(content?: string | TemplateRef<any>, context?: any, initialState?: any): ContentRef {\r\n //TemplateRef case\r\n if (content instanceof TemplateRef) {\r\n if (this.vcr) {\r\n const viewRef = this.vcr.createEmbeddedView<TemplateRef<T>>(content, context);\r\n viewRef.markForCheck();\r\n return new ContentRef([viewRef.rootNodes], viewRef);\r\n }\r\n const viewRef = content.createEmbeddedView({});\r\n this.applicationRef.attachView(viewRef);\r\n return new ContentRef([viewRef.rootNodes], viewRef);\r\n }\r\n\r\n //Component case\r\n if (typeof content === 'function') {\r\n const contentCf = this.cfr.resolveComponentFactory(content);\r\n const injector = Injector.create({\r\n providers: this.providers,\r\n parent: this.injector,\r\n });\r\n const componentRef = contentCf.create(injector);\r\n Object.assign(componentRef.instance, initialState);\r\n this.applicationRef.attachView(componentRef.hostView);\r\n return new ContentRef([[componentRef.location.nativeElement]], componentRef.hostView, componentRef);\r\n }\r\n\r\n throw Error('Unsupported content type');\r\n }\r\n}\r\n","import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, ViewContainerRef } from '@angular/core';\r\nimport { ComponentLoader } from './component-loader.class';\r\n\r\n/**\r\n * Use to create instances of {@link ComponentLoader}.\r\n *\r\n * @public\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class ComponentLoaderFactory {\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private injector: Injector,\r\n private applicationRef: ApplicationRef\r\n ) {}\r\n\r\n /**\r\n * Returns a new instance of {@link ComponentLoader}\r\n * @param viewContainerRef - The view container the dynamic content will be attached to.\r\n * @returns A new instance of {@link ComponentLoader}.\r\n *\r\n * @public\r\n */\r\n createLoader<T>(viewContainerRef?: ViewContainerRef): ComponentLoader<T> {\r\n return new ComponentLoader<T>(viewContainerRef, this.componentFactoryResolver, this.applicationRef, this.injector);\r\n }\r\n}\r\n","import { SHELL_CONFIG } from './../../../tokens';\r\nimport { IShellConfig, DefaultShellConfig } from './../../../types';\r\nimport { AfterViewInit, Component, OnInit, OnDestroy, Inject, ViewChildren, QueryList, AfterViewChecked } from '@angular/core';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\nimport { ActivationStart, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Subscription, timer } from 'rxjs';\r\nimport { DynamicComponentHostDirective } from '../../../directives/dynamic-component-host.directive';\r\nimport { ComponentLoaderFactory } from '../../../services/component-loader/component-loader.factory';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-shell-layout',\r\n templateUrl: './shell-layout.component.html',\r\n})\r\nexport class ShellLayoutComponent implements OnInit, OnDestroy, AfterViewInit, AfterViewChecked {\r\n @ViewChildren(DynamicComponentHostDirective)\r\n dynamicComponentHosts: QueryList<DynamicComponentHostDirective> | null = null;\r\n public showRightPaneSM = false;\r\n private routerSub$: Subscription | null = null;\r\n public activeConfig: IShellConfig = new DefaultShellConfig();\r\n public loaded = false;\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private router: Router,\r\n private location: Location,\r\n @Inject(SHELL_CONFIG) private config: IShellConfig | null,\r\n private componentLoaderFactory: ComponentLoaderFactory\r\n ) {\r\n if (!config) {\r\n config = new DefaultShellConfig();\r\n }\r\n this.activeConfig = config;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n setTimeout(() => { this.loaded = true; }, 200);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.routerSub$ = this.router.events.pipe(filter((event) => event instanceof ActivationStart)).subscribe((e) => {\r\n // console.log('ShellLayoutComponent ActivationStart', e);\r\n if ((e as ActivationStart)?.snapshot) {\r\n // console.log('ShellLayoutComponent ActivationStart snapshot', (e as ActivationStart)?.snapshot);\r\n if ((e as ActivationStart)?.snapshot?.data) {\r\n // console.log('ShellLayoutComponent ActivationStart snapshot data', (e as ActivationStart)?.snapshot.data);\r\n if ((e as ActivationStart)?.snapshot?.data.shell) {\r\n // console.log('ShellLayoutComponent ActivationStart snapshot data shell params',\r\n // (e as ActivationStart)?.snapshot.data.shell);\r\n this.activeConfig = (e as ActivationStart)?.snapshot.data.shell as IShellConfig;\r\n // console.log('ShellLayoutComponent activeConfig from route: ', this.activeConfig);\r\n if (this.activeConfig.customHeaderComponent) {\r\n this.initCustomComponents();\r\n }\r\n } else {\r\n this.activeConfig = this.config ? this.config : new DefaultShellConfig();\r\n // console.log('ShellLayoutComponent default activeConfig: ', this.activeConfig);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initCustomComponents();\r\n }\r\n\r\n private initCustomComponents(): void {\r\n if (this.dynamicComponentHosts && this.dynamicComponentHosts.length > 0) {\r\n this.loadCustomComponent(this.dynamicComponentHosts.find((_) => _.hostName === 'Header'));\r\n // since you're not using it...\r\n // this.loadCustomComponent(this.dynamicComponentHosts.find(_ => _.hostName === 'Footer'));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.routerSub$) {\r\n this.routerSub$.unsubscribe();\r\n }\r\n }\r\n\r\n private loadCustomComponent(host: DynamicComponentHostDirective | undefined): void {\r\n if (host) {\r\n const viewContainerRef = host.viewContainerRef;\r\n if (viewContainerRef && this.activeConfig.customHeaderComponent) {\r\n const clf = this.componentLoaderFactory.createLoader(viewContainerRef);\r\n const headerCompRef = clf.attach(this.activeConfig.customHeaderComponent).to(viewContainerRef.element).show();\r\n }\r\n }\r\n }\r\n}\r\n","import { AuthService } from '@indice/ng-auth';\r\nimport { Component, OnInit, OnDestroy, Inject, Input } from '@angular/core';\r\nimport { User } from 'oidc-client';\r\nimport { Event, NavigationStart, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { NavLink } from '../../../types';\r\nimport { APP_LINKS, SHELL_CONFIG } from '../../../tokens';\r\nimport { BehaviorSubject, isObservable, observable, Observable, of } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-shell-header',\r\n templateUrl: './shell-header.component.html',\r\n})\r\nexport class ShellHeaderComponent implements OnInit, OnDestroy {\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('section-links') sectionLinksPath = 'main';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('profile-menu') profileMenuVisible = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('show-userName') showUserNameOnHeader: boolean | undefined = false;\r\n @Input() border = true;\r\n public sectionLinks: Observable<NavLink[]> = of([]);\r\n public mobileMenuExpanded = false;\r\n public userMenuExpanded = false;\r\n protected routeSubject: Observable<Event>;\r\n protected routerSub$: Subscription | null = null;\r\n protected userSub$: Subscription | null = null;\r\n protected statusSub$: Subscription | null = null;\r\n public user: User | null = null;\r\n public avatarName: string | null = null;\r\n\r\n constructor(\r\n @Inject(AuthService) protected authService: AuthService,\r\n @Inject(Router) protected router: Router,\r\n @Inject(SHELL_CONFIG) public config: any,\r\n @Inject(APP_LINKS) public links: any\r\n ) {\r\n this.routeSubject = this.router.events.pipe(filter((event) => event instanceof NavigationStart));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log(this.showUserNameOnHeader);\r\n\r\n if (this.routerSub$) {\r\n this.routerSub$.unsubscribe();\r\n }\r\n // TODO: check authenticated user here before we start polling server status\r\n if (this.statusSub$) {\r\n this.statusSub$.unsubscribe();\r\n }\r\n if (this.userSub$) {\r\n this.userSub$.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sectionLinks = this.links[this.sectionLinksPath] as Observable<NavLink[]>;\r\n this.routerSub$ = this.routeSubject.subscribe((event) => {\r\n this.mobileMenuExpanded = false;\r\n this.userMenuExpanded = false;\r\n });\r\n this.authService.loadUser().subscribe((user) => {\r\n console.log(user);\r\n this.setCurrentUser(user);\r\n }, error => {\r\n console.error(error);\r\n }\r\n );\r\n // Detect user changes and display / or not user info accordingly...\r\n this.userSub$ = this.authService.user$.subscribe((user: any) => {\r\n // console.log('ShellHeaderComponent user subscription');\r\n this.setCurrentUser(user);\r\n });\r\n }\r\n\r\n // tslint:disable-next-line:typedef\r\n public onClickOutside($event: any) {\r\n this.userMenuExpanded = false;\r\n }\r\n\r\n public signin(event: any | null | undefined): void {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n this.authService.signinRedirect();\r\n }\r\n\r\n private setCurrentUser(user: any): void {\r\n this.user = user;\r\n if (this.user && this.user.profile) {\r\n this.avatarName = `${this.user.profile.given_name?.charAt(0)}${this.user.profile.family_name?.charAt(0)}`.toUpperCase();\r\n // console.log('load user', this.avatarName);\r\n }\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { APP_LINKS } from '../../../tokens';\r\nimport { IAppLinks } from '../../../types';\r\n\r\n@Component({\r\n selector: 'lib-shell-footer',\r\n templateUrl: './shell-footer.component.html'\r\n\r\n})\r\n\r\nexport class ShellFooterComponent {\r\n constructor(@Inject(APP_LINKS) public links: IAppLinks) {\r\n }\r\n}\r\n","import { SwitchViewAction } from '../../../types';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Component, Input, OnInit, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { HeaderMetaItem, RouterViewAction, ViewAction } from '../../../types';\r\n\r\n@Component({\r\n selector: 'lib-view-layout',\r\n templateUrl: './view-layout.component.html'\r\n})\r\nexport class ViewLayoutComponent implements OnInit {\r\n // tslint:disable-next-line:no-input-rename\r\n @ViewChild('search') private searchInput$?: ElementRef;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('show-header') header = true;\r\n @Input() fluid = false;\r\n @Input() title = 'no title';\r\n @Input() icon: string | null = null;\r\n @Input() actions: ViewAction[] | null = null;\r\n @Input() busy = false;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('search-placeholder') searchPlaceholder: string | null = 'αναζήτηση';\r\n @Input() view: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('meta-items') metaItems: HeaderMetaItem[] | null = [];\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onAction: EventEmitter<ViewAction> = new EventEmitter<ViewAction>();\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onSearch: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n constructor(private route$: ActivatedRoute, private router$: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this.searchInput$?.nativeElement){\r\n fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(\r\n map((event: any) => {\r\n return event.target.value; // Get input value.\r\n }),\r\n filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),\r\n // If character length greater than minimumSearchCharacters setting.\r\n debounceTime(1000), // Time in milliseconds between key events.\r\n distinctUntilChanged() // If previous query is different from current.\r\n ).subscribe();\r\n }\r\n }\r\n\r\n public emitActionClick(action: ViewAction): void {\r\n this.onAction.emit(action);\r\n }\r\n\r\n public routerLinkActionClick(action: RouterViewAction | any): void {\r\n // console.log('routerLinkActionClick', action);\r\n if (action.outlet) {\r\n this.router$.navigate(['', { outlets: { rightpane: action.link } }]);\r\n } else {\r\n this.router$.navigate([action.link]);\r\n }\r\n }\r\n\r\n searchActionClick(action: ViewAction, text: string): void {\r\n this.onSearch.emit(text);\r\n }\r\n\r\n searchActionType(text: string): void {\r\n this.onSearch.emit(this.searchInput$?.nativeElement.value);\r\n }\r\n\r\n public handleClear(event: any): void {\r\n console.log('handle clear!!!');\r\n event.stopPropagation();\r\n this.onSearch.emit(event.target?.value);\r\n }\r\n\r\n public switchViewActionClick(action: SwitchViewAction | any): void {\r\n // console.log('switchViewActionClick', action);\r\n this.view = action.param;\r\n if (action && action.param) {\r\n this.router$.navigate([], { queryParams: { view: action.param }, queryParamsHandling: 'merge', skipLocationChange: false });\r\n }\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { HeaderMetaItem } from '../../../types';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-model-view-layout',\r\n templateUrl: './model-view-layout.component.html'\r\n})\r\nexport class ModelViewLayoutComponent implements OnInit {\r\n public showRightPaneSM = false;\r\n @Input() title = 'no title';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('primary-links') primary: { text: string, link: string }[] | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('secondary-links') secondary: { text: string, link: string }[] | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('meta-items') metaItems: HeaderMetaItem[] | null = [\r\n // { key: 'test', icon: Icons.Badges, text: 'βρέθηκαν 200 αποτελέσματα' }\r\n ];\r\n constructor( private location: Location) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public onSidePaneActivated($event: any): void {\r\n //console.log('onSidePaneActivated', $event);\r\n this.showRightPaneSM = true;\r\n }\r\n\r\n public onSidePaneDeactivated($event: any): void {\r\n //console.log('onSidePaneActivated', $event);\r\n this.showRightPaneSM = false;\r\n }\r\n\r\n public closeSidePane(): void {\r\n this.location.back();\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-side-view-layout',\r\n templateUrl: './side-view-layout.component.html'\r\n})\r\nexport class SideViewLayoutComponent implements OnInit {\r\n @Input() title: string | null = 'Πληροφορίες';\r\n @Input() showActions = true;\r\n @Input() disabled = false;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('return-path') returnPath: string | undefined;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('ok-label') okLabel = 'Αποθήκευση';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('ok-show') okShow = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('ok-close-dialog') closeOnOk = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('cancel-label') cancelLabel = 'Ακύρωση';\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('cancel-show') cancelShow = true;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('force-location-back') forceLocationBack = false;\r\n // @Output() close = new EventEmitter<any>();\r\n @Output() cancel: EventEmitter<boolean> = new EventEmitter();\r\n @Output() ok: EventEmitter<boolean> = new EventEmitter();\r\n\r\n constructor(private location: Location, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public closeSidePane(): void {\r\n if (this.returnPath) {\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(this.returnPath || '/'));\r\n } else {\r\n if ((this.router.url.split('/(')[0] !== this.router.url) && !this.forceLocationBack) {\r\n this.router.navigateByUrl(this.router.url.split('/(')[0]);\r\n } else if ((this.router.url.split('(')[0] !== this.router.url) && !this.forceLocationBack) {\r\n this.router.navigateByUrl(this.router.url.split('(')[0]);\r\n } else {\r\n this.location.back();\r\n }\r\n }\r\n }\r\n\r\n public emitClose(): void {\r\n this.cancel.emit(false);\r\n this.closeSidePane();\r\n }\r\n\r\n public emitCancel(): void {\r\n this.cancel.emit(false);\r\n this.closeSidePane();\r\n }\r\n\r\n public emitOK(): void {\r\n this.ok.emit(true);\r\n if (this.closeOnOk) {\r\n this.closeSidePane();\r\n }\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fromEvent } from 'rxjs';\r\nimport { map, filter, debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { RouterViewAction, ViewAction } from '../../../types';\r\n\r\n@Component({\r\n selector: 'lib-form-layout',\r\n templateUrl: './form-layout.component.html'\r\n})\r\nexport class FormLayoutComponent implements OnInit {\r\n // tslint:disable-next-line:no-input-rename\r\n @ViewChild('search') private searchInput$?: ElementRef;\r\n @Input() title: string | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('search-placeholder') searchPlaceholder: string | null = 'αναζήτηση'\r\n @Input() actions: ViewAction[] | null = null;\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('sub-title') subTitle: string | null = null;\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onAction: EventEmitter<ViewAction> = new EventEmitter<ViewAction>();\r\n // tslint:disable-next-line:no-output-on-prefix\r\n @Output() onSearch: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() onComplete: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor(private router$: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this.searchInput$?.nativeElement){\r\n fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(\r\n map((event: any) => {\r\n return event.target.value; // Get input value.\r\n }),\r\n filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),\r\n // If character length greater than minimumSearchCharacters setting.\r\n debounceTime(1000), // Time in milliseconds between key events.\r\n distinctUntilChanged() // If previous query is different from current.\r\n ).subscribe();\r\n }\r\n }\r\n\r\n public onSidePaneDeactivated($event: any): void {\r\n this.onComplete.emit(true);\r\n }\r\n\r\n public emitActionClick(action: ViewAction): void {\r\n this.onAction.emit(action);\r\n }\r\n\r\n searchActionClick(action: ViewAction, text: string): void {\r\n this.onSearch.emit(text);\r\n }\r\n\r\n searchActionType(text: string): void {\r\n this.onSearch.emit(this.searchInput$?.nativeElement.value);\r\n }\r\n\r\n public routerLinkActionClick(action: RouterViewAction | any, relative: boolean = false): void {\r\n if (action.outlet) {\r\n this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);\r\n } else {\r\n this.router$.navigate([action.link]);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '@indice/ng-auth';\r\n\r\n@Component({\r\n selector: 'lib-auth-callback',\r\n templateUrl: './auth-callback.component.html'\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n constructor(@Inject(AuthService) private authService: AuthService, private router: Router) { }\r\n\r\n public status = 'παρακαλώ περιμένετε...';\r\n\r\n public ngOnInit(): void {\r\n this.authService.signinRedirectCallback().subscribe((user) => {\r\n if (user) {\r\n this.router.navigateByUrl(user.state?.url || '/');\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '@indice/ng-auth';\r\n\r\n@Component({\r\n selector: 'lib-auth-renew',\r\n template: ''\r\n})\r\nexport class AuthRenewComponent implements OnInit {\r\n constructor(@Inject(AuthService) private authService: AuthService, private router: Router) { }\r\n\r\n public ngOnInit(): void {\r\n this.authService.signinSilentCallback().subscribe(user => {\r\n if (!user) {\r\n this.router.navigate(['/unauthorized']);\r\n }\r\n });\r\n }\r\n}\r\n","import { AuthService } from '@indice/ng-auth';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'lib-logged-out',\r\n templateUrl: './logged-out.component.html'\r\n})\r\nexport class LoggedOutComponent implements OnInit {\r\n constructor(@Inject(AuthService) private authService: AuthService) { }\r\n\r\n public status = 'working on it, please give me a sec...';\r\n public finished = false;\r\n\r\n public ngOnInit(): void {\r\n this.authService.removeUser().subscribe(() => {\r\n this.status = 'Thank you!';\r\n this.finished = true;\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-error',\r\n templateUrl: './error.component.html'\r\n})\r\nexport class ErrorComponent implements OnInit {\r\n public error = 'Error!';\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-page-not-found',\r\n templateUrl: './page-not-found.component.html'\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-unauthorized',\r\n templateUrl: './unauthorized.component.html'\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n constructor() { }\r\n\r\n public ngOnInit(): void { }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { IAddress } from '../types';\r\n\r\n@Pipe({\r\n name: 'address',\r\n pure: false\r\n})\r\nexport class AddressPipe implements PipeTransform {\r\n\r\n transform(value: IAddress | undefined): string {\r\n if (value === undefined || null || '') {\r\n return '';\r\n }\r\n // tslint:disable-next-line:no-non-null-assertion\r\n return `${value.street || ''}${value.streetNumber ? ' ' + value.streetNumber : ''}${value.city ? ', ' + value.city : ''}${+value.postalCode! ? ', ' + +value.postalCode! : ''}`;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'durationFormat',\r\n pure: false\r\n})\r\nexport class DurationFormatPipe implements PipeTransform {\r\n\r\n transform(value: any, arg1: any, arg2: any): string {\r\n\r\n let days: any;\r\n let seconds: any;\r\n let minutes: any;\r\n let hours: any;\r\n\r\n if (arg1 === 'ms' && arg2 === 'hhmmss') {\r\n seconds = Math.floor((value / 1000) % 60);\r\n minutes = Math.floor(((value / (1000 * 60)) % 60));\r\n hours = Math.floor((value / (1000 * 60 * 60)));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n } else if (arg1 === 's' && arg2 === 'hhmmss') {\r\n seconds = Math.floor((value % 60));\r\n minutes = Math.floor(((value / 60) % 60));\r\n hours = Math.floor(((value / 60) / 60));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n } else if (arg1 === 'ms' && (arg2 === 'ddhhmmss' || arg2 === 'ddhhmmssLong')) {\r\n seconds = Math.floor(((value / 1000) % 60));\r\n minutes = Math.floor((value / (1000 * 60) % 60));\r\n hours = Math.floor((value / (1000 * 60 * 60) % 24));\r\n days = Math.floor((value / (1000 * 60 * 60 * 24)));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n } else if (arg1 === 's' && (arg2 === 'ddhhmmss' || arg2 === 'ddhhmmssLong')) {\r\n seconds = Math.floor(value % 60);\r\n minutes = Math.floor(((value / 60) % 60));\r\n hours = Math.floor(((value / 60) / 60) % 24);\r\n days = Math.floor((((value / 60) / 60) / 24));\r\n return this.format(arg2, seconds, minutes, hours, days);\r\n\r\n }\r\n else {\r\n return value;\r\n }\r\n }\r\n\r\n private format(arg2: string, seconds: any, minutes: any, hours: any, days: any): any {\r\n (days < 10) ? days = '0' + days : days;\r\n (hours < 10) ? hours = '0' + hours : hours;\r\n (minutes < 10) ? minutes = '0' + minutes : minutes;\r\n (seconds < 10) ? seconds = '0' + seconds : seconds;\r\n\r\n switch (arg2) {\r\n case 'hhmmss':\r\n return `${hours}:${minutes}:${seconds}`;\r\n\r\n case 'ddhhmmss':\r\n return `${days}d, ${hours}h, ${minutes}m, ${seconds}s`;\r\n\r\n case 'ddhhmmssLong':\r\n return `${days} days, ${hours} hours, ${minutes} minutes, ${seconds} seconds`;\r\n }\r\n return undefined;\r\n }\r\n\r\n}\r\n","import { Observable, Subscription, of } from 'rxjs';\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { HeaderMetaItem, IResultSet, MenuOption, RouterViewAction, ViewAction, ListViewType } from '../types';\r\nimport { Icons } from '../icons';\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseListComponent<T> implements OnInit, OnDestroy {\r\n public items: T[] | null | undefined = null;\r\n public view: string = ListViewType.Tiles;\r\n public title: string | null = null;\r\n public actions: ViewAction[] = [];\r\n public loaderItems: any[] = [1, 2, 3, 4, 5];\r\n public page = 1;\r\n public pageSize = 20;\r\n public count = 0;\r\n public sort: string | null = '';\r\n public sortdir: string | null = '-';\r\n public search: string | null = '';\r\n public sortOptions: MenuOption[] = [];\r\n public metaItems: HeaderMetaItem[] = [];\r\n public abstract newItemLink: string | null;\r\n private routeSub$: Subscription | undefined;\r\n\r\n constructor(private route$: ActivatedRoute, private router$: Router) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.routeSub$) {\r\n this.routeSub$.unsubscribe();\r\n }\r\n }\r\n\r\n public getViewActions(): Observable<ViewAction[]> {\r\n const actions = [\r\n new ViewAction('search', null, null, Icons.Search, 'αναζήτηση'),\r\n new ViewAction('refresh', null, null, Icons.Refresh, 'ανανέωση στοιχείων')\r\n ];\r\n if (this.newItemLink) {\r\n actions.push(new RouterViewAction(Icons.Add, this.newItemLink, 'rightpane', 'προσθήκη νέας εγγραφής;'));\r\n }\r\n return of(actions);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getViewActions().subscribe(actions => {\r\n this.actions = actions || [];\r\n });\r\n\r\n this.metaItems = [\r\n { key: 'count', icon: Icons.ItemsCount, text: 'παρακαλώ περιμένετε...' }\r\n ];\r\n\r\n // disabled external route changes monitoring due to sync issues - which is bad :) - refresh from url will not work\r\n // until i come up with a solution...\r\n\r\n this.routeSub$ = this.route$.queryParamMap.subscribe(params => {\r\n if (params.keys.length === 0) {\r\n return;\r\n }\r\n\r\n // changing the view mode does not require reloading...\r\n this.view = params.get('view') || ListViewType.Tiles;\r\n // console.log('route changes ', this.view);\r\n\r\n // if (params.get('search') !== this.search) {\r\n // this.searchChanged(params.get('search'));\r\n // }\r\n\r\n // const page = +(params.get('page') || 1);\r\n // if (page !== this.page) {\r\n // this.page = page;\r\n // }\r\n\r\n // const size = +(params.get('pagesize') || 20);\r\n // if (this.pageSize !== size) {\r\n // this.pageSize = size;\r\n // }\r\n\r\n // if (params.get('search') !== this.search) {\r\n // this.search = params.get('search');\r\n // }\r\n\r\n // if (params.get('sort') !== this.sort) {\r\n // this.sort = params.get('sort');\r\n // }\r\n\r\n // if (params.get('sortdir') !== this.sortdir) {\r\n // this.sortdir = params.get('sortdir');\r\n // }\r\n\r\n });\r\n\r\n // just to sync params in query\r\n this.setRouteParams(true);\r\n this.load();\r\n }\r\n\r\n private setRouteParams(locationChange: boolean = false): void {\r\n this.router$.navigate([], {\r\n relativeTo: this.route$, queryParams: {\r\n view: this.view,\r\n page: this.page,\r\n pagesize: this.pageSize,\r\n search: this.search,\r\n sort: this.sort,\r\n dir: this.sortdir\r\n }, queryParamsHandling: 'merge', skipLocationChange: locationChange\r\n });\r\n }\r\n\r\n public actionHandler($event: ViewAction): void {\r\n // console.log('BaseListComponent actionHandler', $event);\r\n if ($event.key === 'refresh') {\r\n this.refresh();\r\n }\r\n }\r\n\r\n private load(): void {\r\n // console.log('BaseListComponent LOAD');\r\n this.count = 0;\r\n this.items = null;\r\n this.loadItems().subscribe(result => {\r\n this.count = result ? result.count : 0;\r\n this.items = result?.items;\r\n this.updateHeaderMeta();\r\n }, err => {\r\n this.count = 0;\r\n this.items = null;\r\n this.updateHeaderMeta();\r\n });\r\n }\r\n\r\n private updateHeaderMeta(): void {\r\n const count = this.metaItems?.filter(m => m.key === 'count')[0];\r\n if (count) {\r\n this.count === 1 ? count.text = `${this.count} αποτέλεσμα` : count.text = `${this.count} αποτελέσματα`;\r\n }\r\n }\r\n\r\n public abstract loadItems(): Observable<IResultSet<T> | null | undefined>;\r\n\r\n public clear(): void {\r\n this.count = 0;\r\n this.page = 1;\r\n this.items = null;\r\n this.search = null;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n\r\n public refresh(): void {\r\n this.count = 0;\r\n this.page = 1;\r\n this.items = null;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n\r\n public pageChanged(page: number): void {\r\n if (this.page !== page) {\r\n this.page = page;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n }\r\n\r\n public pageSizeChanged(pageSize: number): void {\r\n if (this.pageSize !== pageSize) {\r\n this.pageSize = pageSize;\r\n this.page = 1;\r\n this.setRouteParams();\r\n this.refresh();\r\n }\r\n }\r\n\r\n public sortChanged(sort: string): void {\r\n // console.log('base-list sortChanged', sort);\r\n if (this.sort !== sort) {\r\n this.page = 1;\r\n this.sort = sort;\r\n this.setRouteParams();\r\n this.refresh();\r\n }\r\n }\r\n\r\n public sortdirChanged(sortdir: string): void {\r\n if (this.sortdir !== sortdir) {\r\n this.page = 1;\r\n this.sortdir = sortdir;\r\n this.setRouteParams();\r\n this.refresh();\r\n }\r\n }\r\n\r\n public searchChanged(searchText: string | null): void {\r\n this.count = 0;\r\n this.page = 1;\r\n this.items = null;\r\n this.search = searchText;\r\n this.setRouteParams();\r\n this.load();\r\n }\r\n}\r\n","export const cssClassNames = {\r\n backdrop: 'modal-backdrop',\r\n show: 'show',\r\n fade: 'fade',\r\n\tmodalOpen: 'modal-open'\r\n};\r\n\r\nexport const animationTime = {\r\n backdrop: 150,\r\n modal: 300,\r\n};\r\n","import { Component, ElementRef, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { ComponentLoader } from '../component-loader/component-loader.class';\r\nimport { animationTime, cssClassNames } from './modal-styles.class';\r\n\r\n/**\r\n * Background layer for modals.\r\n * Override class name to theme it.\r\n * @see {@link cssClassNames}\r\n * @internal\r\n */\r\n@Component({\r\n selector: 'lib-modal-backdrop',\r\n encapsulation: ViewEncapsulation.None,\r\n template: '',\r\n host: {\r\n class: cssClassNames.backdrop,\r\n },\r\n})\r\nexport class ModalBackdropComponent implements OnInit {\r\n private animationsEnabled = false;\r\n private backdropLoader: ComponentLoader<ModalBackdropComponent> | undefined;\r\n constructor(private element: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.animationsEnabled) {\r\n this.renderer.addClass(this.element.nativeElement, cssClassNames.fade);\r\n this.reflow(this.element.nativeElement);\r\n }\r\n this.renderer.addClass(this.element.nativeElement, cssClassNames.show);\r\n }\r\n\r\n public hide() {\r\n this.renderer.removeClass(this.element.nativeElement, cssClassNames.show);\r\n setTimeout(() => this.backdropLoader?.hide(), this.animationsEnabled ? animationTime.backdrop : 0);\r\n }\r\n\r\n reflow(element: any): void {\r\n ((bs: any): void => bs)(element.offsetHeight);\r\n }\r\n}\r\n","import { Injectable, InjectionToken, StaticProvider } from '@angular/core';\r\n\r\n/**\r\n * Modals option can be passed to a specific modal from {@link ModalService.show} or set globbaly using the injection token {@link MODAL_CONFIG_DEFAULT_OVERRIDE}.\r\n * @remarks\r\n * Modal specific options are merged with global options.\r\n * @see {@link modalConfigDefaults} for defaults.\r\n * @public\r\n */\r\n@Injectable()\r\nexport class ModalOptions<T = Record<string, unknown>> {\r\n /**\r\n * Id for opened modal. If not set a random one is generated.\r\n */\r\n id?: number | string;\r\n /**\r\n * If static is set the modal will not close when clicking outside of modal.\r\n * @remarks\r\n * Keyboard event (escape key) stills applies. If you must get a result then also set keyboard to false.\r\n */\r\n backdrop?: boolean | 'static';\r\n /**\r\n * Closes the modal when escape key is pressed.\r\n */\r\n keyboard?: boolean;\r\n /**\r\n * Shows the modal when initialized.\r\n */\r\n show?: boolean;\r\n /**\r\n * Ignore the backdrop click. Pretty much the same as backdrop static.\r\n */\r\n ignoreBackdropClick?: boolean;\r\n /**\r\n * Css class for opened modal.\r\n */\r\n class?: string;\r\n /**\r\n * Toggle animation.\r\n */\r\n animated?: boolean;\r\n /**\r\n * Modal initial data. \r\n * @remarks\r\n * This data must be known properties of content component.\r\n */\r\n initialState?: Partial<T>;\r\n /**\r\n * Function to intercept the closure.\r\n * @remarks\r\n * You can use to catch the close event and even prevent it from closing.\r\n */\r\n closeInterceptor?: CloseInterceptorFn;\r\n /**\r\n * Modal static providers.\r\n * @see {@link https://angular.io/guide/glossary#di-token | Injection Token}\r\n */\r\n providers?: StaticProvider[];\r\n /**\r\n * aria-labelledby attribute value to set on the modal window.\r\n */\r\n ariaLabelledBy?: string;\r\n /**\r\n * aria-describedby attribute value to set on the modal window.\r\n */\r\n ariaDescribedby?: string;\r\n}\r\n\r\n/**\r\n * Default option values.\r\n */\r\nexport const modalConfigDefaults: ModalOptions = {\r\n backdrop: true,\r\n keyboard: true,\r\n show: false,\r\n ignoreBackdropClick: false,\r\n class: '',\r\n animated: true,\r\n initialState: {},\r\n closeInterceptor: void 0,\r\n};\r\n\r\n/**\r\n * Use this injection token to set global options.\r\n */\r\nexport const MODAL_CONFIG_DEFAULT_OVERRIDE: InjectionToken<ModalOptions> = new InjectionToken<ModalOptions>('override-default-config');\r\n\r\n/**\r\n * Close interceptor promise.\r\n */\r\nexport type CloseInterceptorFn = () => Promise<void>;\r\n","import { Component, ElementRef, HostListener, OnDestroy, OnInit, Renderer2 } from '@angular/core';\r\nimport { animationTime, cssClassNames } from './modal-styles.class';\r\nimport { ModalOptions } from './modal-options.class';\r\nimport { ModalService } from './modal-service';\r\n\r\n/**\r\n * Modal container component.\r\n * @remarks\r\n * All dynamic content `TemplateRef` or `Component` case will be drawn inside this.\r\n * You can override css classes to theme it {@link cssClassNames}\r\n * @internal\r\n */\r\n@Component({\r\n selector: 'lib-modal-container',\r\n template: `\r\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\" focusTrap>\r\n <div class=\"modal-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n host: {\r\n class: 'modal',\r\n role: 'dialog',\r\n tabindex: '-1',\r\n '[attr.aria-modal]': 'true',\r\n '[attr.aria-labelledby]': 'config.ariaLabelledBy',\r\n '[attr.aria-describedby]': 'config.ariaDescribedby',\r\n },\r\n})\r\nexport class ModalContainerComponent implements OnInit, OnDestroy {\r\n public level?: number;\r\n public config: ModalOptions;\r\n public modalService?: ModalService;\r\n private isShown = false;\r\n private animationsEnabled = false;\r\n private isModalHiding = false;\r\n private clickStartedInContent = false;\r\n constructor(options: ModalOptions, protected _element: ElementRef, private renderer: Renderer2) {\r\n this.config = Object.assign({}, options);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.animationsEnabled) {\r\n this.renderer.addClass(this._element.nativeElement, cssClassNames.fade);\r\n }\r\n this.renderer.setStyle(this._element.nativeElement, 'display', 'block');\r\n setTimeout(\r\n () => {\r\n this.isShown = true;\r\n this.renderer.addClass(this._element.nativeElement, cssClassNames.show);\r\n },\r\n this.animationsEnabled ? animationTime.backdrop : 0\r\n );\r\n if (this._element.nativeElement) {\r\n this._element.nativeElement.focus();\r\n }\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onClickStarted(event: MouseEvent): void {\r\n this.clickStartedInContent = event.target !== this._element.nativeElement;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClickStop(event: MouseEvent): void {\r\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\r\n if (this.config.ignoreBackdropClick || this.config.backdrop === 'static' || !clickedInBackdrop) {\r\n this.clickStartedInContent = false;\r\n return;\r\n }\r\n this.hide();\r\n }\r\n\r\n @HostListener('window:popstate')\r\n onPopState(): void {\r\n this.hide();\r\n }\r\n\r\n @HostListener('window:keydown.esc', ['$event'])\r\n onEsc(event: KeyboardEvent): void {\r\n if (!this.isShown) {\r\n return;\r\n }\r\n if (event.keyCode === 27 || event.key === 'Escape' || event.key === 'Esc') {\r\n event.preventDefault();\r\n }\r\n if (this.config.keyboard && this.config.id === this.modalService?.getActiveModal().config.id) {\r\n this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.isShown) {\r\n this._hide();\r\n }\r\n }\r\n\r\n hide(result?: any): void {\r\n if (this.isModalHiding || !this.isShown) {\r\n return;\r\n }\r\n if (this.config.closeInterceptor) {\r\n this.config.closeInterceptor().then(\r\n () => this._hide(),\r\n () => undefined\r\n );\r\n return;\r\n }\r\n this._hide(result);\r\n }\r\n\r\n private _hide(result?: any): void {\r\n this.isModalHiding = true;\r\n this.renderer.removeClass(this._element.nativeElement, cssClassNames.show);\r\n setTimeout(\r\n () => {\r\n this.isShown = false;\r\n this.modalService?.hide(this.config.id, result);\r\n this.isModalHiding = false;\r\n },\r\n this.animationsEnabled ? animationTime.modal : 0\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n/**\r\n * Modal class.\r\n * @remarks\r\n * This is returned from {@link ModalService.show}.\r\n * @public\r\n */\r\n@Injectable()\r\nexport class Modal<T = any> {\r\n /**\r\n * Event that is fired when the modal behind the ref starts hiding.\r\n * @returns\r\n * Modal component instance.\r\n */\r\n onBeforeHide?: Subject<unknown>;\r\n /**\r\n * Event that is fired when the modal behind the ref finishes hiding.\r\n * @returns\r\n * An object containing the id of the closed modal and result.\r\n */\r\n onHidden?: Subject<unknown>;\r\n /**\r\n * Id of this modal.\r\n */\r\n id?: number | string;\r\n\r\n /**\r\n * Reference to a component inside the modal. Null if modal's been created with TemplateRef.\r\n * @remarks\r\n * You can use this to do nasty stuff with opened modal instance.\r\n */\r\n content?: T;\r\n\r\n /**\r\n * Hides the modal\r\n * @param result - A result to the observers.\r\n */\r\n hide: (result?: any) => void = () => void 0;\r\n /**\r\n * Sets new class to modal window.\r\n */\r\n setClass: (newClass: string) => void = () => void 0;\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { ComponentRef, Inject, Injectable, OnDestroy, Optional, Renderer2, RendererFactory2, TemplateRef } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ComponentLoader } from '../component-loader/component-loader.class';\r\nimport { animationTime, cssClassNames } from './modal-styles.class';\r\nimport { ModalBackdropComponent } from './modal-backdrop-component';\r\nimport { ModalContainerComponent } from './modal-container-component';\r\nimport { modalConfigDefaults, ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE } from './modal-options.class';\r\nimport { Modal } from './modal.class';\r\nimport { ComponentLoaderFactory } from '../component-loader/component-loader.factory';\r\n\r\n/**\r\n * A service for using modals.\r\n *\r\n * @public\r\n */\r\n@Injectable()\r\nexport class ModalService implements OnDestroy {\r\n private onBeforeShow = new Subject();\r\n private onShown = new Subject();\r\n private onBeforeHide = new Subject();\r\n private onHidden = new Subject();\r\n\r\n private backdropRef?: ComponentRef<ModalBackdropComponent>;\r\n private defaultConfig: ModalOptions;\r\n private backdropLoader: ComponentLoader<ModalBackdropComponent>;\r\n private loaders: ComponentLoader<ModalContainerComponent>[] = [];\r\n private renderer: Renderer2;\r\n private modalsCount = 0;\r\n private initialPadding = '0px';\r\n constructor(\r\n private clf: ComponentLoaderFactory,\r\n rendererFactory: RendererFactory2,\r\n @Inject(DOCUMENT) private document: any,\r\n @Optional() @Inject(MODAL_CONFIG_DEFAULT_OVERRIDE) modalDefaultOption: ModalOptions\r\n ) {\r\n this.backdropLoader = this.clf.createLoader<ModalBackdropComponent>();\r\n this.defaultConfig = { ...modalConfigDefaults, ...modalDefaultOption };\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.loaders.forEach((loader) => loader.instance?.hide());\r\n }\r\n\r\n /**\r\n * Opens a new modal.\r\n *\r\n * @param content - `Component` or `TemplateRef` type.\r\n * @param config - Specific {@link ModalOptions | options} for this modal. Global and specific options are merged.\r\n * @returns An instance of {@link Modal}\r\n */\r\n public show<T>(content: string | TemplateRef<any> | { new (...args: any[]): T }, config?: ModalOptions<T>) {\r\n this.modalsCount++;\r\n const combinedConfig = { ...this.defaultConfig, ...config };\r\n combinedConfig.id = config?.id || new Date().getUTCMilliseconds();\r\n this.createLoaders();\r\n\r\n this.addBodyPadding();\r\n if (this.modalsCount === 1) {\r\n this.renderer.addClass(this.document.body, cssClassNames.modalOpen);\r\n }\r\n this.showBackdrop(combinedConfig);\r\n return this.showModal<T>(content, combinedConfig);\r\n }\r\n\r\n /**\r\n * Hide an active modal.\r\n * @param id - Id of modal to hide. If not provided all active modals are hidden.\r\n * @param result - A result to be sent to observers.\r\n */\r\n public hide(id?: number | string, result?: any) {\r\n if (this.modalsCount === 1 || id == null) {\r\n this.hideBackdrop();\r\n this.revertScrollbar();\r\n this.renderer.removeClass(this.document.body, cssClassNames.modalOpen);\r\n }\r\n this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;\r\n setTimeout(\r\n () => {\r\n this.hideModal(id, result);\r\n this.removeLoaders(id);\r\n },\r\n //Bug\r\n //Should use combined config but for the moment is not possible to pass it this parameter.\r\n //If config is an instance variable then every newly opened modal will override the config\r\n //resulting in opened modals to get a new configuration\r\n this.defaultConfig.animated ? animationTime.backdrop : 0\r\n );\r\n }\r\n\r\n public getActiveModal(): ModalContainerComponent {\r\n return this.loaders[this.modalsCount - 1].instance as ModalContainerComponent;\r\n }\r\n\r\n private showModal<T>(content: any, combinedConfig: ModalOptions): Modal<T> {\r\n const modalLoader = this.loaders[this.loaders.length - 1];\r\n if (combinedConfig && combinedConfig.providers) {\r\n combinedConfig.providers.forEach((provider) => modalLoader.provide(provider));\r\n }\r\n\r\n const modal = new Modal<any>();\r\n const modalContainerRef = modalLoader\r\n .provide({ provide: ModalOptions, useValue: combinedConfig })\r\n .provide({ provide: Modal, useValue: modal })\r\n .attach(ModalContainerComponent)\r\n .to('body');\r\n\r\n modal.setClass = (newClass: string) => {\r\n if (modalContainerRef.instance) {\r\n modalContainerRef.instance.config.class = newClass;\r\n }\r\n };\r\n\r\n modal.onBeforeHide = new Subject();\r\n modal.onHidden = new Subject();\r\n this.copyEvent(modalLoader.onBeforeHide, modal.onBeforeHide);\r\n this.copyEvent(modalLoader.onHidden, modal.onHidden);\r\n modalContainerRef.show({\r\n content,\r\n animationsEnabled: combinedConfig.animated,\r\n initialState: combinedConfig.initialState,\r\n modalService: this,\r\n id: combinedConfig.id,\r\n });\r\n\r\n if (modalContainerRef.instance) {\r\n modalContainerRef.instance.level = this.modalsCount;\r\n modal.content = modalLoader.getInnerComponent();\r\n modal.id = modalContainerRef.instance.config?.id;\r\n modal.hide = (res) => modalContainerRef.instance?.hide(res);\r\n }\r\n\r\n return modal;\r\n }\r\n\r\n private hideModal(id?: number | string, result?: any): void {\r\n if (id != null) {\r\n const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);\r\n const modalLoader = this.loaders[indexToRemove];\r\n if (modalLoader) {\r\n modalLoader.hide(id, result);\r\n }\r\n } else {\r\n this.loaders.forEach((loader: ComponentLoader<ModalContainerComponent>) => {\r\n if (loader.instance) {\r\n loader.hide(loader.instance.config.id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private showBackdrop(combinedConfig: ModalOptions): void {\r\n const isBackdropEnabled = combinedConfig.backdrop === true || combinedConfig.backdrop === 'static';\r\n const isBackdropInDOM = this.backdropRef != null;\r\n if (isBackdropEnabled && !isBackdropInDOM) {\r\n this.backdropLoader\r\n .attach(ModalBackdropComponent)\r\n .to('body')\r\n .show({ animationsEnabled: combinedConfig.animated, backdropLoader: this.backdropLoader });\r\n this.backdropRef = this.backdropLoader.componentRef;\r\n }\r\n }\r\n\r\n private hideBackdrop(): void {\r\n if (!this.backdropRef) {\r\n return;\r\n }\r\n this.backdropRef.instance.hide();\r\n this.backdropRef = void 0;\r\n }\r\n\r\n private removeLoaders(id?: number | string): void {\r\n if (id != null) {\r\n const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);\r\n if (indexToRemove >= 0) {\r\n this.loaders.splice(indexToRemove, 1);\r\n this.loaders.forEach((loader: ComponentLoader<ModalContainerComponent>, i: number) => {\r\n if (loader.instance) {\r\n loader.instance.level = i + 1;\r\n }\r\n });\r\n }\r\n } else {\r\n this.loaders.splice(0, this.loaders.length);\r\n }\r\n }\r\n\r\n private addBodyPadding() {\r\n if (this.modalsCount === 1) {\r\n const width = this.getScrollbarWidth();\r\n if (this.isScrollBarPresent(width)) {\r\n this.initialPadding = this.document.body.style.paddingRight;\r\n const actualPadding = parseFloat(window.getComputedStyle(this.document.body).paddingRight);\r\n this.document.body.style.paddingRight = `${actualPadding + width}px`;\r\n }\r\n }\r\n }\r\n\r\n private revertScrollbar() {\r\n this.document.body.style.paddingRight = this.initialPadding;\r\n }\r\n\r\n private getScrollbarWidth(): number {\r\n const measurer = this.document.createElement('div');\r\n measurer.className = 'modal-scrollbar-measure';\r\n\r\n const body = this.document.body;\r\n body.appendChild(measurer);\r\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\r\n body.removeChild(measurer);\r\n\r\n return width;\r\n }\r\n\r\n private isScrollBarPresent(scrollbarWidth: number) {\r\n const rect = this.document.body.getBoundingClientRect();\r\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\r\n const uncertainty = 0.1 * scrollbarWidth;\r\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\r\n }\r\n\r\n private createLoaders(): void {\r\n const loader = this.clf.createLoader<ModalContainerComponent>();\r\n this.copyEvent(loader.onBeforeShow, this.onBeforeShow);\r\n this.copyEvent(loader.onShown, this.onShown);\r\n this.copyEvent(loader.onBeforeHide, this.onBeforeHide);\r\n this.copyEvent(loader.onHidden, this.onHidden);\r\n this.loaders.push(loader);\r\n }\r\n\r\n private copyEvent(from: Subject<unknown>, to: Subject<unknown>) {\r\n from.subscribe((data) => {\r\n to.next(data);\r\n });\r\n }\r\n}\r\n","import { SidePaneOverlayType, SidePaneSize } from './../../types';\r\nimport { Router } from '@angular/router';\r\nimport { Component, Input, OnInit, OnDestroy, Inject, EventEmitter, Output } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-side-pane',\r\n templateUrl: './side-pane.component.html'\r\n})\r\nexport class SidePaneComponent implements OnInit, OnDestroy {\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('visible') showPane = false;\r\n public sizeContainerStyle = 'side-pane-box-size';\r\n public overlayStyle = 'side-pane-overlay';\r\n @Output() onComplete: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n \r\n constructor(private router: Router, @Inject(DOCUMENT) private document: any,) { }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public onSidePaneActivated(component: any): void {\r\n this.document.body.classList.add('modal-active');\r\n let sizeStyleSuffix = '';\r\n const state = this.router.getCurrentNavigation()?.extras.state;\r\n if (state) {\r\n if (state.paneSize) {\r\n if (state.paneSize === SidePaneSize.Small25) {\r\n sizeStyleSuffix = '-25';\r\n } else if (state.paneSize === SidePaneSize.Medium50) {\r\n sizeStyleSuffix = '-50';\r\n } else if (state.paneSize === SidePaneSize.Large75) {\r\n sizeStyleSuffix = '-75';\r\n }\r\n }\r\n if (state.paneOverlay) {\r\n if (state.paneOverlay === SidePaneOverlayType.None) {\r\n this.overlayStyle = 'side-pane-overlay-opacity-0';\r\n } else if (state.paneOverlay === SidePaneOverlayType.Dark) {\r\n this.overlayStyle = 'side-pane-overlay-opacity-50';\r\n } else {\r\n this.overlayStyle = 'side-pane-overlay';\r\n }\r\n }\r\n }\r\n this.sizeContainerStyle = `side-pane-box-size${sizeStyleSuffix}`;\r\n this.showPane = true;\r\n }\r\n\r\n public onSidePaneDeactivated($event: any): void { \r\n this.document.body.classList.remove('modal-active');\r\n this.showPane = false;\r\n this.onComplete.emit(true);\r\n }\r\n\r\n}\r\n","import { AvatarInitialsComponent } from './controls/avatar-initials/avatar-initials.component';\r\nimport { ToasterService } from './services/toaster.service';\r\nimport { ToasterComponent } from './controls/toaster/toaster.component';\r\nimport { ToasterContainerComponent } from './controls/toaster/toaster-container.component';\r\nimport { DatepickerComponent } from './controls/date-picker/date-picker.component';\r\nimport { SidePaneComponent } from './controls/side-pane/side-pane.component';\r\nimport { ListDetailsSectionComponent } from './controls/list-view/list-details-section.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { UnauthorizedComponent } from './pages/http-status/unauthorized/unauthorized.component';\r\nimport { PageNotFoundComponent } from './pages/http-status/page-not-found/page-not-found.component';\r\nimport { ErrorComponent } from './pages/http-status/error/error.component';\r\nimport { LoggedOutComponent } from './pages/auth/logged-out/logged-out.component';\r\nimport { AuthCallbackComponent } from './pages/auth/auth-callback/auth-callback.component';\r\nimport { IndiceAuthModule } from '@indice/ng-auth';\r\nimport { SkeletonLoaderComponent } from './controls/skeleton-loader/skeleton-loader.component';\r\nimport { ListTileComponent } from './controls/list-view/list-tile.component';\r\nimport { ListColumnComponent } from './controls/list-view/list-column.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { DropDownMenuComponent } from './controls/drop-down-menu/drop-down-menu.component';\r\nimport { ListViewComponent } from './controls/list-view/list-view.component';\r\nimport { PagerComponent } from './controls/pager/pager.component';\r\nimport { ClickOutsideDirective } from './directives/click-outside.directive';\r\nimport { ShellFooterComponent } from './layouts/shell/shell-footer/shell-footer.component';\r\nimport { ShellHeaderComponent } from './layouts/shell/shell-header/shell-header.component';\r\nimport { ShellLayoutComponent } from './layouts/shell/shell-layout/shell-layout.component';\r\nimport { FormLayoutComponent } from './layouts/views/form-layout/form-layout.component';\r\nimport { ModelViewLayoutComponent } from './layouts/views/model-view-layout/model-view-layout.component';\r\nimport { SideViewLayoutComponent } from './layouts/views/side-view-layout/side-view-layout.component';\r\nimport { ViewLayoutComponent } from './layouts/views/view-layout/view-layout.component';\r\nimport { AuthRenewComponent } from './pages/auth/auth-renew/auth-renew.component';\r\nimport { AddressPipe } from './pipes/address.pipe';\r\nimport { DurationFormatPipe } from './pipes/duration-format.pipe';\r\nimport { CollapsiblePanelComponent } from './controls/collapsible-panel/collapsible-panel.component';\r\nimport { KpiTileComponent } from './controls/kpi-tile/kpi-tile.component';\r\nimport { DynamicComponentHostDirective } from './directives/dynamic-component-host.directive';\r\nimport { ListViewEmptyStateComponent } from './controls/list-view/list-view-empty-state.component';\r\nimport { ToggleComponent } from './controls/toggle/toggle.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n // diectives\r\n ClickOutsideDirective,\r\n DynamicComponentHostDirective,\r\n // controls\r\n DropDownMenuComponent,\r\n PagerComponent,\r\n ListViewComponent,\r\n ListColumnComponent,\r\n ListTileComponent,\r\n ListDetailsSectionComponent,\r\n ListViewEmptyStateComponent,\r\n SkeletonLoaderComponent,\r\n CollapsiblePanelComponent,\r\n KpiTileComponent,\r\n SidePaneComponent,\r\n DatepickerComponent,\r\n AvatarInitialsComponent,\r\n ToggleComponent,\r\n // Toaster\r\n ToasterContainerComponent,\r\n ToasterComponent,\r\n // shell layout\r\n ShellLayoutComponent,\r\n ShellHeaderComponent,\r\n ShellFooterComponent,\r\n // view layouts\r\n ViewLayoutComponent,\r\n SideViewLayoutComponent,\r\n ModelViewLayoutComponent,\r\n FormLayoutComponent,\r\n // pages (common)\r\n AuthCallbackComponent,\r\n AuthRenewComponent,\r\n LoggedOutComponent,\r\n ErrorComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n // pipes\r\n AddressPipe,\r\n DurationFormatPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n IndiceAuthModule\r\n ],\r\n exports: [\r\n ClickOutsideDirective,\r\n DropDownMenuComponent,\r\n PagerComponent,\r\n ListViewComponent,\r\n ListColumnComponent,\r\n ListTileComponent,\r\n ListDetailsSectionComponent,\r\n ListViewEmptyStateComponent,\r\n KpiTileComponent,\r\n SkeletonLoaderComponent,\r\n ShellLayoutComponent,\r\n ShellHeaderComponent,\r\n ShellFooterComponent,\r\n ViewLayoutComponent,\r\n SideViewLayoutComponent,\r\n ModelViewLayoutComponent,\r\n FormLayoutComponent,\r\n AuthCallbackComponent,\r\n AuthRenewComponent,\r\n LoggedOutComponent,\r\n ErrorComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n AddressPipe,\r\n DurationFormatPipe,\r\n CollapsiblePanelComponent,\r\n SidePaneComponent,\r\n DatepickerComponent,\r\n ToasterContainerComponent,\r\n ToasterComponent,\r\n AvatarInitialsComponent,\r\n ToggleComponent\r\n ]\r\n})\r\nexport class IndiceComponentsModule {\r\n // tslint:disable-next-line:typedef\r\n static forRoot() {\r\n return {\r\n ngModule: IndiceComponentsModule,\r\n providers: [ToasterService]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of @indice/ng-components\r\n */\r\n\r\n// directives\r\nexport * from './lib/directives/click-outside.directive';\r\n\r\n// controls\r\nexport * from './lib/controls/drop-down-menu/drop-down-menu.component';\r\nexport * from './lib/controls/pager/pager.component';\r\nexport * from './lib/controls/list-view/list-view.component';\r\nexport * from './lib/controls/list-view/list-column.component';\r\nexport * from './lib/controls/list-view/list-tile.component';\r\nexport * from './lib/controls/list-view/list-details-section.component';\r\nexport * from './lib/controls/list-view/list-view-empty-state.component';\r\nexport * from './lib/controls/skeleton-loader/skeleton-loader.component';\r\nexport * from './lib/controls/collapsible-panel/collapsible-panel.component';\r\nexport * from './lib/controls/kpi-tile/kpi-tile.component';\r\nexport * from './lib/controls/date-picker/date-picker.component';\r\nexport * from './lib/controls/toaster/toaster-container.component';\r\nexport * from './lib/controls/toaster/toaster.component';\r\nexport * from './lib/controls/avatar-initials/avatar-initials.component';\r\nexport * from './lib/controls/toggle/toggle.component';\r\n\r\n// shell layout\r\nexport * from './lib/layouts/shell/shell-layout/shell-layout.component';\r\nexport * from './lib/layouts/shell/shell-header/shell-header.component';\r\nexport * from './lib/layouts/shell/shell-footer/shell-footer.component';\r\n\r\n// view layouts\r\nexport * from './lib/layouts/views/view-layout/view-layout.component';\r\nexport * from './lib/layouts/views/model-view-layout/model-view-layout.component';\r\nexport * from './lib/layouts/views/side-view-layout/side-view-layout.component';\r\nexport * from './lib/layouts/views/form-layout/form-layout.component';\r\n\r\n// pages\r\nexport * from './lib/pages/auth/auth-callback/auth-callback.component';\r\nexport * from './lib/pages/auth/auth-renew/auth-renew.component';\r\nexport * from './lib/pages/auth/logged-out/logged-out.component';\r\nexport * from './lib/pages/http-status/error/error.component';\r\nexport * from './lib/pages/http-status/page-not-found/page-not-found.component';\r\nexport * from './lib/pages/http-status/unauthorized/unauthorized.component';\r\n\r\n// pipes\r\nexport * from './lib/pipes/address.pipe';\r\nexport * from './lib/pipes/duration-format.pipe';\r\n\r\n// common stuff (tokens, types, helper classes)\r\nexport * from './lib/tokens';\r\nexport * from './lib/types';\r\nexport * from './lib/icons';\r\nexport * from './lib/helpers/base-list.component';\r\n\r\n// services\r\nexport * from './lib/services/component-loader/component-loader.factory';\r\nexport * from './lib/services/modal-service/modal-service';\r\nexport { ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE, CloseInterceptorFn } from './lib/services/modal-service/modal-options.class';\r\nexport * from './lib/services/modal-service/modal.class';\r\nexport * from './lib/services/toaster.service';\r\n\r\nexport * from './lib/ng-components.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SidePaneComponent as ɵb} from './lib/controls/side-pane/side-pane.component';\nexport {DynamicComponentHostDirective as ɵa} from './lib/directives/dynamic-component-host.directive';"],"names":["EventEmitter","isPlatformBrowser","Directive","ElementRef","NgZone","Inject","PLATFORM_ID","Input","Output","Component","SCREEN_SIZE","ToastType","SidePaneSize","SidePaneOverlayType","Router","ContentChild","TemplateRef","ContentChildren","NG_VALUE_ACCESSOR","forwardRef","ViewChild","BehaviorSubject","filter","Injectable","InjectionToken","ViewContainerRef","Subject","Injector","ComponentFactoryResolver","ApplicationRef","ActivationStart","DOCUMENT","Location","ViewChildren","router","of","NavigationStart","AuthService","fromEvent","map","debounceTime","distinctUntilChanged","ActivatedRoute","Pipe","ViewEncapsulation","Renderer2","HostListener","RendererFactory2","Optional","NgModule","CommonModule","RouterModule","IndiceAuthModule"],"mappings":"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"}