@indice/ng-components 0.2.124 → 0.2.127

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/controls/drop-down-menu/drop-down-menu.component.html","../../../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/pager/pager.component.html","../../../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-empty-state.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view-empty-state.component.html","../../../projects/ng-components/src/lib/controls/skeleton-loader/skeleton-loader.component.ts","../../../projects/ng-components/src/lib/controls/skeleton-loader/skeleton-loader.component.html","../../../projects/ng-components/src/lib/controls/list-view/list-view.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view.component.html","../../../projects/ng-components/src/lib/controls/collapsible-panel/collapsible-panel.component.ts","../../../projects/ng-components/src/lib/controls/collapsible-panel/collapsible-panel.component.html","../../../projects/ng-components/src/lib/controls/kpi-tile/kpi-tile.component.ts","../../../projects/ng-components/src/lib/controls/kpi-tile/kpi-tile.component.html","../../../projects/ng-components/src/lib/controls/date-picker/date-picker.component.ts","../../../projects/ng-components/src/lib/controls/date-picker/date-picker.component.html","../../../projects/ng-components/src/lib/services/toaster.service.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster.component.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster.component.html","../../../projects/ng-components/src/lib/controls/toaster/toaster-container.component.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster-container.component.html","../../../projects/ng-components/src/lib/controls/avatar-initials/avatar-initials.component.ts","../../../projects/ng-components/src/lib/controls/avatar-initials/avatar-initials.component.html","../../../projects/ng-components/src/lib/controls/toggle/toggle.component.ts","../../../projects/ng-components/src/lib/controls/toggle/toggle.component.html","../../../projects/ng-components/src/lib/controls/side-pane/side-pane.component.ts","../../../projects/ng-components/src/lib/controls/side-pane/side-pane.component.html","../../../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-header/shell-header.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-header/shell-header.component.html","../../../projects/ng-components/src/lib/layouts/shell/shell-footer/shell-footer.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-footer/shell-footer.component.html","../../../projects/ng-components/src/lib/layouts/shell/shell-layout/shell-layout.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-layout/shell-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/view-layout/view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/view-layout/view-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/model-view-layout/model-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/model-view-layout/model-view-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/side-view-layout/side-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/side-view-layout/side-view-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/form-layout/form-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/form-layout/form-layout.component.html","../../../projects/ng-components/src/lib/pages/auth/auth-callback/auth-callback.component.ts","../../../projects/ng-components/src/lib/pages/auth/auth-callback/auth-callback.component.html","../../../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/auth/logged-out/logged-out.component.html","../../../projects/ng-components/src/lib/pages/http-status/error/error.component.ts","../../../projects/ng-components/src/lib/pages/http-status/error/error.component.html","../../../projects/ng-components/src/lib/pages/http-status/page-not-found/page-not-found.component.ts","../../../projects/ng-components/src/lib/pages/http-status/page-not-found/page-not-found.component.html","../../../projects/ng-components/src/lib/pages/http-status/unauthorized/unauthorized.component.ts","../../../projects/ng-components/src/lib/pages/http-status/unauthorized/unauthorized.component.html","../../../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/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, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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","<div class=\"dropdown-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <button\r\n type=\"button\"\r\n (click)=\"expanded = !expanded\"\r\n class=\"dropdown-button\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded=\"true\"\r\n aria-labelledby=\"listbox-label\"\r\n >\r\n <span class=\"dropdown-selected-text\">\r\n {{ selectedOption?.text || placeholder }}\r\n </span>\r\n <span class=\"dropdown-button-icon\">\r\n <!-- Heroicon name: solid/selector -->\r\n <svg class=\"dropdown-arrow\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </span>\r\n </button>\r\n <ul\r\n *ngIf=\"expanded && options && options.length > 0\"\r\n class=\"dropdown-ul\"\r\n tabindex=\"-1\"\r\n role=\"listbox\"\r\n aria-labelledby=\"listbox-label\"\r\n aria-activedescendant=\"listbox-option-3\"\r\n >\r\n <ng-container *ngFor=\"let option of options\">\r\n <li\r\n [class]=\"isSelected(option) ? 'dropdown-li-selected' : 'dropdown-li'\"\r\n (click)=\"selectOption(option)\"\r\n id=\"listbox-option-0\"\r\n role=\"option\"\r\n >\r\n <span [class]=\"isSelected(option) ? 'dropdown-li-selected-text' : 'dropdown-li-text'\">\r\n {{ option.text }}\r\n </span>\r\n <span *ngIf=\"isSelected(option)\" class=\"dropdown-li-selected-indicator-container\">\r\n <!-- Heroicon name: solid/check -->\r\n <svg\r\n class=\"dropdown-li-selected-indicator\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\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 public type = 'router';\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 public type = 'external';\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 public type = 'fragment';\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","<div class=\"pager-container\">\r\n <div class=\"pager-container-inner\">\r\n <div class=\"inline-flex\" *ngIf=\"sortOptions && sortOptions.length > 0\">\r\n <lib-drop-down-menu [options]=\"sortOptions\" [selected]=\"sort\" (selectedChanged)=\"sortOptionChanged($event)\"></lib-drop-down-menu>\r\n <button (click)=\"toggleSortdir()\" [disabled]=\"!sort || busy\" class=\"pager-icon-button\">\r\n <span class=\"sr-only\">sort direction</span>\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"sortdirIcon\"></i>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"pager-pages-container\">\r\n <lib-drop-down-menu [options]=\"pageSizeOptions\" [selected]=\"pageSize\" (selectedChanged)=\"pageSizeOptionChanged($event)\"></lib-drop-down-menu>\r\n <div class=\"mx-2\" *ngIf=\"count !== null && count > pageSize\">\r\n <button [disabled]=\"!canPreviousPage || busy\" (click)=\"previousPage()\"\r\n class=\"pager-arrow-button-left\">\r\n <span class=\"sr-only\">Previous</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n <button [disabled]=\"!canNextPage || busy\" (click)=\"nextPage()\"\r\n class=\"pager-arrow-button-right\">\r\n <span class=\"sr-only\">Next</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-drop-down-menu *ngIf=\"(pages && pages.length > 0) && (count !== null && count > pageSize)\" [options]=\"pages\" [selected]=\"page\" (selectedChanged)=\"pageOptionChanged($event)\"></lib-drop-down-menu>\r\n </div>\r\n </div>\r\n</div>\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, 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","<div class=\"p-20\">\n <div class=\"text-center p-2\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"mx-auto h-12 w-12 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\" />\n </svg>\n <h3 class=\"mt-2 text-sm font-medium text-gray-900\">{{title}}</h3>\n <p class=\"mt-1 text-sm text-gray-500\">\n {{subTitle}}\n </p>\n <div class=\"mt-6\" *ngIf=\"false\">\n <button type=\"button\" class=\"inline-flex items-center px-4 py-2 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-gray-600 hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-gray-500\">\n <!-- Heroicon name: solid/plus -->\n <svg class=\"-ml-1 mr-2 h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\n <path vector-effect=\"non-scaling-stroke\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\" />\n </svg>\n {{newItemLabel}}\n </button>\n </div>\n </div>\n</div>\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","<!-- <h1>SKELETON LOADER!</h1> -->\r\n<ng-container *ngSwitch=\"type\">\r\n <div class=\"cards-deck-4\" *ngSwitchCase=\"'tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-32 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchCase=\"'large-tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-1\" *ngSwitchCase=\"'table'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto mb-4\">\r\n <div class=\"animate-pulse flex space-x-4\">\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\">&nbsp;</div>\r\n <div class=\"flex-1 space-y-4 py-1\">\r\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\">&nbsp;</div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\">&nbsp;</div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\">&nbsp;</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchDefault>\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\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 public loaderItems: any[] = [];\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 // tslint:disable-next-line:no-input-rename\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 @Input() 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 for (let i = 0; i < 5; i++) {\r\n this.loaderItems.push({});\r\n }\r\n }\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","<div class=\"px-2\">\r\n\r\n <lib-pager *ngIf=\"showPager\"\r\n [page]=\"page\"\r\n [page-size]=\"pageSize\"\r\n [count]=\"count\"\r\n [sort-options]=\"sortOptions\"\r\n [sort]=\"sort\"\r\n [sort-dir]=\"sortdir\"\r\n [busy]=\"busy\"\r\n (pageChanged)=\"emitPageChanged($event)\"\r\n (pageSizeChanged)=\"emitPageSizeChanged($event)\"\r\n (sortChanged)=\"emitSortChanged($event)\"\r\n (sortdirChanged)=\"emitSortdirChanged($event)\">\r\n </lib-pager>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!busy && items && items.length === 0\">\r\n <div class=\"cards-deck-1\">\r\n <lib-list-view-empty-state></lib-list-view-empty-state>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container [ngSwitch]=\"view\">\r\n\r\n <ng-container *ngSwitchCase=\"'tiles'\">\r\n <div [class]=\"tilesDeckClass\">\r\n\r\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\r\n\r\n <ng-container *ngIf=\"items && items.length > 0\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\r\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- *ngSwitchCase=\"'gallery'\" -->\r\n <ng-container *ngSwitchCase=\"'gallery'\">\r\n <ul role=\"list\" [class]=\"tilesDeckClass\">\r\n\r\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\r\n\r\n <ng-container *ngIf=\"!busy && items && items.length > 0\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\r\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n\r\n <!-- *ngSwitchCase=\"'table'\" -->\r\n <ng-container *ngSwitchDefault>\r\n\r\n <div class=\"list-view-container\">\r\n <div class=\"list-view-container-inner\">\r\n <table class=\"list-view-table\">\r\n <thead class=\"list-view-thead\">\r\n <tr>\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <th class=\"list-view-th-details\"></th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <th scope=\"col\"\r\n [class]=\"col.fullWidth ? fullWidthTHClass : 'list-view-th'\">\r\n {{col.title}}\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody class=\"list-view-tbody\" *ngIf=\"busy\">\r\n <ng-container *ngFor=\"let item of loaderItems;let i=index\">\r\n <tr class=\"list-view-tr\">\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <td class=\"list-view-td-details\"\r\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\r\n <button disabled\r\n type=\"button\"\r\n class=\"expand-collapse-button\">\r\n <!-- Heroicon name: solid/plus -->\r\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\r\n </button>\r\n </td>\r\n <ng-template #hiddenDetailsButton>\r\n <td class=\"list-view-td-details\"></td>\r\n </ng-template>\r\n </ng-container>\r\n <td *ngFor=\"let col of columns\"\r\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\r\n <div class=\"w-full animate-pulse h-8 bg-gray-200 rounded\"></div>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <tr *ngIf=\"item.detailsExpanded\">\r\n <td [colSpan]=\"columns.length + 1\"\r\n class=\"list-view-td bg-gray-100\">\r\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n <tbody class=\"list-view-tbody\" *ngIf=\"!busy\">\r\n <ng-container *ngFor=\"let item of items;let i=index\">\r\n <tr class=\"list-view-tr\">\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <td class=\"list-view-td-details\"\r\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\r\n <button (click)=\"toggleDetails(item)\"\r\n type=\"button\"\r\n class=\"expand-collapse-button\">\r\n <!-- Heroicon name: solid/plus -->\r\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\r\n </button>\r\n </td>\r\n <ng-template #hiddenDetailsButton>\r\n <td class=\"list-view-td-details\"></td>\r\n </ng-template>\r\n </ng-container>\r\n <td *ngFor=\"let col of columns\"\r\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\r\n <ng-template [ngTemplateOutlet]=\"col.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <tr *ngIf=\"item.detailsExpanded\">\r\n <td [colSpan]=\"columns.length + 1\"\r\n class=\"list-view-td bg-gray-100\">\r\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-content></ng-content>\r\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","<div class=\"collapsible-panel-container\">\r\n <div class=\"collapsible-panel-container-shadow\">\r\n <div class=\"collapsible-panel-container-inner\">\r\n <button type=\"button\" class=\"collapsible-panel-button\" (click)=\"visible = !visible\">\r\n <div class=\"collapsible-panel-button-content-container\">\r\n <span>{{ title }} </span>\r\n <span class=\"ico-plus\"></span>\r\n </div>\r\n </button>\r\n <div class=\"collapsible-panel-content-container\" *ngIf=\"visible\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\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","<div class=\"card\"\r\n [ngClass]=\"{'card-deck-busy' : busy }\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container\">\r\n <a href=\"#\"\r\n class=\"kpi-tile-action\"\r\n (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n </div>\r\n <p class=\"kpi-tile-value\">{{kpi || '-'}}</p>\r\n <div class=\"card-footer\">\r\n <div class=\"text-xs\">\r\n <a href=\"#\"\r\n class=\"kpi-tile-action\"\r\n (click)=\"emitTileAction($event)\">Περισσότερα</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","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}","<div class=\"relative flex\"\r\n (clickOutside)=\"closeCalendar()\">\r\n\r\n <input type=\"text\"\r\n #dateInput\r\n [readonly]=\"readonly\"\r\n name=\"dateInput\"\r\n (blur)=\"onBlur($event)\"\r\n id=\"dateInput\"\r\n (focus)=\"showCalendar = false\"\r\n [value]=\"value | date: displayFormat\"\r\n class=\"w-full focus:ring-0 focus:outline-none rounded-none sm:text-sm border-gray-300 focus:border-0\"\r\n [ngClass]=\"{'cursor-not-allowed': disabled}\"\r\n [placeholder]=\"disabled ? '' : placeholder\">\r\n\r\n <button type=\"button\"\r\n class=\"relative inline-flex items-center px-2 py-2 border border-gray-300 text-sm font-medium rounded-r-sm text-gray-700 bg-gray-50 hover:bg-gray-100 focus:outline-none focus:ring-1 focus:ring-gray-500 focus:border-gray-500\"\r\n [disabled]=\"disabled\"\r\n (click)=\"openCalendar()\"\r\n [ngClass]=\"{'cursor-not-allowed': disabled}\">\r\n <i class=\"ms-Icon ms-Icon--DateTime2\"></i>\r\n </button>\r\n\r\n <div *ngIf=\"showCalendar\"\r\n class=\"bg-gray-100 mt-10 rounded-sm shadow-md p-4 absolute left-0 z-50 w-full\"\r\n style=\"height:18rem;min-width:16rem;\"\r\n name=\"calendar\">\r\n <div class=\"flex justify-between items-center mb-2\">\r\n <div>\r\n <button type=\"button\"\r\n (click)=\"openYears()\">\r\n <span class=\"text-lg font-bold text-gray-800\">\r\n {{monthNames[month]}}\r\n </span>\r\n <span class=\"ml-1 text-lg text-gray-600 font-normal\">\r\n {{year}}</span>\r\n </button>\r\n </div>\r\n <div *ngIf=\"!showYears; else showYearsPickerTmpl\">\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25\"\r\n (click)=\"previousMonth();\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 19l-7-7 7-7\" />\r\n </svg>\r\n </button>\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25\"\r\n (click)=\"nextMonth()\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 5l7 7-7 7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <ng-template #showYearsPickerTmpl>\r\n <div>\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25 w-1/2\"\r\n (click)=\"previousYear();\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 19l-7-7 7-7\" />\r\n </svg>\r\n </button>\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25 w-1/2\"\r\n (click)=\"nextYear()\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 5l7 7-7 7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"flex flex-wrap mb-3 -mx-1\"\r\n *ngIf=\"!showYears; else showCalYearsTmpl\">\r\n <div *ngFor=\"let day of dayNames\"\r\n class=\"text-gray-800 font-medium text-center text-sm uppercase\"\r\n style=\"width: 14.28%\">{{day}}</div>\r\n </div>\r\n\r\n <ng-template #showCalYearsTmpl>\r\n <div class=\"flex flex-wrap -mx-1 items-center\">\r\n <div *ngFor=\"let year of showCalendarYears\"\r\n style=\"width: 18.28%\"\r\n class=\"px-1 mb-1\">\r\n <div (click)=\"selectYearValue(year)\"\r\n class=\"cursor-pointer text-center hover:text-blue-600 text-sm leading-none rounded-full leading-loose transition ease-in-out duration-100\"\r\n [class]=\"year.selected ? 'bg-gray-700 text-blue-600 font-medium' : 'text-gray-800 hover:bg-gray-800'\">{{year.year}}</div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"flex flex-wrap -mx-1 items-center\"\r\n *ngIf=\"!showYears\">\r\n <div *ngFor=\"let blankday of blankDays\"\r\n style=\"width: 14.28%\"\r\n class=\"text-center border p-1 border-transparent text-sm opacity-50\">{{blankday}}</div>\r\n <div *ngFor=\"let date of calendarDates\"\r\n style=\"width: 14.28%\"\r\n class=\"px-1 mb-1\">\r\n <div (click)=\"selectDateValue(date)\"\r\n class=\"cursor-pointer text-center hover:text-blue-600 text-sm leading-none rounded-full leading-loose transition ease-in-out duration-100\"\r\n [class]=\"date.selected ? 'bg-gray-700 text-blue-600 font-medium' : 'text-gray-800 hover:bg-gray-800'\">{{date.day}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>","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, 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","<div aria-live=\"assertive\"\r\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\r\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\r\n <div class=\"toast-container\">\r\n <div class=\"toast-pill\">\r\n <div class=\"toast-context-padding\">\r\n <div class=\"toast-context\"\r\n [ngSwitch]=\"toast?.type\">\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'info'\">\r\n <svg class=\"h-5 w-5 text-blue-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'success'\">\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'error'\">\r\n <svg class=\"h-5 w-5 text-red-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'warning'\">\r\n <svg class=\"h-5 w-5 text-yellow-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchDefault>\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"ml-3 w-0 flex-1\">\r\n <p class=\"toast-title\"\r\n *ngIf=\"toast?.title\">\r\n {{toast?.title}}\r\n </p>\r\n <p class=\"toast-body\">\r\n {{toast?.body}}\r\n </p>\r\n </div>\r\n <div class=\"toast-close-icon\">\r\n <button class=\"toast-close-button\"\r\n (click)=\"closeToast(i)\">\r\n <span class=\"sr-only\">Close</span>\r\n <!-- Heroicon name: solid/x -->\r\n <svg class=\"h-5 w-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","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","<lib-toaster *ngFor=\"let toast of toasts; let i=index\" [toast]=\"toast\" [i]=\"i\" (remove)=\"remove($event)\"></lib-toaster>\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","<div [ngClass]=\"large ? 'avatar-container-large': 'avatar-container'\">\r\n <span [ngClass]=\"large ? 'avatar-text-large': 'avatar-text'\">{{ initials }}</span>\r\n</div>\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}","<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? 'Το αρχείο πρέπει να είναι ιδωτικό' : 'Ιδιωτικό'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>","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","<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\r\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\r\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\r\n <div [class]=\"sizeContainerStyle\">\r\n <div class=\"side-pane\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\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 { 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 public scroll(el: HTMLElement): void {\r\n el.scrollIntoView({ behavior: 'smooth' });\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","<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <ng-container [ngSwitch]=\"link.type\">\r\n <a *ngSwitchCase=\"'router'\"\r\n href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngSwitchCase=\"'external'\"\r\n [href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngSwitchCase=\"'fragment'\"\r\n routerLink=\".\"\r\n [fragment]=\"link.path\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngIf=\"!link.external\" [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-mobile-active']\" [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>Σύνδεση\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a [routerLink]=\"link.path\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\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","<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n © 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\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","<div *ngIf=\"loaded\" [style.display]=\"!loaded ? 'none':'block'\" class=\"shell-container active-side-pane\">\r\n\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n </div>\r\n\r\n <main [class]=\"activeConfig.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </main>\r\n\r\n <div class=\"shell-footer-container\" *ngIf=\"activeConfig.showFooter\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customFooterComponent\">\r\n <div appDynamicComponentHost hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!activeConfig.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n </div>\r\n\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\" (activate)=\"rightPane.onSidePaneActivated($event)\" (deactivate)=\"rightPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n\r\n <lib-toaster-container></lib-toaster-container>\r\n\r\n</div>\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","<header *ngIf=\"header\" class=\"view-layout-paddings\">\r\n\r\n <div class=\"view-layout-title-container\">\r\n\r\n <div class=\"view-layout-title-container-inner\">\r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\" [class]=\"icon + ' title-icon'\" aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title}}</h1>\r\n </div>\r\n <div *ngIf=\"metaItems && metaItems.length > 0\" class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\" [class]=\"meta.icon + ' meta-icon'\" aria-hidden=\"true\"></i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex items-center justify-end\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\" type=\"button\" href=\"#\" class=\"ml-1 disabled:opacity-50 btn-view-header\" (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i>\r\n <span *ngIf=\"view === action.param\" class=\"selected-view-indicator\"></span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\" #search class=\"search-input\" [placeholder]=\"searchPlaceholder\"\r\n type=\"search\" name=\"search\" (input)=\"searchActionType(search.value)\" (onsearch)=\"handleClear($event)\">\r\n </div>\r\n <button type=\"button\" href=\"#\" class=\"btn-view-header rounded-l-none\" [title]=\"action.tooltip\" (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\" href=\"#\" class=\"ml-1 btn-view-header\" [title]=\"action.tooltip\" (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\" class=\"ml-1 btn-view-header\" [title]=\"action.tooltip\" (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n\r\n<!-- component -->\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>\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","<lib-view-layout [title]=\"title\" [meta-items]=\"metaItems\">\r\n <main class=\"model-view-container\">\r\n <div class=\"model-view-container-inner\">\r\n <aside class=\"model-view-aside\">\r\n <section aria-labelledby=\"menu\" class=\"details-view-aside-header-section\">\r\n <div class=\"model-view-aside-header-container\">\r\n <div class=\"model-view-aside-header-container-inner\">\r\n <ng-content></ng-content>\r\n </div>\r\n <!-- menu items -->\r\n <div class=\"model-view-menu-container\">\r\n <nav class=\"model-view-menu-nav\">\r\n <div class=\"model-view-menu-item\">\r\n <ng-container *ngFor=\"let section of primary\">\r\n <a href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLink]=\"section.link\"\r\n class=\"view-nav-link\">\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"model-view-menu-item-far\">\r\n <ng-container *ngFor=\"let section of secondary\">\r\n <a href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n [routerLink]=\"section.link\"\r\n class=\"view-nav-link\">\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </nav>\r\n </div>\r\n </div>\r\n </section>\r\n </aside>\r\n <div class=\"model-view-details-container\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </main>\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","<div class=\"side-view-layout-size-box\">\r\n <div class=\"side-view-layout-container\">\r\n <div class=\"side-view-layout-container-inner\">\r\n <div class=\"side-view-layout-header-margins\">\r\n <div class=\"side-view-layout-header-container\">\r\n <h2 class=\"side-view-layout-header-title\" id=\"slide-over-title\">\r\n {{title}}\r\n </h2>\r\n <div class=\"side-view-layout-close-button-container\">\r\n <button (click)=\"emitClose()\" class=\"side-view-layout-close-button\">\r\n <span class=\"sr-only\">Close panel</span>\r\n <!-- Heroicon name: outline/x -->\r\n <svg class=\"side-view-layout-close-button-icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"side-view-layout-content-container\">\r\n <!-- Replace with your content -->\r\n <ng-content></ng-content>\r\n <!-- /End replace -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showActions\" class=\"side-view-layout-actions-container\">\r\n <button *ngIf=\"cancelShow\" (click)=\"emitCancel()\" type=\"button\" class=\"side-view-layout-action-button-cancel\">\r\n {{cancelLabel}}\r\n </button>\r\n <button *ngIf=\"okShow\" (click)=\"emitOK()\" class=\"side-view-layout-action-button-submit\" [disabled]=\"disabled\">\r\n {{okLabel}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\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","<div class=\"form-layout-container\">\r\n <div class=\"form-header\" *ngIf=\"title || subTitle || actions\">\r\n <div class=\"form-header-inner\">\r\n <h3 class=\"form-title\">\r\n {{ title }}\r\n </h3>\r\n <p class=\"form-subtitle\">\r\n {{ subTitle }}\r\n </p>\r\n </div>\r\n <div class=\"form-header-actions\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\"\r\n #search\r\n class=\"form-search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\">\r\n </div>\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"btn-form-view-header-search\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"form-content-container\">\r\n <div [ngClass]=\"{'form-content-container-inner': actions}\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <lib-side-pane #formPane (onComplete)=\"onSidePaneDeactivated($event)\">\r\n <router-outlet name=\"formRightPane\"\r\n (activate)=\"formPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"formPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n</div>\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","<lib-view-layout [title]=\"status\" [busy]=\"true\"></lib-view-layout>","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","<lib-view-layout title=\"Έχετε αποσυνδεθεί με επιτυχία!\"></lib-view-layout>","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","<lib-view-layout [show-header]=\"false\" title=\"500 - παρουσιάστηκε σφάλμα!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">500</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">σφάλμα, κατι δεν πήγε καλά...!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n πατήστε εδώ για να επιστρέψετε\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\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","<lib-view-layout [show-header]=\"false\"\r\n title=\"404 - δεν βρέθηκε!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">404</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">δεν βρέθηκε η σελίδα που ζητήσατε!</p>\r\n <a href=\"/\"\r\n class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n πατήστε εδώ για να επιστρέψετε\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>","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","<lib-view-layout [show-header]=\"false\" title=\"401 - δεν επιτρέπεται η πρόσβαση!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">401</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">δεν έχετε τα κατάλληλα δικαιώματα πρόσβασης!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n πατήστε εδώ για να επιστρέψετε\r\n </a>\r\n </div>\r\n </div>\r\n </lib-view-layout>\r\n\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\r\n * 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 { 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","// Public API Surface of @indice/ng-components\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\nexport * from './lib/controls/side-pane/side-pane.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"],"names":["EventEmitter","isPlatformBrowser","i0","PLATFORM_ID","Directive","Inject","Input","Output","i1.ClickOutsideDirective","i2","Component","SCREEN_SIZE","ToastType","SidePaneSize","SidePaneOverlayType","i1","i2.DropDownMenuComponent","i3","TemplateRef","ContentChild","i1.PagerComponent","i2.ListViewEmptyStateComponent","i3.SkeletonLoaderComponent","i4","ContentChildren","NG_VALUE_ACCESSOR","forwardRef","ViewChild","BehaviorSubject","filter","Injectable","i1.ToasterService","i2.ToasterComponent","DOCUMENT","InjectionToken","Subject","Injector","ElementRef","of","NavigationStart","AuthService","Router","i3.ClickOutsideDirective","ActivationStart","i3.ComponentLoaderFactory","i4.ShellHeaderComponent","i5.ShellFooterComponent","i6.SidePaneComponent","i7.ToasterContainerComponent","i8.DynamicComponentHostDirective","ViewChildren","fromEvent","map","debounceTime","distinctUntilChanged","i2.ViewLayoutComponent","i2.SidePaneComponent","i1.ViewLayoutComponent","Pipe","ViewEncapsulation","i1.ModalOptions","HostListener","i1.ComponentLoaderFactory","Optional","CommonModule","RouterModule","IndiceAuthModule","NgModule"],"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/controls/drop-down-menu/drop-down-menu.component.html","../../../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/pager/pager.component.html","../../../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-empty-state.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view-empty-state.component.html","../../../projects/ng-components/src/lib/controls/skeleton-loader/skeleton-loader.component.ts","../../../projects/ng-components/src/lib/controls/skeleton-loader/skeleton-loader.component.html","../../../projects/ng-components/src/lib/controls/list-view/list-view.component.ts","../../../projects/ng-components/src/lib/controls/list-view/list-view.component.html","../../../projects/ng-components/src/lib/controls/collapsible-panel/collapsible-panel.component.ts","../../../projects/ng-components/src/lib/controls/collapsible-panel/collapsible-panel.component.html","../../../projects/ng-components/src/lib/controls/kpi-tile/kpi-tile.component.ts","../../../projects/ng-components/src/lib/controls/kpi-tile/kpi-tile.component.html","../../../projects/ng-components/src/lib/controls/date-picker/date-picker.component.ts","../../../projects/ng-components/src/lib/controls/date-picker/date-picker.component.html","../../../projects/ng-components/src/lib/services/toaster.service.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster.component.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster.component.html","../../../projects/ng-components/src/lib/controls/toaster/toaster-container.component.ts","../../../projects/ng-components/src/lib/controls/toaster/toaster-container.component.html","../../../projects/ng-components/src/lib/controls/avatar-initials/avatar-initials.component.ts","../../../projects/ng-components/src/lib/controls/avatar-initials/avatar-initials.component.html","../../../projects/ng-components/src/lib/controls/toggle/toggle.component.ts","../../../projects/ng-components/src/lib/controls/toggle/toggle.component.html","../../../projects/ng-components/src/lib/controls/side-pane/side-pane.component.ts","../../../projects/ng-components/src/lib/controls/side-pane/side-pane.component.html","../../../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-header/shell-header.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-header/shell-header.component.html","../../../projects/ng-components/src/lib/layouts/shell/shell-footer/shell-footer.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-footer/shell-footer.component.html","../../../projects/ng-components/src/lib/layouts/shell/shell-layout/shell-layout.component.ts","../../../projects/ng-components/src/lib/layouts/shell/shell-layout/shell-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/view-layout/view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/view-layout/view-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/model-view-layout/model-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/model-view-layout/model-view-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/side-view-layout/side-view-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/side-view-layout/side-view-layout.component.html","../../../projects/ng-components/src/lib/layouts/views/form-layout/form-layout.component.ts","../../../projects/ng-components/src/lib/layouts/views/form-layout/form-layout.component.html","../../../projects/ng-components/src/lib/pages/auth/auth-callback/auth-callback.component.ts","../../../projects/ng-components/src/lib/pages/auth/auth-callback/auth-callback.component.html","../../../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/auth/logged-out/logged-out.component.html","../../../projects/ng-components/src/lib/pages/http-status/error/error.component.ts","../../../projects/ng-components/src/lib/pages/http-status/error/error.component.html","../../../projects/ng-components/src/lib/pages/http-status/page-not-found/page-not-found.component.ts","../../../projects/ng-components/src/lib/pages/http-status/page-not-found/page-not-found.component.html","../../../projects/ng-components/src/lib/pages/http-status/unauthorized/unauthorized.component.ts","../../../projects/ng-components/src/lib/pages/http-status/unauthorized/unauthorized.component.html","../../../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/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, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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","<div class=\"dropdown-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <button\r\n type=\"button\"\r\n (click)=\"expanded = !expanded\"\r\n class=\"dropdown-button\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded=\"true\"\r\n aria-labelledby=\"listbox-label\"\r\n >\r\n <span class=\"dropdown-selected-text\">\r\n {{ selectedOption?.text || placeholder }}\r\n </span>\r\n <span class=\"dropdown-button-icon\">\r\n <!-- Heroicon name: solid/selector -->\r\n <svg class=\"dropdown-arrow\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </span>\r\n </button>\r\n <ul\r\n *ngIf=\"expanded && options && options.length > 0\"\r\n class=\"dropdown-ul\"\r\n tabindex=\"-1\"\r\n role=\"listbox\"\r\n aria-labelledby=\"listbox-label\"\r\n aria-activedescendant=\"listbox-option-3\"\r\n >\r\n <ng-container *ngFor=\"let option of options\">\r\n <li\r\n [class]=\"isSelected(option) ? 'dropdown-li-selected' : 'dropdown-li'\"\r\n (click)=\"selectOption(option)\"\r\n id=\"listbox-option-0\"\r\n role=\"option\"\r\n >\r\n <span [class]=\"isSelected(option) ? 'dropdown-li-selected-text' : 'dropdown-li-text'\">\r\n {{ option.text }}\r\n </span>\r\n <span *ngIf=\"isSelected(option)\" class=\"dropdown-li-selected-indicator-container\">\r\n <!-- Heroicon name: solid/check -->\r\n <svg\r\n class=\"dropdown-li-selected-indicator\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\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 public type = 'router';\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 public type = 'external';\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 public type = 'fragment';\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","<div class=\"pager-container\">\r\n <div class=\"pager-container-inner\">\r\n <div class=\"inline-flex\" *ngIf=\"sortOptions && sortOptions.length > 0\">\r\n <lib-drop-down-menu [options]=\"sortOptions\" [selected]=\"sort\" (selectedChanged)=\"sortOptionChanged($event)\"></lib-drop-down-menu>\r\n <button (click)=\"toggleSortdir()\" [disabled]=\"!sort || busy\" class=\"pager-icon-button\">\r\n <span class=\"sr-only\">sort direction</span>\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"sortdirIcon\"></i>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"pager-pages-container\">\r\n <lib-drop-down-menu [options]=\"pageSizeOptions\" [selected]=\"pageSize\" (selectedChanged)=\"pageSizeOptionChanged($event)\"></lib-drop-down-menu>\r\n <div class=\"mx-2\" *ngIf=\"count !== null && count > pageSize\">\r\n <button [disabled]=\"!canPreviousPage || busy\" (click)=\"previousPage()\"\r\n class=\"pager-arrow-button-left\">\r\n <span class=\"sr-only\">Previous</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n <button [disabled]=\"!canNextPage || busy\" (click)=\"nextPage()\"\r\n class=\"pager-arrow-button-right\">\r\n <span class=\"sr-only\">Next</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-drop-down-menu *ngIf=\"(pages && pages.length > 0) && (count !== null && count > pageSize)\" [options]=\"pages\" [selected]=\"page\" (selectedChanged)=\"pageOptionChanged($event)\"></lib-drop-down-menu>\r\n </div>\r\n </div>\r\n</div>\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, 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","<div class=\"p-20\">\n <div class=\"text-center p-2\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"mx-auto h-12 w-12 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\" />\n </svg>\n <h3 class=\"mt-2 text-sm font-medium text-gray-900\">{{title}}</h3>\n <p class=\"mt-1 text-sm text-gray-500\">\n {{subTitle}}\n </p>\n <div class=\"mt-6\" *ngIf=\"false\">\n <button type=\"button\" class=\"inline-flex items-center px-4 py-2 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-gray-600 hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-1 focus:ring-gray-500\">\n <!-- Heroicon name: solid/plus -->\n <svg class=\"-ml-1 mr-2 h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\n <path vector-effect=\"non-scaling-stroke\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\" />\n </svg>\n {{newItemLabel}}\n </button>\n </div>\n </div>\n</div>\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","<!-- <h1>SKELETON LOADER!</h1> -->\r\n<ng-container *ngSwitch=\"type\">\r\n <div class=\"cards-deck-4\" *ngSwitchCase=\"'tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-32 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchCase=\"'large-tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-1\" *ngSwitchCase=\"'table'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto mb-4\">\r\n <div class=\"animate-pulse flex space-x-4\">\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\">&nbsp;</div>\r\n <div class=\"flex-1 space-y-4 py-1\">\r\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\">&nbsp;</div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\">&nbsp;</div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\">&nbsp;</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchDefault>\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\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 public loaderItems: any[] = [];\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 // tslint:disable-next-line:no-input-rename\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 @Input() 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 for (let i = 0; i < 5; i++) {\r\n this.loaderItems.push({});\r\n }\r\n }\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","<div class=\"px-2\">\r\n\r\n <lib-pager *ngIf=\"showPager\"\r\n [page]=\"page\"\r\n [page-size]=\"pageSize\"\r\n [count]=\"count\"\r\n [sort-options]=\"sortOptions\"\r\n [sort]=\"sort\"\r\n [sort-dir]=\"sortdir\"\r\n [busy]=\"busy\"\r\n (pageChanged)=\"emitPageChanged($event)\"\r\n (pageSizeChanged)=\"emitPageSizeChanged($event)\"\r\n (sortChanged)=\"emitSortChanged($event)\"\r\n (sortdirChanged)=\"emitSortdirChanged($event)\">\r\n </lib-pager>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!busy && items && items.length === 0\">\r\n <div class=\"cards-deck-1\">\r\n <lib-list-view-empty-state></lib-list-view-empty-state>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container [ngSwitch]=\"view\">\r\n\r\n <ng-container *ngSwitchCase=\"'tiles'\">\r\n <div [class]=\"tilesDeckClass\">\r\n\r\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\r\n\r\n <ng-container *ngIf=\"items && items.length > 0\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\r\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <!-- *ngSwitchCase=\"'gallery'\" -->\r\n <ng-container *ngSwitchCase=\"'gallery'\">\r\n <ul role=\"list\" [class]=\"tilesDeckClass\">\r\n\r\n <lib-skeleton-loader *ngIf=\"busy\" [count]=\"5\" [type]=\"'tiles'\"></lib-skeleton-loader>\r\n\r\n <ng-container *ngIf=\"!busy && items && items.length > 0\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <span *ngIf=\"!tileTemplate || !tileTemplate.template\">template missing..</span>\r\n <ng-template [ngTemplateOutlet]=\"tileTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n\r\n <!-- *ngSwitchCase=\"'table'\" -->\r\n <ng-container *ngSwitchDefault>\r\n\r\n <div class=\"list-view-container\">\r\n <div class=\"list-view-container-inner\">\r\n <table class=\"list-view-table\">\r\n <thead class=\"list-view-thead\">\r\n <tr>\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <th class=\"list-view-th-details\"></th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <th scope=\"col\"\r\n [class]=\"col.fullWidth ? fullWidthTHClass : 'list-view-th'\">\r\n {{col.title}}\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody class=\"list-view-tbody\" *ngIf=\"busy\">\r\n <ng-container *ngFor=\"let item of loaderItems;let i=index\">\r\n <tr class=\"list-view-tr\">\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <td class=\"list-view-td-details\"\r\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\r\n <button disabled\r\n type=\"button\"\r\n class=\"expand-collapse-button\">\r\n <!-- Heroicon name: solid/plus -->\r\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\r\n </button>\r\n </td>\r\n <ng-template #hiddenDetailsButton>\r\n <td class=\"list-view-td-details\"></td>\r\n </ng-template>\r\n </ng-container>\r\n <td *ngFor=\"let col of columns\"\r\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\r\n <div class=\"w-full animate-pulse h-8 bg-gray-200 rounded\"></div>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <tr *ngIf=\"item.detailsExpanded\">\r\n <td [colSpan]=\"columns.length + 1\"\r\n class=\"list-view-td bg-gray-100\">\r\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n <tbody class=\"list-view-tbody\" *ngIf=\"!busy\">\r\n <ng-container *ngFor=\"let item of items;let i=index\">\r\n <tr class=\"list-view-tr\">\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <td class=\"list-view-td-details\"\r\n *ngIf=\"detailsSectionPropertyCount !== null ? item[detailsSectionPropertyCount] !== 0 : true; else hiddenDetailsButton\">\r\n <button (click)=\"toggleDetails(item)\"\r\n type=\"button\"\r\n class=\"expand-collapse-button\">\r\n <!-- Heroicon name: solid/plus -->\r\n <i [class]=\"item.detailsExpanded ? collapseIcon : expandIcon\"></i>\r\n </button>\r\n </td>\r\n <ng-template #hiddenDetailsButton>\r\n <td class=\"list-view-td-details\"></td>\r\n </ng-template>\r\n </ng-container>\r\n <td *ngFor=\"let col of columns\"\r\n [class]=\"col.fullWidth ? fullWidthTDClass : 'list-view-td'\">\r\n <ng-template [ngTemplateOutlet]=\"col.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"detailsSectionSupported\">\r\n <tr *ngIf=\"item.detailsExpanded\">\r\n <td [colSpan]=\"columns.length + 1\"\r\n class=\"list-view-td bg-gray-100\">\r\n <ng-template [ngTemplateOutlet]=\"detailsTemplate.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-content></ng-content>\r\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","<div class=\"collapsible-panel-container\">\r\n <div class=\"collapsible-panel-container-shadow\">\r\n <div class=\"collapsible-panel-container-inner\">\r\n <button type=\"button\" class=\"collapsible-panel-button\" (click)=\"visible = !visible\">\r\n <div class=\"collapsible-panel-button-content-container\">\r\n <span>{{ title }} </span>\r\n <span class=\"ico-plus\"></span>\r\n </div>\r\n </button>\r\n <div class=\"collapsible-panel-content-container\" *ngIf=\"visible\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\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","<div class=\"card\"\r\n [ngClass]=\"{'card-deck-busy' : busy }\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container\">\r\n <a href=\"#\"\r\n class=\"kpi-tile-action\"\r\n (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n </div>\r\n <p class=\"kpi-tile-value\">{{kpi || '-'}}</p>\r\n <div class=\"card-footer\">\r\n <div class=\"text-xs\">\r\n <a href=\"#\"\r\n class=\"kpi-tile-action\"\r\n (click)=\"emitTileAction($event)\">Περισσότερα</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","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}","<div class=\"relative flex\"\r\n (clickOutside)=\"closeCalendar()\">\r\n\r\n <input type=\"text\"\r\n #dateInput\r\n [readonly]=\"readonly\"\r\n name=\"dateInput\"\r\n (blur)=\"onBlur($event)\"\r\n id=\"dateInput\"\r\n (focus)=\"showCalendar = false\"\r\n [value]=\"value | date: displayFormat\"\r\n class=\"w-full focus:ring-0 focus:outline-none rounded-none sm:text-sm border-gray-300 focus:border-0\"\r\n [ngClass]=\"{'cursor-not-allowed': disabled}\"\r\n [placeholder]=\"disabled ? '' : placeholder\">\r\n\r\n <button type=\"button\"\r\n class=\"relative inline-flex items-center px-2 py-2 border border-gray-300 text-sm font-medium rounded-r-sm text-gray-700 bg-gray-50 hover:bg-gray-100 focus:outline-none focus:ring-1 focus:ring-gray-500 focus:border-gray-500\"\r\n [disabled]=\"disabled\"\r\n (click)=\"openCalendar()\"\r\n [ngClass]=\"{'cursor-not-allowed': disabled}\">\r\n <i class=\"ms-Icon ms-Icon--DateTime2\"></i>\r\n </button>\r\n\r\n <div *ngIf=\"showCalendar\"\r\n class=\"bg-gray-100 mt-10 rounded-sm shadow-md p-4 absolute left-0 z-50 w-full\"\r\n style=\"height:18rem;min-width:16rem;\"\r\n name=\"calendar\">\r\n <div class=\"flex justify-between items-center mb-2\">\r\n <div>\r\n <button type=\"button\"\r\n (click)=\"openYears()\">\r\n <span class=\"text-lg font-bold text-gray-800\">\r\n {{monthNames[month]}}\r\n </span>\r\n <span class=\"ml-1 text-lg text-gray-600 font-normal\">\r\n {{year}}</span>\r\n </button>\r\n </div>\r\n <div *ngIf=\"!showYears; else showYearsPickerTmpl\">\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25\"\r\n (click)=\"previousMonth();\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 19l-7-7 7-7\" />\r\n </svg>\r\n </button>\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25\"\r\n (click)=\"nextMonth()\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 5l7 7-7 7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <ng-template #showYearsPickerTmpl>\r\n <div>\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25 w-1/2\"\r\n (click)=\"previousYear();\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 19l-7-7 7-7\" />\r\n </svg>\r\n </button>\r\n <button type=\"button\"\r\n class=\"transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-200 p-1 rounded-full disabled:opacity-25 w-1/2\"\r\n (click)=\"nextYear()\">\r\n <svg class=\"h-6 w-6 text-gray-500 inline-flex\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 5l7 7-7 7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"flex flex-wrap mb-3 -mx-1\"\r\n *ngIf=\"!showYears; else showCalYearsTmpl\">\r\n <div *ngFor=\"let day of dayNames\"\r\n class=\"text-gray-800 font-medium text-center text-sm uppercase\"\r\n style=\"width: 14.28%\">{{day}}</div>\r\n </div>\r\n\r\n <ng-template #showCalYearsTmpl>\r\n <div class=\"flex flex-wrap -mx-1 items-center\">\r\n <div *ngFor=\"let year of showCalendarYears\"\r\n style=\"width: 18.28%\"\r\n class=\"px-1 mb-1\">\r\n <div (click)=\"selectYearValue(year)\"\r\n class=\"cursor-pointer text-center hover:text-blue-600 text-sm leading-none rounded-full leading-loose transition ease-in-out duration-100\"\r\n [class]=\"year.selected ? 'bg-gray-700 text-blue-600 font-medium' : 'text-gray-800 hover:bg-gray-800'\">{{year.year}}</div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"flex flex-wrap -mx-1 items-center\"\r\n *ngIf=\"!showYears\">\r\n <div *ngFor=\"let blankday of blankDays\"\r\n style=\"width: 14.28%\"\r\n class=\"text-center border p-1 border-transparent text-sm opacity-50\">{{blankday}}</div>\r\n <div *ngFor=\"let date of calendarDates\"\r\n style=\"width: 14.28%\"\r\n class=\"px-1 mb-1\">\r\n <div (click)=\"selectDateValue(date)\"\r\n class=\"cursor-pointer text-center hover:text-blue-600 text-sm leading-none rounded-full leading-loose transition ease-in-out duration-100\"\r\n [class]=\"date.selected ? 'bg-gray-700 text-blue-600 font-medium' : 'text-gray-800 hover:bg-gray-800'\">{{date.day}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>","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, 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","<div aria-live=\"assertive\"\r\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\r\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\r\n <div class=\"toast-container\">\r\n <div class=\"toast-pill\">\r\n <div class=\"toast-context-padding\">\r\n <div class=\"toast-context\"\r\n [ngSwitch]=\"toast?.type\">\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'info'\">\r\n <svg class=\"h-5 w-5 text-blue-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'success'\">\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'error'\">\r\n <svg class=\"h-5 w-5 text-red-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'warning'\">\r\n <svg class=\"h-5 w-5 text-yellow-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchDefault>\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"ml-3 w-0 flex-1\">\r\n <p class=\"toast-title\"\r\n *ngIf=\"toast?.title\">\r\n {{toast?.title}}\r\n </p>\r\n <p class=\"toast-body\">\r\n {{toast?.body}}\r\n </p>\r\n </div>\r\n <div class=\"toast-close-icon\">\r\n <button class=\"toast-close-button\"\r\n (click)=\"closeToast(i)\">\r\n <span class=\"sr-only\">Close</span>\r\n <!-- Heroicon name: solid/x -->\r\n <svg class=\"h-5 w-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","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","<lib-toaster *ngFor=\"let toast of toasts; let i=index\" [toast]=\"toast\" [i]=\"i\" (remove)=\"remove($event)\"></lib-toaster>\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","<div [ngClass]=\"large ? 'avatar-container-large': 'avatar-container'\">\r\n <span [ngClass]=\"large ? 'avatar-text-large': 'avatar-text'\">{{ initials }}</span>\r\n</div>\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}","<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? 'Το αρχείο πρέπει να είναι ιδωτικό' : 'Ιδιωτικό'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>","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","<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\r\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\r\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\r\n <div [class]=\"sizeContainerStyle\">\r\n <div class=\"side-pane\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\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 { AuthService } from '@indice/ng-auth';\r\nimport { Component, OnInit, OnDestroy, Inject, Input } from '@angular/core';\r\nimport { User } from 'oidc-client';\r\nimport { ActivatedRoute, Event, NavigationStart, Router } from '@angular/router';\r\nimport { filter, share } 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 public activeFragment: any | null = null;\r\n\r\n constructor(\r\n @Inject(AuthService) protected authService: AuthService,\r\n @Inject(Router) protected router: Router,\r\n @Inject(ActivatedRoute) protected route: ActivatedRoute,\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.activeFragment = this.route.fragment.pipe(share());\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\nfunction ActivatedRouter(ActivatedRouter: any) {\r\n throw new Error('Function not implemented.');\r\n}\r\n\r\n","<nav>\r\n <div class=\"shell-header-paddings\">\r\n <div [class]=\"border ? 'shell-header-border' : ''\">\r\n <div class=\"shell-header-menu-container\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n <div>\r\n <a href=\"#\" [routerLink]=\"['/']\"><img class=\"app-logo\" [src]=\"config.appLogo\" [alt]=\"config.appLogoAlt\" /></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"shell-header-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <ng-container [ngSwitch]=\"link.type\">\r\n <a *ngSwitchCase=\"'router'\"\r\n href=\"#\"\r\n [routerLink]=\"[link.path]\"\r\n [routerLinkActive]=\"['nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngSwitchCase=\"'external'\"\r\n [href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\"\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngSwitchCase=\"'fragment'\"\r\n routerLink=\".\"\r\n [fragment]=\"link.path\"\r\n [class.active]=\"(activeFragment | async) === link.path\"\r\n\r\n class=\"nav-link\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"shell-header-md-visible\">\r\n <div class=\"shell-header-links-no-grow-container\">\r\n\r\n <ng-container *ngFor=\"let link of links.profileActions | async\">\r\n <a class=\"shell-header-menu-rounded-button\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n [attr.href]=\"link.path\"\r\n [attr.target]=\"link.external ? '_blank' : '_self'\">\r\n <span class=\"sr-only\">{{ link.text }}</span>\r\n <i *ngIf=\"link.icon\"\r\n [class]=\"link.icon\"></i>\r\n </a>\r\n </ng-container>\r\n\r\n <!-- Profile dropdown -->\r\n <div class=\"ml-2 relative\"\r\n (clickOutside)=\"onClickOutside($event)\"\r\n *ngIf=\"profileMenuVisible\">\r\n <div [ngClass]=\"{'shell-header-profile': showUserNameOnHeader}\">\r\n <div *ngIf=\"user && showUserNameOnHeader\"\r\n class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n <button type=\"button\"\r\n *ngIf=\"user\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin(null)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n\r\n <div *ngIf=\"userMenuExpanded\"\r\n [ngClass]=\"showUserNameOnHeader ? 'shell-header-profile-dropdown-with-username' : 'shell-header-profile-dropdown'\"\r\n role=\"menu\"\r\n aria-orientation=\"vertical\"\r\n aria-labelledby=\"user-menu\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-profile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-profile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mobile-menu-button-container\">\r\n <!-- Mobile menu button -->\r\n <button type=\"button\"\r\n (click)=\"mobileMenuExpanded = !mobileMenuExpanded\"\r\n class=\"mobile-menu-button\"\r\n aria-controls=\"mobile-menu\"\r\n [attr.aria-expanded]=\"mobileMenuExpanded\">\r\n <span class=\"sr-only\">Open main menu</span>\r\n <!--Heroicon name: outline/menu Menu open: \"hidden\", Menu closed: \"block\"-->\r\n <svg class=\"block h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M4 6h16M4 12h16M4 18h16\" />\r\n </svg>\r\n <!--Heroicon name: outline/x Menu open: \"block\", Menu closed: \"hidden\"-->\r\n <svg class=\"hidden h-6 w-6\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Mobile menu, show/hide based on menu state. -->\r\n <div class=\"mobile-menu-container\" *ngIf=\"mobileMenuExpanded\" id=\"mobile-menu\">\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of sectionLinks | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a *ngIf=\"!link.external\" [routerLink]=\"link.path\" [routerLinkActive]=\"['nav-link-mobile-active']\" [routerLinkActiveOptions]=\"{ exact: link.exact }\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!user\">\r\n <a href=\"#\" (click)=\"signin($event)\" class=\"nav-link-mobile\">\r\n <i class=\"ms-Icon ms-Icon--Signin mr-2\"></i>Σύνδεση\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"mobile-menu-user-info-container\" *ngIf=\"user\">\r\n <div class=\"mobile-menu-user-info-container-inner\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"mobile-menu-avatar-container\">\r\n <span class=\"mobile-menu-avatar-name\">{{ this.avatarName }}</span>\r\n </span>\r\n </div>\r\n <div class=\"ml-3\">\r\n <div class=\"mobile-menu-user-name\">{{ user.profile.name }}</div>\r\n <div class=\"mobile-menu-user-email\">{{ user.profile.email }}</div>\r\n </div>\r\n <button class=\"mobile-menu-rounded-button\">\r\n <span class=\"sr-only\">View notifications</span>\r\n <!-- Heroicon name: outline/bell -->\r\n <svg class=\"mobile-menu-rounded-button-icon-style\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"mobile-menu-link-container\">\r\n <ng-container *ngFor=\"let link of links.profile | async\">\r\n <a *ngIf=\"link.external\" [attr.href]=\"link.path\" [attr.target]=\"'_blank'\" class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n <a [routerLink]=\"link.path\"\r\n [routerLinkActive]=\"['nav-link-mobile-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: link.exact }\"\r\n class=\"nav-link-mobile\">\r\n {{ link.text }}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\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","<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n © 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\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","<div *ngIf=\"loaded\" [style.display]=\"!loaded ? 'none':'block'\" class=\"shell-container active-side-pane\">\r\n\r\n <div class=\"shell-header-container\" *ngIf=\"activeConfig.showHeader\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-header-container-inner-fluid' : 'shell-header-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customHeaderComponent\">\r\n <div appDynamicComponentHost =\"Header\"></div>\r\n </ng-container>\r\n <lib-shell-header *ngIf=\"!activeConfig.customHeaderComponent\" [show-userName]=\"activeConfig.showUserNameOnHeader\"></lib-shell-header>\r\n </div>\r\n </div>\r\n\r\n <main [class]=\"activeConfig.showHeader ? 'shell-content-container' : 'shell-content-container-no-header'\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-content-container-inner-fluid' : 'shell-content-container-inner'\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </main>\r\n\r\n <div class=\"shell-footer-container\" *ngIf=\"activeConfig.showFooter\">\r\n <div [class]=\"activeConfig.fluid ? 'shell-footer-container-inner-fluid' : 'shell-footer-container-inner'\">\r\n <ng-container *ngIf=\"activeConfig.customFooterComponent\">\r\n <div appDynamicComponentHost hostName=\"Footer\"></div>\r\n </ng-container>\r\n <lib-shell-footer *ngIf=\"!activeConfig.customFooterComponent\"></lib-shell-footer>\r\n </div>\r\n </div>\r\n\r\n <lib-side-pane #rightPane>\r\n <router-outlet name=\"rightpane\" (activate)=\"rightPane.onSidePaneActivated($event)\" (deactivate)=\"rightPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n\r\n <lib-toaster-container></lib-toaster-container>\r\n\r\n</div>\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","<header *ngIf=\"header\" class=\"view-layout-paddings\">\r\n\r\n <div class=\"view-layout-title-container\">\r\n\r\n <div class=\"view-layout-title-container-inner\">\r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\" [class]=\"icon + ' title-icon'\" aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title}}</h1>\r\n </div>\r\n <div *ngIf=\"metaItems && metaItems.length > 0\" class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\" [class]=\"meta.icon + ' meta-icon'\" aria-hidden=\"true\"></i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex items-center justify-end\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\" type=\"button\" href=\"#\" class=\"ml-1 disabled:opacity-50 btn-view-header\" (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i>\r\n <span *ngIf=\"view === action.param\" class=\"selected-view-indicator\"></span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\" #search class=\"search-input\" [placeholder]=\"searchPlaceholder\"\r\n type=\"search\" name=\"search\" (input)=\"searchActionType(search.value)\" (onsearch)=\"handleClear($event)\">\r\n </div>\r\n <button type=\"button\" href=\"#\" class=\"btn-view-header rounded-l-none\" [title]=\"action.tooltip\" (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\" href=\"#\" class=\"ml-1 btn-view-header\" [title]=\"action.tooltip\" (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\" class=\"ml-1 btn-view-header\" [title]=\"action.tooltip\" (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n\r\n<!-- component -->\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>\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","<lib-view-layout [title]=\"title\" [meta-items]=\"metaItems\">\r\n <main class=\"model-view-container\">\r\n <div class=\"model-view-container-inner\">\r\n <aside class=\"model-view-aside\">\r\n <section aria-labelledby=\"menu\" class=\"details-view-aside-header-section\">\r\n <div class=\"model-view-aside-header-container\">\r\n <div class=\"model-view-aside-header-container-inner\">\r\n <ng-content></ng-content>\r\n </div>\r\n <!-- menu items -->\r\n <div class=\"model-view-menu-container\">\r\n <nav class=\"model-view-menu-nav\">\r\n <div class=\"model-view-menu-item\">\r\n <ng-container *ngFor=\"let section of primary\">\r\n <a href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLink]=\"section.link\"\r\n class=\"view-nav-link\">\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"model-view-menu-item-far\">\r\n <ng-container *ngFor=\"let section of secondary\">\r\n <a href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n [routerLink]=\"section.link\"\r\n class=\"view-nav-link\">\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </nav>\r\n </div>\r\n </div>\r\n </section>\r\n </aside>\r\n <div class=\"model-view-details-container\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </main>\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","<div class=\"side-view-layout-size-box\">\r\n <div class=\"side-view-layout-container\">\r\n <div class=\"side-view-layout-container-inner\">\r\n <div class=\"side-view-layout-header-margins\">\r\n <div class=\"side-view-layout-header-container\">\r\n <h2 class=\"side-view-layout-header-title\" id=\"slide-over-title\">\r\n {{title}}\r\n </h2>\r\n <div class=\"side-view-layout-close-button-container\">\r\n <button (click)=\"emitClose()\" class=\"side-view-layout-close-button\">\r\n <span class=\"sr-only\">Close panel</span>\r\n <!-- Heroicon name: outline/x -->\r\n <svg class=\"side-view-layout-close-button-icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"side-view-layout-content-container\">\r\n <!-- Replace with your content -->\r\n <ng-content></ng-content>\r\n <!-- /End replace -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showActions\" class=\"side-view-layout-actions-container\">\r\n <button *ngIf=\"cancelShow\" (click)=\"emitCancel()\" type=\"button\" class=\"side-view-layout-action-button-cancel\">\r\n {{cancelLabel}}\r\n </button>\r\n <button *ngIf=\"okShow\" (click)=\"emitOK()\" class=\"side-view-layout-action-button-submit\" [disabled]=\"disabled\">\r\n {{okLabel}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\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","<div class=\"form-layout-container\">\r\n <div class=\"form-header\" *ngIf=\"title || subTitle || actions\">\r\n <div class=\"form-header-inner\">\r\n <h3 class=\"form-title\">\r\n {{ title }}\r\n </h3>\r\n <p class=\"form-subtitle\">\r\n {{ subTitle }}\r\n </p>\r\n </div>\r\n <div class=\"form-header-actions\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\"\r\n #search\r\n class=\"form-search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\">\r\n </div>\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"btn-form-view-header-search\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"form-content-container\">\r\n <div [ngClass]=\"{'form-content-container-inner': actions}\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <lib-side-pane #formPane (onComplete)=\"onSidePaneDeactivated($event)\">\r\n <router-outlet name=\"formRightPane\"\r\n (activate)=\"formPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"formPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n</div>\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","<lib-view-layout [title]=\"status\" [busy]=\"true\"></lib-view-layout>","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","<lib-view-layout title=\"Έχετε αποσυνδεθεί με επιτυχία!\"></lib-view-layout>","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","<lib-view-layout [show-header]=\"false\" title=\"500 - παρουσιάστηκε σφάλμα!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">500</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">σφάλμα, κατι δεν πήγε καλά...!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n πατήστε εδώ για να επιστρέψετε\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\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","<lib-view-layout [show-header]=\"false\"\r\n title=\"404 - δεν βρέθηκε!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">404</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">δεν βρέθηκε η σελίδα που ζητήσατε!</p>\r\n <a href=\"/\"\r\n class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n πατήστε εδώ για να επιστρέψετε\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>","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","<lib-view-layout [show-header]=\"false\" title=\"401 - δεν επιτρέπεται η πρόσβαση!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">401</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">δεν έχετε τα κατάλληλα δικαιώματα πρόσβασης!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n πατήστε εδώ για να επιστρέψετε\r\n </a>\r\n </div>\r\n </div>\r\n </lib-view-layout>\r\n\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\r\n * 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 { 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","// Public API Surface of @indice/ng-components\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\nexport * from './lib/controls/side-pane/side-pane.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"],"names":["EventEmitter","isPlatformBrowser","i0","PLATFORM_ID","Directive","Inject","Input","Output","i1.ClickOutsideDirective","i2","Component","SCREEN_SIZE","ToastType","SidePaneSize","SidePaneOverlayType","i1","i2.DropDownMenuComponent","i3","TemplateRef","ContentChild","i1.PagerComponent","i2.ListViewEmptyStateComponent","i3.SkeletonLoaderComponent","i4","ContentChildren","NG_VALUE_ACCESSOR","forwardRef","ViewChild","BehaviorSubject","filter","Injectable","i1.ToasterService","i2.ToasterComponent","DOCUMENT","InjectionToken","Subject","Injector","ElementRef","of","NavigationStart","share","AuthService","Router","ActivatedRoute","i3.ClickOutsideDirective","ActivationStart","i3.ComponentLoaderFactory","i4.ShellHeaderComponent","i5.ShellFooterComponent","i6.SidePaneComponent","i7.ToasterContainerComponent","i8.DynamicComponentHostDirective","ViewChildren","fromEvent","map","debounceTime","distinctUntilChanged","i2.ViewLayoutComponent","i2.SidePaneComponent","i1.ViewLayoutComponent","Pipe","ViewEncapsulation","i1.ModalOptions","HostListener","i1.ComponentLoaderFactory","Optional","CommonModule","RouterModule","IndiceAuthModule","NgModule"],"mappings":"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"}