@colijnit/sharedcomponents 1.0.34 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-sharedcomponents.umd.js +47 -5
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +4 -3
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +3 -1
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +7 -5
- package/esm2015/lib/components/stock/stock.component.js +7 -1
- package/esm2015/lib/model/stock-status.model.js +3 -0
- package/esm2015/lib/service/shared-connector.service.js +18 -1
- package/esm2015/lib/service/stock.service.js +6 -1
- package/fesm2015/colijnit-sharedcomponents.js +41 -6
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/stock/stock-information/stock-information.component.d.ts +1 -0
- package/lib/components/stock/stock.component.d.ts +2 -0
- package/lib/components/stock/style/_layout.scss +3 -3
- package/lib/components/stock/style/_material-definition.scss +1 -0
- package/lib/model/stock-status.model.d.ts +6 -0
- package/lib/service/shared-connector.service.d.ts +1 -0
- package/lib/service/stock.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colijnit-sharedcomponents.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/lib/enum/language-code.enum.ts","../../../projects/sharedcomponents/src/lib/utils/string-utils.ts","../../../projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts","../../../projects/sharedcomponents/src/lib/service/dictionary.service.ts","../../../projects/sharedcomponents/src/lib/service/options.service.ts","../../../projects/sharedcomponents/src/lib/service/shared-connector.service.ts","../../../projects/sharedcomponents/src/lib/service/stock.service.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts","../../../projects/sharedcomponents/src/lib/model/icon-svg.ts","../../../projects/sharedcomponents/src/lib/service/icon-cache.service.ts","../../../projects/sharedcomponents/src/lib/enum/icon.enum.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-location/stock-location.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts","../../../projects/sharedcomponents/src/lib/service/shared.service.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts","../../../projects/sharedcomponents/src/lib/model/send-method.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.module.ts","../../../projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts","../../../projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts","../../../projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.component.ts","../../../projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.module.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts","../../../projects/sharedcomponents/src/lib/enum/month.enum.ts","../../../projects/sharedcomponents/src/lib/model/constant/all-months.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts","../../../projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts","../../../projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts","../../../projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts","../../../projects/sharedcomponents/src/lib/model/date-range.ts","../../../projects/sharedcomponents/src/lib/utils/date-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts","../../../projects/sharedcomponents/src/lib/model/weekday.model.ts","../../../projects/sharedcomponents/src/lib/model/week.model.ts","../../../projects/sharedcomponents/src/lib/utils/calendar.utils.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts","../../../projects/sharedcomponents/src/lib/model/month.model.ts","../../../projects/sharedcomponents/src/lib/model/day.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-null-objects.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts","../../../projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts","../../../projects/sharedcomponents/src/lib/pipe/master-pipes.ts","../../../projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts","../../../projects/sharedcomponents/src/lib/utils/map-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"co-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <co-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></co-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._pdf = value;\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);\r\n if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);\r\n if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"co-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-signatures\",\r\n template: `\r\n <co-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></co-signature>\r\n <co-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></co-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","// Static utility functions holder related to strings.\r\nexport class StringUtils {\r\n\r\n /**\r\n * Returns a new string where given placeholder in given source string are replaced by given replacement texts.\r\n *\r\n * Example usage:\r\n *\r\n * source = \"ABCDABCD\"\r\n * placeholder = \"BC\"\r\n * replacementTexts = \"Z\", \"Z\" (REST arguments)\r\n * OUTPUT = \"AZDAZD\"\r\n *\r\n * @param {string} source\r\n * @param {string} placeholder\r\n * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.\r\n * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.\r\n */\r\n public static ReplaceOccurrencesIn(source: string, placeholder: string, ...replacementTexts: string[]): string {\r\n // parameter guards\r\n if (!(source)) {\r\n return undefined;\r\n }\r\n if (!placeholder || replacementTexts.length === 0) {\r\n return source;\r\n }\r\n let outString: string = source;\r\n // one replacementText means replace for all\r\n if (replacementTexts.length === 1) {\r\n // \"g\" is the g flag to replace globally\r\n outString = outString.replace(placeholder, replacementTexts[0]);\r\n } else {\r\n // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)\r\n for (let i: number = 0, len: number = replacementTexts.length; i < len; i++) {\r\n outString = outString.replace(placeholder, replacementTexts[i]);\r\n }\r\n }\r\n return outString;\r\n }\r\n\r\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\r\n public static ParseString(arg: any, defaultValue: string = \"\"): string {\r\n if (!StringUtils.IsString(arg)) {\r\n if (arg && typeof arg.toString === \"function\") {\r\n arg = arg.toString();\r\n } else {\r\n arg = defaultValue;\r\n }\r\n }\r\n return arg;\r\n }\r\n\r\n public static IsString(str: any): boolean {\r\n return typeof str === 'string';\r\n }\r\n\r\n // Returns whether given str is a string and has a length > 0.\r\n public static IsStringWithLength(str: string): boolean {\r\n return str && StringUtils.IsString(str) && str.length > 0;\r\n }\r\n\r\n // Returns given string, escaped for use as string literal in regular expressions.\r\n private static _escapeRegExp(str: string): string {\r\n return str;// .replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^$\\|]/g, \"\\\\$&\");\r\n }\r\n\r\n}\r\n","export class Dictionary {\r\n public strings: {} = {\r\n \"nl\": {},\r\n \"de\": {},\r\n \"fr\": {},\r\n \"en\": {},\r\n };\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {StringUtils} from \"../utils/string-utils\";\r\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n private _loadDictionary() {\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary: Dictionary = new Dictionary();\r\n // eslint-disable-next-line no-magic-numbers\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n // eslint-disable-next-line no-magic-numbers\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || \"\";\r\n }\r\n\r\n if (this.language === undefined) {\r\n this._language = LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class OptionsService {\r\n\r\n public optionsInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n public set options(value: any) {\r\n this._options = value;\r\n }\r\n\r\n public get options(): any {\r\n return this._options;\r\n }\r\n\r\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _options: any;\r\n\r\n constructor(private _dictionary: DictionaryService) {\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n this.options = new Object();\r\n if (obj.hasOwnProperty(\"url\")) {\r\n this.options.url = obj[\"url\"];\r\n }\r\n if (obj.hasOwnProperty(\"schema\")) {\r\n this.options.schema = obj[\"schema\"];\r\n }\r\n if (obj.hasOwnProperty(\"version\")) {\r\n this.options.version = obj[\"version\"];\r\n }\r\n if (obj.hasOwnProperty(\"languageCode\")) {\r\n this.options.languageCode = obj[\"languageCode\"];\r\n } else {\r\n this.options.languageCode = \"NL\";\r\n }\r\n if (obj.hasOwnProperty(\"username\")) {\r\n this.options.username = obj[\"username\"];\r\n }\r\n if (obj.hasOwnProperty(\"password\")) {\r\n this.options.password = obj[\"password\"];\r\n }\r\n if (obj.hasOwnProperty(\"session\")) {\r\n this.options.session = obj[\"session\"];\r\n }\r\n if (obj.hasOwnProperty(\"useLoginEncryption\")) {\r\n this.options.useLoginEncryption = obj[\"useLoginEncryption\"];\r\n }\r\n\r\n this.optionsLoaded.next(true);\r\n }\r\n\r\n public async initialize(options: any): Promise<void> {\r\n if (options) {\r\n await this.createSettingsFromObject(options);\r\n await this._dictionary.setDictionary(this.options.languageCode);\r\n this.optionsInitialized.next(true);\r\n }\r\n }\r\n}\r\n","import {Articles} from '@colijnit/articleapi/build/articles';\r\nimport {Sharedapi} from '@colijnit/sharedapi/build/sharedapi';\r\nimport {Injectable} from '@angular/core';\r\nimport {GetStockHistoryRequest} from '@colijnit/articleapi/build/model/get-stock-history-request';\r\nimport {ArticleStock as ArticleStockBo} from '@colijnit/articleapi/build/model/article-stock.bo';\r\nimport {ArticleStock} from '@colijnit/articleapi/build/model/article-stock';\r\nimport {StockHistoryBo} from '@colijnit/articleapi/build/model/stock-history.bo';\r\nimport {ArticleStockManagement} from '@colijnit/articleapi/build/model/article-stock-management';\r\nimport {ArticleDetailsBo} from '@colijnit/articleapi/build/model/article-details.bo';\r\nimport {StockStatus} from '@colijnit/articleapi/build/model/stock-status.bo';\r\nimport {StockManagementWarehouses} from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';\r\nimport {StockLocation} from '@colijnit/articleapi/build/model/stock-location.bo';\r\nimport {ArticleTransaction} from '@colijnit/articleapi/build/model/article-transaction';\r\nimport {ArticleTransaction as ArticleTransactionBo} from '@colijnit/articleapi/build/model/article-transaction.bo';\r\nimport {OptionsService} from './options.service';\r\nimport {MainApi} from '@colijnit/mainapi';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {BusinessObjectFactory} from '@colijnit/ioneconnector/build/factory/business-object-factory';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedConnectorService {\r\n public articleConnector: Articles;\r\n public sharedConnector: Sharedapi;\r\n public mainConnector: MainApi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n ) {\r\n }\r\n\r\n public async connect(): Promise<void> {\r\n this.articleConnector = new Articles(this._optionsService.options);\r\n this.sharedConnector = new Sharedapi(this._optionsService.options);\r\n this.mainConnector = new MainApi(this._optionsService.options);\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.listAllPrinters().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Printer, result.resultObject));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getSendMethods().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.result) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SendMethod, result.resultObject.result));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getPrintStockStickers(request: PrintStockStickers): Promise<PrintStockStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPrintStockStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintStockStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n // public async getPrintPriceStickers(request: PrintPriceStickers): Promise<PrintPriceStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.printPriceStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintPriceStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n public async getStockHistory(request: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockHistory(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.hasOwnProperty(\"stockHistory\")) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockHistoryBo, result.resultObject.stockHistory));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n })\r\n })\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockInformation(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementWarehouses().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementLocations(warehouseNo).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getOrderConfirmationDefaultSendMethod(relationId).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPurchaseOrderEmailLayouts(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleDetails(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleDetailsBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.updateArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.lockArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public async getStockStatus(): Promise<StockStatus[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockState().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStatus, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.mainConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleTransaction(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleTransactionBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this.articleConnector.commit();\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {StockStickersPrintLayouts} from \"@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {StockStickersEmailLayouts} from \"@colijnit/sharedapi/build/model/report/stock-stickers-email-layouts.bo\";\r\nimport {SendMethodParams} from \"../components/send-method-dialog/send-method-params.interface\";\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StockService {\r\n\r\n public stockStickers: PrintStockStickers;\r\n public printLayoutParams: SendMethodParams;\r\n\r\n constructor(\r\n private _sharedService: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n // public async getPrintStockStickers(data: PrintStockStickers): Promise<void> {\r\n // await this._sharedService.getPrintStockStickers(data);\r\n // }\r\n\r\n // public async getPrintPriceStickers(data: PrintPriceStickers): Promise<void> {\r\n // await this._sharedService.getPrintPriceStickers(data);\r\n // }\r\n\r\n public async getStockHistory(data: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return await this._sharedService.getStockHistory(data);\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return await this._sharedService.getStockInformation(data);\r\n }\r\n\r\n // public async getStockStickerPrintLayouts(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._connector.getStockStickerPrintLayouts(data);\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return await this._sharedService.getArticleDetails(data);\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return await this._sharedService.updateArticleDetails(data);\r\n }\r\n\r\n public async getStockState(): Promise<StockStatus[]> {\r\n return await this._sharedService.getStockStatus();\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._sharedService.getStockStickerTemplates(data);\r\n // }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return await this._sharedService.getStockManagementWarehouses();\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return await this._sharedService.getStockManagementLocations(warehouseNo);\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return await this._sharedService.getOrderConfirmationDefaultSendMethod(relationId);\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return await this._sharedService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return await this._sharedService.getPurchaseOrderEmailLayouts(transactionUUID);\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return await this._sharedService.getArticleTransaction(data);\r\n }\r\n\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return await this._sharedService.lockArticleDetails(data);\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this._sharedService.commit();\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input, OnDestroy,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {OptionsService} from \"../../service/options.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\n\r\n@Component({\r\n selector: \"co-stock\",\r\n template: `\r\n <div class=\"stock-info-container\">\r\n <co-stock-information [article]=\"articleExtended\"\r\n [articleStock]=\"\"\r\n [allAvailableStockInformation]=\"allAvailableStock\"\r\n [allTechnicalStockInformation]=\"allTechnicalStock\"\r\n >\r\n </co-stock-information>\r\n <hr>\r\n <co-stock-information-grid *ngIf=\"showStockInformationGrid\"\r\n [article]=\"articleExtended\"\r\n [stockLocationData]=\"stockLocationInformation\"\r\n [articleStockInformation]=\"stockInformation\"\r\n (transferIconClicked)=\"handleStockTransferClick($event)\"\r\n (historyClicked)=\"getStockHistory()\"\r\n [stockHistoryInformation]=\"stockHistory\"\r\n (okButtonClicked)=\"okButtonClicked.emit()\"\r\n (cancelButtonClicked)=\"cancelButtonClicked.emit()\"\r\n >\r\n </co-stock-information-grid>\r\n <co-stock-location *ngIf=\"showStockLocation\"\r\n (backToStockLines)=\"backToStockLinesClicked()\">\r\n\r\n </co-stock-location>\r\n <co-stock-transfer *ngIf=\"showStockTransfer\"\r\n (handleClick)=\"backToStock()\"\r\n [article]=\"stockTransferArticle\"\r\n [articleToTransfer]=\"stockTransferArticleDetails\"\r\n (handleStickerClicked)=\"handleStickerClicked.emit($event)\"\r\n [articleWarehouse]=\"articleWarehouse\"\r\n [allWarehouses]=\"allWarehouses\"\r\n >\r\n </co-stock-transfer>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockComponent implements OnDestroy {\r\n\r\n @ViewChild(StockComponent)\r\n public stock: StockComponent;\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input()\r\n public set article(article) {\r\n this.articleExtended = article;\r\n this.getStockInformation(article);\r\n };\r\n\r\n @Input()\r\n public articleWarehouse: any[];\r\n\r\n @Input()\r\n public allWarehouses: any[];\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostBinding(\"class.co-stock\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showStockInformationGrid: boolean = true;\r\n public showStockLocation: boolean = false;\r\n public showStockTransfer: boolean = false;\r\n public stockInformation: ArticleStockBo[];\r\n public stockLocationInformation: ArticleStockBo[];\r\n public stockTransferArticle: ArticleStockBo;\r\n public stockTransferArticleDetails: ArticleDetailsBo;\r\n public articleExtended: ArticleExtended;\r\n public stockHistory: StockHistoryBo[];\r\n public allAvailableStock: number = 0;\r\n public allTechnicalStock: number = 0;\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public stockService: StockService,\r\n private _optionsService: OptionsService,\r\n private _dictionary: DictionaryService,\r\n private _changeDetector: ChangeDetectorRef,\r\n ) {\r\n this._subscriptions.push(\r\n this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n public backToStockLinesClicked(): void {\r\n this.showStockLocation = false;\r\n this.showStockInformationGrid = true;\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.stockTransferArticleDetails = event;\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n this.stockService.stockStickers = new PrintStockStickers();\r\n }\r\n\r\n public backToStock(): void {\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n }\r\n\r\n public async getStockHistory(): Promise<void> {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"B\";\r\n stockHistoryInformation.goodId = this.articleExtended.goodId.toString();\r\n this.stockHistory = await this.stockService.getStockHistory(stockHistoryInformation);\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<void> {\r\n const articleData: ArticleStock = new ArticleStock();\r\n articleData.goodId = data.goodId.toString();\r\n articleData.viewKind = \"M\";\r\n this.stockInformation = await this.stockService.getStockInformation(articleData);\r\n this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);\r\n this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);\r\n }\r\n\r\n private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n if (loaded) {\r\n await this._initConnection().then();\r\n }\r\n }\r\n\r\n private async _initConnection(): Promise<void> {\r\n // await this._connector.connect(this._optionsService.options);\r\n\r\n if (this._optionsService.options.url) {\r\n this._dictionary.rootUrl = this._optionsService.options.url.replace(\"/ajaxservice\", \"\");\r\n }\r\n await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n setTimeout(() => {\r\n this._changeDetector.detectChanges();\r\n });\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-information\",\r\n template: `\r\n <div class=\"stock-info\" *ngIf=\"article\">\r\n <div class=\"stock-info-row\" >\r\n <div class=\"stock-info-row-image\">\r\n <div class=\"stock-image\">\r\n <co-image class=\"stock-image\" [source]=\"article.imageData\"></co-image>\r\n </div>\r\n </div>\r\n <div class=\"stock-good-info\">\r\n <div>\r\n <span [textContent]=\"article.description\"></span>\r\n </div>\r\n <div>\r\n <span [textContent]=\"article.articleNumber\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'STOCK_STATUS'\"></label>\r\n <span [textContent]=\"article.stockStatus\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'AMOUNT_IN_STOCK'\"></label>\r\n <span [textContent]=\"allTechnicalStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'AMOUNT_AVAILABLE'\"></label>\r\n <span [textContent]=\"allAvailableStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'AMOUNT_LATER_AVAILABLE'\"></label>\r\n <span [textContent]=\"\"></span>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockInformationComponent {\r\n\r\n public image: string;\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Input()\r\n public articleStock: ArticleStockBo;\r\n\r\n @Input()\r\n public allAvailableStockInformation: number;\r\n\r\n @Input()\r\n public allTechnicalStockInformation: number;\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport const IconSvg: {[iconName: string]: string} = {\r\n \"angle_left_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\\\"/></svg>\",\r\n \"angle_right_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\\\"/></svg>\",\r\n \"arrow_fat_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"37.5 25 25.2 12.7 25.2 20.35 12.5 20.35 12.5 29.66 25.2 29.66 25.2 37.3 37.5 25\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\r\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\"><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\r\n \"at_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z\\\"/></svg>\",\r\n \"bring_forward_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path fill=\\\"#183153\\\" d=\\\"M224 464H448C456.8 464 464 456.8 464 448V224C464 215.2 456.8 208 448 208H384V160H448C483.3 160 512 188.7 512 224V448C512 483.3 483.3 512 448 512H224C188.7 512 160 483.3 160 448V384H208V448C208 456.8 215.2 464 224 464zM64 352C28.65 352 0 323.3 0 288V64C0 28.65 28.65 0 64 0H288C323.3 0 352 28.65 352 64V288C352 323.3 323.3 352 288 352H64z\\\"/></svg>\",\r\n \"check_round\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10ZM23,34l-6.24-9.09,2.81-3.59L23,26.45,27.66,16h5.58Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"delete_left_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M432.1 208.1L385.9 256L432.1 303C442.3 312.4 442.3 327.6 432.1 336.1C423.6 346.3 408.4 346.3 399 336.1L352 289.9L304.1 336.1C295.6 346.3 280.4 346.3 271 336.1C261.7 327.6 261.7 312.4 271 303L318.1 256L271 208.1C261.7 199.6 261.7 184.4 271 175C280.4 165.7 295.6 165.7 304.1 175L352 222.1L399 175C408.4 165.7 423.6 165.7 432.1 175C442.3 184.4 442.3 199.6 432.1 208.1V208.1zM512 64C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H205.3C188.3 448 172 441.3 160 429.3L9.372 278.6C3.371 272.6 0 264.5 0 256C0 247.5 3.372 239.4 9.372 233.4L160 82.75C172 70.74 188.3 64 205.3 64L512 64zM528 128C528 119.2 520.8 112 512 112H205.3C201 112 196.9 113.7 193.9 116.7L54.63 256L193.9 395.3C196.9 398.3 201 400 205.3 400H512C520.8 400 528 392.8 528 384V128z\\\"/></svg>\",\r\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"email\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.79,38.45A17.82,17.82,0,0,1,23.86,40,13.09,13.09,0,0,1,10.41,26.42C10.41,17.63,16.83,10,26.53,10c7.63,0,13.06,5.21,13.06,12.46,0,6.33-3.53,10.3-8.19,10.3a3.42,3.42,0,0,1-3.71-3.32h-.08A6.5,6.5,0,0,1,22,32.76c-2.75,0-4.82-2.11-4.82-5.65a9.85,9.85,0,0,1,10.13-10,12.89,12.89,0,0,1,5.13,1l-1.3,8c-.43,2.54-.13,3.71,1.08,3.75,1.85.09,4.18-2.28,4.18-7.28,0-5.65-3.62-10-10.3-10S13.73,17.76,13.73,26c0,7.25,4.57,11.3,11,11.3A14.81,14.81,0,0,0,31,36ZM28,20.65a5.34,5.34,0,0,0-1.33-.18c-2.85,0-5.09,2.81-5.09,6.12,0,1.64.73,2.68,2.16,2.68,1.59,0,3.27-2,3.66-4.53Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"envelope_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\\\"/></svg>\",\r\n \"file_export_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M568.1 303l-80-80c-9.375-9.375-24.56-9.375-33.94 0s-9.375 24.56 0 33.94L494.1 296H216C202.8 296 192 306.8 192 320s10.75 24 24 24h278.1l-39.03 39.03C450.3 387.7 448 393.8 448 400s2.344 12.28 7.031 16.97c9.375 9.375 24.56 9.375 33.94 0l80-80C578.3 327.6 578.3 312.4 568.1 303zM360 384c-13.25 0-24 10.74-24 24V448c0 8.836-7.164 16-16 16H64.02c-8.836 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v72c0 13.25 10.74 24 23.1 24S384 245.3 384 232V138.6c0-16.98-6.742-33.26-18.75-45.26l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H63.1C28.65 0-.002 28.66 0 64l.0065 384c.002 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64v-40C384 394.7 373.3 384 360 384z\\\"/></svg>\",\r\n \"file_export_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M32 64C32 28.7 60.7 0 96 0H256V128c0 17.7 14.3 32 32 32H416V288H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM416 336V288H526.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H416zm0-208H288V0L416 128z\\\"/></svg>\",\r\n \"file_pdf_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\\\"/></svg>\",\r\n \"file_pdf_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\\\"/></svg>\",\r\n \"message_sms_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448-.0004H64c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7L304 415.1H448c35.25 0 64-28.75 64-63.1V63.1C512 28.75 483.3-.0004 448-.0004zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352zM124.4 192.6C113.6 189.5 103.2 187.2 104.2 181.5c.7813-4.5 10.28-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.375 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34C143.1 147.8 136.5 145.9 130.6 145c-30.69-4.812-53.94 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34C135 239 125.7 241.1 114.3 239.4C107.9 238.4 100.4 235.4 93.38 232.9c-8.375-2.969-16 1.875-18.97 10.19S77.19 261.1 85.5 264.1C92.81 266.8 101.1 269.8 109.4 271C113.7 271.7 117.9 272 121.1 272c24.28 0 41.94-12.03 45.38-32.13C173.1 206.5 141.4 197.5 124.4 192.6zM396.4 192.6C385.6 189.5 375.2 187.2 376.2 181.5c.7813-4.5 10.31-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.406 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34c-6.156-2.125-12.69-4.062-18.59-4.969c-30.75-4.812-53.97 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34c-.7813 4.562-10.12 6.656-21.56 4.938c-6.342-.9883-13.9-3.939-20.88-6.438c-8.375-2.969-16 1.875-18.97 10.19s2.781 17.97 11.09 20.97c7.312 2.656 15.62 5.656 23.88 6.906C385.7 271.7 389.9 272 393.1 272c24.28 0 41.94-12.03 45.38-32.13C445.1 206.5 413.4 197.5 396.4 192.6zM309.1 144.8c-6.469-2.062-13.72 .0625-17.88 5.594L256 197.3L220.8 150.4C216.7 144.9 209.4 142.7 202.9 144.8C196.4 147 192 153.1 192 160v96c0 8.844 7.156 16 16 16S224 264.8 224 256V208l19.19 25.59c6.062 8.062 19.56 8.062 25.62 0L288 208V256c0 8.844 7.156 16 16 16S320 264.8 320 256V160C320 153.1 315.6 147 309.1 144.8z\\\"/></svg>\",\r\n \"message_sms_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\\\"/></svg>\",\r\n \"pdf\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.88c-2.16,0-2.72-.56-2.72-2.72V12.88c0-2.15.56-2.71,2.72-2.71h11.6l8.66,8.88v3.43H32.8V19.6l-7.88-8.09h-11c-1.38,0-1.38,0-1.38,1.37V37.45c0,1.37,0,1.37,1.38,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.83,26.63v4.24h1a3.57,3.57,0,0,0,.78-.06,1.22,1.22,0,0,0,.52-.26,1.44,1.44,0,0,0,.34-.62,4.13,4.13,0,0,0,.13-1.18,3.79,3.79,0,0,0-.13-1.14,1.51,1.51,0,0,0-.37-.62,1.14,1.14,0,0,0-.6-.3,5.93,5.93,0,0,0-1.06-.06Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.86,26.63v1.82h.71a3.57,3.57,0,0,0,1-.1A.88.88,0,0,0,24,28a.84.84,0,0,0,.14-.5.8.8,0,0,0-.2-.57.88.88,0,0,0-.52-.29,6.36,6.36,0,0,0-.93,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.12,4.24a1.68,1.68,0,0,1-.54.63,1.9,1.9,0,0,1-.67.3,6.57,6.57,0,0,1-1.34.1h-.85V32H20.57V25.54h2.07a7.75,7.75,0,0,1,1.54.1,1.73,1.73,0,0,1,.93.63,2,2,0,0,1,.37,1.25A2,2,0,0,1,25.26,28.51Zm6.45,1.66A2.91,2.91,0,0,1,31,31.31a2.28,2.28,0,0,1-.91.51A4,4,0,0,1,29,32H26.54V25.54H28.9a4.21,4.21,0,0,1,1.22.13,2.08,2.08,0,0,1,1,.59,2.79,2.79,0,0,1,.61,1,4.76,4.76,0,0,1,.21,1.52A4.19,4.19,0,0,1,31.71,30.17Zm5.7-3.54h-3.1v1.52H37v1.08H34.31V32H33V25.54h4.39Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"print\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,16.5H12a2,2,0,0,0-2,2v9a2,2,0,0,0,2,2h2v-5H36v5h2a2,2,0,0,0,2-2v-9A2,2,0,0,0,38,16.5ZM37,21a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,37,21Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,11.5v5H15v-5H35m1-1H14v7H36v-7Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,25.5v13H15v-13H35m1-1H14v15H36v-15Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"28.3\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"31.5\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"34.7\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"print_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M111.1 48h254.1L400 81.94V160H448V81.94c0-12.73-5.057-24.94-14.06-33.94l-33.94-33.94C391 5.057 378.8 0 366.1 0H111.1C85.49 0 64.01 21.48 64 47.98l.002 82.28c-.002 0 .002 0 0 0L64 160h48.01L111.1 48zM440 192H72C32.3 192 0 224.3 0 264v112c0 13.25 10.75 24 24 24H80V480c0 17.67 14.33 32 32 32h288c17.67 0 32-14.33 32-32v-80h56c13.25 0 24-10.75 24-24v-112C512 224.3 479.7 192 440 192zM384 464H128v-96h256V464zM464 352h-32c0-17.67-14.33-32-32-32h-288c-17.67 0-32 14.33-32 32h-32V264c0-13.23 10.77-24 24-24h368c13.23 0 24 10.77 24 24V352z\\\"/></svg>\",\r\n \"print_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\\\"/></svg>\",\r\n \"signature_field\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M20.1,25.42a1.1,1.1,0,1,1,1.27,1.45l-3.3,9.07A63.13,63.13,0,0,1,28,28.3l1.26-12-8.26-3-6.77,10A62.4,62.4,0,0,1,17,35.54l3.3-9.07A1.12,1.12,0,0,1,20.1,25.42Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.62\\\" y=\\\"11.43\\\" width=\\\"8.79\\\" height=\\\"2.34\\\" transform=\\\"translate(5.88 -8.14) rotate(20)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.11,37.48c1.44,2.65,4.58,2.94,7.23,2.1,1.41-.44,2.2-1.49,3.44-2.06,2.42-1.1,3.13,1.2,5.36,1.37.42,0,2-.65,1.54-.68-2.55-.19-2.93-3.13-5.51-2.65a4.9,4.9,0,0,0-1.64.71c-.77.49-1.31,1.62-2.07,2l-4.61.56A3.38,3.38,0,0,1,20,37c-.22-.41-2,.28-1.85.5Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"xml\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M21.42,30.17H3.87c-2.16,0-2.72-.56-2.72-2.72V2.88C1.16,.73,1.72,.17,3.87,.17H15.48l8.66,8.88v3.43h-1.34v-2.88L14.92,1.51H3.87q-1.37,0-1.37,1.37V27.45q0,1.37,1.37,1.37H21.42q1.37,0,1.37-1.37v-2.43h1.34v2.43c0,2.16-.56,2.72-2.72,2.72Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.2,.84V7.28c0,1.78,.27,2.05,2.04,2.05h6.22L15.2,.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M9.14,14.27v8.96H28.84V14.27H9.14Zm5.36,7.4l-1.3-2.02-1.3,2.02h-1.42l2-3.05-1.81-2.8h1.38l1.17,1.88,1.15-1.88h1.37l-1.82,2.84,2,3.01h-1.43Zm7.67,0h-1.1v-4.61l-1.16,4.61h-1.14l-1.16-4.61v4.61h-1.1v-5.85h1.77l1.06,3.99,1.05-3.99h1.77v5.85Zm5.33,0h-4.12v-5.81h1.18v4.82h2.94v.99Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\"\r\n};","import {Injectable} from \"@angular/core\";\r\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {IconSvg} from \"../model/icon-svg\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n constructor(\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: Icon | string): SafeHtml {\r\n if (iconName) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: Icon): SafeHtml {\r\n const icon: string = IconSvg[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getRawIcon(iconName: Icon): string {\r\n if (iconName) {\r\n return IconSvg[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in IconSvg) {\r\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\r\n }\r\n }\r\n }\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport enum Icon {\r\n AngleLeftSolid = \"angle_left_solid\",\r\n AngleRightSolid = \"angle_right_solid\",\r\n ArrowFatRight = \"arrow_fat_right\",\r\n ArrowPointLeft = \"arrow_point_left\",\r\n ArrowPointRight = \"arrow_point_right\",\r\n AtSolid = \"at_solid\",\r\n BringForwardRegular = \"bring_forward_regular\",\r\n CheckRound = \"check_round\",\r\n DeleteLeftRegular = \"delete_left_regular\",\r\n DeliveryTruck = \"delivery_truck\",\r\n Email = \"email\",\r\n EnvelopeRegular = \"envelope_regular\",\r\n FileExportRegular = \"file_export_regular\",\r\n FileExportSolid = \"file_export_solid\",\r\n FilePdfRegular = \"file_pdf_regular\",\r\n FilePdfSolid = \"file_pdf_solid\",\r\n MessageSmsRegular = \"message_sms_regular\",\r\n MessageSmsSolid = \"message_sms_solid\",\r\n Pdf = \"pdf\",\r\n Print = \"print\",\r\n PrintRegular = \"print_regular\",\r\n PrintSolid = \"print_solid\",\r\n SignatureField = \"signature_field\",\r\n Xml = \"xml\"\r\n}","import {Component, Output, ViewChild, ViewEncapsulation, EventEmitter, Input} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {CoDropDownListFields} from \"../stock-transfer/co-drop-down-list-fields.interface\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-information-grid\",\r\n template: `\r\n <div class=\"tab-link show\" *ngIf=\"hideOrShowTabs\">\r\n <span class=\"tab-link-buttons\"\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"handleTabClick(tab)\"\r\n [textContent]=\"tab\"\r\n [class.active]=\"tab === activeTab\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"stock-line\">\r\n <div [textContent]=\"activeTabText\"></div>\r\n\r\n </div>\r\n\r\n <div class=\"stock-grid\">\r\n <co-simple-grid *ngIf=\"activeTab === tabs[0] && hideOrShowTabs\"\r\n [data]=\"articleStockInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION'\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK'\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK'\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION'\" [field]=\"'locationNo'\" [order]=\"15\">\r\n <ng-template #template let-row=\"row\">\r\n <span class=\"location-link\" [textContent]=\"'Bekijken'\" (click)=\"onLocationClick(row)\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[1]\"\r\n [data]=\"inOrderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER2'\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CUSTOMER'\" [field]=\"'customerName'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION'\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER'\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick($event)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[2]\"\r\n [data]=\"orderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR'\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RESERVED'\" [field]=\"'reserved'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK'\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE1'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"handleBackToStockClick()\"></span>\r\n </div>\r\n <div class=\"stock-location-right-group\">\r\n <co-drop-down-list [(model)]=\"selectedWarehouse\"\r\n [collection]=\"dataWareHouseCode\"\r\n [fields]=\"dataWareHouseFields\"\r\n [placeholder]=\"'WAREHOUSE'\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n </div>\r\n </div>\r\n\r\n<!-- TODO move to own component stock-location-->\r\n <co-simple-grid [data]=\"articleDetails\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n [showAdd]=\"true\"\r\n [showToolbar]=\"true\"\r\n [showDelete]=\"true\"\r\n [inlineEdit]=\"true\"\r\n (dblClickRow)=\"lockSelectedRow($event)\"\r\n >\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <co-button class=\"stock-lines-button\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"handleBackToStockClick()\"></co-button>\r\n </div>\r\n </div>\r\n <co-simple-grid-column [headerText]=\"'LOCATION'\" [field]=\"'locationNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-drop-down-list [(model)]=\"row.locationNo\"\r\n [collection]=\"stockLocations\"\r\n [fields]=\"dataLocationFields\"\r\n [placeholder]=\"'LOCATION'\"\r\n (click)=\"onLocationDropdownClick()\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'BATCH'\" [field]=\"'batchNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.batchNo\"\r\n [placeholder]=\"'BATCH'\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'SERIAL_NO'\" [field]=\"'serialNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.serialNo\"\r\n [placeholder]=\"'SERIAL_NO'\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'amountInStock'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.amountInStock\"\r\n [label]=\"'STOCK'\"\r\n (modelChange)=\"amountInStockChanged($event)\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ALLOCATED'\" [field]=\"'stockAssigned'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.stockAssigned\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK'\" [field]=\"'amountInStockFree'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.amountInStockFree\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA'\" [field]=\"'currency'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.currency\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE'\" [field]=\"'purchasePrice'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.purchasePrice\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUPPLIER_NUMBER'\" [field]=\"'supplierNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.supplierNo\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER'\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <co-stock-change-amount *ngIf=\"showChangeStockDetails\"\r\n (closeStockChangeAmount)=\"showChangeStockDetails = false\"\r\n [selectedArticleDetailsData]=\"selectedArticleDetailsData\"\r\n >\r\n </co-stock-change-amount>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"showStockHistory\">\r\n <div class=\"stock-button-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"backToStockInformation()\"></span>\r\n </div>\r\n <co-simple-grid [data]=\"stockHistoryInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME'\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION'\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSACTION_TYPE'\" [field]=\"'transType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER'\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE'\" [field]=\"'posLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE'\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK'\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA'\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_ID'\" [field]=\"'relationId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER'\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE'\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-button-toolbar\">\r\n <div class=\"stock-button-left-group\">\r\n <co-button *ngIf=\"activeTab === tabs[0]\" [label]=\"'HISTORY'\" (click)=\"handleHistoryClick()\"></co-button>\r\n </div>\r\n <div class=\"stock-button-middle-group\" *ngIf=\"activeTab !== tabs[0]\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"onOkClick()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"onCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stock-button-middle-group\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"onOkClickSendLocations()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"onCancelClickSendLocations()\"></co-button>\r\n </div>\r\n </div>\r\n </div>\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\"\r\n (closeClick)=\"showSendMethodDialog = false\"\r\n ></co-send-method-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class StockInformationGridComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(StockInformationGridComponent)\r\n public stock: StockInformationGridComponent;\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockLocationData: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockHistoryInformation: StockHistoryBo[];\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly historyClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public image: string;\r\n public show: boolean = false;\r\n public hideOrShowLocationTab: boolean = false;\r\n public showStockHistory: boolean = false;\r\n public showSendMethodDialog: boolean = false;\r\n\r\n public inOrderInformation: ArticleTransactionBo[];\r\n public orderInformation: ArticleTransactionBo[]\r\n public hideOrShowTabs: boolean = true;\r\n public dataWareHouseCode: StockManagementWarehouses[];\r\n public dataWareHouseFields: CoDropDownListFields = { text: \"warehouseDescription\", value: \"warehouseNo\" };\r\n public dataLocationFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n public selectedWarehouse: any;\r\n public selectedLocation: StockLocation;\r\n public stockLocations: StockLocation[];\r\n public articleStockSearchInfo: ArticleStock = new ArticleStock();\r\n public articleDetails: ArticleDetailsBo[];\r\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\r\n public showChangeStockDetails: boolean = false;\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\r\n\r\n public tabs: string[] = [\r\n \"STOCK\",\r\n \"IN_ORDER2\",\r\n \"ORDERS1\"\r\n ];\r\n public activeTab: string = this.tabs[0];\r\n\r\n public get activeTabText(): string {\r\n switch (this.activeTab) {\r\n case this.tabs[0]:\r\n return \"Voorraadregels\";\r\n case this.tabs[1]:\r\n return \"Gevonden in order(s)\";\r\n case this.tabs[2]:\r\n return \"Gevonden in bestellingen\";\r\n default:\r\n return \"Voorraadlocatie regels\";\r\n }\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public handleTabClick(tabData): void {\r\n this.activeTab = tabData;\r\n if (this.activeTab === \"IN_ORDER2\") {\r\n this.getInOrderData();\r\n } if (this.activeTab === \"ORDERS1\") {\r\n this.getOrderData();\r\n }\r\n }\r\n\r\n public onLocationClick(data: ArticleStockBo): void {\r\n this.articleStockSearchInfo.goodId = data.goodId.toString();\r\n this.articleStockSearchInfo.wareHouseNo = data.warehouseNo.toString();\r\n this.articleStockSearchInfo.viewKind = \"D\";\r\n this.selectedWarehouse = data.warehouseNo;\r\n if (!this.dataWareHouseCode) {\r\n this.getStockManagementWarehouses(data);\r\n }\r\n this.getArticleDetails(data);\r\n this.hideOrShowTabs = false;\r\n this.hideOrShowLocationTab = true;\r\n }\r\n\r\n public handleHistoryClick(): void {\r\n this.historyClicked.emit()\r\n this.hideOrShowLocationTab = false;\r\n this.showChangeStockDetails = false;\r\n this.hideOrShowTabs = false;\r\n this.showStockHistory = true;\r\n }\r\n\r\n public backToStockInformation(): void {\r\n this.showStockHistory = false;\r\n this.hideOrShowTabs = true;\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n\r\n public async handleBackToStockClick(): Promise<void> {\r\n this.activeTab = this.tabs[0];\r\n this.hideOrShowTabs = true;\r\n this.hideOrShowLocationTab = false;\r\n this.articleDetails = undefined;\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n if (!(this._stockService.printLayoutParams instanceof PrintPriceStickers)) {\r\n this._stockService.printLayoutParams.goodId = data.goodId;\r\n this._stockService.printLayoutParams.warehouse = data.warehouseNo;\r\n }\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public printStockStickers(): void {\r\n // this._stockService.getPrintStockStickers(this._stockService.printLayoutParams);\r\n }\r\n\r\n public onOkClick(): void {\r\n this.okButtonClicked.emit();\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.cancelButtonClicked.emit();\r\n }\r\n\r\n public openDialogClick(data): void {\r\n this.selectedArticleDetailsData = data;\r\n this.showChangeStockDetails = true;\r\n }\r\n\r\n public getArticleDetails(data: any): void {\r\n // const info = new ArticleStockManagement();\r\n this.articleDetailsInformation.goodId = data.goodId;\r\n this.articleDetailsInformation.lineId = data.lineId;\r\n this.articleDetailsInformation.warehouseNumber = data.warehouseNo;\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public getStockManagementWarehouses(data: ArticleStockBo): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.dataWareHouseCode = warehouses;\r\n this.selectedWarehouse = data.warehouseNo;\r\n })\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n this.articleDetailsInformation.warehouseNumber = event;\r\n if (this.selectedWarehouse || this.selectedWarehouse === 0) {\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n }\r\n\r\n public async getInOrderData(): Promise<void> {\r\n const inOrderData: ArticleTransaction = new ArticleTransaction();\r\n inOrderData.type = \"V\";\r\n inOrderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.inOrderInformation = await this._stockService.getArticleTransaction(inOrderData);\r\n }\r\n\r\n public async getOrderData(): Promise<void> {\r\n const orderData: ArticleTransaction = new ArticleTransaction();\r\n orderData.type = \"I\";\r\n orderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.orderInformation = await this._stockService.getArticleTransaction(orderData);\r\n }\r\n\r\n public onLocationDropdownClick(): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse).then((locations) => {\r\n this.stockLocations = locations;\r\n })\r\n }\r\n\r\n public onLocationSelected(location): void {\r\n this.selectedArticleDetailsData.locationNo = location;\r\n }\r\n\r\n public async onOkClickSendLocations(): Promise<void> {\r\n console.log(this.article)\r\n this.selectedArticleDetailsData.selected = true;\r\n this.selectedArticleDetailsData.goodId = this.article.goodId;\r\n this.selectedArticleDetailsData.entryDate = new Date();\r\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse;\r\n await this._stockService.updateArticleDetails(this.selectedArticleDetailsData);\r\n await this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public onCancelClickSendLocations(): void {\r\n\r\n }\r\n\r\n public amountInStockChanged(data): void {\r\n this.selectedArticleDetailsData.amountInStock = data;\r\n }\r\n\r\n public lockSelectedRow(row): void {\r\n this._stockService.lockArticleDetails(row);\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\n\r\n@Component({\r\n selector: \"co-stock-location\",\r\n template: `\r\n <div class=\"stock-location-wrapper\">\r\n <div class=\"buttons-wrapper\">\r\n <div class=\"stock-button-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"backToStockInformation()\"></span>\r\n </div>\r\n <div class=\"dropdown-wrapper\">\r\n <co-drop-down-list\r\n [collection]=\"allWarehouses\"\r\n [placeholder]=\"'WAREHOUSES'\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n ></co-drop-down-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stock-grid\">\r\n\r\n </div>\r\n <div class=\"button-wrapper\">\r\n <div class=\"button-left\">\r\n <co-button (click)=\"onOkClick()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button (click)=\"onCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockLocationComponent {\r\n\r\n @Input()\r\n public stockLocationInformation: ArticleStock;\r\n\r\n @Output()\r\n public backToStockLines: EventEmitter<any> = new EventEmitter();\r\n\r\n public allWarehouses: any;\r\n\r\n public stockLocationColumns: any[] = [];\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n this.stockLocationColumns.push(\r\n {field: \"location\", headerText: \"WAREHOUSE\", editType: \"none\"},\r\n {field: \"batch\", headerText: \"BATCH\"},\r\n {field: \"serieNo\", headerText: \"SERIAL_NO\"},\r\n {field: \"amountInStock\", headerText: \"STOCK\", textAlign: \"Right\", editType: \"numericEdit\"},\r\n {field: \"allocated\", headerText: \"ALLOCATED\", textAlign: \"Right\"},\r\n {field: \"amountAvailable\", headerText: \"AVAILABLE_STOCK\", textAlign: \"Right\"},\r\n {field: \"PhysicalStock\", headerText: \"PHYSICAL_STOCK\", textAlign: \"Right\"},\r\n {field: \"Valuta\", headerText: \"VALUTA\", textAlign: \"Right\"},\r\n {field: \"PurchasePrice\", headerText: \"PURSCHASE_PRICE\", textAlign: \"Right\"},\r\n {field: \"SupplierNo\", headerText: \"SUPPLIER_NO\", textAlign: \"Right\"},\r\n {field: \"Transfer\", headerText: \"TRANSFER\"},\r\n {field: \"sticker\", headerText: \"STICKER\"},\r\n );\r\n }\r\n\r\n public backToStockInformation(): void {\r\n this.backToStockLines.emit();\r\n }\r\n\r\n public onOkClick(): void {\r\n\r\n }\r\n\r\n public onCancelClick(): void {\r\n\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/articleapi/build/model/print-stock-stickers\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-transfer\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <div class=\"stock-transfer-columns\">\r\n <div *ngIf=\"articleToTransfer\" class=\"stock-transfer-left-column\">\r\n <co-input-text disabled\r\n [label]=\"'Standaard magazijn'\"\r\n [(model)]=\"articleToTransfer.warehouseDescription\"\r\n [textContent]=\"articleToTransfer.warehouseDescription\"\r\n [placeholder]=\"'Standaard magazijn'\"\r\n >\r\n </co-input-text>\r\n <co-input-text disabled\r\n [(model)]=\"articleToTransfer.locationNo\"\r\n [textContent]=\"articleToTransfer.locationNo\"\r\n [placeholder]=\"'Standaard locatie'\">\r\n </co-input-text>\r\n <co-input-text disabled\r\n [(model)]=\"stockSticker.batch\"\r\n [placeholder]=\"'Batch'\">\r\n </co-input-text>\r\n <co-input-text disabled\r\n [(model)]=\"stockSticker.serial\"\r\n [placeholder]=\"'Serie'\">\r\n </co-input-text>\r\n <co-input-text\r\n [(model)]=\"articleToTransfer.amountTransfer\"\r\n [placeholder]=\"'Aantal'\">\r\n </co-input-text>\r\n </div>\r\n\r\n <div class=\"stock-transfer-right-column\">\r\n <co-drop-down-list [collection]=\"warehouses\"\r\n [fields]=\"allWarehousesDropdownFields\"\r\n (modelChange)=\"handleSelectedWarehouse($event)\"\r\n [placeholder]=\"'Magazijn'\"\r\n [(model)]=\"articleToTransfer.targetWarehouse\">\r\n </co-drop-down-list>\r\n <co-drop-down-list [collection]=\"locations\"\r\n [fields]=\"allLocationDropdownFields\"\r\n [(model)]=\"articleToTransfer.targetLocation\"\r\n [placeholder]=\"'Locatie'\"\r\n >\r\n </co-drop-down-list>\r\n <co-drop-down-list [collection]=\"stockState\"\r\n [fields]=\"stockStateDropdownField\"\r\n [placeholder]=\"'Voorraadstatus'\"\r\n [(model)]=\"articleToTransfer.stockStateId\"\r\n >\r\n </co-drop-down-list>\r\n <co-input-text [placeholder]=\"'Omschrijving'\"\r\n [(model)]=\"articleToTransfer.stockStateRemark\">\r\n </co-input-text>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"handleOkClick(articleToTransfer)\"></co-button>\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"handleCancelClick()\"></co-button>\r\n <co-button [textContent]=\"'Sticker'\" (click)=\"handleStickerClick()\"></co-button>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTransferComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public stockSticker: PrintStockStickers;\r\n\r\n @Input()\r\n public article: ArticleStockBo;\r\n\r\n @Input()\r\n public articleToTransfer: ArticleDetailsBo;\r\n\r\n @Input()\r\n public articleWarehouse: any[];\r\n\r\n @Input()\r\n public allWarehouses: any[];\r\n\r\n @Output()\r\n public handleClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public allWarehousesDropdownFields: CoDropDownListFields = {text: \"warehouseDescription\", value: \"warehouseNo\"};\r\n public allLocationDropdownFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n\r\n public showSendMethodDialog: boolean = false;\r\n public warehouses: StockManagementWarehouses[];\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n public locations: StockLocation[];\r\n public selectedWarehouse: any;\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockManagementWarehouses();\r\n this.getStockState();\r\n }\r\n\r\n public async handleOkClick(data: ArticleDetailsBo): Promise<void> {\r\n data.selected = true;\r\n data.entryDate = new Date;\r\n await this._stockService.updateArticleDetails(data);\r\n this.handleClick.emit();\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.handleClick.emit();\r\n }\r\n\r\n public handleSelectedWarehouse(event): void {\r\n this.selectedWarehouse = event;\r\n this.getStockManagementLocations(this.selectedWarehouse);\r\n }\r\n\r\n public async handleStickerClick(): Promise<void> {\r\n this.handleStickerClicked.emit();\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public getStockManagementWarehouses(): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.warehouses = warehouses;\r\n })\r\n }\r\n\r\n public getStockManagementLocations(data): void {\r\n this._stockService.getStockManagementLocations(data).then((locations) => {\r\n this.locations = locations;\r\n })\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class SharedService {\r\n\r\n constructor(\r\n protected options: OptionsService,\r\n protected connector: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n public async init(options: any): Promise<void> {\r\n await this.options.initialize(options);\r\n this.connector.connect();\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return await this.connector.getAllPrinters();\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return await this.connector.getSendMethods();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {ReportingDocumentPrintBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-print-base-request';\r\nimport {ReportingDocumentEmailBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-email-base-request';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SendMethodService {\r\n public reportingDocumentPrintBaseRequestChanged: Subject<ReportingDocumentPrintBaseRequest> = new Subject<ReportingDocumentPrintBaseRequest>();\r\n public reportingDocumentEmailBaseRequestChanged: Subject<ReportingDocumentEmailBaseRequest> = new Subject<ReportingDocumentEmailBaseRequest>();\r\n public reportingDocumentPdfBaseRequestChanged: Subject<ReportingDocumentPdfBaseRequest> = new Subject<ReportingDocumentPdfBaseRequest>();\r\n\r\n public set reportingDocumentPrintBaseRequest(value: ReportingDocumentPrintBaseRequest) {\r\n this._reportingDocumentPrintBaseRequest = value;\r\n this.activePrinter = this._reportingDocumentPrintBaseRequest.printerName;\r\n this.reportingDocumentPrintBaseRequestChanged.next(this._reportingDocumentPrintBaseRequest);\r\n }\r\n public get reportingDocumentPrintBaseRequest(): ReportingDocumentPrintBaseRequest {\r\n return this._reportingDocumentPrintBaseRequest;\r\n }\r\n public set reportingDocumentEmailBaseRequest(value: ReportingDocumentEmailBaseRequest) {\r\n this._reportingDocumentEmailBaseRequest = value;\r\n this.selectedEmailAddresses = this._reportingDocumentEmailBaseRequest.toAddresses.split(';');\r\n this.reportingDocumentEmailBaseRequestChanged.next(this._reportingDocumentEmailBaseRequest);\r\n }\r\n public get reportingDocumentEmailBaseRequest(): ReportingDocumentEmailBaseRequest {\r\n return this._reportingDocumentEmailBaseRequest;\r\n }\r\n public set reportingDocumentPdfBaseRequest(value: ReportingDocumentPdfBaseRequest) {\r\n this._reportingDocumentPdfBaseRequest = value;\r\n this.reportingDocumentPdfBaseRequestChanged.next(this._reportingDocumentPdfBaseRequest);\r\n }\r\n public get reportingDocumentPdfBaseRequest(): ReportingDocumentPdfBaseRequest {\r\n return this._reportingDocumentPdfBaseRequest;\r\n }\r\n\r\n public selectedEmailAddresses: string[] = [];\r\n public activePrinter: string;\r\n\r\n private _reportingDocumentPrintBaseRequest: ReportingDocumentPrintBaseRequest = new ReportingDocumentPrintBaseRequest();\r\n private _reportingDocumentEmailBaseRequest: ReportingDocumentEmailBaseRequest = new ReportingDocumentEmailBaseRequest();\r\n private _reportingDocumentPdfBaseRequest: ReportingDocumentPdfBaseRequest = new ReportingDocumentPdfBaseRequest();\r\n\r\n public removeEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) > -1) {\r\n this.selectedEmailAddresses.splice(this.selectedEmailAddresses.indexOf(address), 1);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n public addEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) < 0) {\r\n this.selectedEmailAddresses.push(address);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n private _updateEmailAddresses(): void {\r\n this._reportingDocumentEmailBaseRequest.toAddresses = this.selectedEmailAddresses.join(';');\r\n this.reportingDocumentEmailBaseRequestChanged.next(this._reportingDocumentEmailBaseRequest);\r\n }\r\n\r\n}\r\n","import {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\n\r\nexport class SendMethod {\r\n public code: SendMethodType;\r\n public description: string;\r\n public icon: string;\r\n\r\n constructor(code: SendMethodType, description: string, icon: string) {\r\n this.code = code;\r\n this.description = description;\r\n this.icon = icon;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Subscription} from 'rxjs';\r\nimport {OptionsService} from '../../service/options.service';\r\nimport {DictionaryService} from '../../service/dictionary.service';\r\nimport {SharedService} from '../../service/shared.service';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {ReportingDocumentPrintBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-print-base-request';\r\nimport {ReportingDocumentEmailBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-email-base-request';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethod} from '../../model/send-method';\r\nimport {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\n\r\nexport const sendMethodsWithIcon: SendMethod[] = [\r\n new SendMethod(SendMethodType.Fax, \"Fax\", Icon.PrintRegular),\r\n new SendMethod(SendMethodType.Print, \"Print\", Icon.PrintSolid),\r\n new SendMethod(SendMethodType.Email, \"Email\", Icon.AtSolid),\r\n new SendMethod(SendMethodType.Edi, \"Edi\", Icon.FileExportSolid),\r\n new SendMethod(SendMethodType.EmailTemplate, \"Email template\", Icon.EnvelopeRegular),\r\n new SendMethod(SendMethodType.Sms, \"Sms\", Icon.MessageSmsSolid),\r\n new SendMethod(SendMethodType.WebService, \"Webservice\", Icon.PrintRegular)\r\n]\r\n\r\n@Component({\r\n selector: 'co-send-method-dialog',\r\n template: `\r\n <co-dialog id=\"sendOptionsDialog\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\"\r\n (closeClick)=\"closeClick.emit($event)\">\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"headerTitle\"></div>\r\n </ng-template>\r\n <div class=\"dialog-content-wrapper\">\r\n <div class=\"send-methods-wrapper\">\r\n <div class=\"send-button-wrapper\" *ngFor=\"let sendMethod of sendMethods; let index = index\"\r\n [class.selected]=\"activeSendMethod ? sendMethod.code === activeSendMethod.code : index === 0\"\r\n (click)=\"handleSendMethodClick(sendMethod)\">\r\n <co-icon class=\"custom-button-icon\" [iconData]=\"iconCacheService.getIcon(sendMethod.icon)\"></co-icon>\r\n <div class=\"custom-button-title\" [textContent]=\"sendMethod.description\"></div>\r\n </div>\r\n </div>\r\n <div #navigationItems class=\"send-method-navigation-wrapper\" [class.smooth-scrolling]=\"!startUp\">\r\n <div #faxItems class=\"send-method-navigation-content co-small-scrollbar\">\r\n\r\n </div>\r\n <div #printItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPrint\">\r\n <co-send-method-printer\r\n [layouts]=\"printLayouts\"\r\n ></co-send-method-printer>\r\n </div>\r\n <div #emailItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmail\">\r\n <co-send-method-email\r\n [emailAddresses]=\"emailAddresses\"\r\n [layouts]=\"emailLayouts\"\r\n ></co-send-method-email>\r\n </div>\r\n <div #ediItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEdi\">\r\n\r\n </div>\r\n <div #emailTemplateItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmailTemplate\">\r\n\r\n </div>\r\n <div #smsItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showSms\">\r\n\r\n </div>\r\n <div #webServiceItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showWebservice\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'Ok'\" (click)=\"okClick.emit(activeSendMethod ? activeSendMethod.code : '0')\"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('slideInOut', [\r\n state('*', style({transform: 'translateX(0%)', width: '100%', opacity: '1'})),\r\n state('void', style({transform: 'translateX(150%)', opacity: '0'})),\r\n transition('void => *', animate(250))\r\n ])\r\n ]\r\n})\r\n\r\nexport class SendMethodDialogComponent implements OnInit, OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('navigationItems', {read: ElementRef})\r\n public navigationItems: ElementRef;\r\n\r\n @ViewChild('faxItems', {read: ElementRef})\r\n public faxItems: ElementRef;\r\n\r\n @ViewChild('printItems', {read: ElementRef})\r\n public printItems: ElementRef;\r\n\r\n @ViewChild('emailItems', {read: ElementRef})\r\n public emailItems: ElementRef;\r\n\r\n @ViewChild('ediItems', {read: ElementRef})\r\n public ediItems: ElementRef;\r\n\r\n @ViewChild('emailTemplateItems', {read: ElementRef})\r\n public emailTemplateItems: ElementRef;\r\n\r\n @ViewChild('smsItems', {read: ElementRef})\r\n public smsItems: ElementRef;\r\n\r\n @ViewChild('webServiceItems', {read: ElementRef})\r\n public webServiceItems: ElementRef;\r\n\r\n @Input()\r\n public reportingDocumentPrintRequest: ReportingDocumentPrintBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentEmailRequest: ReportingDocumentEmailBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentPdfRequest: ReportingDocumentPdfBaseRequest;\r\n\r\n @Input()\r\n public emailLayouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @Input()\r\n public printLayouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n // @Input()\r\n // public priceListCodeData: any;\r\n\r\n @Input()\r\n public headerTitle: string;\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public defaultSendMethod: string;\r\n\r\n @Input()\r\n public visibleMethods: SendMethodType[] | string[] = [];\r\n\r\n @Input()\r\n public isDocSignEnabled: boolean = false;\r\n\r\n @Input()\r\n public docSign: boolean = false;\r\n\r\n @Output()\r\n public reportingDocumentPrintRequestChange: EventEmitter<ReportingDocumentPrintBaseRequest> = new EventEmitter<ReportingDocumentPrintBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentEmailRequestChange: EventEmitter<ReportingDocumentEmailBaseRequest> = new EventEmitter<ReportingDocumentEmailBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentPdfRequestChange: EventEmitter<ReportingDocumentPdfBaseRequest> = new EventEmitter<ReportingDocumentPdfBaseRequest>();\r\n\r\n @Output()\r\n public startSignatureClicked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public okClick: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding('class.co-send-method-dialog')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public sendMethods = sendMethodsWithIcon;\r\n public activeSendMethod: SendMethod;\r\n public upAndLoaded: boolean = false;\r\n public startUp: boolean = true;\r\n\r\n public showFax: boolean = true;\r\n public showPrint: boolean = true;\r\n public showEmail: boolean = true;\r\n public showEdi: boolean = true;\r\n public showSms: boolean = true;\r\n public showEmailTemplate: boolean = true;\r\n public showWebservice: boolean = true;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _optionsService: OptionsService,\r\n private _dictionary: DictionaryService,\r\n private _changeDetector: ChangeDetectorRef,\r\n private _sharedService: SharedService,\r\n private _sendMethodService: SendMethodService\r\n ) {\r\n this._subscriptions.push(\r\n this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\r\n this._sendMethodService.reportingDocumentPrintBaseRequestChanged.subscribe((value: ReportingDocumentPrintBaseRequest) => this.reportingDocumentPrintRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentEmailBaseRequestChanged.subscribe((value: ReportingDocumentEmailBaseRequest) => this.reportingDocumentEmailRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentPdfBaseRequestChanged.subscribe((value: ReportingDocumentPdfBaseRequest) => this.reportingDocumentPdfRequestChange.next(value))\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n if (this.reportingDocumentEmailRequest) {\r\n this._sendMethodService.reportingDocumentEmailBaseRequest = this.reportingDocumentEmailRequest;\r\n }\r\n if (this.reportingDocumentPrintRequest) {\r\n this._sendMethodService.reportingDocumentPrintBaseRequest = this.reportingDocumentPrintRequest;\r\n }\r\n if (this.reportingDocumentPdfRequest) {\r\n this._sendMethodService.reportingDocumentPdfBaseRequest = this.reportingDocumentPdfRequest;\r\n }\r\n this._selectDefaultSendMethod();\r\n this._prepareVisibleMethods();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n public handleSignatureStart(): void {\r\n this.docSign = !this.docSign;\r\n this.startSignatureClicked.emit();\r\n }\r\n\r\n public handleSendMethodClick(sendMethod: SendMethod): void {\r\n this.activeSendMethod = sendMethod;\r\n if (sendMethod.code === SendMethodType.Fax && this.showFax) {\r\n this.navigationItems.nativeElement.scrollLeft = this.faxItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Print && this.showPrint) {\r\n this.navigationItems.nativeElement.scrollLeft = this.printItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Email && this.showEmail) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Edi && this.showEdi) {\r\n this.navigationItems.nativeElement.scrollLeft = this.ediItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.EmailTemplate && this.showEmailTemplate) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailTemplateItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Sms && this.showSms) {\r\n this.navigationItems.nativeElement.scrollLeft = this.smsItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.WebService && this.showWebservice) {\r\n this.navigationItems.nativeElement.scrollLeft = this.webServiceItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n private _selectDefaultSendMethod(): void {\r\n if (this.defaultSendMethod) {\r\n const sendMethod: SendMethod = this.sendMethods.find(sm => sm.code === this.defaultSendMethod);\r\n if (sendMethod) {\r\n setTimeout(() => {\r\n this.handleSendMethodClick(sendMethod);\r\n this.startUp = false;\r\n });\r\n }\r\n } else {\r\n this.startUp = false;\r\n }\r\n }\r\n\r\n private _prepareVisibleMethods(): void {\r\n if (this.visibleMethods && this.visibleMethods.length > 0) {\r\n this.sendMethods = this.sendMethods.filter(sm => this.visibleMethods.find(vm => vm === sm.code));\r\n }\r\n this.showFax = this.sendMethods.find(sm => sm.code === SendMethodType.Fax) !== undefined;\r\n this.showPrint = this.sendMethods.find(sm => sm.code === SendMethodType.Print) !== undefined;\r\n this.showEmail = this.sendMethods.find(sm => sm.code === SendMethodType.Email) !== undefined;\r\n this.showEdi = this.sendMethods.find(sm => sm.code === SendMethodType.Edi) !== undefined;\r\n this.showEmailTemplate = this.sendMethods.find(sm => sm.code === SendMethodType.EmailTemplate) !== undefined;\r\n this.showSms = this.sendMethods.find(sm => sm.code === SendMethodType.Sms) !== undefined;\r\n this.showWebservice = this.sendMethods.find(sm => sm.code === SendMethodType.WebService) !== undefined;\r\n }\r\n\r\n private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n if (loaded) {\r\n await this._initConnection().then();\r\n this.upAndLoaded = true;\r\n }\r\n }\r\n\r\n private async _initConnection(): Promise<void> {\r\n // await this._connector.connect(this._optionsService.options);\r\n\r\n if (this._optionsService.options.url) {\r\n this._dictionary.rootUrl = this._optionsService.options.url.replace('/ajaxservice', '');\r\n }\r\n await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n setTimeout(() => {\r\n this._changeDetector.detectChanges();\r\n });\r\n }\r\n\r\n}\r\n","export class EmailAddressViewmodel {\r\n public checked: boolean;\r\n public emailAddress: string;\r\n\r\n constructor(checked: boolean, emailAddress: string) {\r\n this.checked = checked;\r\n this.emailAddress = emailAddress;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {EmailAddressViewmodel} from '../../model/email-address-viewmodel';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-email',\r\n template: `\r\n <div class=\"email-addresses-wrapper co-small-scrollbar\">\r\n <div class=\"email-address-wrapper\" *ngFor=\"let emailAddressViewmodel of emailAddressViewmodels\" (click)=\"handleCheckedEmail(emailAddressViewmodel)\">\r\n <co-input-checkbox [model]=\"emailAddressViewmodel.checked\" (modelChange)=\"handleCheckedEmail(emailAddressViewmodel)\"></co-input-checkbox>\r\n <div class=\"email-address\" [textContent]=\"emailAddressViewmodel.emailAddress\"></div>\r\n </div>\r\n </div>\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentEmailBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodEmailComponent implements OnInit {\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @HostBinding('class.co-send-method-email')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public emailAddressViewmodels: EmailAddressViewmodel[] = [];\r\n\r\n constructor(public sendMethodService: SendMethodService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.emailAddresses) {\r\n this.emailAddresses.forEach((ea: string) => {\r\n const emailAddressViewmodel: EmailAddressViewmodel = new EmailAddressViewmodel(this.sendMethodService.selectedEmailAddresses.indexOf(ea) > -1, ea);\r\n this.emailAddressViewmodels.push(emailAddressViewmodel);\r\n });\r\n }\r\n }\r\n\r\n public handleCheckedEmail(emailAddressViewmodel: EmailAddressViewmodel): void {\r\n const wantedValue: boolean = !emailAddressViewmodel.checked;\r\n if (!wantedValue) {\r\n this.sendMethodService.removeEmailAddress(emailAddressViewmodel.emailAddress);\r\n } else {\r\n this.sendMethodService.addEmailAddress(emailAddressViewmodel.emailAddress);\r\n }\r\n emailAddressViewmodel.checked = wantedValue;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {ReportLayoutSelectionBase} from '@colijnit/mainapi/build/model/report-layout-selection-base.bo';\r\nimport {ReportingDocumentBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-base-request';\r\n\r\n@Component({\r\n selector: 'co-layout-selection',\r\n template: `\r\n <div class=\"layout-selection-wrapper\" (click)=\"showLayoutList = !showLayoutList\">\r\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\r\n <div class=\"layout-description\" [textContent]=\"currentLayout?.description || 'Layout kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showLayoutList\" @showHideLayouts>\r\n <div class=\"layout-selection-wrapper\" *ngFor=\"let reportLayout of layouts\"\r\n [class.selected]=\"reportLayout.reportId === currentLayout?.reportId\"\r\n (click)=\"handleSelectLayout(reportLayout)\">\r\n <div class=\"layout-description\" [textContent]=\"reportLayout.description\"></div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideLayouts\", [\r\n state(\"void\", style({height: 0})),\r\n state(\"*\", style({height: \"50%\"})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSelectionComponent implements OnInit {\r\n @Input()\r\n public request: ReportingDocumentBaseRequest;\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionBase[] = [];\r\n\r\n @Output()\r\n public requestChange: EventEmitter<ReportingDocumentBaseRequest> = new EventEmitter<ReportingDocumentBaseRequest>();\r\n\r\n @HostBinding('class.co-layout-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public currentLayout: ReportLayoutSelectionBase;\r\n public showLayoutList: boolean = false;\r\n\r\n ngOnInit(): void {\r\n if (this.layouts && this.layouts.length > 0) {\r\n this.currentLayout = this.layouts.find(l => l.reportId === this.request.reportId);\r\n }\r\n }\r\n\r\n public handleSelectLayout(reportLayout: ReportLayoutSelectionBase): void {\r\n this.currentLayout = reportLayout;\r\n this.request.reportId = this.currentLayout.reportId;\r\n this.requestChange.emit(this.request);\r\n this.showLayoutList = false;\r\n }\r\n\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LayoutSelectionComponent} from './layout-selection.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n LayoutSelectionComponent\r\n ],\r\n exports: [\r\n LayoutSelectionComponent\r\n ]\r\n})\r\nexport class LayoutSelectionModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodEmailComponent} from './send-method-email.component';\r\nimport {InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n LayoutSelectionModule\r\n ],\r\n declarations: [\r\n SendMethodEmailComponent\r\n ],\r\n exports: [\r\n SendMethodEmailComponent\r\n ]\r\n})\r\nexport class SendMethodEmailModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-printer',\r\n template: `\r\n <co-printer-selection></co-printer-selection>\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentPrintBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForUser\"\r\n [label]=\"'Koppeling onthouden'\"\r\n (modelChange)=\"handleDefaultPrinterUserChange($event)\"\r\n ></co-input-checkbox>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForAllUsers\"\r\n [label]=\"'Alle gebruikers'\"\r\n (modelChange)=\"handleDefaultPrinterAllUsersChange($event)\"\r\n ></co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodPrinterComponent {\r\n @Input()\r\n public layouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n @HostBinding('class.co-send-method-printer')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService\r\n ) {\r\n }\r\n\r\n public handleDefaultPrinterUserChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForUser = checked;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n }\r\n\r\n public handleDefaultPrinterAllUsersChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForAllUsers = checked;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SharedService} from '../../../../service/shared.service';\r\nimport {IconCacheService} from '../../../../service/icon-cache.service';\r\nimport {Icon} from '../../../../enum/icon.enum';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\n\r\n@Component({\r\n selector: 'co-printer-selection',\r\n template: `\r\n <div class=\"printer-selection-wrapper\" (click)=\"showPrinterList = !showPrinterList\">\r\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\r\n <div class=\"printer-name\" [textContent]=\"sendMethodService.reportingDocumentPrintBaseRequest.printerName || 'Printer kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showPrinterList\" @showHideLayouts>\r\n <div class=\"printer-list-item\" *ngFor=\"let printer of printers\"\r\n [class.selected]=\"sendMethodService.reportingDocumentPrintBaseRequest.printerName === printer.name\"\r\n (click)=\"handlePrinterClicked(printer)\">\r\n <co-icon class=\"printer-icon\" [iconData]=\"iconService.getIcon(icons.PrintRegular)\"></co-icon>\r\n <div class=\"printer-details\">\r\n <span class=\"printer-name\" [textContent]=\"printer.name\"></span>\r\n <span class=\"printer-status\" [textContent]=\"printer.acceptingJobs\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger('showHideLayouts', [\r\n state('void', style({height: 0})),\r\n state('*', style({height: '50%'})),\r\n transition('void => *', animate('200ms ease-in-out')),\r\n transition('* => void', animate('200ms ease-out'))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PrinterSelectionComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-printer-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public printers: Printer[] = [];\r\n public showPrinterList: boolean = false;\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService,\r\n public iconService: IconCacheService,\r\n private _service: SharedService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._service.getAllPrinters().then((printers: Printer[]) => {\r\n this.printers = printers;\r\n if (!this.sendMethodService.reportingDocumentPrintBaseRequest.printerName) {\r\n const defaultPrinter: Printer = this.printers.find(p => p.isDefault);\r\n if (defaultPrinter) {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.printerName = defaultPrinter.name;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public handlePrinterClicked(printer: Printer): void {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.printerName = printer.name;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n this.showPrinterList = false;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PrinterSelectionComponent} from './printer-selection.component';\r\nimport {IconModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n PrinterSelectionComponent\r\n ],\r\n exports: [\r\n PrinterSelectionComponent\r\n ]\r\n})\r\nexport class PrinterSelectionModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodPrinterComponent} from './send-method-printer.component';\r\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {PrinterSelectionModule} from '../printer-selection/printer-selection.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n LayoutSelectionModule,\r\n PrinterSelectionModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n SendMethodPrinterComponent\r\n ],\r\n exports: [\r\n SendMethodPrinterComponent\r\n ]\r\n})\r\nexport class SendMethodPrinterModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ButtonModule, CoDialogModule, IconModule} from '@colijnit/corecomponents_v12';\r\nimport {SendMethodDialogComponent} from './send-method-dialog.component';\r\nimport {StockService} from '../../service/stock.service';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethodEmailModule} from './components/send-method-email/send-method-email.module';\r\nimport {SendMethodPrinterModule} from './components/send-method-printer/send-method-printer.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n SendMethodDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n IconModule,\r\n SendMethodEmailModule,\r\n SendMethodPrinterModule,\r\n ButtonModule\r\n ],\r\n exports: [\r\n SendMethodDialogComponent\r\n ],\r\n providers: [\r\n SendMethodService,\r\n StockService\r\n ]\r\n})\r\nexport class SendMethodDialogModule { }\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-change-amount\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <co-dialog-wizard [showCloseIcon]=\"true\" (closeClick)=\"closeDialogClick()\">\r\n <ng-container header>\r\n <span [textContent]=\"'STOCK_CHANGE_REASON'\"></span>\r\n </ng-container>\r\n <div class=\"popup-wrapper\">\r\n <co-drop-down-list [collection]=\"stockState\"\r\n [fields]=\"stockStateDropdownField\"\r\n [placeholder]=\"'STOCK_STATE'\"\r\n [(model)]=\"selectedArticleDetailsData.stockStateId\"\r\n ></co-drop-down-list>\r\n\r\n <co-input-textarea [(model)]=\"selectedArticleDetailsData.stockStateRemark\"\r\n\r\n ></co-input-textarea>\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"handleOkClick(selectedArticleDetailsData)\"></co-button>\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"handleCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n </co-dialog-wizard>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockChangeAmountComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public selectedArticleDetailsData: ArticleDetailsBo;\r\n\r\n @Output()\r\n public readonly closeStockChangeAmount: EventEmitter<any> = new EventEmitter();\r\n\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockState();\r\n }\r\n\r\n public closeDialogClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public async handleOkClick(data: ArticleDetailsBo): Promise<void> {\r\n data.selected = true;\r\n data.entryDate = new Date();\r\n await this._stockService.updateArticleDetails(data);\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {StockComponent} from \"./stock.component\";\r\nimport {\r\n ButtonModule, CoDialogWizardModule,\r\n CoGridModule,\r\n DropDownModule, IconModule, ImageModule,\r\n InputComboBoxModule, InputNumberPickerModule,\r\n InputRadioButtonModule, InputTextareaModule, InputTextModule, SimpleGridModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {StockInformationComponent} from \"./stock-information/stock-information.component\";\r\nimport {StockInformationGridComponent} from \"./stock-information-grid/stock-information-grid.component\";\r\nimport {StockLocationComponent} from \"./stock-location/stock-location.component\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {StockTransferComponent} from \"./stock-transfer/stock-transfer.component\";\r\nimport {SendMethodDialogModule} from \"../send-method-dialog/send-method-dialog.module\";\r\nimport {StockChangeAmountComponent} from \"./stock-transfer/stock-change-amount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n InputComboBoxModule,\r\n CoGridModule,\r\n ButtonModule,\r\n CommonModule,\r\n InputRadioButtonModule,\r\n DropDownModule,\r\n SimpleGridModule,\r\n ImageModule,\r\n InputTextModule,\r\n SendMethodDialogModule,\r\n IconModule,\r\n InputNumberPickerModule,\r\n CoDialogWizardModule,\r\n InputTextareaModule\r\n ],\r\n declarations: [\r\n StockComponent,\r\n StockInformationComponent,\r\n StockInformationGridComponent,\r\n StockLocationComponent,\r\n StockTransferComponent,\r\n StockChangeAmountComponent\r\n ],\r\n exports: [\r\n StockComponent\r\n ],\r\n providers: [\r\n StockService\r\n ]\r\n})\r\nexport class StockModule {}\r\n","export enum KeyboardCode {\r\n Backspace = \"Backspace\",\r\n Digit0 = \"Digit0\",\r\n Digit1 = \"Digit1\",\r\n Digit2 = \"Digit2\",\r\n Digit3 = \"Digit3\",\r\n Digit4 = \"Digit4\",\r\n Digit5 = \"Digit5\",\r\n Digit6 = \"Digit6\",\r\n Digit7 = \"Digit7\",\r\n Digit8 = \"Digit8\",\r\n Digit9 = \"Digit9\",\r\n Enter = \"Enter\",\r\n Escape = \"Escape\",\r\n Minus = \"Minus\",\r\n Numpad0 = \"Numpad0\",\r\n Numpad1 = \"Numpad1\",\r\n Numpad2 = \"Numpad2\",\r\n Numpad3 = \"Numpad3\",\r\n Numpad4 = \"Numpad4\",\r\n Numpad5 = \"Numpad5\",\r\n Numpad6 = \"Numpad6\",\r\n Numpad7 = \"Numpad7\",\r\n Numpad8 = \"Numpad8\",\r\n Numpad9 = \"Numpad9\",\r\n NumpadDecimal = \"NumpadDecimal\",\r\n NumpadEnter = \"NumpadEnter\",\r\n NumpadSubtract = \"NumpadSubtract\",\r\n Period = \"Period\"\r\n}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {KeyboardCode} from '../../enum/keyboard-code.enum';\r\n\r\n@Component({\r\n selector: 'co-key-pad',\r\n template: `\r\n <div class=\"key-pad-wrapper\">\r\n <div class=\"key-pad-model-wrapper\" *ngIf=\"showValue\">\r\n <div class=\"key-pad-model\" [textContent]=\"internalModel\" [class.negative]=\"isNegative\"></div>\r\n </div>\r\n <div class=\"key-pad-button-wrapper\">\r\n <div class=\"key-pad-button button-7\" [textContent]=\"'7'\" (click)=\"handleButtonClick('7')\"></div>\r\n <div class=\"key-pad-button button-8\" [textContent]=\"'8'\" (click)=\"handleButtonClick('8')\"></div>\r\n <div class=\"key-pad-button button-9\" [textContent]=\"'9'\" (click)=\"handleButtonClick('9')\"></div>\r\n <div class=\"key-pad-button button-bs\" (click)=\"handleBsClick($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.DeleteLeftRegular)\"></co-icon>\r\n </div>\r\n <div class=\"key-pad-button button-4\" [textContent]=\"'4'\" (click)=\"handleButtonClick('4')\"></div>\r\n <div class=\"key-pad-button button-5\" [textContent]=\"'5'\" (click)=\"handleButtonClick('5')\"></div>\r\n <div class=\"key-pad-button button-6\" [textContent]=\"'6'\" (click)=\"handleButtonClick('6')\"></div>\r\n <div class=\"key-pad-button button-minus\" [textContent]=\"'-'\" (click)=\"handleMinusClick($event)\"></div>\r\n <div class=\"key-pad-button button-1\" [textContent]=\"'1'\" (click)=\"handleButtonClick('1')\"></div>\r\n <div class=\"key-pad-button button-2\" [textContent]=\"'2'\" (click)=\"handleButtonClick('2')\"></div>\r\n <div class=\"key-pad-button button-3\" [textContent]=\"'3'\" (click)=\"handleButtonClick('3')\"></div>\r\n <div class=\"key-pad-button button-enter\" (click)=\"handleEnterClick($event)\">\r\n <span [textContent]=\"'enter'\"></span>\r\n </div>\r\n <div class=\"key-pad-button button-0\" [textContent]=\"'0'\" (click)=\"handleButtonClick('0')\"></div>\r\n <div class=\"key-pad-button button-dot\" [textContent]=\"'.'\" (click)=\"handleButtonClick('.')\"></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KeyPadComponent {\r\n public icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set model(value: number) {\r\n this._model = value;\r\n this._internalModel = this._model + \"\";\r\n }\r\n\r\n public get model(): number {\r\n return this._model;\r\n }\r\n\r\n @Input()\r\n public showValue: boolean = true;\r\n\r\n @Input()\r\n public emitModelChangeOnEnter: boolean = true;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @Output()\r\n public internalModelChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public enterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding('class.co-key-pad')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n public handleKeyDown(event: KeyboardEvent) {\r\n this._keyDown(event);\r\n }\r\n\r\n private readonly _validKeyMap: Map<KeyboardCode | string, string> = new Map<KeyboardCode, string>([\r\n [KeyboardCode.Digit0, \"0\"],\r\n [KeyboardCode.Digit1, \"1\"],\r\n [KeyboardCode.Digit2, \"2\"],\r\n [KeyboardCode.Digit3, \"3\"],\r\n [KeyboardCode.Digit4, \"4\"],\r\n [KeyboardCode.Digit5, \"5\"],\r\n [KeyboardCode.Digit6, \"6\"],\r\n [KeyboardCode.Digit7, \"7\"],\r\n [KeyboardCode.Digit8, \"8\"],\r\n [KeyboardCode.Digit9, \"9\"],\r\n [KeyboardCode.Numpad0, \"0\"],\r\n [KeyboardCode.Numpad1, \"1\"],\r\n [KeyboardCode.Numpad2, \"2\"],\r\n [KeyboardCode.Numpad3, \"3\"],\r\n [KeyboardCode.Numpad4, \"4\"],\r\n [KeyboardCode.Numpad5, \"5\"],\r\n [KeyboardCode.Numpad6, \"6\"],\r\n [KeyboardCode.Numpad7, \"7\"],\r\n [KeyboardCode.Numpad8, \"8\"],\r\n [KeyboardCode.Numpad9, \"9\"],\r\n [KeyboardCode.NumpadDecimal, \".\"],\r\n [KeyboardCode.Period, \".\"]\r\n ])\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public set internalModel(value: string) {\r\n this._internalModel = value;\r\n this.isNegative = parseFloat(this._internalModel) < 0;\r\n this.internalModelChange.emit(this._internalModel);\r\n }\r\n\r\n public get internalModel(): string {\r\n return this._internalModel;\r\n }\r\n\r\n public isNegative: boolean = false;\r\n\r\n private _model: number = 0;\r\n private _internalModel: string = \"0\";\r\n private _maxCharacters: number = 11;\r\n\r\n public handleMinusClick(event: MouseEvent | KeyboardEvent): void {\r\n const model: number = parseFloat(this.internalModel);\r\n if (model !== 0) {\r\n if (model < 0) {\r\n this.internalModel = Math.abs(model) + \"\";\r\n } else {\r\n this.internalModel = -model + \"\";\r\n }\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleClearClick(event: MouseEvent | KeyboardEvent): void {\r\n this.internalModel = \"0\";\r\n this._emitModelChange();\r\n }\r\n\r\n public handleBsClick(event: MouseEvent | KeyboardEvent): void {\r\n let wish: string = this.internalModel;\r\n wish = wish.slice(0, wish.length - 1) || \"0\";\r\n if (!isNaN(parseFloat(wish))) {\r\n this.internalModel = parseFloat(wish) + \"\";\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleButtonClick(chr: string): void {\r\n this._updateModel(chr);\r\n }\r\n\r\n public handleEnterClick(event: MouseEvent | KeyboardEvent): void {\r\n this._emitModelChange(true);\r\n this.enterClick.emit();\r\n }\r\n\r\n private _updateModel(value: string): void {\r\n if (value === undefined || value === null ||\r\n (value === '.' && this.internalModel.indexOf('.') > -1) ||\r\n this.internalModel.length >= this._maxCharacters) {\r\n return;\r\n }\r\n this.internalModel = this.internalModel !== \"0\" ? this.internalModel + value : value;\r\n this._emitModelChange();\r\n }\r\n\r\n private _keyDown(event: KeyboardEvent): void {\r\n if (this._isEnter(event)) {\r\n this.handleEnterClick(event);\r\n } else if (this._isMinus(event)) {\r\n this.handleMinusClick(event);\r\n } else if (this._isEscape(event)) {\r\n this.handleClearClick(event);\r\n } else if (this._isBackspace(event)) {\r\n this.handleBsClick(event);\r\n } else {\r\n this._updateModel(this._validKeyMap.get(event.code));\r\n }\r\n }\r\n\r\n private _isEnter(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Enter || event.code === KeyboardCode.NumpadEnter;\r\n }\r\n\r\n private _isMinus(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Minus || event.code === KeyboardCode.NumpadSubtract;\r\n }\r\n\r\n private _isEscape(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Escape;\r\n }\r\n\r\n private _isBackspace(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Backspace;\r\n }\r\n\r\n private _emitModelChange(enter: boolean = false): void {\r\n if ((enter && this.emitModelChangeOnEnter) || (!enter && !this.emitModelChangeOnEnter)) {\r\n const model: number = parseFloat(this.internalModel);\r\n if (!isNaN(model)) {\r\n if (enter && this.emitModelChangeOnEnter) {\r\n this.model = model;\r\n }\r\n this.modelChange.emit(model);\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {KeyPadComponent} from './key-pad.component';\r\nimport {IconModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n KeyPadComponent\r\n ],\r\n exports: [\r\n KeyPadComponent\r\n ]\r\n})\r\nexport class KeyPadModule {\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-layout-switcher\",\r\n template: `\r\n <div class=\"mask-wrapper\" [class.mask-wrapper-active]='showMaskSidebar' @showHideSidebar>\r\n <div class=\"icon-wrapper\" (click)=\"toggleMaskSidebar()\">\r\n <co-icon class=\"icon-mask\" [iconData]=\"iconCacheService.getIcon(icon.BringForwardRegular)\" [@positionIcon]=\"showMaskSidebar\"></co-icon>\r\n\r\n <co-icon class='icon-mask-sidebar-handle' [@positionHandle]='showMaskSidebar' [iconData]=\"showMaskSidebar ? iconCacheService.getIcon(this.icon.AngleLeftSolid) : iconCacheService.getIcon(this.icon.AngleRightSolid)\"></co-icon>\r\n </div>\r\n\r\n <div class=\"mask-content\" *ngIf=\"showMaskSidebar\" @showHideSidebar>\r\n <span *ngFor='let item of this.layoutItems' [class.active]=\"this.activeIndex === this.layoutItems.indexOf(item)\" [textContent]=\"item\" (click)='activeIndex = this.layoutItems.indexOf(item)' ></span>\r\n </div>\r\n </div>\r\n\r\n `,\r\n animations: [\r\n trigger(\"showHideSidebar\", [\r\n state(\"void\", style({\"width\": \"0\"})),\r\n state(\"*\", style({\"width\": \"*\"})),\r\n transition(\"void <=> *\", animate(200))\r\n ]),\r\n trigger(\"positionIcon\", [\r\n state(\"true\", style({\"left\": \"70px\"})),\r\n state(\"false\", style({\"left\": \"10px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ]),\r\n trigger(\"positionHandle\", [\r\n state(\"true\", style({\"left\": \"15px\"})),\r\n state(\"false\", style({\"left\": \"75px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSwitcherComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-layout-switcher')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public layoutItems: string[] = [];\r\n\r\n @Output()\r\n public layoutSwitchEmit:EventEmitter<string> = new EventEmitter<string>();\r\n\r\n public get activeIndex(): number {\r\n return this._activeIndex;\r\n }\r\n\r\n public set activeIndex(index) {\r\n this._activeIndex = index;\r\n this.toggleMaskSidebar();\r\n this.layoutSwitchEmit.emit(this.layoutItems[index]);\r\n }\r\n\r\n public showMaskSidebar: boolean = false;\r\n\r\n private _activeIndex: number = 0;\r\n\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public toggleMaskSidebar(): void {\r\n this.showMaskSidebar = !this.showMaskSidebar;\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\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LayoutSwitcherComponent} from \"./layout-switcher.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n LayoutSwitcherComponent,\r\n ],\r\n exports: [\r\n LayoutSwitcherComponent\r\n ]\r\n})\r\nexport class LayoutSwitcherModule {\r\n\r\n}\r\n","export enum GaugeColor {\r\n Lowest = '#E0E0E0',\r\n Low = '#fff7b8',\r\n MediumLow = '#ffe367',\r\n MediumHigh = '#ffc15b',\r\n High = '#F88952',\r\n Highest = '#5FDCB3',\r\n}\r\n","import { Component, HostBinding, Input, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport {\r\n AxisModel,\r\n CircularGaugeComponent,\r\n} from \"@syncfusion/ej2-angular-circulargauge\";\r\nimport { AnnotationModel } from \"@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis-model\";\r\nimport { GaugeColor } from \"../../enum/gauge-color.enum\";\r\n\r\n@Component({\r\n selector: \"co-circular-gauge\",\r\n template: `\r\n <div class=\"circular-gauge-wrapper\">\r\n <ejs-circulargauge\r\n class=\"circular-gauge\"\r\n [width]=\"'100%'\"\r\n [axes]=\"getAxes()\">\r\n </ejs-circulargauge>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoCircularGaugeComponent {\r\n\r\n @ViewChild('circulargauge')\r\n public circulargauge: CircularGaugeComponent;\r\n\r\n @Input()\r\n public set value(value: number) {\r\n this._value = value;\r\n this._setColor();\r\n }\r\n\r\n public get value(): number {\r\n return this._value;\r\n }\r\n\r\n public get color(): string {\r\n return this._color;\r\n }\r\n\r\n @HostBinding(\"class.co-circular-gauge\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _value: number;\r\n private _color: GaugeColor = GaugeColor.Low;\r\n\r\n public majorTicks: Object = {\r\n height: 0,\r\n };\r\n\r\n public minorTicks: Object = {\r\n height: 0\r\n };\r\n\r\n public labelStyle: Object = {\r\n position: 'Inside', useRangeColor: true,\r\n font: {size: '0px', fontFamily: 'inherit'}\r\n };\r\n\r\n public lineStyle: Object = {\r\n width: 0\r\n };\r\n\r\n public ranges: Object[] = [\r\n {\r\n start: 1, end: 100,\r\n radius: '13px',\r\n startWidth: 3, endWidth: 3,\r\n color: '#E0E0E0',\r\n roundedCornerRadius: 0\r\n },\r\n ];\r\n\r\n public getAxes(): AxisModel[] {\r\n return [{\r\n minimum: 0,\r\n maximum: 100,\r\n radius: '15px',\r\n startAngle: 1,\r\n endAngle: 360,\r\n majorTicks: this.majorTicks,\r\n minorTicks: this.minorTicks,\r\n labelStyle: this.labelStyle,\r\n lineStyle: this.lineStyle,\r\n ranges: this.ranges,\r\n pointers: this.getPointers(),\r\n annotations: this.getAnnotations(),\r\n }];\r\n }\r\n\r\n public getPointers(): Object[] {\r\n if (this.value) {\r\n\r\n return [{\r\n roundedCornerRadius: 0,\r\n value: this.value,\r\n type: 'RangeBar',\r\n radius: '13px',\r\n color: this.color,\r\n border: {\r\n width: 0\r\n },\r\n animation: {\r\n enable: false\r\n },\r\n pointerWidth: 3\r\n }]\r\n }\r\n };\r\n\r\n public getAnnotations(): AnnotationModel[] {\r\n if (this.value !== undefined) {\r\n const label = this.value ? this.value + \"%\" : \"0%\";\r\n\r\n return [{\r\n content: '<div class=\"annotation\" style=\"width:20px;height:20px;\">' +\r\n '<div class=\"annotation-label\">' + label + '</div></div>',\r\n zIndex: '10',\r\n }];\r\n }\r\n }\r\n\r\n private _setColor(): void {\r\n if (this.value == 0) {\r\n this._color = GaugeColor.Lowest;\r\n } else if (this.value >= 1 && this.value < 25) {\r\n this._color = GaugeColor.Low;\r\n } else if (this.value >= 25 && this.value < 50) {\r\n this._color = GaugeColor.MediumLow;\r\n } else if (this.value >= 50 && this.value < 75) {\r\n this._color = GaugeColor.MediumHigh;\r\n } else if (this.value >= 75 && this.value < 100) {\r\n this._color = GaugeColor.High;\r\n } else if (this.value == 100) {\r\n this._color = GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CircularGaugeModule } from \"@syncfusion/ej2-angular-circulargauge\";\r\nimport { CoCircularGaugeComponent } from \"./co-circular-gauge.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CircularGaugeModule\r\n ],\r\n declarations: [\r\n CoCircularGaugeComponent\r\n ],\r\n exports: [\r\n CoCircularGaugeComponent\r\n ]\r\n})\r\nexport class CoCircularGaugeModule {\r\n}\r\n","import { Component, HostBinding, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { GaugeColor } from \"../../enum/gauge-color.enum\";\r\n\r\n@Component({\r\n selector: \"co-linear-gauge\",\r\n template: `\r\n <div class=\"linear-gauge\"\r\n [style.background]=\"getStyle()\"\r\n [style.border-color]=\"color\"\r\n [textContent]=\"count ? count : ''\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoLinearGaugeComponent {\r\n\r\n @Input()\r\n public set value(value: number) {\r\n this._value = value;\r\n this._setColor();\r\n }\r\n\r\n public get value(): number {\r\n return this._value;\r\n }\r\n\r\n @Input()\r\n public count: number;\r\n\r\n @HostBinding(\"class.co-linear-gauge\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _value: number;\r\n public color: GaugeColor = GaugeColor.Low;\r\n\r\n public getStyle(): string {\r\n return `linear-gradient(90deg, ${this.color} 0 ${this.value}%, white ${this.value}% 100%`;\r\n }\r\n\r\n private _setColor(): void {\r\n if (this.value == 0) {\r\n this.color = GaugeColor.Lowest;\r\n } else if (this.value >= 1 && this.value < 25) {\r\n this.color = GaugeColor.Low;\r\n } else if (this.value >= 25 && this.value < 50) {\r\n this.color = GaugeColor.MediumLow;\r\n } else if (this.value >= 50 && this.value < 75) {\r\n this.color = GaugeColor.MediumHigh;\r\n } else if (this.value >= 75 && this.value < 100) {\r\n this.color = GaugeColor.High;\r\n } else if (this.value == 100) {\r\n this.color = GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CoLinearGaugeComponent } from \"./co-linear-gauge.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n CoLinearGaugeComponent\r\n ],\r\n exports: [\r\n CoLinearGaugeComponent\r\n ]\r\n})\r\nexport class CoLinearGaugeModule {\r\n}\r\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\n\r\nexport interface StatusbarData {\r\n label: string,\r\n percentage: number,\r\n count?: number,\r\n totalCount?: number,\r\n}\r\n\r\n@Component({\r\n selector: \"co-statusbar\",\r\n template: `\r\n <div class=\"co-statusbar-wrapper\"\r\n *ngIf=\"statusbarData\"\r\n (click)=\"onStatusbarClick($event)\">\r\n <div class=\"statuses\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status\">\r\n <co-linear-gauge [class.focused-status]=\"focusedStatusIndex !== undefined && focusedStatusIndex === index\"\r\n [value]=\"data.percentage\" [count]=\"data.count ? data.count : undefined\"></co-linear-gauge>\r\n </div>\r\n </div>\r\n <div class=status-description-popup *ngIf=\"showPopup\" @showHidePopup [ngClass]=\"popupClass\" clickOutside (clickOutside)=\"showPopup=false\">\r\n <div class=\"status-descriptions\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status-description\">\r\n <co-circular-gauge [value]=\"data.percentage\"></co-circular-gauge>\r\n <span [textContent]=\"data.label\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHidePopup\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void <=> *\", animate(\"250ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StatusbarComponent {\r\n\r\n @Input()\r\n public set statusbarData(value: StatusbarData[]) {\r\n this._statusbarData = value;\r\n this.adjustTooHighPercentages();\r\n }\r\n\r\n public get statusbarData() {\r\n return this._statusbarData;\r\n }\r\n\r\n @Input()\r\n public focusedStatusIndex: number;\r\n\r\n @Output()\r\n statusbarClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-statusbar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public showPopup: boolean = false;\r\n public popupClass: string = 'dropdown';\r\n private _statusbarData: StatusbarData[];\r\n private _mouseY: number;\r\n private _windowHeight: number;\r\n\r\n public onStatusbarClick(event): void {\r\n this.showPopup = !this.showPopup;\r\n\r\n if (this.showPopup) {\r\n this._mouseY = event.screenY;\r\n this._windowHeight = window.innerHeight;\r\n this.setPopupClass();\r\n }\r\n }\r\n\r\n public setPopupClass(): void {\r\n const popupHeight = this.statusbarData.length * 30;\r\n let dropdownInScreen = (this._mouseY + popupHeight) <= this._windowHeight;\r\n\r\n if (dropdownInScreen) {\r\n this.popupClass = 'dropdown';\r\n } else {\r\n this.popupClass = 'dropup'\r\n }\r\n }\r\n\r\n public adjustTooHighPercentages(): void {\r\n this._statusbarData.forEach(data => data.percentage > 100 ? data.percentage = 100 : false);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ClickoutsideModule } from \"@colijnit/corecomponents_v12\";\r\nimport { CoCircularGaugeModule } from \"../circular-gauge/co-circular-gauge.module\";\r\nimport { CoLinearGaugeModule } from \"../linear-gauge/co-linear-gauge.module\";\r\nimport { StatusbarComponent } from \"./statusbar.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoCircularGaugeModule,\r\n CoLinearGaugeModule,\r\n ClickoutsideModule\r\n ],\r\n declarations: [\r\n StatusbarComponent\r\n ],\r\n exports: [\r\n StatusbarComponent\r\n ]\r\n})\r\nexport class StatusbarModule {\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter, HostBinding,\r\n Input,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {CalendarView} from \"@syncfusion/ej2-angular-calendars\";\r\n\r\n@Component({\r\n selector: \"co-date-planning\",\r\n template: `\r\n <div class=\"sc-agenda\">\r\n <div class=\"content-wrapper\">\r\n <calendar *ngIf=\"calendarNavigation\"\r\n [view]=\"view\"\r\n [(days)]=\"days\"\r\n [selectedDate]=\"selectedDate\" (selectedDateChange)=\"doChangeSelectedDate($event)\"></calendar>\r\n <div class=\"agenda-content-wrapper mini-scrollbar\">\r\n <div class=\"agenda-content\">\r\n <agenda-header [view]=\"view\" (viewChange)=\"doChangeView($event)\"\r\n [firstAvailableDate]=\"firstAvailableDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n [selectedDate]=\"selectedDate\"\r\n (selectedDateChange)=\"doChangeSelectedDate($event)\"\r\n (rangeChange)=\"doChangeSelectedDate($event, true)\"></agenda-header>\r\n <agenda-view [view]=\"view\"\r\n [selectedDate]=\"selectedDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n (eventChecked)=\"eventChecked.emit($event)\"></agenda-view>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <co-button *ngIf=\"showButton && eventsPerDay.length > 0\" class=\"text-only select-agenda-button\"\r\n [label]=\"buttonLabel\"\r\n (click)=\"buttonClick.emit($event)\">\r\n </co-button>\r\n `,\r\n animations: [\r\n trigger(\"showHideWindow\", [\r\n state(\"void\", style({transform: \"scaleY(0)\"})),\r\n state(\"*\", style({transform: \"scaleY(1)\"})),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class DatePlanningComponent {\r\n @ViewChild(\"dayStart\", { static: true })\r\n public dayStart: ElementRef;\r\n\r\n @Input()\r\n public calendarNavigation: boolean = false;\r\n\r\n @Input()\r\n public showButton: boolean = false;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public firstAvailableDate: Date;\r\n\r\n @Input()\r\n public buttonLabel: string = \"\";\r\n\r\n @Input()\r\n public eventsPerDay: any = [];\r\n\r\n @Input()\r\n public view: CalendarView;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public readonly buttonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-date-planning\")\r\n public showClass: boolean = true;\r\n\r\n public days: Date[] = [];\r\n private _selectedDate: Date = new Date();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n private renderer: Renderer2\r\n ) {\r\n }\r\n\r\n public doChangeSelectedDate(date: Date, rangeChanged: boolean = false): void {\r\n this.selectedDate = new Date(date);\r\n if (rangeChanged) {\r\n this.rangeChange.next(this.selectedDate);\r\n } else {\r\n this.selectedDateChange.next(this.selectedDate);\r\n }\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n public doChangeView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.next(this.view);\r\n }\r\n\r\n public scrollToDayStart(): void {\r\n if (this.dayStart !== undefined) {\r\n const dayStart: any = this.renderer.selectRootElement(\"#dayStart\");\r\n if (dayStart) {\r\n setTimeout(() => {\r\n dayStart.scrollIntoView({behavior: \"instant\", block: \"center\"});\r\n });\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"calendar-all-years\",\r\n template: `\r\n <div *ngFor=\"let currentYear of years\"\r\n [textContent]=\"currentYear\"\r\n [class.selected-year]=\"currentYear === year\"\r\n class=\"pointer-hover\"\r\n (click)=\"year = currentYear; yearChange.emit(year)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllYearsComponent implements OnInit {\r\n\r\n @Input()\r\n public year: number;\r\n\r\n @Output()\r\n public readonly yearChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public years: number[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.years.length = 0;\r\n let start: number = this._determineStart();\r\n const end: number = start + 11;\r\n while (start < end) {\r\n this.years.push(start);\r\n start++;\r\n }\r\n }\r\n\r\n private _determineStart(): number {\r\n if (this.year > 0) {\r\n let thisYear: number = this.year;\r\n let thisYearLastDigit: number = parseInt(thisYear.toString().split(\"\").pop());\r\n while (thisYearLastDigit > 0) {\r\n thisYear--;\r\n thisYearLastDigit = parseInt(thisYear.toString().split(\"\").pop());\r\n }\r\n return thisYear;\r\n }\r\n return 0;\r\n }\r\n\r\n}\r\n","// All the months. Values are corresponding dictionary keys in text_nl.\r\nexport enum Month {\r\n January = \"JANUARY\",\r\n Februrary = \"FEBRUARY\",\r\n March = \"MARCH\",\r\n April = \"APRIL\",\r\n May = \"MAY\",\r\n June = \"JUNE\",\r\n July = \"JULY\",\r\n August = \"AUGUST\",\r\n September = \"SEPTEMBER\",\r\n October = \"OCTOBER\",\r\n November = \"NOVEMBER\",\r\n December = \"DECEMBER\"\r\n}\r\n","import {Month} from \"../../enum/month.enum\";\r\n\r\n// All the months in a year. The order is important, and should remain January - to December!\r\nexport const ALL_MONTHS: Month[] = [\r\n Month.January,\r\n Month.Februrary,\r\n Month.March,\r\n Month.April,\r\n Month.May,\r\n Month.June,\r\n Month.July,\r\n Month.August,\r\n Month.September,\r\n Month.October,\r\n Month.November,\r\n Month.December\r\n];\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\n\r\n@Component({\r\n selector: \"calendar-all-months\",\r\n template: `\r\n <div *ngFor=\"let currentMonth of months; let index = index\"\r\n [class.selected-month]=\"month === index\"\r\n [textContent]=\"currentMonth\"\r\n class=\"pointer-hover\"\r\n (click)=\"month = index; monthChange.emit(month)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllMonthsComponent implements OnInit {\r\n\r\n @Input()\r\n public month: number;\r\n\r\n @Input()\r\n public shortDescriptions: boolean = false;\r\n\r\n @Output()\r\n public monthChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public months: string[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.months.length = 0;\r\n this.months = ALL_MONTHS;\r\n }\r\n}\r\n","import {Component, DoCheck, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"calendar-header\",\r\n template: `\r\n <div #monthYearSelect class=\"calendar-header-row\">\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subMonth()\"></co-icon>\r\n <div (click)=\"showMonthYearSelect = true\">\r\n <div class=\"month\" [textContent]=\"currentMonth\"></div>\r\n <div class=\"year\" [textContent]=\"currentYear\"></div>\r\n </div>\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addMonth()\"></co-icon>\r\n </div>\r\n <ng-template #template>\r\n <div *ngIf=\"showMonthYearSelect\"\r\n (clickOutside)=\"hideMonthYearSelection()\"\r\n class=\"select-month-year-window\" [class.expanded]=\"expanded\" @showMonthYearSelect\r\n >\r\n <div>\r\n <calendar-all-months [month]=\"currentMonth\" (monthChange)=\"setNewMonth($event)\" shortDescriptions></calendar-all-months>\r\n <div class=\"vertical-divider\"></div>\r\n <calendar-all-years [year]=\"currentYear\" (yearChange)=\"setNewYear($event)\"></calendar-all-years>\r\n </div>\r\n<!-- <default-ok-cancel-buttons-->\r\n<!-- (okClick)=\"changeMonthYear()\"-->\r\n<!-- (cancelClick)=\"showMonthYearSelect = false\"-->\r\n<!-- >-->\r\n<!-- </default-ok-cancel-buttons>-->\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger(\"showMonthYearSelect\", [\r\n state(\"void\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(0)\"\r\n })),\r\n state(\"*\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(1)\"\r\n })),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ]\r\n})\r\n\r\nexport class CalendarHeaderComponent implements DoCheck {\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public showMonthYearSelect: boolean = false;\r\n\r\n public expanded: boolean = false;\r\n\r\n public currentMonth: string;\r\n\r\n public currentYear: number;\r\n\r\n public selectedMonth: number;\r\n\r\n public selectedYear: number;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this.selectedDate) {\r\n this.currentMonth = ALL_MONTHS[this.selectedDate.getMonth()];\r\n this.currentYear = this.selectedDate.getFullYear();\r\n }\r\n }\r\n\r\n public subMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() - 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public addMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() + 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public hideMonthYearSelection(): void {\r\n this.expanded = false;\r\n this.showMonthYearSelect = false;\r\n }\r\n\r\n public setNewMonth(month: number): void {\r\n this.selectedMonth = month;\r\n }\r\n\r\n public setNewYear(year: number): void {\r\n this.selectedYear = year;\r\n }\r\n\r\n public changeMonthYear(): void {\r\n this.hideMonthYearSelection();\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(this.selectedMonth);\r\n newDate.setFullYear(this.selectedYear);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","export enum CalendarView {\r\n DayView = \"DAY\",\r\n WeekView = \"WEEK\",\r\n WeekSelectView = \"WEEK_SELECT\",\r\n MonthView = \"MONTH\"\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\n\r\n@Component({\r\n selector: \"calendar\",\r\n template: `\r\n <div class=\"sc-calendar\">\r\n <calendar-header [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-header>\r\n <calendar-view [view]=\"view\" [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CalendarComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Input()\r\n public days: Date[] = [];\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n constructor() {\r\n }\r\n\r\n public changeSelectedDate(date: Date): void {\r\n this.selectedDate = date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\n\n@Pipe({\n name: \"arrayNumber\"\n})\nexport class ArrayNumberPipe implements PipeTransform {\n\n transform(length: number, offset: number = 0): number[] {\n if (!length || length < 0) {\n return [];\n }\n return Array.from({length: Math.round(length)}, (x, i) => i + offset);\n }\n}\n","// @returns true iff given value does not equals null and does not equal undefined\r\nexport function notNill(value: any): boolean {\r\n return value !== null && value !== undefined;\r\n}\r\n","import {TimePeriod} from \"../enum/time-period.enum\";\r\n\r\nexport class DateRange {\r\n public startDate: Date;\r\n public endDate: Date;\r\n public selectedTimePeriod: TimePeriod;\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Month} from \"../enum/month.enum\";\r\nimport {ALL_MONTHS} from \"../model/constant/all-months\";\r\nimport {notNill} from \"./function/not-nill.function\";\r\nimport * as moment from \"moment\";\r\nimport {Moment} from \"moment\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateRange} from \"../model/date-range\";\r\n\r\nDate.prototype.toJSON = function() {\r\n return moment(this).format('YYYY-MM-DD[T]HH:mm:ss');\r\n}\r\n\r\n// static utility function holder related to dates\r\nexport class DateUtils {\r\n public static readonly BACKEND_DATE_FORMAT: string = 'YYYY-MM-DD[T]HH:mm:ss';\r\n public static datePipe: DatePipe = new DatePipe('shortDate');\r\n\r\n public static NowAsString(): string {\r\n return DateUtils.ParseDate(new Date(), DateUtils.BACKEND_DATE_FORMAT);\r\n }\r\n\r\n public static ParseDate(date: Date, format: string = \"d-m-y\"): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const day: string = (\"0\" + date.getDate()).slice(-2);\r\n const month: string = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const year: string = date.getFullYear() + \"\";\r\n\r\n const formatParts: string[] = format.split(\"-\");\r\n const dateParts: string[] = [];\r\n\r\n\r\n for (let i: number = 0, l: number = formatParts.length; i < l; i++) {\r\n switch (formatParts[i]) {\r\n case \"d\" :\r\n case \"DD\" :\r\n dateParts.push(day);\r\n break;\r\n case \"m\" :\r\n case \"MM\" :\r\n dateParts.push(month);\r\n break;\r\n case \"y\" :\r\n case \"YYYY\" :\r\n dateParts.push(year);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n return dateParts.join(\"-\");\r\n }\r\n\r\n public static GetWeekNumber(date: Date): number {\r\n date = new Date(date.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\r\n return Math.ceil((((date.getTime() - new Date(date.getFullYear(), 0, 1).getTime()) / 8.64e7) + 1) / 7);\r\n }\r\n\r\n // Returns the number of days from now, for the given date in the future. Returns negative days if given date is in the past from now.\r\n public static GetDaysFromNow(date: Date): number {\r\n return DateUtils.GetDayDifference(new Date(Date.now()), date);\r\n }\r\n\r\n public static StringAsDate(str: string, format: string = DateUtils.BACKEND_DATE_FORMAT): Date {\r\n if (notNill(str)) {\r\n if (!isNaN(Number(str))) {\r\n return new Date(str);\r\n } else {\r\n const time: any = moment(str, format, true);\r\n return time.isValid() ? new Date(time) : undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n public static MomentToDate(time: Moment): Date {\r\n if (!time || !time.isValid()) {\r\n return undefined;\r\n }\r\n\r\n const d: Date = new Date(time.format(DateUtils.BACKEND_DATE_FORMAT));\r\n d.setHours(time.hours());\r\n d.setMinutes(time.minutes());\r\n d.setSeconds(time.seconds());\r\n return d;\r\n }\r\n\r\n public static GetCurrentMonth(): Month {\r\n return ALL_MONTHS[new Date().getMonth()];\r\n }\r\n\r\n // @returns e.g. [\"FEBRUARI\", \"MARCH\", ..] if it's Februari today, otherwise e.g. [\"APRIL\", \"MAY\", ...] if it's April today\r\n public static Get12MonthsArrayWithFirstMonthIsCurrentMonth(): Month[] {\r\n const answer: Month[] = [];\r\n\r\n let monthNrToAdd: number = new Date().getMonth();\r\n for (let i: number = 0; i < 12; i++) {\r\n answer.push(ALL_MONTHS[monthNrToAdd]);\r\n monthNrToAdd = (monthNrToAdd + 1) % ALL_MONTHS.length;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n public static GetFirstDayOfWeek(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n let firstDay: Date;\r\n const dayOfWeek: number = date.getDay() || 7;\r\n if (dayOfWeek === 1) {\r\n firstDay = new Date(date);\r\n } else {\r\n firstDay = new Date(date);\r\n firstDay.setHours(-24 * (dayOfWeek - 1));\r\n }\r\n return firstDay;\r\n }\r\n\r\n public static GetLastDayOfWeek(date: Date): Date {\r\n const firstDayOfWeek: Date = DateUtils.GetFirstDayOfWeek(date);\r\n const lastDayOfWeek: Date = new Date(firstDayOfWeek);\r\n lastDayOfWeek.setDate(firstDayOfWeek.getDate() + 6);\r\n return lastDayOfWeek;\r\n }\r\n\r\n public static GetFirstDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month, 1);\r\n }\r\n\r\n public static GetLastDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month + 1, 0);\r\n }\r\n\r\n public static DatesEqual(date1: Date, date2: Date): boolean {\r\n let result: boolean = false;\r\n if (DateUtils._ValidDate(date1) && DateUtils._ValidDate(date2)) {\r\n result =\r\n date1.getDate() === date2.getDate() &&\r\n date1.getMonth() === date2.getMonth() &&\r\n date1.getFullYear() === date2.getFullYear();\r\n }\r\n return result;\r\n }\r\n\r\n public static DateRangeEqual(dates1: DateRange, dates2: DateRange): boolean {\r\n return (this.DatesEqual(dates1.startDate, dates2.startDate) &&\r\n this.DatesEqual(dates1.endDate, dates2.endDate));\r\n }\r\n\r\n public static AddMinutes(date: Date, minutes: number): Date {\r\n return new Date(date.getTime() + (minutes * 60000));\r\n }\r\n\r\n public static AddDays(date: Date, days: number): Date {\r\n const result: Date = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n }\r\n\r\n public static AddMonths(date: Date, months: number): Date {\r\n const result: Date = new Date(date);\r\n result.setMonth(result.getMonth() + months);\r\n return result;\r\n }\r\n\r\n public static DetermineDSTBreakpoints(): { start: string, end: string } {\r\n const endOfYear: Date = new Date(new Date().getFullYear(), 11, 1);\r\n let checkDate: Date = new Date(new Date().getFullYear(), 0, 1);\r\n let offset: number = checkDate.getTimezoneOffset();\r\n\r\n const periodStart: Date = new Date();\r\n let periodStartSet: boolean = false;\r\n const periodEnd: Date = new Date();\r\n let periodEndSet: boolean = false;\r\n while (checkDate.getTime() < endOfYear.getTime()) {\r\n checkDate = this.AddMinutes(checkDate, 60);\r\n if (offset < checkDate.getTimezoneOffset()) {\r\n periodEnd.setTime(checkDate.getTime());\r\n periodEndSet = true;\r\n } else if (offset > checkDate.getTimezoneOffset()) {\r\n periodStart.setTime(checkDate.getTime());\r\n periodStartSet = true;\r\n }\r\n offset = checkDate.getTimezoneOffset();\r\n if (periodStartSet && periodEndSet) {\r\n break;\r\n }\r\n }\r\n\r\n if (periodStartSet && periodEndSet) {\r\n return {\r\n start: this._DateToTimeStringWithDateFormat(periodStart),\r\n end: this._DateToTimeStringWithDateFormat(periodEnd)\r\n };\r\n } else {\r\n return {start: undefined, end: undefined}; // important otherwise we return new Date() for both\r\n }\r\n }\r\n\r\n private static _ValidDate(date: Date): boolean {\r\n return date !== null && date !== undefined;\r\n }\r\n\r\n /**\r\n * Returns the difference between the two given days as the number of days, in float precision (date to - date from).\r\n * Returns negative values of the 'from' date is later than in time than the 'to' date.\r\n */\r\n public static GetDayDifference(from: Date, to: Date): number {\r\n if (!from || !to) {\r\n return NaN;\r\n }\r\n return ((to.getTime() - from.getTime()) / 1000 / 60 / 60 / 24);\r\n }\r\n\r\n public static IsSameDay(dateOne: Date, dateTwo: Date): boolean {\r\n return (dateOne && dateTwo &&\r\n dateOne.getDate() === dateTwo.getDate()\r\n && dateOne.getMonth() === dateTwo.getMonth()\r\n && dateOne.getFullYear() === dateTwo.getFullYear());\r\n }\r\n\r\n public static IsInBetween(date: Date, startDate: Date, endDate: Date, withTime: boolean = true): boolean {\r\n if (startDate && endDate) {\r\n if (withTime) {\r\n return (date > startDate && date < endDate);\r\n } else {\r\n const dateWithoutTime: number = new Date(date).setHours(0, 0, 0, 0),\r\n dateFromWithoutTime: number = new Date(startDate).setHours(0, 0, 0, 0),\r\n dateToWithoutTime: number = new Date(endDate).setHours(0, 0, 0, 0);\r\n return dateWithoutTime >= dateFromWithoutTime && dateWithoutTime <= dateToWithoutTime;\r\n }\r\n }\r\n }\r\n\r\n public static IsMonday(date: Date): boolean {\r\n return date.getDay() === 1;\r\n }\r\n\r\n public static IsSunday(date: Date): boolean {\r\n return date.getDay() === 0;\r\n }\r\n\r\n public static IsToday(date: Date): boolean {\r\n const today: Date = new Date();\r\n return DateUtils.IsSameDay(today, date);\r\n }\r\n\r\n // Returns date format like it would when using a pipe in the templete, ie: \"1 okt. 2020\"\r\n public static ParseDateInShortDateFormat(date: Date, locale: string): string {\r\n this.datePipe = new DatePipe(locale);\r\n const parsedDate: string = this.datePipe.transform(date);\r\n return parsedDate;\r\n }\r\n\r\n // Transforms a string that is formatted like \"'17-08-2014'<=?<='17-08-2021'\" into \"'17-08-2014' Untill '17-08-2021'\"\r\n public static getFormattedDateRangeString(dateRangeString: string, separator: string = \" - \"): string {\r\n let newString: string = dateRangeString;\r\n newString = newString.replace(\"<=?<=\", ` ${separator} `);\r\n newString = newString.replace(/'/g, \"\");\r\n\r\n return newString;\r\n }\r\n\r\n public static SetDateOrDateRangeObjectHoursZero(date: Date | DateRange): void {\r\n if (date instanceof DateRange) {\r\n if (date.startDate) {\r\n date.startDate.setHours(0, 0, 0);\r\n }\r\n if (date.endDate) {\r\n date.endDate.setHours(0, 0, 0);\r\n }\r\n } else if (!!date && (date instanceof Date)) {\r\n date.setHours(0, 0, 0, 0);\r\n }\r\n }\r\n\r\n private static _DateToTimeStringWithDateFormat(value: Date, dateFormat: string = \"d-m-y\"): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n const hours: string = value.getHours() < 10 ? \"0\" + value.getHours() : \"\" + value.getHours();\r\n const minutes: string = value.getMinutes() < 10 ? \"0\" + value.getMinutes() : \"\" + value.getMinutes();\r\n return this.ParseDate(value, dateFormat) + \" \" + [hours, minutes].join(\":\");\r\n }\r\n}\r\n","import {Component, EventEmitter, Inject, Input, LOCALE_ID, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArrayNumberPipe} from \"../../../../pipe/array-number.pipe\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\n\r\ntype DateStamp = { day: number, inMonth: boolean, timestamp: number, week: number, selected: boolean };\r\n\r\n@Component({\r\n selector: \"calendar-view\",\r\n template: `\r\n <div class=\"calendar-content\">\r\n <div>\r\n <div class=\"week-day-header week-row\">\r\n <div class=\"week-acronym\"></div>\r\n <div *ngFor=\"let weekDay of weekDayLabel\" [textContent]=\"weekDay | ucfirst\"\r\n class=\"week-day-label\"></div>\r\n </div>\r\n <div class=\"week-row\" *ngFor=\"let week of weeks;trackBy:trackByWeek\">\r\n <div [textContent]=\"week[0].week\" class=\"week-number\"></div>\r\n <div *ngFor=\"let date of week;trackBy:trackByStamp\" class=\"week-day\"\r\n (click)=\"onDateClick(date)\" [textContent]=\"date.day\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n//fixme we don't have a todayDayStamp field but our template references it\r\nexport class CalendarViewComponent {\r\n\r\n @Input()\r\n public set view(value: CalendarView) {\r\n this._view = value;\r\n this._selectDays();\r\n }\r\n\r\n public get view(): CalendarView {\r\n return this._view;\r\n }\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._selectedDate.setHours(0, 0, 0, 0);\r\n this._prepareWeeks();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public trackByStamp: Function = (index: number, stamp: DateStamp): number => {\r\n return stamp && stamp.timestamp || index;\r\n }\r\n\r\n public trackByWeek: Function = (index: number, week: DateStamp[]): number => {\r\n return week && week[0].week || index;\r\n }\r\n\r\n public weekDayLabel: string[] = [];\r\n\r\n public weeks: DateStamp[][] = [];\r\n\r\n private _selectedDate: Date = new Date();\r\n\r\n private _view: CalendarView = CalendarView.WeekView;\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n ) {\r\n this.selectedDate.setHours(0, 0, 0, 0);\r\n this._setLabels();\r\n }\r\n\r\n public onDateClick(date: DateStamp): void {\r\n this.selectedDate = new Date(date.timestamp);\r\n this.selectedDateChange.emit(this.selectedDate);\r\n this._selectDays();\r\n }\r\n\r\n private _setLabels(): void {\r\n const datePipe: DatePipe = new DatePipe(this._locale);\r\n\r\n const currentDay: number = this.selectedDate.getDay();\r\n const startWeekDate: Date = new Date(this.selectedDate.getTime());\r\n startWeekDate.setDate(startWeekDate.getDate() - currentDay - 1);\r\n\r\n this.weekDayLabel = new ArrayNumberPipe().transform(7).map(() => {\r\n startWeekDate.setDate(startWeekDate.getDate() + 1);\r\n return datePipe.transform(startWeekDate, \"E\");\r\n });\r\n this.weekDayLabel.push(this.weekDayLabel.shift());\r\n }\r\n\r\n private _prepareWeeks(): void {\r\n this.weeks.length = 0;\r\n\r\n const date: Date = new Date(this.selectedDate.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n\r\n // go to last day of month\r\n date.setMonth(date.getMonth() + 1);\r\n date.setDate(0);\r\n const monthEndDay: number = date.getDay();\r\n const monthEndDate: number = date.getDate();\r\n\r\n // days after end of month\r\n const daysAfter: number = !monthEndDay ? 0 : 7 - monthEndDay;\r\n\r\n // go to first day of month\r\n date.setDate(1);\r\n const monthBeginDay: number = date.getDay();\r\n\r\n // days before start of month\r\n const daysBefore: number = !monthBeginDay ? 6 : monthBeginDay - 1;\r\n\r\n // go to start of calendar view\r\n date.setDate(-daysBefore + 1);\r\n\r\n // amount of weeks to display\r\n const weekCount: number = Math.ceil((daysBefore + daysAfter + monthEndDate) / 7);\r\n const weekStart: number = DateUtils.GetWeekNumber(date);\r\n const weekEnd: number = weekStart + weekCount - 1;\r\n\r\n // iterate over week count\r\n for (let i: number = weekStart; i <= weekEnd; i++) {\r\n let week: number = i;\r\n\r\n // only recalculate week when it's necessary\r\n if (weekStart > 50) {\r\n week = DateUtils.GetWeekNumber(date);\r\n }\r\n const days: DateStamp[] = [];\r\n\r\n // iterate over 7 days\r\n for (let ii: number = 1; ii <= 7; ii++) {\r\n // check if we are in the current month\r\n let inMonth: boolean = true;\r\n if (i === weekStart) {\r\n inMonth = ii > daysBefore;\r\n } else if (i === weekEnd) {\r\n inMonth = ii <= 7 - daysAfter;\r\n }\r\n\r\n const timestamp: number = date.getTime();\r\n // add dateStamp to date array\r\n days.push({\r\n week: week,\r\n inMonth: inMonth,\r\n day: date.getDate(),\r\n timestamp: timestamp,\r\n selected: this.selectedDate.getTime() === timestamp\r\n });\r\n // go one day further\r\n date.setDate(date.getDate() + 1);\r\n }\r\n this.weeks.push(days);\r\n }\r\n this._selectDays();\r\n }\r\n\r\n private _selectDays(): void {\r\n this._resetSelection();\r\n if (!this.selectedDate) {\r\n return;\r\n }\r\n const weekNumber: number = DateUtils.GetWeekNumber(this.selectedDate);\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n if (this.weeks[i][ii].inMonth && this.view === CalendarView.MonthView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].week === weekNumber && this.view === CalendarView.WeekView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.WeekSelectView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.DayView) {\r\n this.weeks[i][ii].selected = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _resetSelection(): void {\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n this.weeks[i][ii].selected = false;\r\n }\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Weekday {\r\n public inView: boolean = true;\r\n public weekdayDay: number;\r\n public weekdayMonthShort: string;\r\n public weekdayMonthLong: string;\r\n public weekdayYear: number;\r\n public date: Date;\r\n public weekdayShort: string;\r\n public weekdayLong: string;\r\n public description: string;\r\n public newMonth: boolean = false;\r\n public weekdaySelected: boolean = false;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Weekday} from \"./weekday.model\";\r\n\r\nexport class Week {\r\n public weekDays: Weekday[] = [];\r\n}\r\n","import {DateUtils} from \"./date-utils\";\r\nimport {Weekday} from \"../model/weekday.model\";\r\nimport {Inject, LOCALE_ID} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {Week} from \"../model/week.model\";\r\n\r\nexport class CalendarUtils {\r\n public static Locale: LanguageCode = undefined;\r\n\r\n public static Now: Date = new Date();\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode\r\n ) {\r\n CalendarUtils.Locale = _locale;\r\n }\r\n\r\n // public static GetCurrentYear(): number {\r\n // return this.Now.getFullYear();\r\n // }\r\n //\r\n // public static GetCurrentMonth(): number {\r\n // return this.Now.getUTCMonth() + 1;\r\n // }\r\n\r\n public static GetDayHours(day: Date): Date[] {\r\n const datesByTheHour: Date[] = [];\r\n if (day) {\r\n let newDate: Date = new Date(day);\r\n newDate.setHours(0, 0, 0, 0);\r\n datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n datesByTheHour.push(newDate);\r\n }\r\n }\r\n return datesByTheHour;\r\n }\r\n\r\n public static GetDaysOfWeek(date: Date): Week {\r\n let day: Date = DateUtils.GetFirstDayOfWeek(date);\r\n const daysOfWeek: Weekday[] = [];\r\n let options: any;\r\n let month: number;\r\n for (let i: number = 0; i < 7; i++) {\r\n const dayPerWeek: Weekday = new Weekday();\r\n const dayHours: Date[] = CalendarUtils.GetDayHours(day);\r\n dayPerWeek.newMonth = day.getMonth() !== month;\r\n dayPerWeek.weekdaySelected = day.getDay() === date.getDay();\r\n dayPerWeek.weekdayDay = day.getDate();\r\n options = { weekday: \"short\" };\r\n dayPerWeek.weekdayShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { weekday: \"long\" };\r\n dayPerWeek.weekdayLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n\r\n options = { month: \"short\" };\r\n dayPerWeek.weekdayMonthShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { month: \"long\" };\r\n dayPerWeek.weekdayMonthLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n dayPerWeek.weekdayYear = day.getFullYear();\r\n\r\n dayPerWeek.date = new Date(day);\r\n dayPerWeek.datesByTheHour = dayHours;\r\n daysOfWeek.push(dayPerWeek);\r\n month = day.getMonth();\r\n day = new Date(day);\r\n day.setDate(day.getDate() + 1);\r\n }\r\n const week: Week = new Week();\r\n week.weekDays = daysOfWeek;\r\n return week;\r\n }\r\n\r\n}\r\n","import {TimeWindow} from \"./time-window.bo\";\r\n\r\nexport class AgendaEvent {\r\n public id: number;\r\n public description: string;\r\n public checked: boolean = false;\r\n public showCheckbox: boolean = false;\r\n public draggable: boolean = false;\r\n public from: Date;\r\n public to: Date;\r\n public date: Date;\r\n public dayPartNo: number;\r\n public fromString: string;\r\n public toString: string;\r\n public fromToRepresentation: string;\r\n public timeWindow: TimeWindow;\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class AgendaEventPerDay {\r\n public date: Date;\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Week} from \"./week.model\";\r\n\r\nexport class Month {\r\n public weeks: Week[] = [];\r\n\r\n public get firstWeek(): Week {\r\n if (this.weeks && this.weeks.length > 0) {\r\n return this.weeks[0];\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Day {\r\n public day: number;\r\n public date: Date;\r\n public description: string;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"./agenda-event-per-day.model\";\r\nimport {Month} from \"./month.model\";\r\nimport {Week} from \"./week.model\";\r\nimport {Day} from \"./day.model\";\r\n\r\nexport const NULL_AGENDA_EVENT: AgendaEvent = new AgendaEvent();\r\nexport const NULL_AGENDA_EVENT_PER_DAY: AgendaEventPerDay = new AgendaEventPerDay();\r\nexport const NULL_MONTH: Month = new Month();\r\nexport const NULL_WEEK: Week = new Week();\r\nexport const NULL_DAY: Day = new Day();\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n LOCALE_ID,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {NULL_DAY} from \"../../../../model/agenda-null-objects\";\r\nimport {Day} from \"../../../../model/day.model\"\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-header\",\r\n template: `\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.DayView\">\r\n <div class=\"hour-label-placeholder\">\r\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\r\n </div>\r\n <div class=\"week-day-label\">\r\n <co-icon class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"day-description\" [textContent]=\"day.description\"></div>\r\n <co-icon class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekView\">\r\n <div class=\"hour-label-placeholder\">\r\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\r\n </div>\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\" [class.selected]=\"weekDay.weekdaySelected\" (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div *ngIf=\"weekDay.newMonth\" [textContent]=\"weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear\" class=\"month-description\"></div>\r\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay\"></div>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\"\r\n [class.selected]=\"weekDay.weekdaySelected\"\r\n [class.selectable]=\"weekDay.events && weekDay.events.length > 0\"\r\n (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay + ' ' + weekDay.weekdayMonthShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.MonthView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHeaderComponent implements OnInit, OnDestroy, AfterContentChecked {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n private readonly scrollbarWidth: number = 15;\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekSelectView;\r\n\r\n @Input()\r\n public set firstAvailableDate(value: Date) {\r\n if (value) {\r\n this._firstAvailableDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n }\r\n\r\n public get firstAvailableDate(): Date {\r\n return this._firstAvailableDate;\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._prepareHeaderData();\r\n }\r\n\r\n @Output()\r\n public viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public weekDays: Weekday[] = [];\r\n public day: Day = NULL_DAY;\r\n public showBackButton: boolean = true;\r\n\r\n private _selectedDate: Date;\r\n private _firstAvailableDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n private _ngZone: NgZone,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.removeEventListener(\"resize\", this._onResize);\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.addEventListener(\"resize\", this._onResize);\r\n });\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this._resizeHost();\r\n }\r\n\r\n public subUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() - 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() - 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public addUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() + 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() + 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public setUnit(weekDay: Weekday): void {\r\n this.selectedDate = weekDay.date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public changeTheView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.emit(view);\r\n this._prepareHeaderData();\r\n }\r\n\r\n private _onResize: EventListener = async (): Promise<void> => {\r\n this._resizeHost();\r\n }\r\n\r\n /**\r\n * Need to resize the host component to size it's fixed positioned child through css\r\n */\r\n private _resizeHost(): void {\r\n if (this._elementRef) {\r\n this._renderer.setStyle(\r\n this._elementRef.nativeElement, \"width\", this._elementRef.nativeElement.parentElement.clientWidth - this.scrollbarWidth + \"px\");\r\n }\r\n }\r\n\r\n private _prepareHeaderData(): void {\r\n if (this.selectedDate) {\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n const day: Day = new Day();\r\n day.date = new Date(this.selectedDate);\r\n const options: any = { year: \"numeric\", month: \"long\", day: \"numeric\" };\r\n day.description = this.selectedDate.toLocaleDateString(this._locale, options);\r\n this.day = day;\r\n break;\r\n case CalendarView.WeekView:\r\n const weekView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekView.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.WeekSelectView:\r\n const weekSelectView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekSelectView.weekDays;\r\n this.weekDays.forEach((wd: Weekday) => {\r\n const evPerDay: AgendaEventPerDay = this._eventsPerDay && this._eventsPerDay.length > 0 ? this._eventsPerDay.find(e => DateUtils.DatesEqual(e.date, wd.date)) : null;\r\n if (evPerDay) {\r\n wd.events = evPerDay.events;\r\n } else {\r\n wd.weekdaySelected = false;\r\n }\r\n });\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.MonthView:\r\n const weekOfMonth: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekOfMonth.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\n\r\n@Component({\r\n selector: \"agenda-view\",\r\n template: `\r\n <div class=\"view-wrapper mini-scrollbar\" [ngSwitch]=\"view\">\r\n <agenda-day-view *ngSwitchCase=\"viewTypes.DayView\"\r\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-day-view>\r\n <agenda-week-view *ngSwitchCase=\"viewTypes.WeekView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-view>\r\n <agenda-week-select-view *ngSwitchCase=\"viewTypes.WeekSelectView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-select-view>\r\n <agenda-month-view *ngSwitchCase=\"viewTypes.MonthView\"\r\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-month-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n}\r\n","import {Directive, EventEmitter, Inject, Input, LOCALE_ID, Output} from \"@angular/core\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Directive()\r\nexport abstract class AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._dateIsSet();\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._eventsAreSet();\r\n }\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n public get eventsPerDate(): AgendaEventPerDay[] {\r\n return this._eventsPerDay;\r\n }\r\n\r\n private _selectedDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) protected readonly locale: LanguageCode,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n //overridable by descendents\r\n protected prepareViewData(): void {\r\n }\r\n\r\n protected getEventsFromDate(date: Date): AgendaEvent[] {\r\n let events: AgendaEvent[] = [];\r\n if (this.eventsPerDate) {\r\n const len: number = this.eventsPerDate.length;\r\n for (let i: number = 0; i < len; i++) {\r\n if (DateUtils.DatesEqual(date, this.eventsPerDate[i].date)) {\r\n events = this.eventsPerDate[i].events;\r\n break;\r\n }\r\n }\r\n }\r\n return events;\r\n }\r\n\r\n private _dateIsSet(): void {\r\n this.prepareViewData();\r\n }\r\n\r\n private _eventsAreSet(): void {\r\n this.prepareViewData();\r\n }\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport { AgendaBaseViewComponent } from \"./agenda-base-view.component\";\r\nimport {NULL_MONTH} from \"../../../../model/agenda-null-objects\";\r\nimport {Month} from \"../../../../model/month.model\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-month-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <div class=\"hour-view-labels-wrapper\"></div>\r\n <div class=\"weeks\">\r\n <div class=\"week\" *ngFor=\"let week of weeks\" fxLayout=\"row\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\" [class.not-in-month]=\"!weekDay.inView\">\r\n <div class=\"day\" [textContent]=\"weekDay.weekdayDay\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaMonthViewComponent extends AgendaBaseViewComponent {\r\n\r\n public month: Month = NULL_MONTH;\r\n\r\n public firstWeekDays: Weekday[] = [];\r\n\r\n public weeks: Week[] = [];\r\n\r\n protected prepareViewData(): void {\r\n const month: Month = new Month();\r\n if (this.selectedDate) {\r\n const day: Date = DateUtils.GetFirstDayOfMonth(this.selectedDate);\r\n const endOfMonth: Date = DateUtils.GetLastDayOfMonth(this.selectedDate);\r\n let oneMoreIteration: boolean = false;\r\n let continueLoop: boolean = true;\r\n\r\n while (continueLoop) {\r\n if (oneMoreIteration) {\r\n continueLoop = false;\r\n }\r\n const week: Week = CalendarUtils.GetDaysOfWeek(day);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n week.weekDays[i].inView = week.weekDays[i].date.getMonth() === this.selectedDate.getMonth();\r\n }\r\n month.weeks.push(week);\r\n day.setDate(day.getDate() + 7);\r\n if (day.getTime() >= endOfMonth.getTime()) {\r\n oneMoreIteration = true;\r\n }\r\n }\r\n this.month = month;\r\n this.firstWeekDays = this.month.firstWeek.weekDays;\r\n this.weeks = month.weeks;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-day-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <agenda-hour-view [date]=\"selectedDate\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaDayViewComponent extends AgendaBaseViewComponent {\r\n\r\n public events: AgendaEvent[] = [];\r\n\r\n protected prepareViewData(): void {\r\n if (this.eventsPerDate && this.eventsPerDate.length > 0) {\r\n this.events = this.eventsPerDate[0].events;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-week-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <agenda-hour-view [date]=\"weekDay.date\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekViewComponent extends AgendaBaseViewComponent /*implements OnInit, OnDestroy*/ {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n public week: Week = NULL_WEEK;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\n\r\n@Component({\r\n selector: \"agenda-week-select-view\",\r\n template: `\r\n <div class=\"view-wrapper week-select-view\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <div class=\"week-select-container\" *ngIf=\"weekDay.weekdaySelected\">\r\n <div class=\"week-select-left\">\r\n <h3 [textContent]=\"'AGENDA_CHOOSE_DELIVERY_PERIOD'\"></h3>\r\n <div class=\"week-select-list mini-scrollbar\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n ></agenda-events>\r\n <div class=\"no-events-banner\" *ngIf=\"weekDay.events.length === 0\">\r\n <p [textContent]=\"'AGENDA_NO_PERIODS_AVAILABLE'\"></p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"week-select-right\">\r\n <h3 [textContent]=\"'AGENDA_FOR_EVERY_PERIOD'\"></h3>\r\n <ul>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON1'\"></span></li>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON2'\"></span></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekSelectViewComponent extends AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekSelectView;\r\n\r\n public week: Week = NULL_WEEK;\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div fxLayout=\"row\">\r\n <agenda-hour-cell [date]=\"dateByTheHour\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._prepareViewData();\r\n }\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewLabelsComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-cell\",\r\n template: `\r\n <div class=\"row-per-half-hour\">\r\n <agenda-half-hour-cell [date]=\"date\" [showLabel]=\"onlyLabels && !noLabels\"></agenda-half-hour-cell>\r\n <agenda-half-hour-cell [date]=\"datePlushalfHour\"></agenda-half-hour-cell>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourCellComponent {\r\n @Input()\r\n public onlyLabels: boolean = false;\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._setNextHalfHour();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n public datePlushalfHour: Date;\r\n\r\n private _date: Date;\r\n\r\n private _setNextHalfHour(): void {\r\n this.datePlushalfHour = new Date(this._date);\r\n this.datePlushalfHour.setMinutes(this.datePlushalfHour.getMinutes() + 30);\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view-labels\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div>\r\n <agenda-hour-cell [date]=\"dateByTheHour\" onlyLabels [noLabels]=\"noLabels\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewLabelsComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._date.setDate(1);\r\n this._date.setMonth(1);\r\n this._date.setFullYear(1);\r\n this._prepareViewData();\r\n }\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, Input, OnDestroy, Renderer2, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-half-hour-cell\",\r\n template: `\r\n <div id=\"{{id}}\" class=\"cell-wrapper\">\r\n <div *ngIf=\"showLabel\" [class.show]=\"showLabel\" class=\"half-hour-label\">\r\n <div [textContent]=\"date | date:'HH:mm'\"></div>\r\n </div>\r\n <div *ngIf=\"showCurrentTime\" id=\"currentTime\" class=\"current-time\" #currentTime></div>\r\n <div class=\"content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHalfHourCellComponent implements OnDestroy {\r\n\r\n @ViewChild(\"currentTime\")\r\n public currentTimeElement: ElementRef;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._checkDate();\r\n this._checkWorkingDayStart();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = false;\r\n\r\n public showCurrentTime: boolean = false;\r\n\r\n public currentTimeTop: number = 0;\r\n\r\n public id: string;\r\n\r\n private _date: Date;\r\n private _id: string;\r\n\r\n constructor(\r\n private _renderer: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.currentTimeElement = undefined;\r\n }\r\n\r\n private _checkDate(): void {\r\n const checkDate: Date = new Date();\r\n const minutesFrom: number = this.date.getMinutes();\r\n const minutesTo: number = minutesFrom + 30;\r\n\r\n if (DateUtils.DatesEqual(this.date, checkDate)) {\r\n if (checkDate.getHours() === this.date.getHours() && (checkDate.getMinutes() > minutesFrom && checkDate.getMinutes() < minutesTo)) {\r\n this.currentTimeTop = (Math.max(checkDate.getMinutes(), .01) / 60) * 100;\r\n this._positionCurrentTime();\r\n this.showCurrentTime = true;\r\n }\r\n }\r\n }\r\n\r\n private _checkWorkingDayStart(): void {\r\n this.id = (this._date.getHours() === 8 && this._date.getMinutes() === 30) ? \"dayStart\" : \"\";\r\n }\r\n\r\n private _positionCurrentTime(): void {\r\n if (this.currentTimeElement) {\r\n this._renderer.setStyle(this.currentTimeElement.nativeElement, \"top\", this.currentTimeTop + \"%\");\r\n this.currentTimeElement.nativeElement.scrollIntoView();\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\n\r\n@Component({\r\n selector: \"agenda-events\",\r\n template: `\r\n <ng-container *ngIf=\"view !== viewTypes.WeekSelectView\">\r\n <agenda-event\r\n *ngFor=\"let event of events\"\r\n [halfHourHeight]=\"halfHourHeight\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-event>\r\n </ng-container>\r\n <ng-container *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <agenda-select-event\r\n *ngFor=\"let event of events\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-select-event>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventsComponent {\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public type: string = \"\";\r\n\r\n @Input()\r\n public events: AgendaEvent[] = [];\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-event\",\r\n template: `\r\n <div class=\"agenda-event-wrapper\" [class.checkable]=\"event.showCheckbox\" [class.selected]=\"event.checked\" (click)=\"checkEvent($event)\">\r\n <div [textContent]=\"event.fromToRepresentation\" class=\"event-description\"></div>\r\n <co-icon *ngIf=\"event.showCheckbox\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" [class.checked]=\"event.checked\"></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventComponent implements OnInit, OnDestroy {\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n const hourTo: number = this.event.from.getHours();\r\n const minutesTo: number = this.event.from.getMinutes();\r\n const multiply: number = hourTo + (minutesTo / 60);\r\n const top: number = multiply * (this.halfHourHeight * 2);\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"top\", top + \"px\");\r\n\r\n const hours: number = Math.abs(this.event.to.getTime() - this.event.from.getTime()) / 3600000;\r\n const height: number = hours * (this.halfHourHeight * 2) - 1;\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"height\", height + \"px\");\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"ucfirst\"\r\n})\r\n// Pipe capable of transforming the first character of a string-value to upper case.\r\nexport class UCfirstPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (typeof value === \"string\") {\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n return value;\r\n }\r\n}\r\n","import {ArrayNumberPipe} from \"./array-number.pipe\";\r\nimport {UCfirstPipe} from \"./ucfirst.pipe\";\r\n\r\nexport const MASTER_PIPES: any[] = [\r\n ArrayNumberPipe,\r\n UCfirstPipe\r\n]\r\n","// <b>Enum</b> Represents the different states of the three way thumb.\r\nexport enum ThumbThreeWayState {\r\n Left = 0,\r\n Middle = 1,\r\n Right = 2\r\n}\r\n\r\nexport function NextStateOfThumbThreeWay(state: ThumbThreeWayState): ThumbThreeWayState {\r\n switch (state) {\r\n case ThumbThreeWayState.Left:\r\n return ThumbThreeWayState.Middle;\r\n case ThumbThreeWayState.Middle:\r\n return ThumbThreeWayState.Right;\r\n case ThumbThreeWayState.Right:\r\n default:\r\n return ThumbThreeWayState.Left;\r\n }\r\n}\r\n","// Static utility functions holder related to Maps.\r\nexport class MapUtils {\r\n\r\n /**\r\n * Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.\r\n * @param map\r\n * @param valueFilter For the first value that returns true for this filter functions, its key will be returned.\r\n */\r\n public static FindKeyByValue<K, V>(map: Map<K, V>, valueFilter: (value: V) => boolean): K {\r\n\r\n if (!map || !valueFilter) {\r\n return undefined;\r\n }\r\n\r\n let foundKey: K = undefined;\r\n let keyWasFound: boolean = false;\r\n map.forEach((value: V, key: K) => {\r\n if (!keyWasFound && valueFilter.call(this, value)) {\r\n foundKey = key;\r\n keyWasFound = true;\r\n }\r\n });\r\n return foundKey;\r\n }\r\n\r\n /**\r\n * Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array\r\n * containing the single [arrayEntry] item, if no entry yet existed.\r\n * @param map\r\n * @param mapKey\r\n * @param arrayEntry\r\n */\r\n public static InsertArrayItemIntoMap(map: Map<any, any>, mapKey: any, arrayEntry: any): void {\r\n if (!map) {\r\n return;\r\n }\r\n\r\n if (!map.has(mapKey)) {\r\n map.set(mapKey, [arrayEntry]);\r\n } else {\r\n map.get(mapKey).push(arrayEntry);\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {ThumbThreeWayState} from \"../../../../enum/thumb-three-way-state\";\r\nimport {MapUtils} from \"../../../../utils/map-utils\";\r\n\r\n@Component({\r\n selector: \"view-select\",\r\n template: `\r\n <div class=\"select-wrapper\">\r\n <div [textContent]=\"'DAY'\" class=\"label\"></div>\r\n <div [textContent]=\"'MONTH'\" class=\"label\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewSelectComponent {\r\n\r\n private readonly _viewsToThumb: Map<CalendarView, ThumbThreeWayState> = new Map<CalendarView, ThumbThreeWayState>([\r\n [CalendarView.DayView, ThumbThreeWayState.Left],\r\n [CalendarView.WeekView, ThumbThreeWayState.Middle],\r\n [CalendarView.MonthView, ThumbThreeWayState.Right]\r\n ]);\r\n\r\n @Input()\r\n public selectedView: CalendarView = CalendarView.WeekView;\r\n\r\n @Output()\r\n public selectedViewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n public get modelAsThumbState(): ThumbThreeWayState {\r\n return this._viewsToThumb.get(this.selectedView);\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public onThumbStateChange(thumbState: ThumbThreeWayState): void {\r\n this.selectedView = MapUtils.FindKeyByValue<CalendarView, ThumbThreeWayState>(this._viewsToThumb, (value: ThumbThreeWayState) => {\r\n return (value === thumbState);\r\n });\r\n this.selectedViewChange.emit(this.selectedView);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-select-event\",\r\n template: `\r\n <div class=\"week-select-item\" (click)=\"checkEvent($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"!event.checked\"></co-icon>\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"event.checked\"></co-icon>\r\n <div class=\"moment-name\">\r\n <small>{{ event.date | date: 'EEEE d MMMM' | uppercase }}</small>\r\n <h2>{{ event.description }}</h2>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class AgendaSelectEventComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport {DatePlanningComponent} from \"./date-planning.component\";\r\nimport {ButtonModule, IconModule, InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CalendarAllYearsComponent} from \"./component/calendar/calendar-all-years.component\";\r\nimport {CalendarAllMonthsComponent} from \"./component/calendar/calendar-all-months.component\";\r\nimport {CalendarHeaderComponent} from \"./component/calendar/calendar-header.component\";\r\nimport {CalendarComponent} from \"./component/calendar/calendar.component\";\r\nimport {CalendarViewComponent} from \"./component/calendar/calendar-view.component\";\r\nimport {AgendaHeaderComponent} from \"./component/agenda/agenda-header.component\";\r\nimport {AgendaViewComponent} from \"./component/agenda/agenda-view.component\";\r\nimport {AgendaMonthViewComponent} from \"./component/agenda/agenda-month-view.component\";\r\nimport {AgendaDayViewComponent} from \"./component/agenda/agenda-day-view.component\";\r\nimport {AgendaWeekViewComponent} from \"./component/agenda/agenda-week-view.component\";\r\nimport {AgendaWeekSelectViewComponent} from \"./component/agenda/agenda-week-select-view.component\";\r\nimport {AgendaHourViewComponent} from \"./component/agenda/agenda-hour-view.component\";\r\nimport {AgendaHourCellComponent} from \"./component/agenda/agenda-hour-cell.component\";\r\nimport {AgendaHourViewLabelsComponent} from \"./component/agenda/agenda-hour-view-labels.component\";\r\nimport {AgendaHalfHourCellComponent} from \"./component/agenda/agenda-half-hour-cell.component\";\r\nimport {AgendaEventsComponent} from \"./component/agenda/agenda-events.component\";\r\nimport {AgendaEventComponent} from \"./component/agenda/agenda-event.component\";\r\nimport {MASTER_PIPES} from \"../../pipe/master-pipes\";\r\nimport {ViewSelectComponent} from \"./component/agenda/view-select.component\";\r\nimport {AgendaSelectEventComponent} from \"./component/agenda/agenda-select-event.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n IconModule,\r\n ButtonModule,\r\n ],\r\n declarations: [\r\n DatePlanningComponent,\r\n CalendarAllYearsComponent,\r\n CalendarAllMonthsComponent,\r\n CalendarHeaderComponent,\r\n CalendarComponent,\r\n CalendarViewComponent,\r\n AgendaHeaderComponent,\r\n AgendaViewComponent,\r\n AgendaMonthViewComponent,\r\n AgendaDayViewComponent,\r\n AgendaWeekViewComponent,\r\n AgendaWeekSelectViewComponent,\r\n AgendaHourViewComponent,\r\n AgendaHourCellComponent,\r\n AgendaHourViewLabelsComponent,\r\n AgendaHalfHourCellComponent,\r\n AgendaEventsComponent,\r\n AgendaEventComponent,\r\n ViewSelectComponent,\r\n AgendaSelectEventComponent,\r\n MASTER_PIPES\r\n ],\r\n exports: [\r\n DatePlanningComponent\r\n ]\r\n})\r\nexport class DatePlanningModule {\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\nexport * from './lib/components/stock/stock.component';\r\nexport * from './lib/components/stock/stock.module';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.component';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.module';\r\nexport * from './lib/components/key-pad/key-pad.component';\r\nexport * from './lib/components/key-pad/key-pad.module';\r\nexport * from './lib/components/layout-switcher/layout-switcher.component';\r\nexport * from './lib/components/layout-switcher/layout-switcher.module';\r\nexport * from './lib/components/circular-gauge/co-circular-gauge.component';\r\nexport * from './lib/components/circular-gauge/co-circular-gauge.module';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.component';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.module';\r\nexport * from './lib/components/statusbar/statusbar.component';\r\nexport * from './lib/components/statusbar/statusbar.module';\r\nexport * from './lib/components/date-planning/date-planning.component';\r\nexport * from './lib/components/date-planning/date-planning.module';\r\nexport * from './lib/service/shared.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AgendaBaseViewComponent as ɵbg} from './lib/components/date-planning/component/agenda/agenda-base-view.component';\nexport {AgendaDayViewComponent as ɵbh} from './lib/components/date-planning/component/agenda/agenda-day-view.component';\nexport {AgendaEventComponent as ɵbp} from './lib/components/date-planning/component/agenda/agenda-event.component';\nexport {AgendaEventsComponent as ɵbo} from './lib/components/date-planning/component/agenda/agenda-events.component';\nexport {AgendaHalfHourCellComponent as ɵbn} from './lib/components/date-planning/component/agenda/agenda-half-hour-cell.component';\nexport {AgendaHeaderComponent as ɵbd} from './lib/components/date-planning/component/agenda/agenda-header.component';\nexport {AgendaHourCellComponent as ɵbl} from './lib/components/date-planning/component/agenda/agenda-hour-cell.component';\nexport {AgendaHourViewLabelsComponent as ɵbm} from './lib/components/date-planning/component/agenda/agenda-hour-view-labels.component';\nexport {AgendaHourViewComponent as ɵbk} from './lib/components/date-planning/component/agenda/agenda-hour-view.component';\nexport {AgendaMonthViewComponent as ɵbf} from './lib/components/date-planning/component/agenda/agenda-month-view.component';\nexport {AgendaSelectEventComponent as ɵbr} from './lib/components/date-planning/component/agenda/agenda-select-event.component';\nexport {AgendaViewComponent as ɵbe} from './lib/components/date-planning/component/agenda/agenda-view.component';\nexport {AgendaWeekSelectViewComponent as ɵbj} from './lib/components/date-planning/component/agenda/agenda-week-select-view.component';\nexport {AgendaWeekViewComponent as ɵbi} from './lib/components/date-planning/component/agenda/agenda-week-view.component';\nexport {ViewSelectComponent as ɵbq} from './lib/components/date-planning/component/agenda/view-select.component';\nexport {CalendarAllMonthsComponent as ɵy} from './lib/components/date-planning/component/calendar/calendar-all-months.component';\nexport {CalendarAllYearsComponent as ɵx} from './lib/components/date-planning/component/calendar/calendar-all-years.component';\nexport {CalendarHeaderComponent as ɵz} from './lib/components/date-planning/component/calendar/calendar-header.component';\nexport {CalendarViewComponent as ɵbb} from './lib/components/date-planning/component/calendar/calendar-view.component';\nexport {CalendarComponent as ɵba} from './lib/components/date-planning/component/calendar/calendar.component';\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';\nexport {LayoutSelectionComponent as ɵk} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.component';\nexport {LayoutSelectionModule as ɵj} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.module';\nexport {PrinterSelectionComponent as ɵo} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.component';\nexport {PrinterSelectionModule as ɵn} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.module';\nexport {SendMethodEmailComponent as ɵl} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.component';\nexport {SendMethodEmailModule as ɵi} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.module';\nexport {SendMethodPrinterComponent as ɵp} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component';\nexport {SendMethodPrinterModule as ɵm} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module';\nexport {SendMethodService as ɵh} from './lib/components/send-method-dialog/service/send-method.service';\nexport {StockInformationGridComponent as ɵr} from './lib/components/stock/stock-information-grid/stock-information-grid.component';\nexport {StockInformationComponent as ɵq} from './lib/components/stock/stock-information/stock-information.component';\nexport {StockLocationComponent as ɵs} from './lib/components/stock/stock-location/stock-location.component';\nexport {StockChangeAmountComponent as ɵu} from './lib/components/stock/stock-transfer/stock-change-amount.component';\nexport {StockTransferComponent as ɵt} from './lib/components/stock/stock-transfer/stock-transfer.component';\nexport {Icon as ɵw} from './lib/enum/icon.enum';\nexport {LanguageCode as ɵbc} from './lib/enum/language-code.enum';\nexport {SendMethod as ɵv} from './lib/model/send-method';\nexport {ArrayNumberPipe as ɵbt} from './lib/pipe/array-number.pipe';\nexport {MASTER_PIPES as ɵbs} from './lib/pipe/master-pipes';\nexport {UCfirstPipe as ɵbu} from './lib/pipe/ucfirst.pipe';\nexport {DictionaryService as ɵf} from './lib/service/dictionary.service';\nexport {IconCacheService as ɵg} from './lib/service/icon-cache.service';\nexport {OptionsService as ɵe} from './lib/service/options.service';\nexport {SharedConnectorService as ɵd} from './lib/service/shared-connector.service';\nexport {StockService as ɵc} from './lib/service/stock.service';"],"names":["EventEmitter","PDFDocument","pdfjsWorker","PDFJS","Component","trigger","state","style","transition","animate","ViewEncapsulation","ViewChild","ElementRef","Input","Output","HostBinding","SignaturePad","NgModule","CommonModule","LanguageCode","Injectable","BehaviorSubject","BusinessObjectFactory","Articles","Sharedapi","MainApi","Printer","SendMethod","StockHistoryBo","ArticleStockBo","StockManagementWarehouses","StockLocation","ArticleDetailsBo","StockStatus","ArticleTransactionBo","PrintStockStickers","GetStockHistoryRequest","ArticleStock","ChangeDetectorRef","DomSanitizer","Icon","ArticleStockManagement","PrintPriceStickers","ArticleTransaction","Subject","ReportingDocumentPrintBaseRequest","ReportingDocumentEmailBaseRequest","ReportingDocumentPdfBaseRequest","SendMethodType","InputCheckboxModule","IconModule","CoDialogModule","ButtonModule","InputComboBoxModule","CoGridModule","InputRadioButtonModule","DropDownModule","SimpleGridModule","ImageModule","InputTextModule","InputNumberPickerModule","CoDialogWizardModule","InputTextareaModule","HostListener","CircularGaugeModule","ClickoutsideModule","Renderer2","Month","Pipe","moment","DatePipe","Inject","LOCALE_ID","NgZone","Directive","InputDatePickerModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colijnit-sharedcomponents.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/lib/enum/language-code.enum.ts","../../../projects/sharedcomponents/src/lib/utils/string-utils.ts","../../../projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts","../../../projects/sharedcomponents/src/lib/service/dictionary.service.ts","../../../projects/sharedcomponents/src/lib/service/options.service.ts","../../../projects/sharedcomponents/src/lib/model/stock-status.model.ts","../../../projects/sharedcomponents/src/lib/service/shared-connector.service.ts","../../../projects/sharedcomponents/src/lib/service/stock.service.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts","../../../projects/sharedcomponents/src/lib/model/icon-svg.ts","../../../projects/sharedcomponents/src/lib/service/icon-cache.service.ts","../../../projects/sharedcomponents/src/lib/enum/icon.enum.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-location/stock-location.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts","../../../projects/sharedcomponents/src/lib/service/shared.service.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts","../../../projects/sharedcomponents/src/lib/model/send-method.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.module.ts","../../../projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts","../../../projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts","../../../projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.component.ts","../../../projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.module.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts","../../../projects/sharedcomponents/src/lib/enum/month.enum.ts","../../../projects/sharedcomponents/src/lib/model/constant/all-months.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts","../../../projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts","../../../projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts","../../../projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts","../../../projects/sharedcomponents/src/lib/model/date-range.ts","../../../projects/sharedcomponents/src/lib/utils/date-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts","../../../projects/sharedcomponents/src/lib/model/weekday.model.ts","../../../projects/sharedcomponents/src/lib/model/week.model.ts","../../../projects/sharedcomponents/src/lib/utils/calendar.utils.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts","../../../projects/sharedcomponents/src/lib/model/month.model.ts","../../../projects/sharedcomponents/src/lib/model/day.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-null-objects.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts","../../../projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts","../../../projects/sharedcomponents/src/lib/pipe/master-pipes.ts","../../../projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts","../../../projects/sharedcomponents/src/lib/utils/map-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"co-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <co-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></co-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._pdf = value;\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);\r\n if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);\r\n if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"co-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-signatures\",\r\n template: `\r\n <co-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></co-signature>\r\n <co-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></co-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","// Static utility functions holder related to strings.\r\nexport class StringUtils {\r\n\r\n /**\r\n * Returns a new string where given placeholder in given source string are replaced by given replacement texts.\r\n *\r\n * Example usage:\r\n *\r\n * source = \"ABCDABCD\"\r\n * placeholder = \"BC\"\r\n * replacementTexts = \"Z\", \"Z\" (REST arguments)\r\n * OUTPUT = \"AZDAZD\"\r\n *\r\n * @param {string} source\r\n * @param {string} placeholder\r\n * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.\r\n * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.\r\n */\r\n public static ReplaceOccurrencesIn(source: string, placeholder: string, ...replacementTexts: string[]): string {\r\n // parameter guards\r\n if (!(source)) {\r\n return undefined;\r\n }\r\n if (!placeholder || replacementTexts.length === 0) {\r\n return source;\r\n }\r\n let outString: string = source;\r\n // one replacementText means replace for all\r\n if (replacementTexts.length === 1) {\r\n // \"g\" is the g flag to replace globally\r\n outString = outString.replace(placeholder, replacementTexts[0]);\r\n } else {\r\n // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)\r\n for (let i: number = 0, len: number = replacementTexts.length; i < len; i++) {\r\n outString = outString.replace(placeholder, replacementTexts[i]);\r\n }\r\n }\r\n return outString;\r\n }\r\n\r\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\r\n public static ParseString(arg: any, defaultValue: string = \"\"): string {\r\n if (!StringUtils.IsString(arg)) {\r\n if (arg && typeof arg.toString === \"function\") {\r\n arg = arg.toString();\r\n } else {\r\n arg = defaultValue;\r\n }\r\n }\r\n return arg;\r\n }\r\n\r\n public static IsString(str: any): boolean {\r\n return typeof str === 'string';\r\n }\r\n\r\n // Returns whether given str is a string and has a length > 0.\r\n public static IsStringWithLength(str: string): boolean {\r\n return str && StringUtils.IsString(str) && str.length > 0;\r\n }\r\n\r\n // Returns given string, escaped for use as string literal in regular expressions.\r\n private static _escapeRegExp(str: string): string {\r\n return str;// .replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^$\\|]/g, \"\\\\$&\");\r\n }\r\n\r\n}\r\n","export class Dictionary {\r\n public strings: {} = {\r\n \"nl\": {},\r\n \"de\": {},\r\n \"fr\": {},\r\n \"en\": {},\r\n };\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {StringUtils} from \"../utils/string-utils\";\r\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n private _loadDictionary() {\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary: Dictionary = new Dictionary();\r\n // eslint-disable-next-line no-magic-numbers\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n // eslint-disable-next-line no-magic-numbers\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || \"\";\r\n }\r\n\r\n if (this.language === undefined) {\r\n this._language = LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class OptionsService {\r\n\r\n public optionsInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n public set options(value: any) {\r\n this._options = value;\r\n }\r\n\r\n public get options(): any {\r\n return this._options;\r\n }\r\n\r\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _options: any;\r\n\r\n constructor(private _dictionary: DictionaryService) {\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n this.options = new Object();\r\n if (obj.hasOwnProperty(\"url\")) {\r\n this.options.url = obj[\"url\"];\r\n }\r\n if (obj.hasOwnProperty(\"schema\")) {\r\n this.options.schema = obj[\"schema\"];\r\n }\r\n if (obj.hasOwnProperty(\"version\")) {\r\n this.options.version = obj[\"version\"];\r\n }\r\n if (obj.hasOwnProperty(\"languageCode\")) {\r\n this.options.languageCode = obj[\"languageCode\"];\r\n } else {\r\n this.options.languageCode = \"NL\";\r\n }\r\n if (obj.hasOwnProperty(\"username\")) {\r\n this.options.username = obj[\"username\"];\r\n }\r\n if (obj.hasOwnProperty(\"password\")) {\r\n this.options.password = obj[\"password\"];\r\n }\r\n if (obj.hasOwnProperty(\"session\")) {\r\n this.options.session = obj[\"session\"];\r\n }\r\n if (obj.hasOwnProperty(\"useLoginEncryption\")) {\r\n this.options.useLoginEncryption = obj[\"useLoginEncryption\"];\r\n }\r\n\r\n this.optionsLoaded.next(true);\r\n }\r\n\r\n public async initialize(options: any): Promise<void> {\r\n if (options) {\r\n await this.createSettingsFromObject(options);\r\n await this._dictionary.setDictionary(this.options.languageCode);\r\n this.optionsInitialized.next(true);\r\n }\r\n }\r\n}\r\n","export class ArticleStockStatus {\r\n goodId: number;\r\n branchNo: string;\r\n requestedAmount: number;\r\n warehouseId: number;\r\n}\r\n","import {Articles} from '@colijnit/articleapi/build/articles';\r\nimport {Sharedapi} from '@colijnit/sharedapi/build/sharedapi';\r\nimport {Injectable} from '@angular/core';\r\nimport {GetStockHistoryRequest} from '@colijnit/articleapi/build/model/get-stock-history-request';\r\nimport {ArticleStock as ArticleStockBo} from '@colijnit/articleapi/build/model/article-stock.bo';\r\nimport {ArticleStock} from '@colijnit/articleapi/build/model/article-stock';\r\nimport {StockHistoryBo} from '@colijnit/articleapi/build/model/stock-history.bo';\r\nimport {ArticleStockManagement} from '@colijnit/articleapi/build/model/article-stock-management';\r\nimport {ArticleDetailsBo} from '@colijnit/articleapi/build/model/article-details.bo';\r\nimport {StockStatus} from '@colijnit/articleapi/build/model/stock-status.bo';\r\nimport {StockManagementWarehouses} from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';\r\nimport {StockLocation} from '@colijnit/articleapi/build/model/stock-location.bo';\r\nimport {ArticleTransaction} from '@colijnit/articleapi/build/model/article-transaction';\r\nimport {ArticleTransaction as ArticleTransactionBo} from '@colijnit/articleapi/build/model/article-transaction.bo';\r\nimport {OptionsService} from './options.service';\r\nimport {MainApi} from '@colijnit/mainapi';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {BusinessObjectFactory} from '@colijnit/ioneconnector/build/factory/business-object-factory';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\nimport {ArticleStockStatus} from \"../model/stock-status.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedConnectorService {\r\n public articleConnector: Articles;\r\n public sharedConnector: Sharedapi;\r\n public mainConnector: MainApi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n ) {\r\n }\r\n\r\n public async connect(): Promise<void> {\r\n this.articleConnector = new Articles(this._optionsService.options);\r\n this.sharedConnector = new Sharedapi(this._optionsService.options);\r\n this.mainConnector = new MainApi(this._optionsService.options);\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.listAllPrinters().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Printer, result.resultObject));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getSendMethods().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.result) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SendMethod, result.resultObject.result));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getPrintStockStickers(request: PrintStockStickers): Promise<PrintStockStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPrintStockStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintStockStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n // public async getPrintPriceStickers(request: PrintPriceStickers): Promise<PrintPriceStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.printPriceStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintPriceStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n public async getStockHistory(request: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockHistory(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.hasOwnProperty(\"stockHistory\")) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockHistoryBo, result.resultObject.stockHistory));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n })\r\n })\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockInformation(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementWarehouses().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementLocations(warehouseNo).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getOrderConfirmationDefaultSendMethod(relationId).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPurchaseOrderEmailLayouts(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleDetails(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleDetailsBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.updateArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.lockArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public async getStockStatus(): Promise<StockStatus[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockState().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStatus, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<DataServiceResponseData> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockStatus, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.mainConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleTransaction(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleTransactionBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this.articleConnector.commit();\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {StockStickersPrintLayouts} from \"@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {StockStickersEmailLayouts} from \"@colijnit/sharedapi/build/model/report/stock-stickers-email-layouts.bo\";\r\nimport {SendMethodParams} from \"../components/send-method-dialog/send-method-params.interface\";\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StockService {\r\n\r\n public stockStickers: PrintStockStickers;\r\n public printLayoutParams: SendMethodParams;\r\n\r\n constructor(\r\n private _sharedService: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n // public async getPrintStockStickers(data: PrintStockStickers): Promise<void> {\r\n // await this._sharedService.getPrintStockStickers(data);\r\n // }\r\n\r\n // public async getPrintPriceStickers(data: PrintPriceStickers): Promise<void> {\r\n // await this._sharedService.getPrintPriceStickers(data);\r\n // }\r\n\r\n public async getStockHistory(data: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return await this._sharedService.getStockHistory(data);\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return await this._sharedService.getStockInformation(data);\r\n }\r\n\r\n // public async getStockStickerPrintLayouts(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._connector.getStockStickerPrintLayouts(data);\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return await this._sharedService.getArticleDetails(data);\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return await this._sharedService.updateArticleDetails(data);\r\n }\r\n\r\n public async getStockState(): Promise<StockStatus[]> {\r\n return await this._sharedService.getStockStatus();\r\n }\r\n\r\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<DataServiceResponseData> {\r\n return await this._sharedService.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId);\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._sharedService.getStockStickerTemplates(data);\r\n // }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return await this._sharedService.getStockManagementWarehouses();\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return await this._sharedService.getStockManagementLocations(warehouseNo);\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return await this._sharedService.getOrderConfirmationDefaultSendMethod(relationId);\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return await this._sharedService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return await this._sharedService.getPurchaseOrderEmailLayouts(transactionUUID);\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return await this._sharedService.getArticleTransaction(data);\r\n }\r\n\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return await this._sharedService.lockArticleDetails(data);\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this._sharedService.commit();\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input, OnDestroy,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {OptionsService} from \"../../service/options.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\n\r\n@Component({\r\n selector: \"co-stock\",\r\n template: `\r\n <div class=\"stock-info-container\">\r\n <co-stock-information [article]=\"articleExtended\"\r\n [articleStock]=\"\"\r\n [allAvailableStockInformation]=\"allAvailableStock\"\r\n [allTechnicalStockInformation]=\"allTechnicalStock\"\r\n [allAmountLaterAvailable]=\"allAmountLaterAvailable\"\r\n >\r\n </co-stock-information>\r\n <hr>\r\n <co-stock-information-grid *ngIf=\"showStockInformationGrid\"\r\n [article]=\"articleExtended\"\r\n [stockLocationData]=\"stockLocationInformation\"\r\n [articleStockInformation]=\"stockInformation\"\r\n (transferIconClicked)=\"handleStockTransferClick($event)\"\r\n (historyClicked)=\"getStockHistory()\"\r\n [stockHistoryInformation]=\"stockHistory\"\r\n (okButtonClicked)=\"okButtonClicked.emit()\"\r\n (cancelButtonClicked)=\"cancelButtonClicked.emit()\"\r\n >\r\n </co-stock-information-grid>\r\n <co-stock-location *ngIf=\"showStockLocation\"\r\n (backToStockLines)=\"backToStockLinesClicked()\">\r\n\r\n </co-stock-location>\r\n <co-stock-transfer *ngIf=\"showStockTransfer\"\r\n (handleClick)=\"backToStock()\"\r\n [article]=\"stockTransferArticle\"\r\n [articleToTransfer]=\"stockTransferArticleDetails\"\r\n (handleStickerClicked)=\"handleStickerClicked.emit($event)\"\r\n [articleWarehouse]=\"articleWarehouse\"\r\n [allWarehouses]=\"allWarehouses\"\r\n >\r\n </co-stock-transfer>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockComponent implements OnDestroy {\r\n\r\n @ViewChild(StockComponent)\r\n public stock: StockComponent;\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input()\r\n public set article(article) {\r\n this.articleExtended = article;\r\n this.getStockInformation(article);\r\n };\r\n\r\n @Input()\r\n public articleWarehouse: any[];\r\n\r\n @Input()\r\n public allWarehouses: any[];\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostBinding(\"class.co-stock\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showStockInformationGrid: boolean = true;\r\n public showStockLocation: boolean = false;\r\n public showStockTransfer: boolean = false;\r\n public stockInformation: ArticleStockBo[];\r\n public stockLocationInformation: ArticleStockBo[];\r\n public stockTransferArticle: ArticleStockBo;\r\n public stockTransferArticleDetails: ArticleDetailsBo;\r\n public articleExtended: ArticleExtended;\r\n public stockHistory: StockHistoryBo[];\r\n public allAvailableStock: number = 0;\r\n public allTechnicalStock: number = 0;\r\n public allAmountLaterAvailable: number = 0;\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public stockService: StockService,\r\n private _optionsService: OptionsService,\r\n private _dictionary: DictionaryService,\r\n private _changeDetector: ChangeDetectorRef,\r\n ) {\r\n this._subscriptions.push(\r\n this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n public backToStockLinesClicked(): void {\r\n this.showStockLocation = false;\r\n this.showStockInformationGrid = true;\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.stockTransferArticleDetails = event;\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n this.stockService.stockStickers = new PrintStockStickers();\r\n }\r\n\r\n public backToStock(): void {\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n }\r\n\r\n public async getStockHistory(): Promise<void> {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"B\";\r\n stockHistoryInformation.goodId = this.articleExtended.goodId.toString();\r\n this.stockHistory = await this.stockService.getStockHistory(stockHistoryInformation);\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<void> {\r\n const articleData: ArticleStock = new ArticleStock();\r\n articleData.goodId = data.goodId.toString();\r\n articleData.viewKind = \"M\";\r\n this.stockInformation = await this.stockService.getStockInformation(articleData);\r\n this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);\r\n this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);\r\n this.stockInformation.forEach((articleStock) => this.allAmountLaterAvailable += articleStock.economicalStock);\r\n\r\n }\r\n\r\n public getArtStockStatus(): void {\r\n console.log(this.stockService.getArtStockStatus(this.articleExtended.goodId));\r\n }\r\n\r\n private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n if (loaded) {\r\n await this._initConnection().then();\r\n }\r\n }\r\n\r\n private async _initConnection(): Promise<void> {\r\n // await this._connector.connect(this._optionsService.options);\r\n\r\n if (this._optionsService.options.url) {\r\n this._dictionary.rootUrl = this._optionsService.options.url.replace(\"/ajaxservice\", \"\");\r\n }\r\n await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n setTimeout(() => {\r\n this._changeDetector.detectChanges();\r\n });\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-information\",\r\n template: `\r\n <div class=\"stock-info\" *ngIf=\"article\">\r\n <div class=\"stock-info-row\" >\r\n <div class=\"stock-info-row-image\">\r\n <div class=\"stock-image\">\r\n <co-image class=\"stock-image\" [source]=\"article.imageData\"></co-image>\r\n </div>\r\n </div>\r\n <div class=\"stock-good-info\">\r\n <div>\r\n <span [textContent]=\"article.description\"></span>\r\n </div>\r\n <div>\r\n <span [textContent]=\"article.articleNumber\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'STOCK_STATUS'\"></label>\r\n <span [textContent]=\"article.stockStatus\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'AMOUNT_IN_STOCK'\"></label>\r\n <span [textContent]=\"allTechnicalStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'AMOUNT_AVAILABLE'\"></label>\r\n <span [textContent]=\"allAvailableStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label [textContent]=\"'AMOUNT_LATER_AVAILABLE'\"></label>\r\n <span [textContent]=\"allAmountLaterAvailable\"></span>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockInformationComponent {\r\n\r\n public image: string;\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Input()\r\n public articleStock: ArticleStockBo;\r\n\r\n @Input()\r\n public allAvailableStockInformation: number;\r\n\r\n @Input()\r\n public allTechnicalStockInformation: number;\r\n\r\n @Input()\r\n public allAmountLaterAvailable: number;\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport const IconSvg: {[iconName: string]: string} = {\r\n \"angle_left_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\\\"/></svg>\",\r\n \"angle_right_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\\\"/></svg>\",\r\n \"arrow_fat_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"37.5 25 25.2 12.7 25.2 20.35 12.5 20.35 12.5 29.66 25.2 29.66 25.2 37.3 37.5 25\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\r\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\"><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\r\n \"at_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z\\\"/></svg>\",\r\n \"bring_forward_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path fill=\\\"#183153\\\" d=\\\"M224 464H448C456.8 464 464 456.8 464 448V224C464 215.2 456.8 208 448 208H384V160H448C483.3 160 512 188.7 512 224V448C512 483.3 483.3 512 448 512H224C188.7 512 160 483.3 160 448V384H208V448C208 456.8 215.2 464 224 464zM64 352C28.65 352 0 323.3 0 288V64C0 28.65 28.65 0 64 0H288C323.3 0 352 28.65 352 64V288C352 323.3 323.3 352 288 352H64z\\\"/></svg>\",\r\n \"check_round\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10ZM23,34l-6.24-9.09,2.81-3.59L23,26.45,27.66,16h5.58Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"delete_left_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M432.1 208.1L385.9 256L432.1 303C442.3 312.4 442.3 327.6 432.1 336.1C423.6 346.3 408.4 346.3 399 336.1L352 289.9L304.1 336.1C295.6 346.3 280.4 346.3 271 336.1C261.7 327.6 261.7 312.4 271 303L318.1 256L271 208.1C261.7 199.6 261.7 184.4 271 175C280.4 165.7 295.6 165.7 304.1 175L352 222.1L399 175C408.4 165.7 423.6 165.7 432.1 175C442.3 184.4 442.3 199.6 432.1 208.1V208.1zM512 64C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H205.3C188.3 448 172 441.3 160 429.3L9.372 278.6C3.371 272.6 0 264.5 0 256C0 247.5 3.372 239.4 9.372 233.4L160 82.75C172 70.74 188.3 64 205.3 64L512 64zM528 128C528 119.2 520.8 112 512 112H205.3C201 112 196.9 113.7 193.9 116.7L54.63 256L193.9 395.3C196.9 398.3 201 400 205.3 400H512C520.8 400 528 392.8 528 384V128z\\\"/></svg>\",\r\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"email\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.79,38.45A17.82,17.82,0,0,1,23.86,40,13.09,13.09,0,0,1,10.41,26.42C10.41,17.63,16.83,10,26.53,10c7.63,0,13.06,5.21,13.06,12.46,0,6.33-3.53,10.3-8.19,10.3a3.42,3.42,0,0,1-3.71-3.32h-.08A6.5,6.5,0,0,1,22,32.76c-2.75,0-4.82-2.11-4.82-5.65a9.85,9.85,0,0,1,10.13-10,12.89,12.89,0,0,1,5.13,1l-1.3,8c-.43,2.54-.13,3.71,1.08,3.75,1.85.09,4.18-2.28,4.18-7.28,0-5.65-3.62-10-10.3-10S13.73,17.76,13.73,26c0,7.25,4.57,11.3,11,11.3A14.81,14.81,0,0,0,31,36ZM28,20.65a5.34,5.34,0,0,0-1.33-.18c-2.85,0-5.09,2.81-5.09,6.12,0,1.64.73,2.68,2.16,2.68,1.59,0,3.27-2,3.66-4.53Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"envelope_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\\\"/></svg>\",\r\n \"file_export_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M568.1 303l-80-80c-9.375-9.375-24.56-9.375-33.94 0s-9.375 24.56 0 33.94L494.1 296H216C202.8 296 192 306.8 192 320s10.75 24 24 24h278.1l-39.03 39.03C450.3 387.7 448 393.8 448 400s2.344 12.28 7.031 16.97c9.375 9.375 24.56 9.375 33.94 0l80-80C578.3 327.6 578.3 312.4 568.1 303zM360 384c-13.25 0-24 10.74-24 24V448c0 8.836-7.164 16-16 16H64.02c-8.836 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v72c0 13.25 10.74 24 23.1 24S384 245.3 384 232V138.6c0-16.98-6.742-33.26-18.75-45.26l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H63.1C28.65 0-.002 28.66 0 64l.0065 384c.002 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64v-40C384 394.7 373.3 384 360 384z\\\"/></svg>\",\r\n \"file_export_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M32 64C32 28.7 60.7 0 96 0H256V128c0 17.7 14.3 32 32 32H416V288H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM416 336V288H526.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H416zm0-208H288V0L416 128z\\\"/></svg>\",\r\n \"file_pdf_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\\\"/></svg>\",\r\n \"file_pdf_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\\\"/></svg>\",\r\n \"message_sms_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448-.0004H64c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7L304 415.1H448c35.25 0 64-28.75 64-63.1V63.1C512 28.75 483.3-.0004 448-.0004zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352zM124.4 192.6C113.6 189.5 103.2 187.2 104.2 181.5c.7813-4.5 10.28-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.375 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34C143.1 147.8 136.5 145.9 130.6 145c-30.69-4.812-53.94 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34C135 239 125.7 241.1 114.3 239.4C107.9 238.4 100.4 235.4 93.38 232.9c-8.375-2.969-16 1.875-18.97 10.19S77.19 261.1 85.5 264.1C92.81 266.8 101.1 269.8 109.4 271C113.7 271.7 117.9 272 121.1 272c24.28 0 41.94-12.03 45.38-32.13C173.1 206.5 141.4 197.5 124.4 192.6zM396.4 192.6C385.6 189.5 375.2 187.2 376.2 181.5c.7813-4.5 10.31-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.406 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34c-6.156-2.125-12.69-4.062-18.59-4.969c-30.75-4.812-53.97 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34c-.7813 4.562-10.12 6.656-21.56 4.938c-6.342-.9883-13.9-3.939-20.88-6.438c-8.375-2.969-16 1.875-18.97 10.19s2.781 17.97 11.09 20.97c7.312 2.656 15.62 5.656 23.88 6.906C385.7 271.7 389.9 272 393.1 272c24.28 0 41.94-12.03 45.38-32.13C445.1 206.5 413.4 197.5 396.4 192.6zM309.1 144.8c-6.469-2.062-13.72 .0625-17.88 5.594L256 197.3L220.8 150.4C216.7 144.9 209.4 142.7 202.9 144.8C196.4 147 192 153.1 192 160v96c0 8.844 7.156 16 16 16S224 264.8 224 256V208l19.19 25.59c6.062 8.062 19.56 8.062 25.62 0L288 208V256c0 8.844 7.156 16 16 16S320 264.8 320 256V160C320 153.1 315.6 147 309.1 144.8z\\\"/></svg>\",\r\n \"message_sms_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\\\"/></svg>\",\r\n \"pdf\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.88c-2.16,0-2.72-.56-2.72-2.72V12.88c0-2.15.56-2.71,2.72-2.71h11.6l8.66,8.88v3.43H32.8V19.6l-7.88-8.09h-11c-1.38,0-1.38,0-1.38,1.37V37.45c0,1.37,0,1.37,1.38,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.83,26.63v4.24h1a3.57,3.57,0,0,0,.78-.06,1.22,1.22,0,0,0,.52-.26,1.44,1.44,0,0,0,.34-.62,4.13,4.13,0,0,0,.13-1.18,3.79,3.79,0,0,0-.13-1.14,1.51,1.51,0,0,0-.37-.62,1.14,1.14,0,0,0-.6-.3,5.93,5.93,0,0,0-1.06-.06Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.86,26.63v1.82h.71a3.57,3.57,0,0,0,1-.1A.88.88,0,0,0,24,28a.84.84,0,0,0,.14-.5.8.8,0,0,0-.2-.57.88.88,0,0,0-.52-.29,6.36,6.36,0,0,0-.93,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.12,4.24a1.68,1.68,0,0,1-.54.63,1.9,1.9,0,0,1-.67.3,6.57,6.57,0,0,1-1.34.1h-.85V32H20.57V25.54h2.07a7.75,7.75,0,0,1,1.54.1,1.73,1.73,0,0,1,.93.63,2,2,0,0,1,.37,1.25A2,2,0,0,1,25.26,28.51Zm6.45,1.66A2.91,2.91,0,0,1,31,31.31a2.28,2.28,0,0,1-.91.51A4,4,0,0,1,29,32H26.54V25.54H28.9a4.21,4.21,0,0,1,1.22.13,2.08,2.08,0,0,1,1,.59,2.79,2.79,0,0,1,.61,1,4.76,4.76,0,0,1,.21,1.52A4.19,4.19,0,0,1,31.71,30.17Zm5.7-3.54h-3.1v1.52H37v1.08H34.31V32H33V25.54h4.39Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"print\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,16.5H12a2,2,0,0,0-2,2v9a2,2,0,0,0,2,2h2v-5H36v5h2a2,2,0,0,0,2-2v-9A2,2,0,0,0,38,16.5ZM37,21a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,37,21Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,11.5v5H15v-5H35m1-1H14v7H36v-7Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,25.5v13H15v-13H35m1-1H14v15H36v-15Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"28.3\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"31.5\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"34.7\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"print_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M111.1 48h254.1L400 81.94V160H448V81.94c0-12.73-5.057-24.94-14.06-33.94l-33.94-33.94C391 5.057 378.8 0 366.1 0H111.1C85.49 0 64.01 21.48 64 47.98l.002 82.28c-.002 0 .002 0 0 0L64 160h48.01L111.1 48zM440 192H72C32.3 192 0 224.3 0 264v112c0 13.25 10.75 24 24 24H80V480c0 17.67 14.33 32 32 32h288c17.67 0 32-14.33 32-32v-80h56c13.25 0 24-10.75 24-24v-112C512 224.3 479.7 192 440 192zM384 464H128v-96h256V464zM464 352h-32c0-17.67-14.33-32-32-32h-288c-17.67 0-32 14.33-32 32h-32V264c0-13.23 10.77-24 24-24h368c13.23 0 24 10.77 24 24V352z\\\"/></svg>\",\r\n \"print_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\\\"/></svg>\",\r\n \"signature_field\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M20.1,25.42a1.1,1.1,0,1,1,1.27,1.45l-3.3,9.07A63.13,63.13,0,0,1,28,28.3l1.26-12-8.26-3-6.77,10A62.4,62.4,0,0,1,17,35.54l3.3-9.07A1.12,1.12,0,0,1,20.1,25.42Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.62\\\" y=\\\"11.43\\\" width=\\\"8.79\\\" height=\\\"2.34\\\" transform=\\\"translate(5.88 -8.14) rotate(20)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.11,37.48c1.44,2.65,4.58,2.94,7.23,2.1,1.41-.44,2.2-1.49,3.44-2.06,2.42-1.1,3.13,1.2,5.36,1.37.42,0,2-.65,1.54-.68-2.55-.19-2.93-3.13-5.51-2.65a4.9,4.9,0,0,0-1.64.71c-.77.49-1.31,1.62-2.07,2l-4.61.56A3.38,3.38,0,0,1,20,37c-.22-.41-2,.28-1.85.5Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"xml\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M21.42,30.17H3.87c-2.16,0-2.72-.56-2.72-2.72V2.88C1.16,.73,1.72,.17,3.87,.17H15.48l8.66,8.88v3.43h-1.34v-2.88L14.92,1.51H3.87q-1.37,0-1.37,1.37V27.45q0,1.37,1.37,1.37H21.42q1.37,0,1.37-1.37v-2.43h1.34v2.43c0,2.16-.56,2.72-2.72,2.72Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.2,.84V7.28c0,1.78,.27,2.05,2.04,2.05h6.22L15.2,.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M9.14,14.27v8.96H28.84V14.27H9.14Zm5.36,7.4l-1.3-2.02-1.3,2.02h-1.42l2-3.05-1.81-2.8h1.38l1.17,1.88,1.15-1.88h1.37l-1.82,2.84,2,3.01h-1.43Zm7.67,0h-1.1v-4.61l-1.16,4.61h-1.14l-1.16-4.61v4.61h-1.1v-5.85h1.77l1.06,3.99,1.05-3.99h1.77v5.85Zm5.33,0h-4.12v-5.81h1.18v4.82h2.94v.99Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\"\r\n};","import {Injectable} from \"@angular/core\";\r\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {IconSvg} from \"../model/icon-svg\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n constructor(\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: Icon | string): SafeHtml {\r\n if (iconName) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: Icon): SafeHtml {\r\n const icon: string = IconSvg[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getRawIcon(iconName: Icon): string {\r\n if (iconName) {\r\n return IconSvg[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in IconSvg) {\r\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\r\n }\r\n }\r\n }\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport enum Icon {\r\n AngleLeftSolid = \"angle_left_solid\",\r\n AngleRightSolid = \"angle_right_solid\",\r\n ArrowFatRight = \"arrow_fat_right\",\r\n ArrowPointLeft = \"arrow_point_left\",\r\n ArrowPointRight = \"arrow_point_right\",\r\n AtSolid = \"at_solid\",\r\n BringForwardRegular = \"bring_forward_regular\",\r\n CheckRound = \"check_round\",\r\n DeleteLeftRegular = \"delete_left_regular\",\r\n DeliveryTruck = \"delivery_truck\",\r\n Email = \"email\",\r\n EnvelopeRegular = \"envelope_regular\",\r\n FileExportRegular = \"file_export_regular\",\r\n FileExportSolid = \"file_export_solid\",\r\n FilePdfRegular = \"file_pdf_regular\",\r\n FilePdfSolid = \"file_pdf_solid\",\r\n MessageSmsRegular = \"message_sms_regular\",\r\n MessageSmsSolid = \"message_sms_solid\",\r\n Pdf = \"pdf\",\r\n Print = \"print\",\r\n PrintRegular = \"print_regular\",\r\n PrintSolid = \"print_solid\",\r\n SignatureField = \"signature_field\",\r\n Xml = \"xml\"\r\n}","import {Component, Output, ViewChild, ViewEncapsulation, EventEmitter, Input} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {CoDropDownListFields} from \"../stock-transfer/co-drop-down-list-fields.interface\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-information-grid\",\r\n template: `\r\n <div class=\"tab-link show\" *ngIf=\"hideOrShowTabs\">\r\n <span class=\"tab-link-buttons\"\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"handleTabClick(tab)\"\r\n [textContent]=\"tab\"\r\n [class.active]=\"tab === activeTab\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"stock-line\">\r\n <div [textContent]=\"activeTabText\"></div>\r\n\r\n </div>\r\n\r\n <div class=\"stock-grid\">\r\n <co-simple-grid *ngIf=\"activeTab === tabs[0] && hideOrShowTabs\"\r\n [data]=\"articleStockInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION'\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK'\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK'\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION'\" [field]=\"'locationNo'\" [order]=\"15\">\r\n <ng-template #template let-row=\"row\">\r\n <span class=\"location-link\" [textContent]=\"'Bekijken'\" (click)=\"onLocationClick(row)\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[1]\"\r\n [data]=\"inOrderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER2'\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CUSTOMER'\" [field]=\"'customerName'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION'\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER'\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick($event)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[2]\"\r\n [data]=\"orderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR'\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RESERVED'\" [field]=\"'reserved'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK'\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE1'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"handleBackToStockClick()\"></span>\r\n </div>\r\n <div class=\"stock-location-right-group\">\r\n <co-drop-down-list [(model)]=\"selectedWarehouse\"\r\n [collection]=\"dataWareHouseCode\"\r\n [fields]=\"dataWareHouseFields\"\r\n [placeholder]=\"'WAREHOUSE'\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n </div>\r\n </div>\r\n\r\n<!-- TODO move to own component stock-location-->\r\n <co-simple-grid [data]=\"articleDetails\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n [showAdd]=\"true\"\r\n [showToolbar]=\"true\"\r\n [showDelete]=\"true\"\r\n [inlineEdit]=\"true\"\r\n (dblClickRow)=\"lockSelectedRow($event)\"\r\n >\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <co-button class=\"stock-lines-button\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"handleBackToStockClick()\"></co-button>\r\n </div>\r\n </div>\r\n <co-simple-grid-column [headerText]=\"'LOCATION'\" [field]=\"'locationNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-drop-down-list [(model)]=\"row.locationNo\"\r\n [collection]=\"stockLocations\"\r\n [fields]=\"dataLocationFields\"\r\n [placeholder]=\"'LOCATION'\"\r\n (modelChange)=\"onLocationSelected($event)\"\r\n (click)=\"onLocationDropdownClick()\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'BATCH'\" [field]=\"'batchNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.batchNo\"\r\n [placeholder]=\"'BATCH'\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'SERIAL_NO'\" [field]=\"'serialNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.serialNo\"\r\n [placeholder]=\"'SERIAL_NO'\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK'\" [field]=\"'amountInStock'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.amountInStock\"\r\n [label]=\"'STOCK'\"\r\n (modelChange)=\"amountInStockChanged($event)\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ALLOCATED'\" [field]=\"'stockAssigned'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.stockAssigned\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK'\" [field]=\"'amountInStockFree'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.amountInStockFree\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA'\" [field]=\"'currency'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.currency\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE'\" [field]=\"'purchasePrice'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.purchasePrice\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUPPLIER_NUMBER'\" [field]=\"'supplierNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.supplierNo\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER'\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <co-stock-change-amount *ngIf=\"showChangeStockDetails\"\r\n (closeStockChangeAmount)=\"showChangeStockDetails = false\"\r\n [selectedArticleDetailsData]=\"selectedArticleDetailsData\"\r\n >\r\n </co-stock-change-amount>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"showStockHistory\">\r\n <div class=\"stock-button-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"backToStockInformation()\"></span>\r\n </div>\r\n <co-simple-grid [data]=\"stockHistoryInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE'\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME'\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT'\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE'\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION'\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSACTION_TYPE'\" [field]=\"'transType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER'\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE'\" [field]=\"'posLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE'\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK'\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA'\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_ID'\" [field]=\"'relationId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER'\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE'\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER'\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-button-toolbar\">\r\n <div class=\"stock-button-left-group\">\r\n <co-button *ngIf=\"activeTab === tabs[0]\" [label]=\"'HISTORY'\" (click)=\"handleHistoryClick()\"></co-button>\r\n </div>\r\n <div class=\"stock-button-middle-group\" *ngIf=\"activeTab !== tabs[0]\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"onOkClick()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"onCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stock-button-middle-group\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"onOkClickSendLocations()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"onCancelClickSendLocations()\"></co-button>\r\n </div>\r\n </div>\r\n </div>\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\"\r\n (closeClick)=\"showSendMethodDialog = false\"\r\n ></co-send-method-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class StockInformationGridComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(StockInformationGridComponent)\r\n public stock: StockInformationGridComponent;\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockLocationData: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockHistoryInformation: StockHistoryBo[];\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly historyClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public image: string;\r\n public show: boolean = false;\r\n public hideOrShowLocationTab: boolean = false;\r\n public showStockHistory: boolean = false;\r\n public showSendMethodDialog: boolean = false;\r\n\r\n public inOrderInformation: ArticleTransactionBo[];\r\n public orderInformation: ArticleTransactionBo[]\r\n public hideOrShowTabs: boolean = true;\r\n public dataWareHouseCode: StockManagementWarehouses[];\r\n public dataWareHouseFields: CoDropDownListFields = { text: \"warehouseDescription\", value: \"warehouseNo\" };\r\n public dataLocationFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n public selectedWarehouse: any;\r\n public selectedLocation: StockLocation;\r\n public stockLocations: StockLocation[];\r\n public articleStockSearchInfo: ArticleStock = new ArticleStock();\r\n public articleDetails: ArticleDetailsBo[];\r\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\r\n public showChangeStockDetails: boolean = false;\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\r\n\r\n public tabs: string[] = [\r\n \"STOCK\",\r\n \"IN_ORDER2\",\r\n \"ORDERS1\"\r\n ];\r\n public activeTab: string = this.tabs[0];\r\n\r\n public get activeTabText(): string {\r\n switch (this.activeTab) {\r\n case this.tabs[0]:\r\n return \"Voorraadregels\";\r\n case this.tabs[1]:\r\n return \"Gevonden in order(s)\";\r\n case this.tabs[2]:\r\n return \"Gevonden in bestellingen\";\r\n default:\r\n return \"Voorraadlocatie regels\";\r\n }\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public handleTabClick(tabData): void {\r\n this.activeTab = tabData;\r\n if (this.activeTab === \"IN_ORDER2\") {\r\n this.getInOrderData();\r\n } if (this.activeTab === \"ORDERS1\") {\r\n this.getOrderData();\r\n }\r\n }\r\n\r\n public onLocationClick(data: ArticleStockBo): void {\r\n this.articleStockSearchInfo.goodId = data.goodId.toString();\r\n this.articleStockSearchInfo.wareHouseNo = data.warehouseNo.toString();\r\n this.articleStockSearchInfo.viewKind = \"D\";\r\n this.selectedWarehouse = data.warehouseNo;\r\n if (!this.dataWareHouseCode) {\r\n this.getStockManagementWarehouses(data);\r\n }\r\n this.getArticleDetails(data);\r\n this.hideOrShowTabs = false;\r\n this.hideOrShowLocationTab = true;\r\n }\r\n\r\n public handleHistoryClick(): void {\r\n this.historyClicked.emit()\r\n this.hideOrShowLocationTab = false;\r\n this.showChangeStockDetails = false;\r\n this.hideOrShowTabs = false;\r\n this.showStockHistory = true;\r\n }\r\n\r\n public backToStockInformation(): void {\r\n this.showStockHistory = false;\r\n this.hideOrShowTabs = true;\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n\r\n public async handleBackToStockClick(): Promise<void> {\r\n this.activeTab = this.tabs[0];\r\n this.hideOrShowTabs = true;\r\n this.hideOrShowLocationTab = false;\r\n this.articleDetails = undefined;\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n if (!(this._stockService.printLayoutParams instanceof PrintPriceStickers)) {\r\n this._stockService.printLayoutParams.goodId = data.goodId;\r\n this._stockService.printLayoutParams.warehouse = data.warehouseNo;\r\n }\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public printStockStickers(): void {\r\n // this._stockService.getPrintStockStickers(this._stockService.printLayoutParams);\r\n }\r\n\r\n public onOkClick(): void {\r\n this.okButtonClicked.emit();\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.cancelButtonClicked.emit();\r\n }\r\n\r\n public openDialogClick(data): void {\r\n this.selectedArticleDetailsData = data;\r\n this.showChangeStockDetails = true;\r\n }\r\n\r\n public getArticleDetails(data: any): void {\r\n // const info = new ArticleStockManagement();\r\n this.articleDetailsInformation.goodId = data.goodId;\r\n this.articleDetailsInformation.lineId = data.lineId;\r\n this.articleDetailsInformation.warehouseNumber = data.warehouseNo;\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public getStockManagementWarehouses(data: ArticleStockBo): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.dataWareHouseCode = warehouses;\r\n this.selectedWarehouse = data.warehouseNo;\r\n })\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n this.articleDetailsInformation.warehouseNumber = event;\r\n if (this.selectedWarehouse || this.selectedWarehouse === 0) {\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n }\r\n\r\n public async getInOrderData(): Promise<void> {\r\n const inOrderData: ArticleTransaction = new ArticleTransaction();\r\n inOrderData.type = \"V\";\r\n inOrderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.inOrderInformation = await this._stockService.getArticleTransaction(inOrderData);\r\n }\r\n\r\n public async getOrderData(): Promise<void> {\r\n const orderData: ArticleTransaction = new ArticleTransaction();\r\n orderData.type = \"I\";\r\n orderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.orderInformation = await this._stockService.getArticleTransaction(orderData);\r\n }\r\n\r\n public onLocationDropdownClick(): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse).then((locations) => {\r\n this.stockLocations = locations;\r\n })\r\n }\r\n\r\n public onLocationSelected(location): void {\r\n console.log(location);\r\n this.selectedArticleDetailsData.locationNo = location;\r\n }\r\n\r\n public async onOkClickSendLocations(): Promise<void> {\r\n console.log(this.article)\r\n this.selectedArticleDetailsData.selected = true;\r\n this.selectedArticleDetailsData.goodId = this.article.goodId;\r\n this.selectedArticleDetailsData.entryDate = new Date();\r\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse;\r\n await this._stockService.updateArticleDetails(this.selectedArticleDetailsData);\r\n await this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public onCancelClickSendLocations(): void {\r\n\r\n }\r\n\r\n public amountInStockChanged(data): void {\r\n this.selectedArticleDetailsData.amountInStock = data;\r\n }\r\n\r\n public lockSelectedRow(row): void {\r\n this._stockService.lockArticleDetails(row);\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\n\r\n@Component({\r\n selector: \"co-stock-location\",\r\n template: `\r\n <div class=\"stock-location-wrapper\">\r\n <div class=\"buttons-wrapper\">\r\n <div class=\"stock-button-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES'\" (click)=\"backToStockInformation()\"></span>\r\n </div>\r\n <div class=\"dropdown-wrapper\">\r\n <co-drop-down-list\r\n [collection]=\"allWarehouses\"\r\n [placeholder]=\"'WAREHOUSES'\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n ></co-drop-down-list>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stock-grid\">\r\n\r\n </div>\r\n <div class=\"button-wrapper\">\r\n <div class=\"button-left\">\r\n <co-button (click)=\"onOkClick()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button (click)=\"onCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockLocationComponent {\r\n\r\n @Input()\r\n public stockLocationInformation: ArticleStock;\r\n\r\n @Output()\r\n public backToStockLines: EventEmitter<any> = new EventEmitter();\r\n\r\n public allWarehouses: any;\r\n\r\n public stockLocationColumns: any[] = [];\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n this.stockLocationColumns.push(\r\n {field: \"location\", headerText: \"WAREHOUSE\", editType: \"none\"},\r\n {field: \"batch\", headerText: \"BATCH\"},\r\n {field: \"serieNo\", headerText: \"SERIAL_NO\"},\r\n {field: \"amountInStock\", headerText: \"STOCK\", textAlign: \"Right\", editType: \"numericEdit\"},\r\n {field: \"allocated\", headerText: \"ALLOCATED\", textAlign: \"Right\"},\r\n {field: \"amountAvailable\", headerText: \"AVAILABLE_STOCK\", textAlign: \"Right\"},\r\n {field: \"PhysicalStock\", headerText: \"PHYSICAL_STOCK\", textAlign: \"Right\"},\r\n {field: \"Valuta\", headerText: \"VALUTA\", textAlign: \"Right\"},\r\n {field: \"PurchasePrice\", headerText: \"PURSCHASE_PRICE\", textAlign: \"Right\"},\r\n {field: \"SupplierNo\", headerText: \"SUPPLIER_NO\", textAlign: \"Right\"},\r\n {field: \"Transfer\", headerText: \"TRANSFER\"},\r\n {field: \"sticker\", headerText: \"STICKER\"},\r\n );\r\n }\r\n\r\n public backToStockInformation(): void {\r\n this.backToStockLines.emit();\r\n }\r\n\r\n public onOkClick(): void {\r\n\r\n }\r\n\r\n public onCancelClick(): void {\r\n\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/articleapi/build/model/print-stock-stickers\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-transfer\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <div class=\"stock-transfer-columns\">\r\n <div *ngIf=\"articleToTransfer\" class=\"stock-transfer-left-column\">\r\n <co-input-text disabled\r\n [label]=\"'Standaard magazijn'\"\r\n [(model)]=\"articleToTransfer.warehouseDescription\"\r\n [textContent]=\"articleToTransfer.warehouseDescription\"\r\n [placeholder]=\"'Standaard magazijn'\"\r\n >\r\n </co-input-text>\r\n <co-input-text disabled\r\n [(model)]=\"articleToTransfer.locationNo\"\r\n [textContent]=\"articleToTransfer.locationNo\"\r\n [placeholder]=\"'Standaard locatie'\">\r\n </co-input-text>\r\n <co-input-text *ngIf=\"articleToTransfer.batchNo\"\r\n disabled\r\n [(model)]=\"articleToTransfer.batchNo\"\r\n [placeholder]=\"'Batch'\">\r\n </co-input-text>\r\n <co-input-text *ngIf=\"articleToTransfer.serialNo\"\r\n disabled\r\n [(model)]=\"articleToTransfer.serialNo\"\r\n [placeholder]=\"'Serie'\">\r\n </co-input-text>\r\n <co-input-text\r\n [(model)]=\"articleToTransfer.amountTransfer\"\r\n [placeholder]=\"'Aantal'\">\r\n </co-input-text>\r\n </div>\r\n\r\n <div class=\"stock-transfer-right-column\">\r\n <co-drop-down-list [collection]=\"warehouses\"\r\n [fields]=\"allWarehousesDropdownFields\"\r\n (modelChange)=\"handleSelectedWarehouse($event)\"\r\n [placeholder]=\"'Magazijn'\"\r\n [(model)]=\"articleToTransfer.targetWarehouse\">\r\n </co-drop-down-list>\r\n <co-drop-down-list [collection]=\"locations\"\r\n [fields]=\"allLocationDropdownFields\"\r\n [(model)]=\"articleToTransfer.targetLocation\"\r\n [placeholder]=\"'Locatie'\"\r\n >\r\n </co-drop-down-list>\r\n <co-drop-down-list [collection]=\"stockState\"\r\n [fields]=\"stockStateDropdownField\"\r\n [placeholder]=\"'Voorraadstatus'\"\r\n [(model)]=\"articleToTransfer.stockStateId\"\r\n >\r\n </co-drop-down-list>\r\n <co-input-text [placeholder]=\"'Omschrijving'\"\r\n [(model)]=\"articleToTransfer.stockStateRemark\">\r\n </co-input-text>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"handleOkClick(articleToTransfer)\"></co-button>\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"handleCancelClick()\"></co-button>\r\n <co-button [textContent]=\"'Sticker'\" (click)=\"handleStickerClick()\"></co-button>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTransferComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public stockSticker: PrintStockStickers;\r\n\r\n @Input()\r\n public article: ArticleStockBo;\r\n\r\n @Input()\r\n public articleToTransfer: ArticleDetailsBo;\r\n\r\n @Input()\r\n public articleWarehouse: any[];\r\n\r\n @Input()\r\n public allWarehouses: any[];\r\n\r\n @Output()\r\n public handleClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public allWarehousesDropdownFields: CoDropDownListFields = {text: \"warehouseDescription\", value: \"warehouseNo\"};\r\n public allLocationDropdownFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n\r\n public showSendMethodDialog: boolean = false;\r\n public warehouses: StockManagementWarehouses[];\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n public locations: StockLocation[];\r\n public selectedWarehouse: any;\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockManagementWarehouses();\r\n this.getStockState();\r\n }\r\n\r\n public async handleOkClick(data: ArticleDetailsBo): Promise<void> {\r\n data.selected = true;\r\n data.entryDate = new Date;\r\n await this._stockService.updateArticleDetails(data);\r\n this.handleClick.emit();\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.handleClick.emit();\r\n }\r\n\r\n public handleSelectedWarehouse(event): void {\r\n this.selectedWarehouse = event;\r\n this.getStockManagementLocations(this.selectedWarehouse);\r\n }\r\n\r\n public async handleStickerClick(): Promise<void> {\r\n this.handleStickerClicked.emit();\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public getStockManagementWarehouses(): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.warehouses = warehouses;\r\n })\r\n }\r\n\r\n public getStockManagementLocations(data): void {\r\n this._stockService.getStockManagementLocations(data).then((locations) => {\r\n this.locations = locations;\r\n })\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class SharedService {\r\n\r\n constructor(\r\n protected options: OptionsService,\r\n protected connector: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n public async init(options: any): Promise<void> {\r\n await this.options.initialize(options);\r\n this.connector.connect();\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return await this.connector.getAllPrinters();\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return await this.connector.getSendMethods();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {ReportingDocumentPrintBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-print-base-request';\r\nimport {ReportingDocumentEmailBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-email-base-request';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SendMethodService {\r\n public reportingDocumentPrintBaseRequestChanged: Subject<ReportingDocumentPrintBaseRequest> = new Subject<ReportingDocumentPrintBaseRequest>();\r\n public reportingDocumentEmailBaseRequestChanged: Subject<ReportingDocumentEmailBaseRequest> = new Subject<ReportingDocumentEmailBaseRequest>();\r\n public reportingDocumentPdfBaseRequestChanged: Subject<ReportingDocumentPdfBaseRequest> = new Subject<ReportingDocumentPdfBaseRequest>();\r\n\r\n public set reportingDocumentPrintBaseRequest(value: ReportingDocumentPrintBaseRequest) {\r\n this._reportingDocumentPrintBaseRequest = value;\r\n this.activePrinter = this._reportingDocumentPrintBaseRequest.printerName;\r\n this.reportingDocumentPrintBaseRequestChanged.next(this._reportingDocumentPrintBaseRequest);\r\n }\r\n public get reportingDocumentPrintBaseRequest(): ReportingDocumentPrintBaseRequest {\r\n return this._reportingDocumentPrintBaseRequest;\r\n }\r\n public set reportingDocumentEmailBaseRequest(value: ReportingDocumentEmailBaseRequest) {\r\n this._reportingDocumentEmailBaseRequest = value;\r\n this.selectedEmailAddresses = this._reportingDocumentEmailBaseRequest.toAddresses.split(';');\r\n this.reportingDocumentEmailBaseRequestChanged.next(this._reportingDocumentEmailBaseRequest);\r\n }\r\n public get reportingDocumentEmailBaseRequest(): ReportingDocumentEmailBaseRequest {\r\n return this._reportingDocumentEmailBaseRequest;\r\n }\r\n public set reportingDocumentPdfBaseRequest(value: ReportingDocumentPdfBaseRequest) {\r\n this._reportingDocumentPdfBaseRequest = value;\r\n this.reportingDocumentPdfBaseRequestChanged.next(this._reportingDocumentPdfBaseRequest);\r\n }\r\n public get reportingDocumentPdfBaseRequest(): ReportingDocumentPdfBaseRequest {\r\n return this._reportingDocumentPdfBaseRequest;\r\n }\r\n\r\n public selectedEmailAddresses: string[] = [];\r\n public activePrinter: string;\r\n\r\n private _reportingDocumentPrintBaseRequest: ReportingDocumentPrintBaseRequest = new ReportingDocumentPrintBaseRequest();\r\n private _reportingDocumentEmailBaseRequest: ReportingDocumentEmailBaseRequest = new ReportingDocumentEmailBaseRequest();\r\n private _reportingDocumentPdfBaseRequest: ReportingDocumentPdfBaseRequest = new ReportingDocumentPdfBaseRequest();\r\n\r\n public removeEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) > -1) {\r\n this.selectedEmailAddresses.splice(this.selectedEmailAddresses.indexOf(address), 1);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n public addEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) < 0) {\r\n this.selectedEmailAddresses.push(address);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n private _updateEmailAddresses(): void {\r\n this._reportingDocumentEmailBaseRequest.toAddresses = this.selectedEmailAddresses.join(';');\r\n this.reportingDocumentEmailBaseRequestChanged.next(this._reportingDocumentEmailBaseRequest);\r\n }\r\n\r\n}\r\n","import {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\n\r\nexport class SendMethod {\r\n public code: SendMethodType;\r\n public description: string;\r\n public icon: string;\r\n\r\n constructor(code: SendMethodType, description: string, icon: string) {\r\n this.code = code;\r\n this.description = description;\r\n this.icon = icon;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Subscription} from 'rxjs';\r\nimport {OptionsService} from '../../service/options.service';\r\nimport {DictionaryService} from '../../service/dictionary.service';\r\nimport {SharedService} from '../../service/shared.service';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {ReportingDocumentPrintBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-print-base-request';\r\nimport {ReportingDocumentEmailBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-email-base-request';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethod} from '../../model/send-method';\r\nimport {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\n\r\nexport const sendMethodsWithIcon: SendMethod[] = [\r\n new SendMethod(SendMethodType.Fax, \"Fax\", Icon.PrintRegular),\r\n new SendMethod(SendMethodType.Print, \"Print\", Icon.PrintSolid),\r\n new SendMethod(SendMethodType.Email, \"Email\", Icon.AtSolid),\r\n new SendMethod(SendMethodType.Edi, \"Edi\", Icon.FileExportSolid),\r\n new SendMethod(SendMethodType.EmailTemplate, \"Email template\", Icon.EnvelopeRegular),\r\n new SendMethod(SendMethodType.Sms, \"Sms\", Icon.MessageSmsSolid),\r\n new SendMethod(SendMethodType.WebService, \"Webservice\", Icon.PrintRegular)\r\n]\r\n\r\n@Component({\r\n selector: 'co-send-method-dialog',\r\n template: `\r\n <co-dialog id=\"sendOptionsDialog\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\"\r\n (closeClick)=\"closeClick.emit($event)\">\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"headerTitle\"></div>\r\n </ng-template>\r\n <div class=\"dialog-content-wrapper\">\r\n <div class=\"send-methods-wrapper\">\r\n <div class=\"send-button-wrapper\" *ngFor=\"let sendMethod of sendMethods; let index = index\"\r\n [class.selected]=\"activeSendMethod ? sendMethod.code === activeSendMethod.code : index === 0\"\r\n (click)=\"handleSendMethodClick(sendMethod)\">\r\n <co-icon class=\"custom-button-icon\" [iconData]=\"iconCacheService.getIcon(sendMethod.icon)\"></co-icon>\r\n <div class=\"custom-button-title\" [textContent]=\"sendMethod.description\"></div>\r\n </div>\r\n </div>\r\n <div #navigationItems class=\"send-method-navigation-wrapper\" [class.smooth-scrolling]=\"!startUp\">\r\n <div #faxItems class=\"send-method-navigation-content co-small-scrollbar\">\r\n\r\n </div>\r\n <div #printItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPrint\">\r\n <co-send-method-printer\r\n [layouts]=\"printLayouts\"\r\n ></co-send-method-printer>\r\n </div>\r\n <div #emailItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmail\">\r\n <co-send-method-email\r\n [emailAddresses]=\"emailAddresses\"\r\n [layouts]=\"emailLayouts\"\r\n ></co-send-method-email>\r\n </div>\r\n <div #ediItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEdi\">\r\n\r\n </div>\r\n <div #emailTemplateItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmailTemplate\">\r\n\r\n </div>\r\n <div #smsItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showSms\">\r\n\r\n </div>\r\n <div #webServiceItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showWebservice\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'Ok'\" (click)=\"okClick.emit(activeSendMethod ? activeSendMethod.code : '0')\"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('slideInOut', [\r\n state('*', style({transform: 'translateX(0%)', width: '100%', opacity: '1'})),\r\n state('void', style({transform: 'translateX(150%)', opacity: '0'})),\r\n transition('void => *', animate(250))\r\n ])\r\n ]\r\n})\r\n\r\nexport class SendMethodDialogComponent implements OnInit, OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('navigationItems', {read: ElementRef})\r\n public navigationItems: ElementRef;\r\n\r\n @ViewChild('faxItems', {read: ElementRef})\r\n public faxItems: ElementRef;\r\n\r\n @ViewChild('printItems', {read: ElementRef})\r\n public printItems: ElementRef;\r\n\r\n @ViewChild('emailItems', {read: ElementRef})\r\n public emailItems: ElementRef;\r\n\r\n @ViewChild('ediItems', {read: ElementRef})\r\n public ediItems: ElementRef;\r\n\r\n @ViewChild('emailTemplateItems', {read: ElementRef})\r\n public emailTemplateItems: ElementRef;\r\n\r\n @ViewChild('smsItems', {read: ElementRef})\r\n public smsItems: ElementRef;\r\n\r\n @ViewChild('webServiceItems', {read: ElementRef})\r\n public webServiceItems: ElementRef;\r\n\r\n @Input()\r\n public reportingDocumentPrintRequest: ReportingDocumentPrintBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentEmailRequest: ReportingDocumentEmailBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentPdfRequest: ReportingDocumentPdfBaseRequest;\r\n\r\n @Input()\r\n public emailLayouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @Input()\r\n public printLayouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n // @Input()\r\n // public priceListCodeData: any;\r\n\r\n @Input()\r\n public headerTitle: string;\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public defaultSendMethod: string;\r\n\r\n @Input()\r\n public visibleMethods: SendMethodType[] | string[] = [];\r\n\r\n @Input()\r\n public isDocSignEnabled: boolean = false;\r\n\r\n @Input()\r\n public docSign: boolean = false;\r\n\r\n @Output()\r\n public reportingDocumentPrintRequestChange: EventEmitter<ReportingDocumentPrintBaseRequest> = new EventEmitter<ReportingDocumentPrintBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentEmailRequestChange: EventEmitter<ReportingDocumentEmailBaseRequest> = new EventEmitter<ReportingDocumentEmailBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentPdfRequestChange: EventEmitter<ReportingDocumentPdfBaseRequest> = new EventEmitter<ReportingDocumentPdfBaseRequest>();\r\n\r\n @Output()\r\n public startSignatureClicked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public okClick: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding('class.co-send-method-dialog')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public sendMethods = sendMethodsWithIcon;\r\n public activeSendMethod: SendMethod;\r\n public upAndLoaded: boolean = false;\r\n public startUp: boolean = true;\r\n\r\n public showFax: boolean = true;\r\n public showPrint: boolean = true;\r\n public showEmail: boolean = true;\r\n public showEdi: boolean = true;\r\n public showSms: boolean = true;\r\n public showEmailTemplate: boolean = true;\r\n public showWebservice: boolean = true;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _optionsService: OptionsService,\r\n private _dictionary: DictionaryService,\r\n private _changeDetector: ChangeDetectorRef,\r\n private _sharedService: SharedService,\r\n private _sendMethodService: SendMethodService\r\n ) {\r\n this._subscriptions.push(\r\n this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\r\n this._sendMethodService.reportingDocumentPrintBaseRequestChanged.subscribe((value: ReportingDocumentPrintBaseRequest) => this.reportingDocumentPrintRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentEmailBaseRequestChanged.subscribe((value: ReportingDocumentEmailBaseRequest) => this.reportingDocumentEmailRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentPdfBaseRequestChanged.subscribe((value: ReportingDocumentPdfBaseRequest) => this.reportingDocumentPdfRequestChange.next(value))\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n if (this.reportingDocumentEmailRequest) {\r\n this._sendMethodService.reportingDocumentEmailBaseRequest = this.reportingDocumentEmailRequest;\r\n }\r\n if (this.reportingDocumentPrintRequest) {\r\n this._sendMethodService.reportingDocumentPrintBaseRequest = this.reportingDocumentPrintRequest;\r\n }\r\n if (this.reportingDocumentPdfRequest) {\r\n this._sendMethodService.reportingDocumentPdfBaseRequest = this.reportingDocumentPdfRequest;\r\n }\r\n this._selectDefaultSendMethod();\r\n this._prepareVisibleMethods();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n public handleSignatureStart(): void {\r\n this.docSign = !this.docSign;\r\n this.startSignatureClicked.emit();\r\n }\r\n\r\n public handleSendMethodClick(sendMethod: SendMethod): void {\r\n this.activeSendMethod = sendMethod;\r\n if (sendMethod.code === SendMethodType.Fax && this.showFax) {\r\n this.navigationItems.nativeElement.scrollLeft = this.faxItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Print && this.showPrint) {\r\n this.navigationItems.nativeElement.scrollLeft = this.printItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Email && this.showEmail) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Edi && this.showEdi) {\r\n this.navigationItems.nativeElement.scrollLeft = this.ediItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.EmailTemplate && this.showEmailTemplate) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailTemplateItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Sms && this.showSms) {\r\n this.navigationItems.nativeElement.scrollLeft = this.smsItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.WebService && this.showWebservice) {\r\n this.navigationItems.nativeElement.scrollLeft = this.webServiceItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n private _selectDefaultSendMethod(): void {\r\n if (this.defaultSendMethod) {\r\n const sendMethod: SendMethod = this.sendMethods.find(sm => sm.code === this.defaultSendMethod);\r\n if (sendMethod) {\r\n setTimeout(() => {\r\n this.handleSendMethodClick(sendMethod);\r\n this.startUp = false;\r\n });\r\n }\r\n } else {\r\n this.startUp = false;\r\n }\r\n }\r\n\r\n private _prepareVisibleMethods(): void {\r\n if (this.visibleMethods && this.visibleMethods.length > 0) {\r\n this.sendMethods = this.sendMethods.filter(sm => this.visibleMethods.find(vm => vm === sm.code));\r\n }\r\n this.showFax = this.sendMethods.find(sm => sm.code === SendMethodType.Fax) !== undefined;\r\n this.showPrint = this.sendMethods.find(sm => sm.code === SendMethodType.Print) !== undefined;\r\n this.showEmail = this.sendMethods.find(sm => sm.code === SendMethodType.Email) !== undefined;\r\n this.showEdi = this.sendMethods.find(sm => sm.code === SendMethodType.Edi) !== undefined;\r\n this.showEmailTemplate = this.sendMethods.find(sm => sm.code === SendMethodType.EmailTemplate) !== undefined;\r\n this.showSms = this.sendMethods.find(sm => sm.code === SendMethodType.Sms) !== undefined;\r\n this.showWebservice = this.sendMethods.find(sm => sm.code === SendMethodType.WebService) !== undefined;\r\n }\r\n\r\n private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n if (loaded) {\r\n await this._initConnection().then();\r\n this.upAndLoaded = true;\r\n }\r\n }\r\n\r\n private async _initConnection(): Promise<void> {\r\n // await this._connector.connect(this._optionsService.options);\r\n\r\n if (this._optionsService.options.url) {\r\n this._dictionary.rootUrl = this._optionsService.options.url.replace('/ajaxservice', '');\r\n }\r\n await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n setTimeout(() => {\r\n this._changeDetector.detectChanges();\r\n });\r\n }\r\n\r\n}\r\n","export class EmailAddressViewmodel {\r\n public checked: boolean;\r\n public emailAddress: string;\r\n\r\n constructor(checked: boolean, emailAddress: string) {\r\n this.checked = checked;\r\n this.emailAddress = emailAddress;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {EmailAddressViewmodel} from '../../model/email-address-viewmodel';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-email',\r\n template: `\r\n <div class=\"email-addresses-wrapper co-small-scrollbar\">\r\n <div class=\"email-address-wrapper\" *ngFor=\"let emailAddressViewmodel of emailAddressViewmodels\" (click)=\"handleCheckedEmail(emailAddressViewmodel)\">\r\n <co-input-checkbox [model]=\"emailAddressViewmodel.checked\" (modelChange)=\"handleCheckedEmail(emailAddressViewmodel)\"></co-input-checkbox>\r\n <div class=\"email-address\" [textContent]=\"emailAddressViewmodel.emailAddress\"></div>\r\n </div>\r\n </div>\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentEmailBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodEmailComponent implements OnInit {\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @HostBinding('class.co-send-method-email')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public emailAddressViewmodels: EmailAddressViewmodel[] = [];\r\n\r\n constructor(public sendMethodService: SendMethodService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.emailAddresses) {\r\n this.emailAddresses.forEach((ea: string) => {\r\n const emailAddressViewmodel: EmailAddressViewmodel = new EmailAddressViewmodel(this.sendMethodService.selectedEmailAddresses.indexOf(ea) > -1, ea);\r\n this.emailAddressViewmodels.push(emailAddressViewmodel);\r\n });\r\n }\r\n }\r\n\r\n public handleCheckedEmail(emailAddressViewmodel: EmailAddressViewmodel): void {\r\n const wantedValue: boolean = !emailAddressViewmodel.checked;\r\n if (!wantedValue) {\r\n this.sendMethodService.removeEmailAddress(emailAddressViewmodel.emailAddress);\r\n } else {\r\n this.sendMethodService.addEmailAddress(emailAddressViewmodel.emailAddress);\r\n }\r\n emailAddressViewmodel.checked = wantedValue;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {ReportLayoutSelectionBase} from '@colijnit/mainapi/build/model/report-layout-selection-base.bo';\r\nimport {ReportingDocumentBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-base-request';\r\n\r\n@Component({\r\n selector: 'co-layout-selection',\r\n template: `\r\n <div class=\"layout-selection-wrapper\" (click)=\"showLayoutList = !showLayoutList\">\r\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\r\n <div class=\"layout-description\" [textContent]=\"currentLayout?.description || 'Layout kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showLayoutList\" @showHideLayouts>\r\n <div class=\"layout-selection-wrapper\" *ngFor=\"let reportLayout of layouts\"\r\n [class.selected]=\"reportLayout.reportId === currentLayout?.reportId\"\r\n (click)=\"handleSelectLayout(reportLayout)\">\r\n <div class=\"layout-description\" [textContent]=\"reportLayout.description\"></div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideLayouts\", [\r\n state(\"void\", style({height: 0})),\r\n state(\"*\", style({height: \"50%\"})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSelectionComponent implements OnInit {\r\n @Input()\r\n public request: ReportingDocumentBaseRequest;\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionBase[] = [];\r\n\r\n @Output()\r\n public requestChange: EventEmitter<ReportingDocumentBaseRequest> = new EventEmitter<ReportingDocumentBaseRequest>();\r\n\r\n @HostBinding('class.co-layout-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public currentLayout: ReportLayoutSelectionBase;\r\n public showLayoutList: boolean = false;\r\n\r\n ngOnInit(): void {\r\n if (this.layouts && this.layouts.length > 0) {\r\n this.currentLayout = this.layouts.find(l => l.reportId === this.request.reportId);\r\n }\r\n }\r\n\r\n public handleSelectLayout(reportLayout: ReportLayoutSelectionBase): void {\r\n this.currentLayout = reportLayout;\r\n this.request.reportId = this.currentLayout.reportId;\r\n this.requestChange.emit(this.request);\r\n this.showLayoutList = false;\r\n }\r\n\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LayoutSelectionComponent} from './layout-selection.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n LayoutSelectionComponent\r\n ],\r\n exports: [\r\n LayoutSelectionComponent\r\n ]\r\n})\r\nexport class LayoutSelectionModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodEmailComponent} from './send-method-email.component';\r\nimport {InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n LayoutSelectionModule\r\n ],\r\n declarations: [\r\n SendMethodEmailComponent\r\n ],\r\n exports: [\r\n SendMethodEmailComponent\r\n ]\r\n})\r\nexport class SendMethodEmailModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-printer',\r\n template: `\r\n <co-printer-selection></co-printer-selection>\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentPrintBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForUser\"\r\n [label]=\"'Koppeling onthouden'\"\r\n (modelChange)=\"handleDefaultPrinterUserChange($event)\"\r\n ></co-input-checkbox>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForAllUsers\"\r\n [label]=\"'Alle gebruikers'\"\r\n (modelChange)=\"handleDefaultPrinterAllUsersChange($event)\"\r\n ></co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodPrinterComponent {\r\n @Input()\r\n public layouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n @HostBinding('class.co-send-method-printer')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService\r\n ) {\r\n }\r\n\r\n public handleDefaultPrinterUserChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForUser = checked;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n }\r\n\r\n public handleDefaultPrinterAllUsersChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.saveDefaultPrinterForAllUsers = checked;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SharedService} from '../../../../service/shared.service';\r\nimport {IconCacheService} from '../../../../service/icon-cache.service';\r\nimport {Icon} from '../../../../enum/icon.enum';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\n\r\n@Component({\r\n selector: 'co-printer-selection',\r\n template: `\r\n <div class=\"printer-selection-wrapper\" (click)=\"showPrinterList = !showPrinterList\">\r\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\r\n <div class=\"printer-name\" [textContent]=\"sendMethodService.reportingDocumentPrintBaseRequest.printerName || 'Printer kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showPrinterList\" @showHideLayouts>\r\n <div class=\"printer-list-item\" *ngFor=\"let printer of printers\"\r\n [class.selected]=\"sendMethodService.reportingDocumentPrintBaseRequest.printerName === printer.name\"\r\n (click)=\"handlePrinterClicked(printer)\">\r\n <co-icon class=\"printer-icon\" [iconData]=\"iconService.getIcon(icons.PrintRegular)\"></co-icon>\r\n <div class=\"printer-details\">\r\n <span class=\"printer-name\" [textContent]=\"printer.name\"></span>\r\n <span class=\"printer-status\" [textContent]=\"printer.acceptingJobs\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger('showHideLayouts', [\r\n state('void', style({height: 0})),\r\n state('*', style({height: '50%'})),\r\n transition('void => *', animate('200ms ease-in-out')),\r\n transition('* => void', animate('200ms ease-out'))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PrinterSelectionComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-printer-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public printers: Printer[] = [];\r\n public showPrinterList: boolean = false;\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService,\r\n public iconService: IconCacheService,\r\n private _service: SharedService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._service.getAllPrinters().then((printers: Printer[]) => {\r\n this.printers = printers;\r\n if (!this.sendMethodService.reportingDocumentPrintBaseRequest.printerName) {\r\n const defaultPrinter: Printer = this.printers.find(p => p.isDefault);\r\n if (defaultPrinter) {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.printerName = defaultPrinter.name;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public handlePrinterClicked(printer: Printer): void {\r\n this.sendMethodService.reportingDocumentPrintBaseRequest.printerName = printer.name;\r\n this.sendMethodService.reportingDocumentPrintBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintBaseRequest);\r\n this.showPrinterList = false;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PrinterSelectionComponent} from './printer-selection.component';\r\nimport {IconModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n PrinterSelectionComponent\r\n ],\r\n exports: [\r\n PrinterSelectionComponent\r\n ]\r\n})\r\nexport class PrinterSelectionModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodPrinterComponent} from './send-method-printer.component';\r\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {PrinterSelectionModule} from '../printer-selection/printer-selection.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n LayoutSelectionModule,\r\n PrinterSelectionModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n SendMethodPrinterComponent\r\n ],\r\n exports: [\r\n SendMethodPrinterComponent\r\n ]\r\n})\r\nexport class SendMethodPrinterModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ButtonModule, CoDialogModule, IconModule} from '@colijnit/corecomponents_v12';\r\nimport {SendMethodDialogComponent} from './send-method-dialog.component';\r\nimport {StockService} from '../../service/stock.service';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethodEmailModule} from './components/send-method-email/send-method-email.module';\r\nimport {SendMethodPrinterModule} from './components/send-method-printer/send-method-printer.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n SendMethodDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n IconModule,\r\n SendMethodEmailModule,\r\n SendMethodPrinterModule,\r\n ButtonModule\r\n ],\r\n exports: [\r\n SendMethodDialogComponent\r\n ],\r\n providers: [\r\n SendMethodService,\r\n StockService\r\n ]\r\n})\r\nexport class SendMethodDialogModule { }\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-change-amount\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <co-dialog-wizard [showCloseIcon]=\"true\" (closeClick)=\"closeDialogClick()\">\r\n <ng-container header>\r\n <span [textContent]=\"'STOCK_CHANGE_REASON'\"></span>\r\n </ng-container>\r\n <div class=\"popup-wrapper\">\r\n <co-drop-down-list [collection]=\"stockState\"\r\n [fields]=\"stockStateDropdownField\"\r\n [placeholder]=\"'STOCK_STATE'\"\r\n [(model)]=\"selectedArticleDetailsData.stockStateId\"\r\n ></co-drop-down-list>\r\n\r\n <co-input-textarea [(model)]=\"selectedArticleDetailsData.stockStateRemark\"\r\n\r\n ></co-input-textarea>\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'Ok'\" (click)=\"handleOkClick(selectedArticleDetailsData)\"></co-button>\r\n <co-button [textContent]=\"'Annuleren'\" (click)=\"handleCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n </co-dialog-wizard>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockChangeAmountComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public selectedArticleDetailsData: ArticleDetailsBo;\r\n\r\n @Output()\r\n public readonly closeStockChangeAmount: EventEmitter<any> = new EventEmitter();\r\n\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockState();\r\n }\r\n\r\n public closeDialogClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public async handleOkClick(data: ArticleDetailsBo): Promise<void> {\r\n data.selected = true;\r\n data.entryDate = new Date();\r\n await this._stockService.updateArticleDetails(data);\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {StockComponent} from \"./stock.component\";\r\nimport {\r\n ButtonModule, CoDialogWizardModule,\r\n CoGridModule,\r\n DropDownModule, IconModule, ImageModule,\r\n InputComboBoxModule, InputNumberPickerModule,\r\n InputRadioButtonModule, InputTextareaModule, InputTextModule, SimpleGridModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {StockInformationComponent} from \"./stock-information/stock-information.component\";\r\nimport {StockInformationGridComponent} from \"./stock-information-grid/stock-information-grid.component\";\r\nimport {StockLocationComponent} from \"./stock-location/stock-location.component\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {StockTransferComponent} from \"./stock-transfer/stock-transfer.component\";\r\nimport {SendMethodDialogModule} from \"../send-method-dialog/send-method-dialog.module\";\r\nimport {StockChangeAmountComponent} from \"./stock-transfer/stock-change-amount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n InputComboBoxModule,\r\n CoGridModule,\r\n ButtonModule,\r\n CommonModule,\r\n InputRadioButtonModule,\r\n DropDownModule,\r\n SimpleGridModule,\r\n ImageModule,\r\n InputTextModule,\r\n SendMethodDialogModule,\r\n IconModule,\r\n InputNumberPickerModule,\r\n CoDialogWizardModule,\r\n InputTextareaModule\r\n ],\r\n declarations: [\r\n StockComponent,\r\n StockInformationComponent,\r\n StockInformationGridComponent,\r\n StockLocationComponent,\r\n StockTransferComponent,\r\n StockChangeAmountComponent\r\n ],\r\n exports: [\r\n StockComponent\r\n ],\r\n providers: [\r\n StockService\r\n ]\r\n})\r\nexport class StockModule {}\r\n","export enum KeyboardCode {\r\n Backspace = \"Backspace\",\r\n Digit0 = \"Digit0\",\r\n Digit1 = \"Digit1\",\r\n Digit2 = \"Digit2\",\r\n Digit3 = \"Digit3\",\r\n Digit4 = \"Digit4\",\r\n Digit5 = \"Digit5\",\r\n Digit6 = \"Digit6\",\r\n Digit7 = \"Digit7\",\r\n Digit8 = \"Digit8\",\r\n Digit9 = \"Digit9\",\r\n Enter = \"Enter\",\r\n Escape = \"Escape\",\r\n Minus = \"Minus\",\r\n Numpad0 = \"Numpad0\",\r\n Numpad1 = \"Numpad1\",\r\n Numpad2 = \"Numpad2\",\r\n Numpad3 = \"Numpad3\",\r\n Numpad4 = \"Numpad4\",\r\n Numpad5 = \"Numpad5\",\r\n Numpad6 = \"Numpad6\",\r\n Numpad7 = \"Numpad7\",\r\n Numpad8 = \"Numpad8\",\r\n Numpad9 = \"Numpad9\",\r\n NumpadDecimal = \"NumpadDecimal\",\r\n NumpadEnter = \"NumpadEnter\",\r\n NumpadSubtract = \"NumpadSubtract\",\r\n Period = \"Period\"\r\n}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {KeyboardCode} from '../../enum/keyboard-code.enum';\r\n\r\n@Component({\r\n selector: 'co-key-pad',\r\n template: `\r\n <div class=\"key-pad-wrapper\">\r\n <div class=\"key-pad-model-wrapper\" *ngIf=\"showValue\">\r\n <div class=\"key-pad-model\" [textContent]=\"internalModel\" [class.negative]=\"isNegative\"></div>\r\n </div>\r\n <div class=\"key-pad-button-wrapper\">\r\n <div class=\"key-pad-button button-7\" [textContent]=\"'7'\" (click)=\"handleButtonClick('7')\"></div>\r\n <div class=\"key-pad-button button-8\" [textContent]=\"'8'\" (click)=\"handleButtonClick('8')\"></div>\r\n <div class=\"key-pad-button button-9\" [textContent]=\"'9'\" (click)=\"handleButtonClick('9')\"></div>\r\n <div class=\"key-pad-button button-bs\" (click)=\"handleBsClick($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.DeleteLeftRegular)\"></co-icon>\r\n </div>\r\n <div class=\"key-pad-button button-4\" [textContent]=\"'4'\" (click)=\"handleButtonClick('4')\"></div>\r\n <div class=\"key-pad-button button-5\" [textContent]=\"'5'\" (click)=\"handleButtonClick('5')\"></div>\r\n <div class=\"key-pad-button button-6\" [textContent]=\"'6'\" (click)=\"handleButtonClick('6')\"></div>\r\n <div class=\"key-pad-button button-minus\" [textContent]=\"'-'\" (click)=\"handleMinusClick($event)\"></div>\r\n <div class=\"key-pad-button button-1\" [textContent]=\"'1'\" (click)=\"handleButtonClick('1')\"></div>\r\n <div class=\"key-pad-button button-2\" [textContent]=\"'2'\" (click)=\"handleButtonClick('2')\"></div>\r\n <div class=\"key-pad-button button-3\" [textContent]=\"'3'\" (click)=\"handleButtonClick('3')\"></div>\r\n <div class=\"key-pad-button button-enter\" (click)=\"handleEnterClick($event)\">\r\n <span [textContent]=\"'enter'\"></span>\r\n </div>\r\n <div class=\"key-pad-button button-0\" [textContent]=\"'0'\" (click)=\"handleButtonClick('0')\"></div>\r\n <div class=\"key-pad-button button-dot\" [textContent]=\"'.'\" (click)=\"handleButtonClick('.')\"></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KeyPadComponent {\r\n public icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set model(value: number) {\r\n this._model = value;\r\n this._internalModel = this._model + \"\";\r\n }\r\n\r\n public get model(): number {\r\n return this._model;\r\n }\r\n\r\n @Input()\r\n public showValue: boolean = true;\r\n\r\n @Input()\r\n public emitModelChangeOnEnter: boolean = true;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @Output()\r\n public internalModelChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public enterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding('class.co-key-pad')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n public handleKeyDown(event: KeyboardEvent) {\r\n this._keyDown(event);\r\n }\r\n\r\n private readonly _validKeyMap: Map<KeyboardCode | string, string> = new Map<KeyboardCode, string>([\r\n [KeyboardCode.Digit0, \"0\"],\r\n [KeyboardCode.Digit1, \"1\"],\r\n [KeyboardCode.Digit2, \"2\"],\r\n [KeyboardCode.Digit3, \"3\"],\r\n [KeyboardCode.Digit4, \"4\"],\r\n [KeyboardCode.Digit5, \"5\"],\r\n [KeyboardCode.Digit6, \"6\"],\r\n [KeyboardCode.Digit7, \"7\"],\r\n [KeyboardCode.Digit8, \"8\"],\r\n [KeyboardCode.Digit9, \"9\"],\r\n [KeyboardCode.Numpad0, \"0\"],\r\n [KeyboardCode.Numpad1, \"1\"],\r\n [KeyboardCode.Numpad2, \"2\"],\r\n [KeyboardCode.Numpad3, \"3\"],\r\n [KeyboardCode.Numpad4, \"4\"],\r\n [KeyboardCode.Numpad5, \"5\"],\r\n [KeyboardCode.Numpad6, \"6\"],\r\n [KeyboardCode.Numpad7, \"7\"],\r\n [KeyboardCode.Numpad8, \"8\"],\r\n [KeyboardCode.Numpad9, \"9\"],\r\n [KeyboardCode.NumpadDecimal, \".\"],\r\n [KeyboardCode.Period, \".\"]\r\n ])\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public set internalModel(value: string) {\r\n this._internalModel = value;\r\n this.isNegative = parseFloat(this._internalModel) < 0;\r\n this.internalModelChange.emit(this._internalModel);\r\n }\r\n\r\n public get internalModel(): string {\r\n return this._internalModel;\r\n }\r\n\r\n public isNegative: boolean = false;\r\n\r\n private _model: number = 0;\r\n private _internalModel: string = \"0\";\r\n private _maxCharacters: number = 11;\r\n\r\n public handleMinusClick(event: MouseEvent | KeyboardEvent): void {\r\n const model: number = parseFloat(this.internalModel);\r\n if (model !== 0) {\r\n if (model < 0) {\r\n this.internalModel = Math.abs(model) + \"\";\r\n } else {\r\n this.internalModel = -model + \"\";\r\n }\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleClearClick(event: MouseEvent | KeyboardEvent): void {\r\n this.internalModel = \"0\";\r\n this._emitModelChange();\r\n }\r\n\r\n public handleBsClick(event: MouseEvent | KeyboardEvent): void {\r\n let wish: string = this.internalModel;\r\n wish = wish.slice(0, wish.length - 1) || \"0\";\r\n if (!isNaN(parseFloat(wish))) {\r\n this.internalModel = parseFloat(wish) + \"\";\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleButtonClick(chr: string): void {\r\n this._updateModel(chr);\r\n }\r\n\r\n public handleEnterClick(event: MouseEvent | KeyboardEvent): void {\r\n this._emitModelChange(true);\r\n this.enterClick.emit();\r\n }\r\n\r\n private _updateModel(value: string): void {\r\n if (value === undefined || value === null ||\r\n (value === '.' && this.internalModel.indexOf('.') > -1) ||\r\n this.internalModel.length >= this._maxCharacters) {\r\n return;\r\n }\r\n this.internalModel = this.internalModel !== \"0\" ? this.internalModel + value : value;\r\n this._emitModelChange();\r\n }\r\n\r\n private _keyDown(event: KeyboardEvent): void {\r\n if (this._isEnter(event)) {\r\n this.handleEnterClick(event);\r\n } else if (this._isMinus(event)) {\r\n this.handleMinusClick(event);\r\n } else if (this._isEscape(event)) {\r\n this.handleClearClick(event);\r\n } else if (this._isBackspace(event)) {\r\n this.handleBsClick(event);\r\n } else {\r\n this._updateModel(this._validKeyMap.get(event.code));\r\n }\r\n }\r\n\r\n private _isEnter(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Enter || event.code === KeyboardCode.NumpadEnter;\r\n }\r\n\r\n private _isMinus(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Minus || event.code === KeyboardCode.NumpadSubtract;\r\n }\r\n\r\n private _isEscape(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Escape;\r\n }\r\n\r\n private _isBackspace(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Backspace;\r\n }\r\n\r\n private _emitModelChange(enter: boolean = false): void {\r\n if ((enter && this.emitModelChangeOnEnter) || (!enter && !this.emitModelChangeOnEnter)) {\r\n const model: number = parseFloat(this.internalModel);\r\n if (!isNaN(model)) {\r\n if (enter && this.emitModelChangeOnEnter) {\r\n this.model = model;\r\n }\r\n this.modelChange.emit(model);\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {KeyPadComponent} from './key-pad.component';\r\nimport {IconModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n KeyPadComponent\r\n ],\r\n exports: [\r\n KeyPadComponent\r\n ]\r\n})\r\nexport class KeyPadModule {\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-layout-switcher\",\r\n template: `\r\n <div class=\"mask-wrapper\" [class.mask-wrapper-active]='showMaskSidebar' @showHideSidebar>\r\n <div class=\"icon-wrapper\" (click)=\"toggleMaskSidebar()\">\r\n <co-icon class=\"icon-mask\" [iconData]=\"iconCacheService.getIcon(icon.BringForwardRegular)\" [@positionIcon]=\"showMaskSidebar\"></co-icon>\r\n\r\n <co-icon class='icon-mask-sidebar-handle' [@positionHandle]='showMaskSidebar' [iconData]=\"showMaskSidebar ? iconCacheService.getIcon(this.icon.AngleLeftSolid) : iconCacheService.getIcon(this.icon.AngleRightSolid)\"></co-icon>\r\n </div>\r\n\r\n <div class=\"mask-content\" *ngIf=\"showMaskSidebar\" @showHideSidebar>\r\n <span *ngFor='let item of this.layoutItems' [class.active]=\"this.activeIndex === this.layoutItems.indexOf(item)\" [textContent]=\"item\" (click)='activeIndex = this.layoutItems.indexOf(item)' ></span>\r\n </div>\r\n </div>\r\n\r\n `,\r\n animations: [\r\n trigger(\"showHideSidebar\", [\r\n state(\"void\", style({\"width\": \"0\"})),\r\n state(\"*\", style({\"width\": \"*\"})),\r\n transition(\"void <=> *\", animate(200))\r\n ]),\r\n trigger(\"positionIcon\", [\r\n state(\"true\", style({\"left\": \"70px\"})),\r\n state(\"false\", style({\"left\": \"10px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ]),\r\n trigger(\"positionHandle\", [\r\n state(\"true\", style({\"left\": \"15px\"})),\r\n state(\"false\", style({\"left\": \"75px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSwitcherComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-layout-switcher')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public layoutItems: string[] = [];\r\n\r\n @Output()\r\n public layoutSwitchEmit:EventEmitter<string> = new EventEmitter<string>();\r\n\r\n public get activeIndex(): number {\r\n return this._activeIndex;\r\n }\r\n\r\n public set activeIndex(index) {\r\n this._activeIndex = index;\r\n this.toggleMaskSidebar();\r\n this.layoutSwitchEmit.emit(this.layoutItems[index]);\r\n }\r\n\r\n public showMaskSidebar: boolean = false;\r\n\r\n private _activeIndex: number = 0;\r\n\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public toggleMaskSidebar(): void {\r\n this.showMaskSidebar = !this.showMaskSidebar;\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\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LayoutSwitcherComponent} from \"./layout-switcher.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n LayoutSwitcherComponent,\r\n ],\r\n exports: [\r\n LayoutSwitcherComponent\r\n ]\r\n})\r\nexport class LayoutSwitcherModule {\r\n\r\n}\r\n","export enum GaugeColor {\r\n Lowest = '#E0E0E0',\r\n Low = '#fff7b8',\r\n MediumLow = '#ffe367',\r\n MediumHigh = '#ffc15b',\r\n High = '#F88952',\r\n Highest = '#5FDCB3',\r\n}\r\n","import { Component, HostBinding, Input, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport {\r\n AxisModel,\r\n CircularGaugeComponent,\r\n} from \"@syncfusion/ej2-angular-circulargauge\";\r\nimport { AnnotationModel } from \"@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis-model\";\r\nimport { GaugeColor } from \"../../enum/gauge-color.enum\";\r\n\r\n@Component({\r\n selector: \"co-circular-gauge\",\r\n template: `\r\n <div class=\"circular-gauge-wrapper\">\r\n <ejs-circulargauge\r\n class=\"circular-gauge\"\r\n [width]=\"'100%'\"\r\n [axes]=\"getAxes()\">\r\n </ejs-circulargauge>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoCircularGaugeComponent {\r\n\r\n @ViewChild('circulargauge')\r\n public circulargauge: CircularGaugeComponent;\r\n\r\n @Input()\r\n public set value(value: number) {\r\n this._value = value;\r\n this._setColor();\r\n }\r\n\r\n public get value(): number {\r\n return this._value;\r\n }\r\n\r\n public get color(): string {\r\n return this._color;\r\n }\r\n\r\n @HostBinding(\"class.co-circular-gauge\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _value: number;\r\n private _color: GaugeColor = GaugeColor.Low;\r\n\r\n public majorTicks: Object = {\r\n height: 0,\r\n };\r\n\r\n public minorTicks: Object = {\r\n height: 0\r\n };\r\n\r\n public labelStyle: Object = {\r\n position: 'Inside', useRangeColor: true,\r\n font: {size: '0px', fontFamily: 'inherit'}\r\n };\r\n\r\n public lineStyle: Object = {\r\n width: 0\r\n };\r\n\r\n public ranges: Object[] = [\r\n {\r\n start: 1, end: 100,\r\n radius: '13px',\r\n startWidth: 3, endWidth: 3,\r\n color: '#E0E0E0',\r\n roundedCornerRadius: 0\r\n },\r\n ];\r\n\r\n public getAxes(): AxisModel[] {\r\n return [{\r\n minimum: 0,\r\n maximum: 100,\r\n radius: '15px',\r\n startAngle: 1,\r\n endAngle: 360,\r\n majorTicks: this.majorTicks,\r\n minorTicks: this.minorTicks,\r\n labelStyle: this.labelStyle,\r\n lineStyle: this.lineStyle,\r\n ranges: this.ranges,\r\n pointers: this.getPointers(),\r\n annotations: this.getAnnotations(),\r\n }];\r\n }\r\n\r\n public getPointers(): Object[] {\r\n if (this.value) {\r\n\r\n return [{\r\n roundedCornerRadius: 0,\r\n value: this.value,\r\n type: 'RangeBar',\r\n radius: '13px',\r\n color: this.color,\r\n border: {\r\n width: 0\r\n },\r\n animation: {\r\n enable: false\r\n },\r\n pointerWidth: 3\r\n }]\r\n }\r\n };\r\n\r\n public getAnnotations(): AnnotationModel[] {\r\n if (this.value !== undefined) {\r\n const label = this.value ? this.value + \"%\" : \"0%\";\r\n\r\n return [{\r\n content: '<div class=\"annotation\" style=\"width:20px;height:20px;\">' +\r\n '<div class=\"annotation-label\">' + label + '</div></div>',\r\n zIndex: '10',\r\n }];\r\n }\r\n }\r\n\r\n private _setColor(): void {\r\n if (this.value == 0) {\r\n this._color = GaugeColor.Lowest;\r\n } else if (this.value >= 1 && this.value < 25) {\r\n this._color = GaugeColor.Low;\r\n } else if (this.value >= 25 && this.value < 50) {\r\n this._color = GaugeColor.MediumLow;\r\n } else if (this.value >= 50 && this.value < 75) {\r\n this._color = GaugeColor.MediumHigh;\r\n } else if (this.value >= 75 && this.value < 100) {\r\n this._color = GaugeColor.High;\r\n } else if (this.value == 100) {\r\n this._color = GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CircularGaugeModule } from \"@syncfusion/ej2-angular-circulargauge\";\r\nimport { CoCircularGaugeComponent } from \"./co-circular-gauge.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CircularGaugeModule\r\n ],\r\n declarations: [\r\n CoCircularGaugeComponent\r\n ],\r\n exports: [\r\n CoCircularGaugeComponent\r\n ]\r\n})\r\nexport class CoCircularGaugeModule {\r\n}\r\n","import { Component, HostBinding, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { GaugeColor } from \"../../enum/gauge-color.enum\";\r\n\r\n@Component({\r\n selector: \"co-linear-gauge\",\r\n template: `\r\n <div class=\"linear-gauge\"\r\n [style.background]=\"getStyle()\"\r\n [style.border-color]=\"color\"\r\n [textContent]=\"count ? count : ''\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoLinearGaugeComponent {\r\n\r\n @Input()\r\n public set value(value: number) {\r\n this._value = value;\r\n this._setColor();\r\n }\r\n\r\n public get value(): number {\r\n return this._value;\r\n }\r\n\r\n @Input()\r\n public count: number;\r\n\r\n @HostBinding(\"class.co-linear-gauge\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _value: number;\r\n public color: GaugeColor = GaugeColor.Low;\r\n\r\n public getStyle(): string {\r\n return `linear-gradient(90deg, ${this.color} 0 ${this.value}%, white ${this.value}% 100%`;\r\n }\r\n\r\n private _setColor(): void {\r\n if (this.value == 0) {\r\n this.color = GaugeColor.Lowest;\r\n } else if (this.value >= 1 && this.value < 25) {\r\n this.color = GaugeColor.Low;\r\n } else if (this.value >= 25 && this.value < 50) {\r\n this.color = GaugeColor.MediumLow;\r\n } else if (this.value >= 50 && this.value < 75) {\r\n this.color = GaugeColor.MediumHigh;\r\n } else if (this.value >= 75 && this.value < 100) {\r\n this.color = GaugeColor.High;\r\n } else if (this.value == 100) {\r\n this.color = GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CoLinearGaugeComponent } from \"./co-linear-gauge.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n CoLinearGaugeComponent\r\n ],\r\n exports: [\r\n CoLinearGaugeComponent\r\n ]\r\n})\r\nexport class CoLinearGaugeModule {\r\n}\r\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\n\r\nexport interface StatusbarData {\r\n label: string,\r\n percentage: number,\r\n count?: number,\r\n totalCount?: number,\r\n}\r\n\r\n@Component({\r\n selector: \"co-statusbar\",\r\n template: `\r\n <div class=\"co-statusbar-wrapper\"\r\n *ngIf=\"statusbarData\"\r\n (click)=\"onStatusbarClick($event)\">\r\n <div class=\"statuses\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status\">\r\n <co-linear-gauge [class.focused-status]=\"focusedStatusIndex !== undefined && focusedStatusIndex === index\"\r\n [value]=\"data.percentage\" [count]=\"data.count ? data.count : undefined\"></co-linear-gauge>\r\n </div>\r\n </div>\r\n <div class=status-description-popup *ngIf=\"showPopup\" @showHidePopup [ngClass]=\"popupClass\" clickOutside (clickOutside)=\"showPopup=false\">\r\n <div class=\"status-descriptions\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status-description\">\r\n <co-circular-gauge [value]=\"data.percentage\"></co-circular-gauge>\r\n <span [textContent]=\"data.label\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHidePopup\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void <=> *\", animate(\"250ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StatusbarComponent {\r\n\r\n @Input()\r\n public set statusbarData(value: StatusbarData[]) {\r\n this._statusbarData = value;\r\n this.adjustTooHighPercentages();\r\n }\r\n\r\n public get statusbarData() {\r\n return this._statusbarData;\r\n }\r\n\r\n @Input()\r\n public focusedStatusIndex: number;\r\n\r\n @Output()\r\n statusbarClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-statusbar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public showPopup: boolean = false;\r\n public popupClass: string = 'dropdown';\r\n private _statusbarData: StatusbarData[];\r\n private _mouseY: number;\r\n private _windowHeight: number;\r\n\r\n public onStatusbarClick(event): void {\r\n this.showPopup = !this.showPopup;\r\n\r\n if (this.showPopup) {\r\n this._mouseY = event.screenY;\r\n this._windowHeight = window.innerHeight;\r\n this.setPopupClass();\r\n }\r\n }\r\n\r\n public setPopupClass(): void {\r\n const popupHeight = this.statusbarData.length * 30;\r\n let dropdownInScreen = (this._mouseY + popupHeight) <= this._windowHeight;\r\n\r\n if (dropdownInScreen) {\r\n this.popupClass = 'dropdown';\r\n } else {\r\n this.popupClass = 'dropup'\r\n }\r\n }\r\n\r\n public adjustTooHighPercentages(): void {\r\n this._statusbarData.forEach(data => data.percentage > 100 ? data.percentage = 100 : false);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ClickoutsideModule } from \"@colijnit/corecomponents_v12\";\r\nimport { CoCircularGaugeModule } from \"../circular-gauge/co-circular-gauge.module\";\r\nimport { CoLinearGaugeModule } from \"../linear-gauge/co-linear-gauge.module\";\r\nimport { StatusbarComponent } from \"./statusbar.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoCircularGaugeModule,\r\n CoLinearGaugeModule,\r\n ClickoutsideModule\r\n ],\r\n declarations: [\r\n StatusbarComponent\r\n ],\r\n exports: [\r\n StatusbarComponent\r\n ]\r\n})\r\nexport class StatusbarModule {\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter, HostBinding,\r\n Input,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {CalendarView} from \"@syncfusion/ej2-angular-calendars\";\r\n\r\n@Component({\r\n selector: \"co-date-planning\",\r\n template: `\r\n <div class=\"sc-agenda\">\r\n <div class=\"content-wrapper\">\r\n <calendar *ngIf=\"calendarNavigation\"\r\n [view]=\"view\"\r\n [(days)]=\"days\"\r\n [selectedDate]=\"selectedDate\" (selectedDateChange)=\"doChangeSelectedDate($event)\"></calendar>\r\n <div class=\"agenda-content-wrapper mini-scrollbar\">\r\n <div class=\"agenda-content\">\r\n <agenda-header [view]=\"view\" (viewChange)=\"doChangeView($event)\"\r\n [firstAvailableDate]=\"firstAvailableDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n [selectedDate]=\"selectedDate\"\r\n (selectedDateChange)=\"doChangeSelectedDate($event)\"\r\n (rangeChange)=\"doChangeSelectedDate($event, true)\"></agenda-header>\r\n <agenda-view [view]=\"view\"\r\n [selectedDate]=\"selectedDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n (eventChecked)=\"eventChecked.emit($event)\"></agenda-view>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <co-button *ngIf=\"showButton && eventsPerDay.length > 0\" class=\"text-only select-agenda-button\"\r\n [label]=\"buttonLabel\"\r\n (click)=\"buttonClick.emit($event)\">\r\n </co-button>\r\n `,\r\n animations: [\r\n trigger(\"showHideWindow\", [\r\n state(\"void\", style({transform: \"scaleY(0)\"})),\r\n state(\"*\", style({transform: \"scaleY(1)\"})),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class DatePlanningComponent {\r\n @ViewChild(\"dayStart\", { static: true })\r\n public dayStart: ElementRef;\r\n\r\n @Input()\r\n public calendarNavigation: boolean = false;\r\n\r\n @Input()\r\n public showButton: boolean = false;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public firstAvailableDate: Date;\r\n\r\n @Input()\r\n public buttonLabel: string = \"\";\r\n\r\n @Input()\r\n public eventsPerDay: any = [];\r\n\r\n @Input()\r\n public view: CalendarView;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public readonly buttonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-date-planning\")\r\n public showClass: boolean = true;\r\n\r\n public days: Date[] = [];\r\n private _selectedDate: Date = new Date();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n private renderer: Renderer2\r\n ) {\r\n }\r\n\r\n public doChangeSelectedDate(date: Date, rangeChanged: boolean = false): void {\r\n this.selectedDate = new Date(date);\r\n if (rangeChanged) {\r\n this.rangeChange.next(this.selectedDate);\r\n } else {\r\n this.selectedDateChange.next(this.selectedDate);\r\n }\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n public doChangeView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.next(this.view);\r\n }\r\n\r\n public scrollToDayStart(): void {\r\n if (this.dayStart !== undefined) {\r\n const dayStart: any = this.renderer.selectRootElement(\"#dayStart\");\r\n if (dayStart) {\r\n setTimeout(() => {\r\n dayStart.scrollIntoView({behavior: \"instant\", block: \"center\"});\r\n });\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"calendar-all-years\",\r\n template: `\r\n <div *ngFor=\"let currentYear of years\"\r\n [textContent]=\"currentYear\"\r\n [class.selected-year]=\"currentYear === year\"\r\n class=\"pointer-hover\"\r\n (click)=\"year = currentYear; yearChange.emit(year)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllYearsComponent implements OnInit {\r\n\r\n @Input()\r\n public year: number;\r\n\r\n @Output()\r\n public readonly yearChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public years: number[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.years.length = 0;\r\n let start: number = this._determineStart();\r\n const end: number = start + 11;\r\n while (start < end) {\r\n this.years.push(start);\r\n start++;\r\n }\r\n }\r\n\r\n private _determineStart(): number {\r\n if (this.year > 0) {\r\n let thisYear: number = this.year;\r\n let thisYearLastDigit: number = parseInt(thisYear.toString().split(\"\").pop());\r\n while (thisYearLastDigit > 0) {\r\n thisYear--;\r\n thisYearLastDigit = parseInt(thisYear.toString().split(\"\").pop());\r\n }\r\n return thisYear;\r\n }\r\n return 0;\r\n }\r\n\r\n}\r\n","// All the months. Values are corresponding dictionary keys in text_nl.\r\nexport enum Month {\r\n January = \"JANUARY\",\r\n Februrary = \"FEBRUARY\",\r\n March = \"MARCH\",\r\n April = \"APRIL\",\r\n May = \"MAY\",\r\n June = \"JUNE\",\r\n July = \"JULY\",\r\n August = \"AUGUST\",\r\n September = \"SEPTEMBER\",\r\n October = \"OCTOBER\",\r\n November = \"NOVEMBER\",\r\n December = \"DECEMBER\"\r\n}\r\n","import {Month} from \"../../enum/month.enum\";\r\n\r\n// All the months in a year. The order is important, and should remain January - to December!\r\nexport const ALL_MONTHS: Month[] = [\r\n Month.January,\r\n Month.Februrary,\r\n Month.March,\r\n Month.April,\r\n Month.May,\r\n Month.June,\r\n Month.July,\r\n Month.August,\r\n Month.September,\r\n Month.October,\r\n Month.November,\r\n Month.December\r\n];\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\n\r\n@Component({\r\n selector: \"calendar-all-months\",\r\n template: `\r\n <div *ngFor=\"let currentMonth of months; let index = index\"\r\n [class.selected-month]=\"month === index\"\r\n [textContent]=\"currentMonth\"\r\n class=\"pointer-hover\"\r\n (click)=\"month = index; monthChange.emit(month)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllMonthsComponent implements OnInit {\r\n\r\n @Input()\r\n public month: number;\r\n\r\n @Input()\r\n public shortDescriptions: boolean = false;\r\n\r\n @Output()\r\n public monthChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public months: string[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.months.length = 0;\r\n this.months = ALL_MONTHS;\r\n }\r\n}\r\n","import {Component, DoCheck, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"calendar-header\",\r\n template: `\r\n <div #monthYearSelect class=\"calendar-header-row\">\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subMonth()\"></co-icon>\r\n <div (click)=\"showMonthYearSelect = true\">\r\n <div class=\"month\" [textContent]=\"currentMonth\"></div>\r\n <div class=\"year\" [textContent]=\"currentYear\"></div>\r\n </div>\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addMonth()\"></co-icon>\r\n </div>\r\n <ng-template #template>\r\n <div *ngIf=\"showMonthYearSelect\"\r\n (clickOutside)=\"hideMonthYearSelection()\"\r\n class=\"select-month-year-window\" [class.expanded]=\"expanded\" @showMonthYearSelect\r\n >\r\n <div>\r\n <calendar-all-months [month]=\"currentMonth\" (monthChange)=\"setNewMonth($event)\" shortDescriptions></calendar-all-months>\r\n <div class=\"vertical-divider\"></div>\r\n <calendar-all-years [year]=\"currentYear\" (yearChange)=\"setNewYear($event)\"></calendar-all-years>\r\n </div>\r\n<!-- <default-ok-cancel-buttons-->\r\n<!-- (okClick)=\"changeMonthYear()\"-->\r\n<!-- (cancelClick)=\"showMonthYearSelect = false\"-->\r\n<!-- >-->\r\n<!-- </default-ok-cancel-buttons>-->\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger(\"showMonthYearSelect\", [\r\n state(\"void\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(0)\"\r\n })),\r\n state(\"*\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(1)\"\r\n })),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ]\r\n})\r\n\r\nexport class CalendarHeaderComponent implements DoCheck {\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public showMonthYearSelect: boolean = false;\r\n\r\n public expanded: boolean = false;\r\n\r\n public currentMonth: string;\r\n\r\n public currentYear: number;\r\n\r\n public selectedMonth: number;\r\n\r\n public selectedYear: number;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this.selectedDate) {\r\n this.currentMonth = ALL_MONTHS[this.selectedDate.getMonth()];\r\n this.currentYear = this.selectedDate.getFullYear();\r\n }\r\n }\r\n\r\n public subMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() - 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public addMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() + 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public hideMonthYearSelection(): void {\r\n this.expanded = false;\r\n this.showMonthYearSelect = false;\r\n }\r\n\r\n public setNewMonth(month: number): void {\r\n this.selectedMonth = month;\r\n }\r\n\r\n public setNewYear(year: number): void {\r\n this.selectedYear = year;\r\n }\r\n\r\n public changeMonthYear(): void {\r\n this.hideMonthYearSelection();\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(this.selectedMonth);\r\n newDate.setFullYear(this.selectedYear);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","export enum CalendarView {\r\n DayView = \"DAY\",\r\n WeekView = \"WEEK\",\r\n WeekSelectView = \"WEEK_SELECT\",\r\n MonthView = \"MONTH\"\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\n\r\n@Component({\r\n selector: \"calendar\",\r\n template: `\r\n <div class=\"sc-calendar\">\r\n <calendar-header [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-header>\r\n <calendar-view [view]=\"view\" [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CalendarComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Input()\r\n public days: Date[] = [];\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n constructor() {\r\n }\r\n\r\n public changeSelectedDate(date: Date): void {\r\n this.selectedDate = date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\n\n@Pipe({\n name: \"arrayNumber\"\n})\nexport class ArrayNumberPipe implements PipeTransform {\n\n transform(length: number, offset: number = 0): number[] {\n if (!length || length < 0) {\n return [];\n }\n return Array.from({length: Math.round(length)}, (x, i) => i + offset);\n }\n}\n","// @returns true iff given value does not equals null and does not equal undefined\r\nexport function notNill(value: any): boolean {\r\n return value !== null && value !== undefined;\r\n}\r\n","import {TimePeriod} from \"../enum/time-period.enum\";\r\n\r\nexport class DateRange {\r\n public startDate: Date;\r\n public endDate: Date;\r\n public selectedTimePeriod: TimePeriod;\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Month} from \"../enum/month.enum\";\r\nimport {ALL_MONTHS} from \"../model/constant/all-months\";\r\nimport {notNill} from \"./function/not-nill.function\";\r\nimport * as moment from \"moment\";\r\nimport {Moment} from \"moment\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateRange} from \"../model/date-range\";\r\n\r\nDate.prototype.toJSON = function() {\r\n return moment(this).format('YYYY-MM-DD[T]HH:mm:ss');\r\n}\r\n\r\n// static utility function holder related to dates\r\nexport class DateUtils {\r\n public static readonly BACKEND_DATE_FORMAT: string = 'YYYY-MM-DD[T]HH:mm:ss';\r\n public static datePipe: DatePipe = new DatePipe('shortDate');\r\n\r\n public static NowAsString(): string {\r\n return DateUtils.ParseDate(new Date(), DateUtils.BACKEND_DATE_FORMAT);\r\n }\r\n\r\n public static ParseDate(date: Date, format: string = \"d-m-y\"): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const day: string = (\"0\" + date.getDate()).slice(-2);\r\n const month: string = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const year: string = date.getFullYear() + \"\";\r\n\r\n const formatParts: string[] = format.split(\"-\");\r\n const dateParts: string[] = [];\r\n\r\n\r\n for (let i: number = 0, l: number = formatParts.length; i < l; i++) {\r\n switch (formatParts[i]) {\r\n case \"d\" :\r\n case \"DD\" :\r\n dateParts.push(day);\r\n break;\r\n case \"m\" :\r\n case \"MM\" :\r\n dateParts.push(month);\r\n break;\r\n case \"y\" :\r\n case \"YYYY\" :\r\n dateParts.push(year);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n return dateParts.join(\"-\");\r\n }\r\n\r\n public static GetWeekNumber(date: Date): number {\r\n date = new Date(date.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\r\n return Math.ceil((((date.getTime() - new Date(date.getFullYear(), 0, 1).getTime()) / 8.64e7) + 1) / 7);\r\n }\r\n\r\n // Returns the number of days from now, for the given date in the future. Returns negative days if given date is in the past from now.\r\n public static GetDaysFromNow(date: Date): number {\r\n return DateUtils.GetDayDifference(new Date(Date.now()), date);\r\n }\r\n\r\n public static StringAsDate(str: string, format: string = DateUtils.BACKEND_DATE_FORMAT): Date {\r\n if (notNill(str)) {\r\n if (!isNaN(Number(str))) {\r\n return new Date(str);\r\n } else {\r\n const time: any = moment(str, format, true);\r\n return time.isValid() ? new Date(time) : undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n public static MomentToDate(time: Moment): Date {\r\n if (!time || !time.isValid()) {\r\n return undefined;\r\n }\r\n\r\n const d: Date = new Date(time.format(DateUtils.BACKEND_DATE_FORMAT));\r\n d.setHours(time.hours());\r\n d.setMinutes(time.minutes());\r\n d.setSeconds(time.seconds());\r\n return d;\r\n }\r\n\r\n public static GetCurrentMonth(): Month {\r\n return ALL_MONTHS[new Date().getMonth()];\r\n }\r\n\r\n // @returns e.g. [\"FEBRUARI\", \"MARCH\", ..] if it's Februari today, otherwise e.g. [\"APRIL\", \"MAY\", ...] if it's April today\r\n public static Get12MonthsArrayWithFirstMonthIsCurrentMonth(): Month[] {\r\n const answer: Month[] = [];\r\n\r\n let monthNrToAdd: number = new Date().getMonth();\r\n for (let i: number = 0; i < 12; i++) {\r\n answer.push(ALL_MONTHS[monthNrToAdd]);\r\n monthNrToAdd = (monthNrToAdd + 1) % ALL_MONTHS.length;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n public static GetFirstDayOfWeek(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n let firstDay: Date;\r\n const dayOfWeek: number = date.getDay() || 7;\r\n if (dayOfWeek === 1) {\r\n firstDay = new Date(date);\r\n } else {\r\n firstDay = new Date(date);\r\n firstDay.setHours(-24 * (dayOfWeek - 1));\r\n }\r\n return firstDay;\r\n }\r\n\r\n public static GetLastDayOfWeek(date: Date): Date {\r\n const firstDayOfWeek: Date = DateUtils.GetFirstDayOfWeek(date);\r\n const lastDayOfWeek: Date = new Date(firstDayOfWeek);\r\n lastDayOfWeek.setDate(firstDayOfWeek.getDate() + 6);\r\n return lastDayOfWeek;\r\n }\r\n\r\n public static GetFirstDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month, 1);\r\n }\r\n\r\n public static GetLastDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month + 1, 0);\r\n }\r\n\r\n public static DatesEqual(date1: Date, date2: Date): boolean {\r\n let result: boolean = false;\r\n if (DateUtils._ValidDate(date1) && DateUtils._ValidDate(date2)) {\r\n result =\r\n date1.getDate() === date2.getDate() &&\r\n date1.getMonth() === date2.getMonth() &&\r\n date1.getFullYear() === date2.getFullYear();\r\n }\r\n return result;\r\n }\r\n\r\n public static DateRangeEqual(dates1: DateRange, dates2: DateRange): boolean {\r\n return (this.DatesEqual(dates1.startDate, dates2.startDate) &&\r\n this.DatesEqual(dates1.endDate, dates2.endDate));\r\n }\r\n\r\n public static AddMinutes(date: Date, minutes: number): Date {\r\n return new Date(date.getTime() + (minutes * 60000));\r\n }\r\n\r\n public static AddDays(date: Date, days: number): Date {\r\n const result: Date = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n }\r\n\r\n public static AddMonths(date: Date, months: number): Date {\r\n const result: Date = new Date(date);\r\n result.setMonth(result.getMonth() + months);\r\n return result;\r\n }\r\n\r\n public static DetermineDSTBreakpoints(): { start: string, end: string } {\r\n const endOfYear: Date = new Date(new Date().getFullYear(), 11, 1);\r\n let checkDate: Date = new Date(new Date().getFullYear(), 0, 1);\r\n let offset: number = checkDate.getTimezoneOffset();\r\n\r\n const periodStart: Date = new Date();\r\n let periodStartSet: boolean = false;\r\n const periodEnd: Date = new Date();\r\n let periodEndSet: boolean = false;\r\n while (checkDate.getTime() < endOfYear.getTime()) {\r\n checkDate = this.AddMinutes(checkDate, 60);\r\n if (offset < checkDate.getTimezoneOffset()) {\r\n periodEnd.setTime(checkDate.getTime());\r\n periodEndSet = true;\r\n } else if (offset > checkDate.getTimezoneOffset()) {\r\n periodStart.setTime(checkDate.getTime());\r\n periodStartSet = true;\r\n }\r\n offset = checkDate.getTimezoneOffset();\r\n if (periodStartSet && periodEndSet) {\r\n break;\r\n }\r\n }\r\n\r\n if (periodStartSet && periodEndSet) {\r\n return {\r\n start: this._DateToTimeStringWithDateFormat(periodStart),\r\n end: this._DateToTimeStringWithDateFormat(periodEnd)\r\n };\r\n } else {\r\n return {start: undefined, end: undefined}; // important otherwise we return new Date() for both\r\n }\r\n }\r\n\r\n private static _ValidDate(date: Date): boolean {\r\n return date !== null && date !== undefined;\r\n }\r\n\r\n /**\r\n * Returns the difference between the two given days as the number of days, in float precision (date to - date from).\r\n * Returns negative values of the 'from' date is later than in time than the 'to' date.\r\n */\r\n public static GetDayDifference(from: Date, to: Date): number {\r\n if (!from || !to) {\r\n return NaN;\r\n }\r\n return ((to.getTime() - from.getTime()) / 1000 / 60 / 60 / 24);\r\n }\r\n\r\n public static IsSameDay(dateOne: Date, dateTwo: Date): boolean {\r\n return (dateOne && dateTwo &&\r\n dateOne.getDate() === dateTwo.getDate()\r\n && dateOne.getMonth() === dateTwo.getMonth()\r\n && dateOne.getFullYear() === dateTwo.getFullYear());\r\n }\r\n\r\n public static IsInBetween(date: Date, startDate: Date, endDate: Date, withTime: boolean = true): boolean {\r\n if (startDate && endDate) {\r\n if (withTime) {\r\n return (date > startDate && date < endDate);\r\n } else {\r\n const dateWithoutTime: number = new Date(date).setHours(0, 0, 0, 0),\r\n dateFromWithoutTime: number = new Date(startDate).setHours(0, 0, 0, 0),\r\n dateToWithoutTime: number = new Date(endDate).setHours(0, 0, 0, 0);\r\n return dateWithoutTime >= dateFromWithoutTime && dateWithoutTime <= dateToWithoutTime;\r\n }\r\n }\r\n }\r\n\r\n public static IsMonday(date: Date): boolean {\r\n return date.getDay() === 1;\r\n }\r\n\r\n public static IsSunday(date: Date): boolean {\r\n return date.getDay() === 0;\r\n }\r\n\r\n public static IsToday(date: Date): boolean {\r\n const today: Date = new Date();\r\n return DateUtils.IsSameDay(today, date);\r\n }\r\n\r\n // Returns date format like it would when using a pipe in the templete, ie: \"1 okt. 2020\"\r\n public static ParseDateInShortDateFormat(date: Date, locale: string): string {\r\n this.datePipe = new DatePipe(locale);\r\n const parsedDate: string = this.datePipe.transform(date);\r\n return parsedDate;\r\n }\r\n\r\n // Transforms a string that is formatted like \"'17-08-2014'<=?<='17-08-2021'\" into \"'17-08-2014' Untill '17-08-2021'\"\r\n public static getFormattedDateRangeString(dateRangeString: string, separator: string = \" - \"): string {\r\n let newString: string = dateRangeString;\r\n newString = newString.replace(\"<=?<=\", ` ${separator} `);\r\n newString = newString.replace(/'/g, \"\");\r\n\r\n return newString;\r\n }\r\n\r\n public static SetDateOrDateRangeObjectHoursZero(date: Date | DateRange): void {\r\n if (date instanceof DateRange) {\r\n if (date.startDate) {\r\n date.startDate.setHours(0, 0, 0);\r\n }\r\n if (date.endDate) {\r\n date.endDate.setHours(0, 0, 0);\r\n }\r\n } else if (!!date && (date instanceof Date)) {\r\n date.setHours(0, 0, 0, 0);\r\n }\r\n }\r\n\r\n private static _DateToTimeStringWithDateFormat(value: Date, dateFormat: string = \"d-m-y\"): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n const hours: string = value.getHours() < 10 ? \"0\" + value.getHours() : \"\" + value.getHours();\r\n const minutes: string = value.getMinutes() < 10 ? \"0\" + value.getMinutes() : \"\" + value.getMinutes();\r\n return this.ParseDate(value, dateFormat) + \" \" + [hours, minutes].join(\":\");\r\n }\r\n}\r\n","import {Component, EventEmitter, Inject, Input, LOCALE_ID, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArrayNumberPipe} from \"../../../../pipe/array-number.pipe\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\n\r\ntype DateStamp = { day: number, inMonth: boolean, timestamp: number, week: number, selected: boolean };\r\n\r\n@Component({\r\n selector: \"calendar-view\",\r\n template: `\r\n <div class=\"calendar-content\">\r\n <div>\r\n <div class=\"week-day-header week-row\">\r\n <div class=\"week-acronym\"></div>\r\n <div *ngFor=\"let weekDay of weekDayLabel\" [textContent]=\"weekDay | ucfirst\"\r\n class=\"week-day-label\"></div>\r\n </div>\r\n <div class=\"week-row\" *ngFor=\"let week of weeks;trackBy:trackByWeek\">\r\n <div [textContent]=\"week[0].week\" class=\"week-number\"></div>\r\n <div *ngFor=\"let date of week;trackBy:trackByStamp\" class=\"week-day\"\r\n (click)=\"onDateClick(date)\" [textContent]=\"date.day\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n//fixme we don't have a todayDayStamp field but our template references it\r\nexport class CalendarViewComponent {\r\n\r\n @Input()\r\n public set view(value: CalendarView) {\r\n this._view = value;\r\n this._selectDays();\r\n }\r\n\r\n public get view(): CalendarView {\r\n return this._view;\r\n }\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._selectedDate.setHours(0, 0, 0, 0);\r\n this._prepareWeeks();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public trackByStamp: Function = (index: number, stamp: DateStamp): number => {\r\n return stamp && stamp.timestamp || index;\r\n }\r\n\r\n public trackByWeek: Function = (index: number, week: DateStamp[]): number => {\r\n return week && week[0].week || index;\r\n }\r\n\r\n public weekDayLabel: string[] = [];\r\n\r\n public weeks: DateStamp[][] = [];\r\n\r\n private _selectedDate: Date = new Date();\r\n\r\n private _view: CalendarView = CalendarView.WeekView;\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n ) {\r\n this.selectedDate.setHours(0, 0, 0, 0);\r\n this._setLabels();\r\n }\r\n\r\n public onDateClick(date: DateStamp): void {\r\n this.selectedDate = new Date(date.timestamp);\r\n this.selectedDateChange.emit(this.selectedDate);\r\n this._selectDays();\r\n }\r\n\r\n private _setLabels(): void {\r\n const datePipe: DatePipe = new DatePipe(this._locale);\r\n\r\n const currentDay: number = this.selectedDate.getDay();\r\n const startWeekDate: Date = new Date(this.selectedDate.getTime());\r\n startWeekDate.setDate(startWeekDate.getDate() - currentDay - 1);\r\n\r\n this.weekDayLabel = new ArrayNumberPipe().transform(7).map(() => {\r\n startWeekDate.setDate(startWeekDate.getDate() + 1);\r\n return datePipe.transform(startWeekDate, \"E\");\r\n });\r\n this.weekDayLabel.push(this.weekDayLabel.shift());\r\n }\r\n\r\n private _prepareWeeks(): void {\r\n this.weeks.length = 0;\r\n\r\n const date: Date = new Date(this.selectedDate.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n\r\n // go to last day of month\r\n date.setMonth(date.getMonth() + 1);\r\n date.setDate(0);\r\n const monthEndDay: number = date.getDay();\r\n const monthEndDate: number = date.getDate();\r\n\r\n // days after end of month\r\n const daysAfter: number = !monthEndDay ? 0 : 7 - monthEndDay;\r\n\r\n // go to first day of month\r\n date.setDate(1);\r\n const monthBeginDay: number = date.getDay();\r\n\r\n // days before start of month\r\n const daysBefore: number = !monthBeginDay ? 6 : monthBeginDay - 1;\r\n\r\n // go to start of calendar view\r\n date.setDate(-daysBefore + 1);\r\n\r\n // amount of weeks to display\r\n const weekCount: number = Math.ceil((daysBefore + daysAfter + monthEndDate) / 7);\r\n const weekStart: number = DateUtils.GetWeekNumber(date);\r\n const weekEnd: number = weekStart + weekCount - 1;\r\n\r\n // iterate over week count\r\n for (let i: number = weekStart; i <= weekEnd; i++) {\r\n let week: number = i;\r\n\r\n // only recalculate week when it's necessary\r\n if (weekStart > 50) {\r\n week = DateUtils.GetWeekNumber(date);\r\n }\r\n const days: DateStamp[] = [];\r\n\r\n // iterate over 7 days\r\n for (let ii: number = 1; ii <= 7; ii++) {\r\n // check if we are in the current month\r\n let inMonth: boolean = true;\r\n if (i === weekStart) {\r\n inMonth = ii > daysBefore;\r\n } else if (i === weekEnd) {\r\n inMonth = ii <= 7 - daysAfter;\r\n }\r\n\r\n const timestamp: number = date.getTime();\r\n // add dateStamp to date array\r\n days.push({\r\n week: week,\r\n inMonth: inMonth,\r\n day: date.getDate(),\r\n timestamp: timestamp,\r\n selected: this.selectedDate.getTime() === timestamp\r\n });\r\n // go one day further\r\n date.setDate(date.getDate() + 1);\r\n }\r\n this.weeks.push(days);\r\n }\r\n this._selectDays();\r\n }\r\n\r\n private _selectDays(): void {\r\n this._resetSelection();\r\n if (!this.selectedDate) {\r\n return;\r\n }\r\n const weekNumber: number = DateUtils.GetWeekNumber(this.selectedDate);\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n if (this.weeks[i][ii].inMonth && this.view === CalendarView.MonthView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].week === weekNumber && this.view === CalendarView.WeekView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.WeekSelectView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.DayView) {\r\n this.weeks[i][ii].selected = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _resetSelection(): void {\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n this.weeks[i][ii].selected = false;\r\n }\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Weekday {\r\n public inView: boolean = true;\r\n public weekdayDay: number;\r\n public weekdayMonthShort: string;\r\n public weekdayMonthLong: string;\r\n public weekdayYear: number;\r\n public date: Date;\r\n public weekdayShort: string;\r\n public weekdayLong: string;\r\n public description: string;\r\n public newMonth: boolean = false;\r\n public weekdaySelected: boolean = false;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Weekday} from \"./weekday.model\";\r\n\r\nexport class Week {\r\n public weekDays: Weekday[] = [];\r\n}\r\n","import {DateUtils} from \"./date-utils\";\r\nimport {Weekday} from \"../model/weekday.model\";\r\nimport {Inject, LOCALE_ID} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {Week} from \"../model/week.model\";\r\n\r\nexport class CalendarUtils {\r\n public static Locale: LanguageCode = undefined;\r\n\r\n public static Now: Date = new Date();\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode\r\n ) {\r\n CalendarUtils.Locale = _locale;\r\n }\r\n\r\n // public static GetCurrentYear(): number {\r\n // return this.Now.getFullYear();\r\n // }\r\n //\r\n // public static GetCurrentMonth(): number {\r\n // return this.Now.getUTCMonth() + 1;\r\n // }\r\n\r\n public static GetDayHours(day: Date): Date[] {\r\n const datesByTheHour: Date[] = [];\r\n if (day) {\r\n let newDate: Date = new Date(day);\r\n newDate.setHours(0, 0, 0, 0);\r\n datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n datesByTheHour.push(newDate);\r\n }\r\n }\r\n return datesByTheHour;\r\n }\r\n\r\n public static GetDaysOfWeek(date: Date): Week {\r\n let day: Date = DateUtils.GetFirstDayOfWeek(date);\r\n const daysOfWeek: Weekday[] = [];\r\n let options: any;\r\n let month: number;\r\n for (let i: number = 0; i < 7; i++) {\r\n const dayPerWeek: Weekday = new Weekday();\r\n const dayHours: Date[] = CalendarUtils.GetDayHours(day);\r\n dayPerWeek.newMonth = day.getMonth() !== month;\r\n dayPerWeek.weekdaySelected = day.getDay() === date.getDay();\r\n dayPerWeek.weekdayDay = day.getDate();\r\n options = { weekday: \"short\" };\r\n dayPerWeek.weekdayShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { weekday: \"long\" };\r\n dayPerWeek.weekdayLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n\r\n options = { month: \"short\" };\r\n dayPerWeek.weekdayMonthShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { month: \"long\" };\r\n dayPerWeek.weekdayMonthLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n dayPerWeek.weekdayYear = day.getFullYear();\r\n\r\n dayPerWeek.date = new Date(day);\r\n dayPerWeek.datesByTheHour = dayHours;\r\n daysOfWeek.push(dayPerWeek);\r\n month = day.getMonth();\r\n day = new Date(day);\r\n day.setDate(day.getDate() + 1);\r\n }\r\n const week: Week = new Week();\r\n week.weekDays = daysOfWeek;\r\n return week;\r\n }\r\n\r\n}\r\n","import {TimeWindow} from \"./time-window.bo\";\r\n\r\nexport class AgendaEvent {\r\n public id: number;\r\n public description: string;\r\n public checked: boolean = false;\r\n public showCheckbox: boolean = false;\r\n public draggable: boolean = false;\r\n public from: Date;\r\n public to: Date;\r\n public date: Date;\r\n public dayPartNo: number;\r\n public fromString: string;\r\n public toString: string;\r\n public fromToRepresentation: string;\r\n public timeWindow: TimeWindow;\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class AgendaEventPerDay {\r\n public date: Date;\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Week} from \"./week.model\";\r\n\r\nexport class Month {\r\n public weeks: Week[] = [];\r\n\r\n public get firstWeek(): Week {\r\n if (this.weeks && this.weeks.length > 0) {\r\n return this.weeks[0];\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Day {\r\n public day: number;\r\n public date: Date;\r\n public description: string;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"./agenda-event-per-day.model\";\r\nimport {Month} from \"./month.model\";\r\nimport {Week} from \"./week.model\";\r\nimport {Day} from \"./day.model\";\r\n\r\nexport const NULL_AGENDA_EVENT: AgendaEvent = new AgendaEvent();\r\nexport const NULL_AGENDA_EVENT_PER_DAY: AgendaEventPerDay = new AgendaEventPerDay();\r\nexport const NULL_MONTH: Month = new Month();\r\nexport const NULL_WEEK: Week = new Week();\r\nexport const NULL_DAY: Day = new Day();\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n LOCALE_ID,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {NULL_DAY} from \"../../../../model/agenda-null-objects\";\r\nimport {Day} from \"../../../../model/day.model\"\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-header\",\r\n template: `\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.DayView\">\r\n <div class=\"hour-label-placeholder\">\r\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\r\n </div>\r\n <div class=\"week-day-label\">\r\n <co-icon class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"day-description\" [textContent]=\"day.description\"></div>\r\n <co-icon class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekView\">\r\n <div class=\"hour-label-placeholder\">\r\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\r\n </div>\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\" [class.selected]=\"weekDay.weekdaySelected\" (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div *ngIf=\"weekDay.newMonth\" [textContent]=\"weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear\" class=\"month-description\"></div>\r\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay\"></div>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\"\r\n [class.selected]=\"weekDay.weekdaySelected\"\r\n [class.selectable]=\"weekDay.events && weekDay.events.length > 0\"\r\n (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay + ' ' + weekDay.weekdayMonthShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.MonthView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHeaderComponent implements OnInit, OnDestroy, AfterContentChecked {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n private readonly scrollbarWidth: number = 15;\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekSelectView;\r\n\r\n @Input()\r\n public set firstAvailableDate(value: Date) {\r\n if (value) {\r\n this._firstAvailableDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n }\r\n\r\n public get firstAvailableDate(): Date {\r\n return this._firstAvailableDate;\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._prepareHeaderData();\r\n }\r\n\r\n @Output()\r\n public viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public weekDays: Weekday[] = [];\r\n public day: Day = NULL_DAY;\r\n public showBackButton: boolean = true;\r\n\r\n private _selectedDate: Date;\r\n private _firstAvailableDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n private _ngZone: NgZone,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.removeEventListener(\"resize\", this._onResize);\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.addEventListener(\"resize\", this._onResize);\r\n });\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this._resizeHost();\r\n }\r\n\r\n public subUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() - 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() - 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public addUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() + 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() + 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public setUnit(weekDay: Weekday): void {\r\n this.selectedDate = weekDay.date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public changeTheView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.emit(view);\r\n this._prepareHeaderData();\r\n }\r\n\r\n private _onResize: EventListener = async (): Promise<void> => {\r\n this._resizeHost();\r\n }\r\n\r\n /**\r\n * Need to resize the host component to size it's fixed positioned child through css\r\n */\r\n private _resizeHost(): void {\r\n if (this._elementRef) {\r\n this._renderer.setStyle(\r\n this._elementRef.nativeElement, \"width\", this._elementRef.nativeElement.parentElement.clientWidth - this.scrollbarWidth + \"px\");\r\n }\r\n }\r\n\r\n private _prepareHeaderData(): void {\r\n if (this.selectedDate) {\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n const day: Day = new Day();\r\n day.date = new Date(this.selectedDate);\r\n const options: any = { year: \"numeric\", month: \"long\", day: \"numeric\" };\r\n day.description = this.selectedDate.toLocaleDateString(this._locale, options);\r\n this.day = day;\r\n break;\r\n case CalendarView.WeekView:\r\n const weekView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekView.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.WeekSelectView:\r\n const weekSelectView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekSelectView.weekDays;\r\n this.weekDays.forEach((wd: Weekday) => {\r\n const evPerDay: AgendaEventPerDay = this._eventsPerDay && this._eventsPerDay.length > 0 ? this._eventsPerDay.find(e => DateUtils.DatesEqual(e.date, wd.date)) : null;\r\n if (evPerDay) {\r\n wd.events = evPerDay.events;\r\n } else {\r\n wd.weekdaySelected = false;\r\n }\r\n });\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.MonthView:\r\n const weekOfMonth: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekOfMonth.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\n\r\n@Component({\r\n selector: \"agenda-view\",\r\n template: `\r\n <div class=\"view-wrapper mini-scrollbar\" [ngSwitch]=\"view\">\r\n <agenda-day-view *ngSwitchCase=\"viewTypes.DayView\"\r\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-day-view>\r\n <agenda-week-view *ngSwitchCase=\"viewTypes.WeekView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-view>\r\n <agenda-week-select-view *ngSwitchCase=\"viewTypes.WeekSelectView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-select-view>\r\n <agenda-month-view *ngSwitchCase=\"viewTypes.MonthView\"\r\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-month-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n}\r\n","import {Directive, EventEmitter, Inject, Input, LOCALE_ID, Output} from \"@angular/core\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Directive()\r\nexport abstract class AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._dateIsSet();\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._eventsAreSet();\r\n }\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n public get eventsPerDate(): AgendaEventPerDay[] {\r\n return this._eventsPerDay;\r\n }\r\n\r\n private _selectedDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) protected readonly locale: LanguageCode,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n //overridable by descendents\r\n protected prepareViewData(): void {\r\n }\r\n\r\n protected getEventsFromDate(date: Date): AgendaEvent[] {\r\n let events: AgendaEvent[] = [];\r\n if (this.eventsPerDate) {\r\n const len: number = this.eventsPerDate.length;\r\n for (let i: number = 0; i < len; i++) {\r\n if (DateUtils.DatesEqual(date, this.eventsPerDate[i].date)) {\r\n events = this.eventsPerDate[i].events;\r\n break;\r\n }\r\n }\r\n }\r\n return events;\r\n }\r\n\r\n private _dateIsSet(): void {\r\n this.prepareViewData();\r\n }\r\n\r\n private _eventsAreSet(): void {\r\n this.prepareViewData();\r\n }\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport { AgendaBaseViewComponent } from \"./agenda-base-view.component\";\r\nimport {NULL_MONTH} from \"../../../../model/agenda-null-objects\";\r\nimport {Month} from \"../../../../model/month.model\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-month-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <div class=\"hour-view-labels-wrapper\"></div>\r\n <div class=\"weeks\">\r\n <div class=\"week\" *ngFor=\"let week of weeks\" fxLayout=\"row\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\" [class.not-in-month]=\"!weekDay.inView\">\r\n <div class=\"day\" [textContent]=\"weekDay.weekdayDay\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaMonthViewComponent extends AgendaBaseViewComponent {\r\n\r\n public month: Month = NULL_MONTH;\r\n\r\n public firstWeekDays: Weekday[] = [];\r\n\r\n public weeks: Week[] = [];\r\n\r\n protected prepareViewData(): void {\r\n const month: Month = new Month();\r\n if (this.selectedDate) {\r\n const day: Date = DateUtils.GetFirstDayOfMonth(this.selectedDate);\r\n const endOfMonth: Date = DateUtils.GetLastDayOfMonth(this.selectedDate);\r\n let oneMoreIteration: boolean = false;\r\n let continueLoop: boolean = true;\r\n\r\n while (continueLoop) {\r\n if (oneMoreIteration) {\r\n continueLoop = false;\r\n }\r\n const week: Week = CalendarUtils.GetDaysOfWeek(day);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n week.weekDays[i].inView = week.weekDays[i].date.getMonth() === this.selectedDate.getMonth();\r\n }\r\n month.weeks.push(week);\r\n day.setDate(day.getDate() + 7);\r\n if (day.getTime() >= endOfMonth.getTime()) {\r\n oneMoreIteration = true;\r\n }\r\n }\r\n this.month = month;\r\n this.firstWeekDays = this.month.firstWeek.weekDays;\r\n this.weeks = month.weeks;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-day-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <agenda-hour-view [date]=\"selectedDate\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaDayViewComponent extends AgendaBaseViewComponent {\r\n\r\n public events: AgendaEvent[] = [];\r\n\r\n protected prepareViewData(): void {\r\n if (this.eventsPerDate && this.eventsPerDate.length > 0) {\r\n this.events = this.eventsPerDate[0].events;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-week-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <agenda-hour-view [date]=\"weekDay.date\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekViewComponent extends AgendaBaseViewComponent /*implements OnInit, OnDestroy*/ {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n public week: Week = NULL_WEEK;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\n\r\n@Component({\r\n selector: \"agenda-week-select-view\",\r\n template: `\r\n <div class=\"view-wrapper week-select-view\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <div class=\"week-select-container\" *ngIf=\"weekDay.weekdaySelected\">\r\n <div class=\"week-select-left\">\r\n <h3 [textContent]=\"'AGENDA_CHOOSE_DELIVERY_PERIOD'\"></h3>\r\n <div class=\"week-select-list mini-scrollbar\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n ></agenda-events>\r\n <div class=\"no-events-banner\" *ngIf=\"weekDay.events.length === 0\">\r\n <p [textContent]=\"'AGENDA_NO_PERIODS_AVAILABLE'\"></p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"week-select-right\">\r\n <h3 [textContent]=\"'AGENDA_FOR_EVERY_PERIOD'\"></h3>\r\n <ul>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON1'\"></span></li>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON2'\"></span></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekSelectViewComponent extends AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekSelectView;\r\n\r\n public week: Week = NULL_WEEK;\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div fxLayout=\"row\">\r\n <agenda-hour-cell [date]=\"dateByTheHour\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._prepareViewData();\r\n }\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewLabelsComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-cell\",\r\n template: `\r\n <div class=\"row-per-half-hour\">\r\n <agenda-half-hour-cell [date]=\"date\" [showLabel]=\"onlyLabels && !noLabels\"></agenda-half-hour-cell>\r\n <agenda-half-hour-cell [date]=\"datePlushalfHour\"></agenda-half-hour-cell>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourCellComponent {\r\n @Input()\r\n public onlyLabels: boolean = false;\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._setNextHalfHour();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n public datePlushalfHour: Date;\r\n\r\n private _date: Date;\r\n\r\n private _setNextHalfHour(): void {\r\n this.datePlushalfHour = new Date(this._date);\r\n this.datePlushalfHour.setMinutes(this.datePlushalfHour.getMinutes() + 30);\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view-labels\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div>\r\n <agenda-hour-cell [date]=\"dateByTheHour\" onlyLabels [noLabels]=\"noLabels\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewLabelsComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._date.setDate(1);\r\n this._date.setMonth(1);\r\n this._date.setFullYear(1);\r\n this._prepareViewData();\r\n }\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, Input, OnDestroy, Renderer2, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-half-hour-cell\",\r\n template: `\r\n <div id=\"{{id}}\" class=\"cell-wrapper\">\r\n <div *ngIf=\"showLabel\" [class.show]=\"showLabel\" class=\"half-hour-label\">\r\n <div [textContent]=\"date | date:'HH:mm'\"></div>\r\n </div>\r\n <div *ngIf=\"showCurrentTime\" id=\"currentTime\" class=\"current-time\" #currentTime></div>\r\n <div class=\"content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHalfHourCellComponent implements OnDestroy {\r\n\r\n @ViewChild(\"currentTime\")\r\n public currentTimeElement: ElementRef;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._checkDate();\r\n this._checkWorkingDayStart();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = false;\r\n\r\n public showCurrentTime: boolean = false;\r\n\r\n public currentTimeTop: number = 0;\r\n\r\n public id: string;\r\n\r\n private _date: Date;\r\n private _id: string;\r\n\r\n constructor(\r\n private _renderer: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.currentTimeElement = undefined;\r\n }\r\n\r\n private _checkDate(): void {\r\n const checkDate: Date = new Date();\r\n const minutesFrom: number = this.date.getMinutes();\r\n const minutesTo: number = minutesFrom + 30;\r\n\r\n if (DateUtils.DatesEqual(this.date, checkDate)) {\r\n if (checkDate.getHours() === this.date.getHours() && (checkDate.getMinutes() > minutesFrom && checkDate.getMinutes() < minutesTo)) {\r\n this.currentTimeTop = (Math.max(checkDate.getMinutes(), .01) / 60) * 100;\r\n this._positionCurrentTime();\r\n this.showCurrentTime = true;\r\n }\r\n }\r\n }\r\n\r\n private _checkWorkingDayStart(): void {\r\n this.id = (this._date.getHours() === 8 && this._date.getMinutes() === 30) ? \"dayStart\" : \"\";\r\n }\r\n\r\n private _positionCurrentTime(): void {\r\n if (this.currentTimeElement) {\r\n this._renderer.setStyle(this.currentTimeElement.nativeElement, \"top\", this.currentTimeTop + \"%\");\r\n this.currentTimeElement.nativeElement.scrollIntoView();\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\n\r\n@Component({\r\n selector: \"agenda-events\",\r\n template: `\r\n <ng-container *ngIf=\"view !== viewTypes.WeekSelectView\">\r\n <agenda-event\r\n *ngFor=\"let event of events\"\r\n [halfHourHeight]=\"halfHourHeight\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-event>\r\n </ng-container>\r\n <ng-container *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <agenda-select-event\r\n *ngFor=\"let event of events\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-select-event>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventsComponent {\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public type: string = \"\";\r\n\r\n @Input()\r\n public events: AgendaEvent[] = [];\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-event\",\r\n template: `\r\n <div class=\"agenda-event-wrapper\" [class.checkable]=\"event.showCheckbox\" [class.selected]=\"event.checked\" (click)=\"checkEvent($event)\">\r\n <div [textContent]=\"event.fromToRepresentation\" class=\"event-description\"></div>\r\n <co-icon *ngIf=\"event.showCheckbox\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" [class.checked]=\"event.checked\"></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventComponent implements OnInit, OnDestroy {\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n const hourTo: number = this.event.from.getHours();\r\n const minutesTo: number = this.event.from.getMinutes();\r\n const multiply: number = hourTo + (minutesTo / 60);\r\n const top: number = multiply * (this.halfHourHeight * 2);\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"top\", top + \"px\");\r\n\r\n const hours: number = Math.abs(this.event.to.getTime() - this.event.from.getTime()) / 3600000;\r\n const height: number = hours * (this.halfHourHeight * 2) - 1;\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"height\", height + \"px\");\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"ucfirst\"\r\n})\r\n// Pipe capable of transforming the first character of a string-value to upper case.\r\nexport class UCfirstPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (typeof value === \"string\") {\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n return value;\r\n }\r\n}\r\n","import {ArrayNumberPipe} from \"./array-number.pipe\";\r\nimport {UCfirstPipe} from \"./ucfirst.pipe\";\r\n\r\nexport const MASTER_PIPES: any[] = [\r\n ArrayNumberPipe,\r\n UCfirstPipe\r\n]\r\n","// <b>Enum</b> Represents the different states of the three way thumb.\r\nexport enum ThumbThreeWayState {\r\n Left = 0,\r\n Middle = 1,\r\n Right = 2\r\n}\r\n\r\nexport function NextStateOfThumbThreeWay(state: ThumbThreeWayState): ThumbThreeWayState {\r\n switch (state) {\r\n case ThumbThreeWayState.Left:\r\n return ThumbThreeWayState.Middle;\r\n case ThumbThreeWayState.Middle:\r\n return ThumbThreeWayState.Right;\r\n case ThumbThreeWayState.Right:\r\n default:\r\n return ThumbThreeWayState.Left;\r\n }\r\n}\r\n","// Static utility functions holder related to Maps.\r\nexport class MapUtils {\r\n\r\n /**\r\n * Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.\r\n * @param map\r\n * @param valueFilter For the first value that returns true for this filter functions, its key will be returned.\r\n */\r\n public static FindKeyByValue<K, V>(map: Map<K, V>, valueFilter: (value: V) => boolean): K {\r\n\r\n if (!map || !valueFilter) {\r\n return undefined;\r\n }\r\n\r\n let foundKey: K = undefined;\r\n let keyWasFound: boolean = false;\r\n map.forEach((value: V, key: K) => {\r\n if (!keyWasFound && valueFilter.call(this, value)) {\r\n foundKey = key;\r\n keyWasFound = true;\r\n }\r\n });\r\n return foundKey;\r\n }\r\n\r\n /**\r\n * Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array\r\n * containing the single [arrayEntry] item, if no entry yet existed.\r\n * @param map\r\n * @param mapKey\r\n * @param arrayEntry\r\n */\r\n public static InsertArrayItemIntoMap(map: Map<any, any>, mapKey: any, arrayEntry: any): void {\r\n if (!map) {\r\n return;\r\n }\r\n\r\n if (!map.has(mapKey)) {\r\n map.set(mapKey, [arrayEntry]);\r\n } else {\r\n map.get(mapKey).push(arrayEntry);\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {ThumbThreeWayState} from \"../../../../enum/thumb-three-way-state\";\r\nimport {MapUtils} from \"../../../../utils/map-utils\";\r\n\r\n@Component({\r\n selector: \"view-select\",\r\n template: `\r\n <div class=\"select-wrapper\">\r\n <div [textContent]=\"'DAY'\" class=\"label\"></div>\r\n <div [textContent]=\"'MONTH'\" class=\"label\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewSelectComponent {\r\n\r\n private readonly _viewsToThumb: Map<CalendarView, ThumbThreeWayState> = new Map<CalendarView, ThumbThreeWayState>([\r\n [CalendarView.DayView, ThumbThreeWayState.Left],\r\n [CalendarView.WeekView, ThumbThreeWayState.Middle],\r\n [CalendarView.MonthView, ThumbThreeWayState.Right]\r\n ]);\r\n\r\n @Input()\r\n public selectedView: CalendarView = CalendarView.WeekView;\r\n\r\n @Output()\r\n public selectedViewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n public get modelAsThumbState(): ThumbThreeWayState {\r\n return this._viewsToThumb.get(this.selectedView);\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public onThumbStateChange(thumbState: ThumbThreeWayState): void {\r\n this.selectedView = MapUtils.FindKeyByValue<CalendarView, ThumbThreeWayState>(this._viewsToThumb, (value: ThumbThreeWayState) => {\r\n return (value === thumbState);\r\n });\r\n this.selectedViewChange.emit(this.selectedView);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-select-event\",\r\n template: `\r\n <div class=\"week-select-item\" (click)=\"checkEvent($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"!event.checked\"></co-icon>\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"event.checked\"></co-icon>\r\n <div class=\"moment-name\">\r\n <small>{{ event.date | date: 'EEEE d MMMM' | uppercase }}</small>\r\n <h2>{{ event.description }}</h2>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class AgendaSelectEventComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport {DatePlanningComponent} from \"./date-planning.component\";\r\nimport {ButtonModule, IconModule, InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CalendarAllYearsComponent} from \"./component/calendar/calendar-all-years.component\";\r\nimport {CalendarAllMonthsComponent} from \"./component/calendar/calendar-all-months.component\";\r\nimport {CalendarHeaderComponent} from \"./component/calendar/calendar-header.component\";\r\nimport {CalendarComponent} from \"./component/calendar/calendar.component\";\r\nimport {CalendarViewComponent} from \"./component/calendar/calendar-view.component\";\r\nimport {AgendaHeaderComponent} from \"./component/agenda/agenda-header.component\";\r\nimport {AgendaViewComponent} from \"./component/agenda/agenda-view.component\";\r\nimport {AgendaMonthViewComponent} from \"./component/agenda/agenda-month-view.component\";\r\nimport {AgendaDayViewComponent} from \"./component/agenda/agenda-day-view.component\";\r\nimport {AgendaWeekViewComponent} from \"./component/agenda/agenda-week-view.component\";\r\nimport {AgendaWeekSelectViewComponent} from \"./component/agenda/agenda-week-select-view.component\";\r\nimport {AgendaHourViewComponent} from \"./component/agenda/agenda-hour-view.component\";\r\nimport {AgendaHourCellComponent} from \"./component/agenda/agenda-hour-cell.component\";\r\nimport {AgendaHourViewLabelsComponent} from \"./component/agenda/agenda-hour-view-labels.component\";\r\nimport {AgendaHalfHourCellComponent} from \"./component/agenda/agenda-half-hour-cell.component\";\r\nimport {AgendaEventsComponent} from \"./component/agenda/agenda-events.component\";\r\nimport {AgendaEventComponent} from \"./component/agenda/agenda-event.component\";\r\nimport {MASTER_PIPES} from \"../../pipe/master-pipes\";\r\nimport {ViewSelectComponent} from \"./component/agenda/view-select.component\";\r\nimport {AgendaSelectEventComponent} from \"./component/agenda/agenda-select-event.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n IconModule,\r\n ButtonModule,\r\n ],\r\n declarations: [\r\n DatePlanningComponent,\r\n CalendarAllYearsComponent,\r\n CalendarAllMonthsComponent,\r\n CalendarHeaderComponent,\r\n CalendarComponent,\r\n CalendarViewComponent,\r\n AgendaHeaderComponent,\r\n AgendaViewComponent,\r\n AgendaMonthViewComponent,\r\n AgendaDayViewComponent,\r\n AgendaWeekViewComponent,\r\n AgendaWeekSelectViewComponent,\r\n AgendaHourViewComponent,\r\n AgendaHourCellComponent,\r\n AgendaHourViewLabelsComponent,\r\n AgendaHalfHourCellComponent,\r\n AgendaEventsComponent,\r\n AgendaEventComponent,\r\n ViewSelectComponent,\r\n AgendaSelectEventComponent,\r\n MASTER_PIPES\r\n ],\r\n exports: [\r\n DatePlanningComponent\r\n ]\r\n})\r\nexport class DatePlanningModule {\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\nexport * from './lib/components/stock/stock.component';\r\nexport * from './lib/components/stock/stock.module';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.component';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.module';\r\nexport * from './lib/components/key-pad/key-pad.component';\r\nexport * from './lib/components/key-pad/key-pad.module';\r\nexport * from './lib/components/layout-switcher/layout-switcher.component';\r\nexport * from './lib/components/layout-switcher/layout-switcher.module';\r\nexport * from './lib/components/circular-gauge/co-circular-gauge.component';\r\nexport * from './lib/components/circular-gauge/co-circular-gauge.module';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.component';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.module';\r\nexport * from './lib/components/statusbar/statusbar.component';\r\nexport * from './lib/components/statusbar/statusbar.module';\r\nexport * from './lib/components/date-planning/date-planning.component';\r\nexport * from './lib/components/date-planning/date-planning.module';\r\nexport * from './lib/service/shared.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AgendaBaseViewComponent as ɵbg} from './lib/components/date-planning/component/agenda/agenda-base-view.component';\nexport {AgendaDayViewComponent as ɵbh} from './lib/components/date-planning/component/agenda/agenda-day-view.component';\nexport {AgendaEventComponent as ɵbp} from './lib/components/date-planning/component/agenda/agenda-event.component';\nexport {AgendaEventsComponent as ɵbo} from './lib/components/date-planning/component/agenda/agenda-events.component';\nexport {AgendaHalfHourCellComponent as ɵbn} from './lib/components/date-planning/component/agenda/agenda-half-hour-cell.component';\nexport {AgendaHeaderComponent as ɵbd} from './lib/components/date-planning/component/agenda/agenda-header.component';\nexport {AgendaHourCellComponent as ɵbl} from './lib/components/date-planning/component/agenda/agenda-hour-cell.component';\nexport {AgendaHourViewLabelsComponent as ɵbm} from './lib/components/date-planning/component/agenda/agenda-hour-view-labels.component';\nexport {AgendaHourViewComponent as ɵbk} from './lib/components/date-planning/component/agenda/agenda-hour-view.component';\nexport {AgendaMonthViewComponent as ɵbf} from './lib/components/date-planning/component/agenda/agenda-month-view.component';\nexport {AgendaSelectEventComponent as ɵbr} from './lib/components/date-planning/component/agenda/agenda-select-event.component';\nexport {AgendaViewComponent as ɵbe} from './lib/components/date-planning/component/agenda/agenda-view.component';\nexport {AgendaWeekSelectViewComponent as ɵbj} from './lib/components/date-planning/component/agenda/agenda-week-select-view.component';\nexport {AgendaWeekViewComponent as ɵbi} from './lib/components/date-planning/component/agenda/agenda-week-view.component';\nexport {ViewSelectComponent as ɵbq} from './lib/components/date-planning/component/agenda/view-select.component';\nexport {CalendarAllMonthsComponent as ɵy} from './lib/components/date-planning/component/calendar/calendar-all-months.component';\nexport {CalendarAllYearsComponent as ɵx} from './lib/components/date-planning/component/calendar/calendar-all-years.component';\nexport {CalendarHeaderComponent as ɵz} from './lib/components/date-planning/component/calendar/calendar-header.component';\nexport {CalendarViewComponent as ɵbb} from './lib/components/date-planning/component/calendar/calendar-view.component';\nexport {CalendarComponent as ɵba} from './lib/components/date-planning/component/calendar/calendar.component';\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';\nexport {LayoutSelectionComponent as ɵk} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.component';\nexport {LayoutSelectionModule as ɵj} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.module';\nexport {PrinterSelectionComponent as ɵo} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.component';\nexport {PrinterSelectionModule as ɵn} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.module';\nexport {SendMethodEmailComponent as ɵl} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.component';\nexport {SendMethodEmailModule as ɵi} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.module';\nexport {SendMethodPrinterComponent as ɵp} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component';\nexport {SendMethodPrinterModule as ɵm} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module';\nexport {SendMethodService as ɵh} from './lib/components/send-method-dialog/service/send-method.service';\nexport {StockInformationGridComponent as ɵr} from './lib/components/stock/stock-information-grid/stock-information-grid.component';\nexport {StockInformationComponent as ɵq} from './lib/components/stock/stock-information/stock-information.component';\nexport {StockLocationComponent as ɵs} from './lib/components/stock/stock-location/stock-location.component';\nexport {StockChangeAmountComponent as ɵu} from './lib/components/stock/stock-transfer/stock-change-amount.component';\nexport {StockTransferComponent as ɵt} from './lib/components/stock/stock-transfer/stock-transfer.component';\nexport {Icon as ɵw} from './lib/enum/icon.enum';\nexport {LanguageCode as ɵbc} from './lib/enum/language-code.enum';\nexport {SendMethod as ɵv} from './lib/model/send-method';\nexport {ArrayNumberPipe as ɵbt} from './lib/pipe/array-number.pipe';\nexport {MASTER_PIPES as ɵbs} from './lib/pipe/master-pipes';\nexport {UCfirstPipe as ɵbu} from './lib/pipe/ucfirst.pipe';\nexport {DictionaryService as ɵf} from './lib/service/dictionary.service';\nexport {IconCacheService as ɵg} from './lib/service/icon-cache.service';\nexport {OptionsService as ɵe} from './lib/service/options.service';\nexport {SharedConnectorService as ɵd} from './lib/service/shared-connector.service';\nexport {StockService as ɵc} from './lib/service/stock.service';"],"names":["EventEmitter","PDFDocument","pdfjsWorker","PDFJS","Component","trigger","state","style","transition","animate","ViewEncapsulation","ViewChild","ElementRef","Input","Output","HostBinding","SignaturePad","NgModule","CommonModule","LanguageCode","Injectable","BehaviorSubject","BusinessObjectFactory","Articles","Sharedapi","MainApi","Printer","SendMethod","StockHistoryBo","ArticleStockBo","StockManagementWarehouses","StockLocation","ArticleDetailsBo","StockStatus","ArticleTransactionBo","PrintStockStickers","GetStockHistoryRequest","ArticleStock","ChangeDetectorRef","DomSanitizer","Icon","ArticleStockManagement","PrintPriceStickers","ArticleTransaction","Subject","ReportingDocumentPrintBaseRequest","ReportingDocumentEmailBaseRequest","ReportingDocumentPdfBaseRequest","SendMethodType","InputCheckboxModule","IconModule","CoDialogModule","ButtonModule","InputComboBoxModule","CoGridModule","InputRadioButtonModule","DropDownModule","SimpleGridModule","ImageModule","InputTextModule","InputNumberPickerModule","CoDialogWizardModule","InputTextareaModule","HostListener","CircularGaugeModule","ClickoutsideModule","Renderer2","Month","Pipe","moment","DatePipe","Inject","LOCALE_ID","NgZone","Directive","InputDatePickerModule"],"mappings":"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"}
|