{"version":3,"sources":["./src/app/app.component.html","./src/app/autoauthorize/autoauthorize.component.html","./src/app/basket/basket.component.html","./src/app/breadcrumbs/breadcrumbs.component.html","./src/app/groups/groups.component.html","./src/app/home/home.component.html","./src/app/nav-menu/nav-menu.component.html","./src/app/not-found/not-found.component.html","./src/app/parts/parts.component.html","./src/app/pictures/pictures.component.html","./src/app/search/search.component.html","./src/app/serials-info/serials-info.component.html","./src/app/subgroups/subgroups.component.html","./src/app/unauthorize/unauthorize.component.html","./node_modules/tslib/tslib.es6.js","./src/$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/autoauthorize/autoauthorize.component.css","./src/app/autoauthorize/autoauthorize.component.ts","./src/app/basket/basket.component.css","./src/app/basket/basket.component.ts","./src/app/breadcrumbs/breadcrumbs.component.css","./src/app/breadcrumbs/breadcrumbs.component.ts","./src/app/groups/groups.component.css","./src/app/groups/groups.component.ts","./src/app/home/home.component.css","./src/app/home/home.component.ts","./src/app/nav-menu/nav-menu.component.css","./src/app/nav-menu/nav-menu.component.ts","./src/app/not-found/not-found.component.css","./src/app/not-found/not-found.component.ts","./src/app/parts/parts.component.css","./src/app/parts/parts.component.ts","./src/app/pictures/pictures.component.css","./src/app/pictures/pictures.component.ts","./src/app/search/search.component.css","./src/app/search/search.component.ts","./src/app/serials-info/serials-info.component.css","./src/app/serials-info/serials-info.component.ts","./src/app/shared/services/app-shape.service.ts","./src/app/shared/services/data-storage.service.ts","./src/app/shared/services/security.service.ts","./src/app/subgroups/subgroups.component.css","./src/app/subgroups/subgroups.component.ts","./src/app/unauthorize/unauthorize.component.css","./src/app/unauthorize/unauthorize.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["export default \"
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\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

Authorizing

\\r\\n

Please wait, authorization is in progress...

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"\\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 \\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 {{dataItem.SearchPart.CatalogPartName}}\\r\\n \\r\\n {{dataItem.SearchMachineModel.MachineModelName}}/\\r\\n {{dataItem.SearchSection.CatalogGroupCatalogGroupSymbol}} - {{dataItem.SearchSection.CatalogGroupCatalogGroupName}}/\\r\\n {{dataItem.SearchGroup.CatalogGroupCatalogGroupSymbol}} - {{dataItem.SearchGroup.CatalogGroupCatalogGroupName}}\\r\\n \\r\\n\\r\\n \\r\\n (> {{dataItem.SearchPart.LinkSymbol}})\\r\\n \\r\\n \\r\\n {{dataItem.SearchPart.CommentSymbol}}\\r\\n \\r\\n {{dataItem.SearchPart.CatalogPartNameTranslate}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{dataItem.SearchPart.CatalogPartNumber}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{dataItem.CatalogBasketItemCount}}\\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 \\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
\"","export default \"
    \\r\\n\\r\\n
  1. START
  2. \\r\\n\\r\\n
  3. Model: {{modelFull.MachineModelName}} {{modelFull.SufixParentName}} {{modelFull.MachineModelSufixName}}
  4. \\r\\n \\r\\n
  5. Section: {{sectionFull.CatalogGroupCatalogGroupSymbol}}-{{sectionFull.CatalogGroupCatalogGroupName}}
  6. \\r\\n \\r\\n
  7. Group: {{groupFull.CatalogGroupCatalogGroupSymbol}}-{{groupFull.CatalogGroupCatalogGroupName}}
  8. \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
{{ anchor.nativeElement.getAttribute(\\\"data-linksymbol\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-linkname\\\") }}\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-linknametranslate\\\") }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\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 Filter\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n

{{dataItem.CatalogGroupCatalogGroupSymbol}}

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{dataItem.CatalogGroupCatalogGroupName}}\\r\\n\\r\\n {{dataItem.CatalogGroupCatalogGroupNameTranslate}}\\r\\n {{dataItem.CatalogGroupCatalogGroupName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
{{firstMachineGroup?.MachineGroupName}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Filter\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{machine?.MachineModelName}} {{machine?.SufixParentName}} {{machine?.MachineModelSufixName}}
\\r\\n {{machine.SufixCatalogComment}}\\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
{{group?.MachineGroupName}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{machine.MachineModelName}} {{machine.SufixParentName}} {{machine.MachineModelSufixName}}
\\r\\n {{machine.SufixCatalogComment}}\\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
LOADING DATA ...
\\r\\n
\"","export default \"
\\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 \\r\\n\\r\\n \\r\\n PL\\r\\n \\r\\n\\r\\n \\r\\n EN\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"

Brak strony

\\r\\n

(komunikat ...)

\"","export default \"
\\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 Filter\\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 {{dataItem.Symbol.replace(\\\"#\\\",\\\"\\\")}}\\r\\n {{dataItem.Symbol}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n {{dataItem.CatalogPartNameTranslate}}\\r\\n\\r\\n {{dataItem.CatalogPartName}}\\r\\n\\r\\n \\r\\n (> {{dataItem.LinkSymbol}})\\r\\n \\r\\n\\r\\n {{dataItem.CatalogPartName}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{dataItem.CatalogPartNumber}}\\r\\n {{dataItem.CatalogPartManufacturerNumber}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n 0\\\">{{dataItem.Count}}\\r\\n #\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.CommentSymbol}}\\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
{{ anchor.nativeElement.getAttribute(\\\"data-symbol\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-text\\\") }}\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-translate\\\") }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
{{ anchor.nativeElement.getAttribute(\\\"data-linksymbol\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-linkname\\\") }}\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-linknametranslate\\\") }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
{{ anchor.nativeElement.getAttribute(\\\"data-fileSymbol\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-fileDescription\\\") }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
{{ anchor.nativeElement.getAttribute(\\\"data-fileSymbol\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-fileDescription\\\") }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\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
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
{{ anchor.nativeElement.getAttribute(\\\"data-partnumber\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-partname\\\") }}\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-partnametranslate\\\") }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\"","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Search in catalog\\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 {{dataItem.SearchPart.CatalogPartName}}\\r\\n \\r\\n (> {{dataItem.SearchPart.LinkSymbol}})\\r\\n \\r\\n \\r\\n {{dataItem.SearchPart.CommentSymbol}}\\r\\n \\r\\n {{dataItem.SearchPart.CatalogPartNameTranslate}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{dataItem.SearchPart.CatalogPartNumber}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n 0\\\">{{dataItem.SearchPart.Count}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.SearchMachineModel.MachineModelName}}/\\r\\n {{dataItem.SearchSection.CatalogGroupCatalogGroupSymbol}} - {{dataItem.SearchSection.CatalogGroupCatalogGroupName}}/\\r\\n {{dataItem.SearchGroup.CatalogGroupCatalogGroupSymbol}} - {{dataItem.SearchGroup.CatalogGroupCatalogGroupName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
{{ anchor.nativeElement.getAttribute(\\\"data-symbol\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-text\\\") }}\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-translate\\\") }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
{{ anchor.nativeElement.getAttribute(\\\"data-linksymbol\\\") }}
\\r\\n
\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-linkname\\\") }}\\r\\n {{ anchor.nativeElement.getAttribute(\\\"data-linknametranslate\\\") }}\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n Please choose the serial number to get a catalog for your machine.\\r\\n
\\r\\n\\r\\n
\\r\\n The serial number {{machineSerial}} was chosen in the {{machineModel}} machine\\r\\n
\\r\\n\"","export default \"
\\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 Filter\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n

{{dataItem.CatalogGroupCatalogGroupSymbol}}

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n {{dataItem.CatalogGroupCatalogGroupName}}\\r\\n \\r\\n {{dataItem.CatalogGroupCatalogGroupNameTranslate}}\\r\\n {{dataItem.CatalogGroupCatalogGroupName}}\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n

\\r\\n {{map.RangeFrom}} -\\r\\n {{map.RangeTo}}\\r\\n and up ...\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Unauthorized

\\r\\n

The session has expired or the authorization data is incorrect.

\\r\\n

Please log in again to use the catalogs...

\\r\\n Log In \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

TD-25

\\r\\n

Best of the best of the best ...

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { NotFoundComponent } from './not-found/not-found.component';\r\nimport { GroupsComponent } from './groups/groups.component';\r\nimport { SubgroupsComponent } from './subgroups/subgroups.component';\r\nimport { PartsComponent } from './parts/parts.component';\r\nimport { AutoauthorizeComponent } from './autoauthorize/autoauthorize.component';\r\nimport { UnauthorizeComponent} from './unauthorize/unauthorize.component'\r\n\r\nconst routes: Routes = [\r\n { path: '', component: AutoauthorizeComponent, pathMatch: 'full' },\r\n { path: 'autoriztion/autologin/:key', component: AutoauthorizeComponent },\r\n { path: 'catalog/start', component: HomeComponent, pathMatch: 'full' },\r\n { path: 'catalog/:mid/:sf/:rng', component: GroupsComponent },\r\n { path: 'catalog/:mid/:sf/:rng/:sid', component: SubgroupsComponent },\r\n { path: 'catalog/:mid/:sf/:rng/:sid/:gid', component: PartsComponent },\r\n { path: 'autoriztion/unauthorize', component: UnauthorizeComponent, pathMatch: 'full' },\r\n { path: '**', component: NotFoundComponent, pathMatch: 'full' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { AppShape } from './shared/services/app-shape.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\nexport let browserRefresh = false;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n public contentHeight = \"0\";\r\n subscription: Subscription;\r\n \r\n constructor(private appShape: AppShape, private router: Router) \r\n { \r\n this.subscription = router.events.subscribe((event) => {\r\n if (event instanceof NavigationStart) {\r\n browserRefresh = !router.navigated;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { SlimLoadingBarModule } from \"ng2-al-slim-bar\";\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { GridModule, ExcelModule, PDFModule} from '@progress/kendo-angular-grid';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { DialogsModule } from '@progress/kendo-angular-dialog';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\nimport { ButtonModule } from '@progress/kendo-angular-buttons';\r\nimport { ButtonGroupModule } from '@progress/kendo-angular-buttons';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { AngularResizedEventModule } from 'angular-resize-event';\r\nimport { LayoutModule } from '@progress/kendo-angular-layout';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { GroupsComponent } from './groups/groups.component';\r\nimport { NotFoundComponent } from './not-found/not-found.component';\r\n\r\nimport { InlineSVGModule } from 'ng-inline-svg';\r\n\r\n// services\r\nimport { DataStorageService } from './shared/services/data-storage.service';\r\nimport { SecurityService } from './shared/services/security.service';\r\nimport { AppShape } from './shared/services/app-shape.service';\r\nimport { PicturesComponent } from './pictures/pictures.component';\r\nimport { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component';\r\nimport { SubgroupsComponent } from './subgroups/subgroups.component';\r\nimport { PartsComponent } from './parts/parts.component';\r\nimport { BasketComponent } from './basket/basket.component';\r\nimport { SearchComponent } from './search/search.component';\r\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\r\nimport { AutoauthorizeComponent } from './autoauthorize/autoauthorize.component';\r\nimport { UnauthorizeComponent } from './unauthorize/unauthorize.component';\r\nimport { SerialsInfoComponent } from './serials-info/serials-info.component';\r\nimport { NotificationModule } from '@progress/kendo-angular-notification';\r\nimport { PDFExportModule } from '@progress/kendo-angular-pdf-export';\r\nimport { ProgressBarModule } from '@progress/kendo-angular-progressbar';\r\n\r\n\r\n\r\n\r\n\r\nexport let browserRefresh = false;\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n NavMenuComponent,\r\n GroupsComponent,\r\n NotFoundComponent,\r\n PicturesComponent,\r\n BreadcrumbsComponent,\r\n SubgroupsComponent,\r\n PartsComponent,\r\n BasketComponent,\r\n SearchComponent,\r\n AutoauthorizeComponent,\r\n UnauthorizeComponent,\r\n SerialsInfoComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n SlimLoadingBarModule.forRoot(),\r\n InlineSVGModule.forRoot(),\r\n HttpClientModule,\r\n AppRoutingModule,\r\n GridModule,\r\n ExcelModule,\r\n PDFModule,\r\n BrowserAnimationsModule,\r\n DialogsModule,\r\n DropDownsModule,\r\n ButtonModule,\r\n ButtonGroupModule,\r\n FontAwesomeModule,\r\n AngularResizedEventModule,\r\n LayoutModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TooltipModule,\r\n NotificationModule,\r\n PDFExportModule,\r\n ProgressBarModule\r\n ],\r\n //exports: [ SlimLoadingBarModule,],\r\n providers: [\r\n {provide: DataStorageService, useClass: DataStorageService} , \r\n {provide: AppShape, useClass: AppShape}, \r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","export default \".spinner {\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n \\r\\n position: relative;\\r\\n margin: 20px auto;\\r\\n }\\r\\n \\r\\n .double-bounce1, .double-bounce2 {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n border-radius: 50%;\\r\\n background-color: #333;\\r\\n opacity: 0.6;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n \\r\\n -webkit-animation: sk-bounce 2.0s infinite ease-in-out;\\r\\n animation: sk-bounce 2.0s infinite ease-in-out;\\r\\n }\\r\\n \\r\\n .double-bounce2 {\\r\\n -webkit-animation-delay: -1.0s;\\r\\n animation-delay: -1.0s;\\r\\n }\\r\\n \\r\\n @-webkit-keyframes sk-bounce {\\r\\n 0%, 100% { -webkit-transform: scale(0.0) }\\r\\n 50% { -webkit-transform: scale(1.0) }\\r\\n }\\r\\n \\r\\n @keyframes sk-bounce {\\r\\n 0%, 100% { \\r\\n transform: scale(0.0);\\r\\n -webkit-transform: scale(0.0);\\r\\n } 50% { \\r\\n transform: scale(1.0);\\r\\n -webkit-transform: scale(1.0);\\r\\n }\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXV0b2F1dGhvcml6ZS9hdXRvYXV0aG9yaXplLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTs7SUFFWixrQkFBa0I7SUFDbEIsaUJBQWlCO0VBQ25COztFQUVBO0lBQ0UsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87O0lBRVAsc0RBQXNEO0lBQ3RELDhDQUE4QztFQUNoRDs7RUFFQTtJQUNFLDhCQUE4QjtJQUM5QixzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxXQUFXLDhCQUE4QjtJQUN6QyxNQUFNLDhCQUE4QjtFQUN0Qzs7RUFFQTtJQUNFO01BQ0UscUJBQXFCO01BQ3JCLDZCQUE2QjtJQUMvQixFQUFFO01BQ0EscUJBQXFCO01BQ3JCLDZCQUE2QjtJQUMvQjtFQUNGIiwiZmlsZSI6InNyYy9hcHAvYXV0b2F1dGhvcml6ZS9hdXRvYXV0aG9yaXplLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3Bpbm5lciB7XHJcbiAgICB3aWR0aDogNTVweDtcclxuICAgIGhlaWdodDogNTVweDtcclxuICBcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gIH1cclxuICBcclxuICAuZG91YmxlLWJvdW5jZTEsIC5kb3VibGUtYm91bmNlMiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgXHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2stYm91bmNlIDIuMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb246IHNrLWJvdW5jZSAyLjBzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuICBcclxuICAuZG91YmxlLWJvdW5jZTIge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0xLjBzO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcclxuICB9XHJcbiAgXHJcbiAgQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZSB7XHJcbiAgICAwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjApIH1cclxuICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApIH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBzay1ib3VuY2Uge1xyXG4gICAgMCUsIDEwMCUgeyBcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKTtcclxuICAgIH0gNTAlIHsgXHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICB9XHJcbiAgfSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { SecurityService } from '../shared/services/security.service';\r\nimport { ActivatedRoute, Params, Router} from '@angular/router';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\n\r\nimport { Guid } from \"guid-typescript\";\r\n\r\n@Component({\r\n selector: 'app-autoauthorize',\r\n templateUrl: './autoauthorize.component.html',\r\n styleUrls: ['./autoauthorize.component.css']\r\n})\r\nexport class AutoauthorizeComponent implements OnInit {\r\n\r\n isLoading: boolean = false;\r\n contentHeight = \"0\";\r\n\r\n constructor(private appShape: AppShape, private route: ActivatedRoute, private router: Router, private dataStorage: DataStorageService, private security: SecurityService) \r\n { \r\n }\r\n\r\n async ngOnInit() \r\n {\r\n // brak autoryzacji\r\n // monitorowanie wysokości programu ....\r\n this.appShape.navHeight.subscribe(p => {\r\n this.contentHeight = this.appShape.getConntentHeight() + \"px\";\r\n });\r\n\r\n // pobieranie GUID z adresu na potrzeby AutoAutoryzacji\r\n this.route.params.subscribe(async (params: Params) => \r\n {\r\n this.isLoading = true;\r\n\r\n this.dataStorage.ReloadData.next(false);\r\n var key:string = params['key'];\r\n\r\n console.log(\"AutoauthorizeComponent: Route: Params: \", params, key);\r\n\r\n //console.log(\"AutoauthorizeComponent: Route: Params: if(key) \", key);\r\n\r\n let isAuthorize = await this.security.AutoAuthorizeByKey(key);\r\n\r\n //console.log(\"AutoauthorizeComponent: Route: isAuthorize \", isAuthorize, params, this.security.userApiData.value);\r\n\r\n //await new Promise( resolve => setTimeout(resolve, 2000) );\r\n \r\n if(isAuthorize)\r\n {\r\n //console.log(\"AutoauthorizeComponent: Route: isAuthorize \", isAuthorize);\r\n this.router.navigate([\"catalog/start\"]);\r\n }\r\n else\r\n {\r\n //console.log(\"AutoauthorizeComponent: Route: isAuthorize \", isAuthorize);\r\n this.router.navigate([\"autoriztion/unauthorize\",]);\r\n }\r\n\r\n this.isLoading = false;\r\n //console.log(\"AutoauthorizeComponent: Route: Params: Finish: \", params, this.security.userApiData.value);\r\n });\r\n\r\n }\r\n\r\n}\r\n","export default \".page-template {\\r\\n font-family: \\\"DejaVu Sans\\\", \\\"Arial\\\", sans-serif;\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n margin-top: 40px;\\r\\n }\\r\\n \\r\\n .page-template .header {\\r\\n position: absolute;\\r\\n top: 30px;\\r\\n left: 30px;\\r\\n right: 30px;\\r\\n border-bottom: 1px solid #888;\\r\\n color: #888;\\r\\n }\\r\\n \\r\\n .page-template .footer {\\r\\n position: absolute;\\r\\n bottom: 30px;\\r\\n left: 30px;\\r\\n right: 30px;\\r\\n border-top: 1px solid #888;\\r\\n text-align: center;\\r\\n color: #888;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYmFza2V0L2Jhc2tldC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksK0NBQStDO0lBQy9DLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLE1BQU07SUFDTixPQUFPO0lBQ1AsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsV0FBVztJQUNYLDZCQUE2QjtJQUM3QixXQUFXO0VBQ2I7O0VBRUE7SUFDRSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixXQUFXO0VBQ2IiLCJmaWxlIjoic3JjL2FwcC9iYXNrZXQvYmFza2V0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucGFnZS10ZW1wbGF0ZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJEZWphVnUgU2Fuc1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gIH1cclxuICBcclxuICAucGFnZS10ZW1wbGF0ZSAuaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMzBweDtcclxuICAgIGxlZnQ6IDMwcHg7XHJcbiAgICByaWdodDogMzBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4O1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbiAgfVxyXG4gIFxyXG4gIC5wYWdlLXRlbXBsYXRlIC5mb290ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgbGVmdDogMzBweDtcclxuICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4ODg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICB9Il19 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms'\r\nimport { filter, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { ResizedEvent } from 'angular-resize-event';\r\nimport { SecurityService } from '../shared/services/security.service'\r\nimport { PageChangeEvent, GridDataResult } from '@progress/kendo-angular-grid';\r\nimport { faTrash, faArrowRight, faEdit, faSave, faBan, faDownload, faEnvelope } from '@fortawesome/free-solid-svg-icons'\r\n\r\n@Component({\r\n selector: 'app-basket',\r\n templateUrl: './basket.component.html',\r\n styleUrls: ['./basket.component.css']\r\n})\r\nexport class BasketComponent implements OnInit, OnDestroy {\r\n\r\n public opened: boolean = false;\r\n private isOpened: Subscription;\r\n private basketList: any;\r\n private basketSubscription: Subscription;\r\n public basketListHeight: number = 345;\r\n public itemToRemove: any;\r\n\r\n private updatedItems: any[] = [];\r\n public formGroup: FormGroup;\r\n public emailForm: FormGroup;\r\n\r\n public faTrash = faTrash;\r\n public faArrowRight = faArrowRight;\r\n public faEdit = faEdit;\r\n public faSave = faSave;\r\n public faBan = faBan;\r\n public faDownload = faDownload;\r\n public faEnvelope = faEnvelope;\r\n\r\n private rMachineId: number = 0;\r\n private rMachineSufixId: number = 0;\r\n private rRange: number = 0;\r\n private rSection: number = 0;\r\n private rGroup: number = 0;\r\n\r\n constructor(private appShape: AppShape, private dataStorage: DataStorageService, private route: ActivatedRoute, private router: Router, private formBuilder: FormBuilder) {\r\n this.emailForm = new FormGroup({\r\n 'query': new FormControl('')\r\n });\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.isOpened = this.appShape.basketIsOpen.subscribe(p => {\r\n //console.error(\"BasketComponent:ngOnInit:this.isOpened: \",p);\r\n this.basketList = this.dataStorage.basketStream;\r\n this.opened = p;\r\n });\r\n\r\n this.route.params.subscribe((params: Params) => {\r\n\r\n this.rMachineId = params['mid'];\r\n this.rMachineSufixId = params['sf'];\r\n this.rRange = params['rng'];\r\n this.rSection = params['sid'];\r\n this.rGroup = params['gid'];\r\n });\r\n\r\n }\r\n ngOnDestroy(): void {\r\n this.isOpened.unsubscribe();\r\n this.basketSubscription.unsubscribe();\r\n }\r\n\r\n public close() {\r\n this.appShape.basketIsOpen.next(false);\r\n }\r\n\r\n public open() {\r\n //this.opened = true;\r\n }\r\n\r\n public selectionBasketChange(e) {\r\n\r\n }\r\n\r\n public onResized(event: ResizedEvent): void {\r\n //console.log(\"BasketComponent:onResized:\", event);\r\n this.basketListHeight = event.newHeight - 110;\r\n //this.appShape.navHeight.next(event.newHeight);\r\n }\r\n\r\n\r\n public createFormGroup = ({ dataItem }): FormGroup => {\r\n this.formGroup = this.formBuilder.group({\r\n CatalogBasketItemCount: dataItem.CatalogBasketItemCount,\r\n CatalogBasketItemId: dataItem.CatalogBasketItemId,\r\n CatalogPartToGroupToMachineId: dataItem.CatalogPartToGroupToMachineId\r\n });\r\n\r\n return this.formGroup;\r\n }\r\n\r\n // click on search button\r\n public sendEmail() {\r\n let emailToSend = this.emailForm.get('query').value;\r\n\r\n if (emailToSend.length > 0 && this.emailForm.get('query').status == \"VALID\") {\r\n const validEmailRegEx = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (validEmailRegEx.test(emailToSend)) {\r\n this.dataStorage.SendBasketByEmail(emailToSend);\r\n //console.log(\"Search value:\", this.emailForm.get('query').value ,this.emailForm.get('query').status );\r\n }\r\n else {\r\n this.dataStorage.showNotification(\"Invalid email address ...\");\r\n }\r\n }\r\n else {\r\n this.dataStorage.showNotification(\"Email address is empty or invalid ...\");\r\n }\r\n //console.log(\"Search value:\", this.emailForm.get('query').status );\r\n }\r\n\r\n\r\n public removeHandler({ sender, dataItem }) {\r\n\r\n let postBasketItem: PostCatalogBasketItem =\r\n {\r\n CatalogBasketItemId: dataItem.CatalogBasketItemId,\r\n CatalogPartToGroupToMachineId: dataItem.CatalogPartToGroupToMachineId,\r\n CatalogBasketItemCount: 0,\r\n Key: this.dataStorage.getUserKey(),\r\n MachineModelID: this.rMachineId,\r\n MachineModelSufixId: this.rMachineSufixId\r\n };\r\n //console.log(\"BasketComponent:removeHandler:\", postBasketItem, dataItem); \r\n this.dataStorage.singeCardItemOperation(postBasketItem);\r\n }\r\n\r\n public clearBasket() {\r\n this.dataStorage.clearBasket();\r\n }\r\n\r\n protected editHandler({ sender, rowIndex, dataItem }) {\r\n }\r\n\r\n protected cancelHandler({ sender, rowIndex }) {\r\n // close the editor for the given row\r\n sender.closeRow(rowIndex)\r\n }\r\n protected saveHandler({ sender, rowIndex, formGroup, isNew }) {\r\n\r\n console.log(\"BasketComponent:saveHandler:\", formGroup);\r\n\r\n let postBasketItem: PostCatalogBasketItem =\r\n {\r\n CatalogBasketItemId: formGroup.value.CatalogBasketItemId,\r\n CatalogPartToGroupToMachineId: formGroup.value.CatalogPartToGroupToMachineId,\r\n CatalogBasketItemCount: formGroup.value.CatalogBasketItemCount,\r\n Key: this.dataStorage.getUserKey(),\r\n MachineModelID: this.rMachineId,\r\n MachineModelSufixId: this.rMachineSufixId\r\n };\r\n this.dataStorage.singeCardItemOperation(postBasketItem);\r\n\r\n // collect the current state of the form\r\n // `formGroup` arguments is the same as was provided when calling `editRow`\r\n //const product: Product = formGroup.value;\r\n\r\n // update the data source\r\n //this.editService.save(product, isNew);\r\n\r\n // close the editor, that is, revert the row back into view mode\r\n sender.closeRow(rowIndex);\r\n }\r\n\r\n public jumpToGroup(dataItem) {\r\n let selectedRow: CatalogBasketItem = dataItem;\r\n console.log(\"===========> BasketSelection\", dataItem, selectedRow);\r\n\r\n if (selectedRow) {\r\n\r\n this.router.navigate([\r\n \"/catalog\",\r\n selectedRow.SearchMachineModel.MachineModelID,\r\n selectedRow.MachineModelSufixId,\r\n 0,\r\n selectedRow.SearchSection.CatalogGroupToMachineId,\r\n selectedRow.SearchGroup.CatalogGroupToMachineId\r\n ]);\r\n\r\n if (selectedRow.SearchPart.Number) {\r\n let selectedPart: number[];\r\n selectedPart = [selectedRow.SearchPart.Number];\r\n //console.log(\"===========> BasketSelection\", selectedRow, selectedPart);\r\n if (selectedPart) {\r\n this.dataStorage.partsSelection.next(selectedPart);\r\n this.appShape.partsGridMakeScroll.next(true);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n //console.log(\"BasketComponent:jumpToGroup:\", dataItem); \r\n }\r\n\r\n public onExcelExport(e: any): void {\r\n this.dataStorage.BasketExcelObserver();\r\n //console.log(\"BasketComponent:onExcelExport:\", e);\r\n // send information about excel exporting\r\n }\r\n\r\n public onPdfExport(e: any): void {\r\n this.dataStorage.BasketPdfObserver();\r\n //console.log(\"BasketComponent:onExcelExport:\", e);\r\n // send information about excel exporting\r\n }\r\n\r\n}\r\n","export default \".breadcrumb\\r\\n{\\r\\n font-size: 85%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7SUFFSSxjQUFjO0FBQ2xCIiwiZmlsZSI6InNyYy9hcHAvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5icmVhZGNydW1iXHJcbntcclxuICAgIGZvbnQtc2l6ZTogODUlO1xyXG59Il19 */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router, Params } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\n\r\n@Component({\r\n selector: 'app-breadcrumbs',\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrls: ['./breadcrumbs.component.css']\r\n})\r\nexport class BreadcrumbsComponent implements OnInit, OnDestroy {\r\n\r\n public modelFull: Machine;\r\n public sectionFull: CatalogGroup;\r\n public groupFull: CatalogGroup;\r\n\r\n private reloadDataSubscription: Subscription;\r\n private rMachineId: number = 0;\r\n private rMachineSufixId: number = 0;\r\n private rRange: number = 0;\r\n private rSection: number = 0;\r\n private rGroup: number = 0;\r\n\r\n\r\n constructor(private dataStorage: DataStorageService, private route: ActivatedRoute, private router: Router) { }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.route.params.subscribe(async (params: Params) => {\r\n //console.log(\"BreadcrumbsComponent: Params: \", params, params['mid'], params['sf'], params['rng'], params['sid'], params['gid']);\r\n\r\n this.rMachineId = params['mid'];\r\n this.rMachineSufixId = params['sf'];\r\n this.rRange = params['rng'];\r\n this.rSection = params['sid'];\r\n this.rGroup = params['gid'];\r\n\r\n await this.reloadData();\r\n\r\n //console.log(\"BreadcrumbsComponent: this.dataStorage.cLanguage.subscribe: \", this.modelFull, this.sectionFull, this.groupFull);\r\n });\r\n\r\n this.reloadDataSubscription = this.dataStorage.ReloadData.subscribe(async (p: boolean) => {\r\n if (p) \r\n {\r\n await this.reloadData();\r\n }\r\n });\r\n\r\n }\r\n\r\n private async reloadData() {\r\n let modelMachine: PostMachineModel =\r\n {\r\n MachineModelID: this.rMachineId,\r\n MachineModelSufixId: this.rMachineSufixId,\r\n Key: this.dataStorage.getUserKey()\r\n };\r\n\r\n //this.modelFull = await this.dataStorage.getMachineModel(this.rMachineId, this.rMachineSufixId);\r\n this.modelFull = await this.dataStorage.getSingleMachineFromCache(modelMachine);\r\n\r\n if (this.rSection > 0) {\r\n let modelSection: GetGroup = {\r\n Key: this.dataStorage.getUserKey(),\r\n CatalogGroupToMachineId: this.rSection,\r\n Range: this.rRange,\r\n LanguageCulture: this.dataStorage.getLanguageCulture()\r\n };\r\n\r\n this.sectionFull = await this.dataStorage.getSingleSectionAsync(modelSection);\r\n }\r\n\r\n if (this.rGroup > 0) {\r\n let modelGroup: GetGroup = {\r\n Key: this.dataStorage.getUserKey(),\r\n CatalogGroupToMachineId: this.rGroup,\r\n Range: this.rRange,\r\n LanguageCulture: this.dataStorage.getLanguageCulture()\r\n };\r\n\r\n this.groupFull = await this.dataStorage.getSingleGroupAsync(modelGroup);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n if (this.reloadDataSubscription)\r\n this.reloadDataSubscription.unsubscribe();\r\n }\r\n\r\n public bcMachineListClick() {\r\n // cleaning\r\n this.router.navigate([\"catalog/start\"]);\r\n\r\n }\r\n\r\n public bcModelClick() {\r\n // cleaning\r\n //localStorage.setItem('cat_section', JSON.stringify(groupData));\r\n this.router.navigate([\r\n \"/catalog\",\r\n this.rMachineId,\r\n this.rMachineSufixId,\r\n this.rRange\r\n ]);\r\n\r\n }\r\n\r\n public bcGroupClick() {\r\n this.router.navigate([\r\n \"/catalog\",\r\n this.rMachineId,\r\n this.rMachineSufixId,\r\n this.rRange,\r\n this.rSection\r\n ]);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dyb3Vwcy9ncm91cHMuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { FormGroup, FormControl } from '@angular/forms'\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { SecurityService } from '../shared/services/security.service'\r\nimport { faFilter } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-groups',\r\n templateUrl: './groups.component.html',\r\n styleUrls: ['./groups.component.css']\r\n})\r\nexport class GroupsComponent implements OnInit, OnDestroy {\r\n\r\n public contentHeight = \"0\";\r\n public gridHeight: number = 0;\r\n private _sidebarSize: string = localStorage.getItem('sidebarSize') || '20%';\r\n public picturePanelWidth: string = \"0px\";\r\n\r\n public groups: any;\r\n public isDataLoading: boolean = true;\r\n public filterForm: FormGroup;\r\n\r\n private loaderSubscription: Subscription;\r\n private machineSteream: Subscription;\r\n private machinesSerialsStream: Subscription;\r\n private reloadDataSubscription: Subscription;\r\n private picturePanelSizeChange: Subscription;\r\n\r\n private rMachineId: number = 0; \r\n private rMachineSufixId: number = 0; \r\n private rRange: number = 0; \r\n\r\n // fonts\r\n faFilter = faFilter;\r\n\r\n constructor(private appShape: AppShape, private security: SecurityService, private dataStorage: DataStorageService, private route: ActivatedRoute, private router: Router, ) {\r\n //console.log(\"-----------------------> GroupsComponent:constructor: \");\r\n // this.dataStorage.groupsStream.next(null);\r\n // this.dataStorage.subgroupsStream.next(null);\r\n // this.dataStorage.partsStream.next(null);\r\n // this.dataStorage.picturesMapStream.next(null);\r\n\r\n // localStorage.removeItem('cat_section');\r\n // localStorage.removeItem('cat_group');\r\n\r\n\r\n this.groups = this.dataStorage.groupsStream;\r\n\r\n this.filterForm = new FormGroup({\r\n 'filterQuery': new FormControl('')\r\n });\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n // check authorization from local storage \r\n await this.security.IsUserAuthorized();\r\n\r\n this.route.params.subscribe(async (params: Params) => \r\n {\r\n this.dataStorage.LinkParams.next(params);\r\n //console.log(\"Params: \", params, params['mid'], params['sf'], params['rng']);\r\n\r\n this.rMachineId = params['mid'];\r\n this.rMachineSufixId = params['sf'];\r\n this.rRange = params['rng'];\r\n\r\n this.dataStorage.getSections(this.rMachineId, this.rMachineSufixId, this.rRange );\r\n });\r\n\r\n // Get session key for application \r\n // Get full height of the elementa as observable\r\n this.appShape.navHeight.subscribe(p => {\r\n \r\n this.contentHeight = this.appShape.getConntentHeight() - 1 + \"px\";\r\n this.gridHeight = this.appShape.getConntentHeight() - 90;\r\n\r\n let picturePaneWidth: number = this.appShape.getConntentWidth() * 0.4;\r\n this.appShape.picturePaneWidth.next(picturePaneWidth);\r\n this.picturePanelWidth = picturePaneWidth + \"px\";\r\n\r\n });\r\n\r\n this.filterForm.get('filterQuery').valueChanges\r\n .pipe(\r\n //filter((p: string) => p.length >= 2),\r\n distinctUntilChanged(),\r\n debounceTime(300)\r\n )\r\n .subscribe((p: string) => {\r\n this.dataStorage.getGroupsFilter(p);\r\n })\r\n\r\n // show hide loading bar\r\n this.loaderSubscription = this.dataStorage.loadingData.subscribe((p) => {\r\n if (p) {\r\n this.isDataLoading = true;\r\n }\r\n else {\r\n this.isDataLoading = false;\r\n }\r\n });\r\n\r\n this.picturePanelSizeChange = this.appShape.picturePaneWidth.subscribe((p: number) => {\r\n if(p)\r\n {\r\n this.dataStorage.setCorrectPictureSizes();\r\n }\r\n });\r\n\r\n this.reloadDataSubscription = this.dataStorage.ReloadData.subscribe(async (p: boolean) => {\r\n if (p) \r\n {\r\n this.dataStorage.getSections(this.rMachineId, this.rMachineSufixId, this.rRange );\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dataStorage.clearPicturesData();\r\n\r\n if (this.machineSteream)\r\n this.machineSteream.unsubscribe();\r\n\r\n if (this.machinesSerialsStream)\r\n this.machinesSerialsStream.unsubscribe();\r\n\r\n if (this.loaderSubscription)\r\n this.loaderSubscription.unsubscribe();\r\n\r\n if (this.reloadDataSubscription)\r\n this.reloadDataSubscription.unsubscribe();\r\n\r\n if (this.picturePanelSizeChange)\r\n this.picturePanelSizeChange.unsubscribe();\r\n\r\n }\r\n\r\n public get sidebarSize(): string {\r\n return this._sidebarSize;\r\n }\r\n\r\n public selectionChange(value) {\r\n\r\n //console.log(\"GroupsComponent:selectionChange: \", value.selectedRows[0].dataItem.CatalogGroupToMachineId);\r\n\r\n let groupData: CatalogGroup = value.selectedRows[0].dataItem;\r\n\r\n if (groupData) {\r\n //localStorage.setItem('cat_section', JSON.stringify(groupData));\r\n this.router.navigate([\r\n \"/catalog\",\r\n this.rMachineId,\r\n this.rMachineSufixId,\r\n this.rRange,\r\n groupData.CatalogGroupToMachineId\r\n ]);\r\n\r\n }\r\n\r\n }\r\n\r\n public picturePaneSizeChange(value) {\r\n\r\n if (value) {\r\n let getValue: number = +(value.replace('px', ''));\r\n //console.log(\"GROUP PANE: SIZE CHANGE: \", value, getValue);\r\n this.appShape.picturePaneWidth.next(getValue);\r\n }\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2hvbWUvaG9tZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { SecurityService } from '../shared/services/security.service'\r\nimport { faSnowplow, faAddressCard, faSearch, faFilter, faTable } from '@fortawesome/free-solid-svg-icons';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { Subscription, Observable, BehaviorSubject } from 'rxjs';\r\nimport { filter, distinctUntilChanged, debounceTime, delay } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { FormGroup, FormControl } from '@angular/forms'\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\n\r\nexport class HomeComponent implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n public filterForm: FormGroup;\r\n public contentHeight = \"0\";\r\n \r\n faSnowplow = faSnowplow;\r\n faAddressCard = faAddressCard;\r\n faSearch = faSearch;\r\n faFilter = faFilter;\r\n faTable = faTable;\r\n\r\n private appShapeSubscription: Subscription;\r\n public machineGroupSubscription: Subscription;\r\n private loaderSubscription: Subscription;\r\n\r\n public firstMachineGroup: MachineGroup = null;\r\n public allGroups: MachineGroup[];\r\n public allGroupsForFilter: MachineGroup[];\r\n public filteredMachine: Machine;\r\n\r\n public machineSerials: any;\r\n public defaultMachineSerials: MachineSerialas = { MetrykiSerialNo: \"Find & select serial number ...\", MetrykiRnage: null, MachineModelID: null, MachineModelName: null, MachineModelSufixId: null, MetrykiSufixName: \"\" };\r\n public valueMachineSerialsDropdown: MachineSerialas = this.defaultMachineSerials;\r\n public isDisabledMachineSerialsDropDown: boolean = true;\r\n public isMachineLoading: boolean = false;\r\n public isMachineDisabled: boolean = false;\r\n\r\n constructor(private appShape: AppShape, \r\n private security: SecurityService, \r\n private dataStorage: DataStorageService,\r\n private router: Router,\r\n private route: ActivatedRoute,) \r\n { \r\n //console.log(\"HomeComponent|constructor|machineSubscription: \", this.allGroups, this.firstMachineGroup);\r\n\r\n this.machineSerials = this.dataStorage.machinesSerialsStream;\r\n\r\n this.filterForm = new FormGroup({\r\n 'filterQuery': new FormControl('')\r\n });\r\n\r\n }\r\n @ViewChild(\"machineSerialsDropDown\", {static: true}) public machineSerialsDropDown: any;\r\n\r\n async ngOnInit() {\r\n \r\n this.route.params.subscribe((params: Params) => \r\n {\r\n this.dataStorage.LinkParams.next(params);\r\n });\r\n\r\n\r\n this.dataStorage.groupsStream.next(null);\r\n this.dataStorage.subgroupsStream.next(null);\r\n this.dataStorage.partsStream.next(null);\r\n this.dataStorage.picturesMapStream.next(null);\r\n\r\n localStorage.removeItem('cat_machineModel');\r\n localStorage.removeItem('cat_MetrykiRnage');\r\n localStorage.removeItem('cat_section');\r\n localStorage.removeItem('cat_group');\r\n\r\n\r\n this.allGroups = null;\r\n this.firstMachineGroup = null;\r\n this.allGroupsForFilter = null;\r\n\r\n // check authorization from local storage \r\n await this.security.IsUserAuthorized();\r\n\r\n this.dataStorage.ReloadData.next(true);\r\n this.dataStorage.getMachines();\r\n \r\n this.valueMachineSerialsDropdown = this.dataStorage.getMachineSerialNo();\r\n\r\n // Get session key for application \r\n // Get full height of the elementa as observable\r\n this.appShapeSubscription = this.appShape.navHeight.subscribe(p => {\r\n this.contentHeight = this.appShape.getConntentHeight() -1 + \"px\";\r\n });\r\n\r\n this.machineGroupSubscription = this.dataStorage.machinesStream.subscribe((p: MachineGroup[]) =>\r\n {\r\n if(p)\r\n {\r\n let list = p.slice(); // copy Array to new Array\r\n //console.log(\"HomeComponent|ngINit|machineSubscription: \", p, list);\r\n this.firstMachineGroup = list.shift();\r\n this.allGroups = list;\r\n this.allGroupsForFilter = p.slice();\r\n }\r\n });\r\n\r\n this.filterForm.get('filterQuery').valueChanges\r\n .pipe(\r\n //filter((p: string) => p.length >= 2),\r\n distinctUntilChanged(),\r\n debounceTime(300)\r\n )\r\n .subscribe((p: string) => {\r\n this.dataStorage.getMachinesFilter(p);\r\n })\r\n \r\n this.loaderSubscription = this.dataStorage.loadingData.subscribe((p) => \r\n {\r\n if (p) {\r\n this.isMachineLoading = true;\r\n this.isMachineDisabled = true;\r\n }\r\n else {\r\n this.isMachineLoading = false;\r\n this.isMachineDisabled = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n this.appShapeSubscription.unsubscribe();\r\n this.machineGroupSubscription.unsubscribe();\r\n this.loaderSubscription.unsubscribe();\r\n\r\n this.allGroups = null;\r\n this.firstMachineGroup = null;\r\n this.allGroupsForFilter = null;\r\n }\r\n\r\n \r\n ngAfterViewInit(): void {\r\n\r\n //console.log(\"machineSerialsDropDown\", this.machineSerialsDropDown);\r\n\r\n if(this.machineSerialsDropDown && this.machineSerialsDropDown.filterChange)\r\n {\r\n this.machineSerialsDropDown.filterChange.asObservable()\r\n .pipe(\r\n distinctUntilChanged(),\r\n debounceTime(300)\r\n )\r\n .subscribe(x => {\r\n //console.log('this.machineSerialsDropDown.filterChange', x);\r\n this.dataStorage.getMachinesSerialsFilter(x);\r\n });\r\n \r\n }\r\n }\r\n\r\n public goToSections(value: Machine): void\r\n {\r\n console.log(\"HomeComponent|goToSections: \", value);\r\n if(value && value.MachineModelID > 0)\r\n {\r\n \r\n // zapisac w local storage wybor maszyny\r\n // localStorage.setItem('cat_machineModel', JSON.stringify(value));\r\n // localStorage.removeItem('cat_MetrykiRnage');\r\n\r\n // set signal to refresh data\r\n this.dataStorage.ReloadData.next(true);\r\n console.log(value);\r\n this.router.navigate([\"/catalog\", value.MachineModelID, value.MachineModelSufixId, 0]);\r\n }\r\n else {\r\n //console.error(\"NavMenuComponent:valueChange:\", value.MachineModelID);\r\n // localStorage.removeItem('cat_machineModel');\r\n // localStorage.removeItem('cat_MetrykiRnage');\r\n // localStorage.removeItem('cat_section');\r\n // localStorage.removeItem('cat_group');\r\n\r\n this.router.navigate([\"catalog/start\"]);\r\n }\r\n }\r\n\r\n public goToSectionsFromSerial(value: MachineSerialas): void\r\n {\r\n //console.log(\"HomeComponent|goToSectionsFromSerial: \", value);\r\n \r\n if(value != null && value.MachineModelID > 0 && value.MachineModelSufixId > 0)\r\n {\r\n let machineTempArray : Machine[] = new Array();\r\n\r\n this.allGroupsForFilter.forEach((p) => \r\n {\r\n //console.log(\"WTF1: \", p);\r\n p.MachineModels.forEach((k) => \r\n {\r\n machineTempArray.push(k);\r\n })\r\n })\r\n\r\n machineTempArray.sort(p => p.MachineModelID);\r\n // let machineSufixExist : Machine[] = machineTempArray.map(p => ({...p}));\r\n // let machineClearExist : Machine[] = machineTempArray.map(p => ({...p}));\r\n\r\n let machineWithoutSufix: Machine = machineTempArray.find(p => p.MachineModelID == value.MachineModelID); \r\n let machineWithSufix: Machine = machineTempArray.find(p => p.MachineModelID == value.MachineModelID && p.MachineModelSufixId == value.MachineModelSufixId); \r\n\r\n if(machineWithSufix)\r\n {\r\n let machineSerialas : MachineSerialas = { \r\n MetrykiSerialNo:value.MetrykiSerialNo , \r\n MachineModelID: value.MachineModelID, \r\n MachineModelName: value.MachineModelName,\r\n MetrykiRnage: value.MetrykiRnage,\r\n MetrykiSufixName: value.MetrykiSufixName,\r\n MachineModelSufixId: value.MachineModelSufixId\r\n };\r\n\r\n // zapisac w local storage wybor maszyny\r\n localStorage.setItem('cat_machineModel', JSON.stringify(machineWithSufix));\r\n localStorage.setItem('cat_MetrykiRnage', JSON.stringify(machineSerialas));\r\n\r\n // set signal to refresh data\r\n //this.dataStorage.ReloadData.next(true);\r\n this.router.navigate([\"/catalog\", machineWithSufix.MachineModelName]);\r\n }\r\n else\r\n {\r\n\r\n if(machineWithoutSufix)\r\n {\r\n let machineSerialas : MachineSerialas = { \r\n MetrykiSerialNo:value.MetrykiSerialNo , \r\n MachineModelID: value.MachineModelID, \r\n MachineModelName: value.MachineModelName,\r\n MetrykiRnage: value.MetrykiRnage,\r\n MetrykiSufixName: value.MetrykiSufixName,\r\n MachineModelSufixId: value.MachineModelSufixId\r\n };\r\n\r\n // zapisac w local storage wybor maszyny\r\n localStorage.setItem('cat_machineModel', JSON.stringify(machineWithoutSufix));\r\n localStorage.setItem('cat_MetrykiRnage', JSON.stringify(machineSerialas));\r\n \r\n // set signal to refresh data\r\n this.dataStorage.ReloadData.next(true);\r\n this.router.navigate([\"/catalog\", machineWithoutSufix.MachineModelName]);\r\n }\r\n }\r\n\r\n //console.log(\"HomeComponent|goToSectionsFromSerial: filter:\", \"MachineModelID:\", value.MachineModelID, \"MachineModelSufixId:\", value.MachineModelSufixId, machineWithSufix, machineWithoutSufix,machineTempArray, this.allGroups );\r\n\r\n }\r\n else\r\n {\r\n localStorage.removeItem('cat_machineModel');\r\n localStorage.removeItem('cat_MetrykiRnage');\r\n localStorage.removeItem('cat_section');\r\n localStorage.removeItem('cat_group');\r\n this.router.navigate([\"catalog/start\"]);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * ******************************************************************************\r\n * MACHINE SERIALS\r\n * ******************************************************************************\r\n */\r\n /// if value of machine dropdown changed\r\n public valueMachineSerialsChange(value: MachineSerialas): void \r\n {\r\n this.valueMachineSerialsDropdown = value;\r\n \r\n //console.log('valueMachineSerialsChange 1', value,this.selectedMachineSerialsDropdown);\r\n // (filterChange)=\"handleFilterMachineSerials($event)\"\r\n\r\n // if (value != null && (value.MachineModelID != null || value.MetrykiRnage != null)) \r\n // {\r\n\r\n // let machineData: Machine = this.dataStorage.getMachineById(value.MachineModelID);\r\n \r\n // if(machineData) \r\n // this.filteredMachine = machineData;\r\n\r\n // console.log('valueMachineSerialsChange 2', value,this.valueMachineSerialsDropdown, machineData);\r\n // }\r\n }\r\n\r\n\r\n public handleFilterMachineSerials(value) {\r\n this.dataStorage.getMachinesSerialsFilter(value);\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n","export default \".navbar-header {\\r\\n background-color: rgb(255,255,255);\\r\\n border-bottom: 1px solid rgba(72, 94, 144, 0.16);\\r\\n /* box-shadow: 0 0 5px rgba(0,0,0,.05); */\\r\\n }\\r\\n \\r\\n .img-logo\\r\\n {\\r\\n max-height: 38px !important;\\r\\n }\\r\\n \\r\\n .nav-icon {\\r\\n font-size: 1.8em;\\r\\n }\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbmF2LW1lbnUvbmF2LW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtDQUFrQztJQUNsQyxnREFBZ0Q7SUFDaEQseUNBQXlDO0VBQzNDOztFQUVBOztJQUVFLDJCQUEyQjtFQUM3Qjs7RUFFQTtJQUNFLGdCQUFnQjtFQUNsQiIsImZpbGUiOiJzcmMvYXBwL25hdi1tZW51L25hdi1tZW51LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubmF2YmFyLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDI1NSwyNTUpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNzIsIDk0LCAxNDQsIDAuMTYpO1xyXG4gICAgLyogYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLC4wNSk7ICovXHJcbiAgfVxyXG4gIFxyXG4gIC5pbWctbG9nb1xyXG4gIHtcclxuICAgIG1heC1oZWlnaHQ6IDM4cHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgLm5hdi1pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMS44ZW07XHJcbiAgfVxyXG4gICJdfQ== */\"","import { Component, ViewChild, OnInit, OnDestroy, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { ActivatedRoute, Params, Router, Event, ActivationEnd } from '@angular/router';\r\nimport { SlimLoadingBarService } from 'ng2-al-slim-bar';\r\nimport { ResizedEvent } from 'angular-resize-event';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { SecurityService } from '../shared/services/security.service'\r\nimport { interval, Subscription } from 'rxjs';\r\nimport { filter, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { faLifeRing, faSearch, faShoppingBasket, faAddressCard, faShoppingCart, faArrowRight, faArrowLeft } from '@fortawesome/free-solid-svg-icons'\r\n\r\n// app\r\nimport { browserRefresh } from '../app.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild(\"machineSerialsDropDown\", { static: true }) public machineSerialsDropDown: any;\r\n\r\n public browserRefresh: boolean;\r\n\r\n // public machines: any;\r\n // public defaultMachineItem: Machine = { MachineModelName: \"Select machine type...\", MachineModelID: null, MachineModelCatalogOrder: null };\r\n // public valueMachineDropdown: Machine = this.defaultMachineItem;\r\n\r\n // public machineSerials: any;\r\n // public defaultMachineSerials: MachineSerialas = { MetrykiSerialNo: \"Find & select serial number ...\", MetrykiRnage: null, MachineModelID: null };\r\n // public valueMachineSerialsDropdown: MachineSerialas = this.defaultMachineSerials;\r\n // public isDisabledMachineSerialsDropDown: boolean = true;\r\n\r\n public languages: any;\r\n public valueLanguagesDropdown: Language;\r\n public isLanguagesLoading: boolean = false;\r\n\r\n public logoAlt = \"Dressta Logo\";\r\n public faShoppingBasket = faShoppingBasket;\r\n public faSearch = faSearch;\r\n public faAddressCard = faAddressCard;\r\n public faShoppingCart = faShoppingCart;\r\n public faArrowRight = faArrowRight;\r\n public faArrowLeft = faArrowLeft;\r\n public faLifeRing = faLifeRing;\r\n\r\n public basketCount: number = 0;\r\n\r\n public isAuthorize: boolean = false;\r\n public isMachineLoading: boolean = false;\r\n public isMachineDisabled: boolean = false;\r\n\r\n public userFullName: string;\r\n\r\n private userDataSubscription: Subscription;\r\n private loaderSubscription: Subscription;\r\n private reloadDataSubscription: Subscription;\r\n private refreshMachineSerialHeaderData: Subscription;\r\n private languageSubscription: Subscription;\r\n private basketSubscription: Subscription;\r\n\r\n private rMachineId: number = 0;\r\n private rMachineSufixId: number = 0;\r\n private rRange: number = 0;\r\n private rSection: number = 0;\r\n private rGroup: number = 0;\r\n\r\n public isEnManual: boolean = false;\r\n public isPlManual: boolean = false;\r\n\r\n constructor(\r\n private dataStorage: DataStorageService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private slimLoadingBarService: SlimLoadingBarService,\r\n private appShape: AppShape,\r\n private security: SecurityService) {\r\n\r\n // this.machines = this.dataStorage.machinesStream;\r\n // this.machineSerials = this.dataStorage.machinesSerialsStream;\r\n this.languages = this.dataStorage.languagesStream;\r\n\r\n this.dataStorage.ReloadData.next(true);\r\n\r\n router.events.subscribe((routerEvent : Event) => {\r\n this.checkEvent(routerEvent);\r\n });\r\n\r\n }\r\n\r\n ngOnInit() \r\n {\r\n\r\n this.browserRefresh = browserRefresh;\r\n\r\n // this.router.events.subscribe((val) => {\r\n // console.log(\"NavBar: Params: \", val);\r\n // });\r\n\r\n this.route.params.subscribe((params: Params) => {\r\n this.rMachineId = params['mid'];\r\n this.rMachineSufixId = params['sf'];\r\n this.rRange = params['rng'];\r\n this.rSection = params['sid'];\r\n this.rGroup = params['gid'];\r\n\r\n console.log(\"NavBar: Params: \", params, params['mid'], params['sf'], params['rng'], params['sid'], params['gid']);\r\n\r\n this.dataStorage.getLanguages();\r\n this.dataStorage.getBasketData();\r\n });\r\n\r\n // get set user data \r\n this.userDataSubscription = this.security.userApiData.subscribe(async (userData) => {\r\n if (userData) {\r\n this.isAuthorize = await this.dataStorage.IsuUserAuthentiacated(userData.ApiSecurityKey);\r\n\r\n if (this.isAuthorize) {\r\n //console.log(\"NavMenuComponent:userApiData.subscribe: \", userData);\r\n\r\n if (userData != null) {\r\n //console.log(\"NavMenuComponent:userApiData.subscribe: \", userData);\r\n\r\n this.userFullName = userData.FirstName + \" \" + userData.LastName;\r\n //console.log(\"NavMenuComponent:userApiData.subscribe: after getData: \");\r\n }\r\n }\r\n }\r\n else {\r\n this.isAuthorize = false;\r\n }\r\n });\r\n\r\n // show hide loading bar\r\n this.loaderSubscription = this.dataStorage.loadingData.subscribe((p) => {\r\n if (p) {\r\n\r\n this.slimLoadingBarService.start();\r\n this.isLanguagesLoading = true;\r\n\r\n }\r\n else {\r\n this.slimLoadingBarService.complete();\r\n this.isLanguagesLoading = false;\r\n }\r\n\r\n });\r\n\r\n this.refreshMachineSerialHeaderData = this.dataStorage.refreshMachineSerialHeaderData.subscribe((p: boolean) => {\r\n if (p) {\r\n //this.isDisabledMachineSerialsDropDown = false;\r\n //this.SetRecoveryDataForMachinesSerialsDropdown();\r\n }\r\n });\r\n\r\n // Subskrypcja do języków\r\n this.languageSubscription = this.dataStorage.cLanguage.subscribe((p: Language) => {\r\n if (p) {\r\n this.valueLanguagesDropdown = p;\r\n\r\n\r\n this.isEnManual = false;\r\n this.isPlManual = false;\r\n\r\n if (p.LanguageNeutralCulture == \"PL\") {\r\n this.isPlManual = true;\r\n }\r\n else {\r\n this.isEnManual = true;\r\n }\r\n\r\n }\r\n else {\r\n this.valueLanguagesDropdown = this.dataStorage.getDefaultLanguage(\"EN\");\r\n }\r\n\r\n console.log(\"LANGUAGES: \", p, this.valueLanguagesDropdown);\r\n });\r\n\r\n // subskrypcja do zawartości koszyka\r\n this.basketSubscription = this.dataStorage.basketStream.subscribe((p: CatalogBasketItem[]) => {\r\n if (p && p.length > 0) {\r\n this.basketCount = p.length;\r\n }\r\n else {\r\n this.basketCount = 0;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this.userDataSubscription.unsubscribe();\r\n this.loaderSubscription.unsubscribe();\r\n this.reloadDataSubscription.unsubscribe();\r\n this.refreshMachineSerialHeaderData.unsubscribe();\r\n this.languageSubscription.unsubscribe();\r\n this.basketSubscription.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n\r\n checkEvent(routerEvent : Event) : void {\r\n if (routerEvent instanceof ActivationEnd) {\r\n //console.log(routerEvent);\r\n }\r\n\r\n}\r\n\r\n\r\n public basketOpen() {\r\n console.log(\"NavMenuComponent:basketOpen: \");\r\n this.appShape.basketIsOpen.next(true);\r\n }\r\n\r\n public searchOpen() {\r\n //console.error(\"NavMenuComponent:searchOpen:\");\r\n this.appShape.searchIsOpen.next(true);\r\n }\r\n\r\n // wyłaczenie pierwszego elementu z wyboru\r\n public itemDisabled(itemArgs: { dataItem: Machine, index: number }) {\r\n return itemArgs.dataItem.MachineModelID == null;\r\n }\r\n\r\n public handleFilterMachineSerials(value) {\r\n this.dataStorage.getMachinesSerialsFilter(value);\r\n }\r\n\r\n // wyłaczenie pierwszego elementu z wyboru\r\n public isDisabledMachineSerials(itemArgs: { dataItem: MachineSerialas, index: number }) {\r\n return itemArgs.dataItem.MetrykiRnage == null;\r\n }\r\n\r\n\r\n // Sets new data Machine Serials when Machine is changed\r\n private SetDataForMachinesDropdown() {\r\n // if (this.dataStorage.machinesStream.value)\r\n // this.dataStorage.getMachineSerials();\r\n }\r\n\r\n /**\r\n * ******************************************************************************\r\n * LANGUAGES\r\n * ******************************************************************************\r\n */\r\n /// if value of machine dropdown changed\r\n public async valueLanguagesChange(value: Language) {\r\n\r\n //console.log('valueLanguagesChange: valueChange: ', value);\r\n this.valueLanguagesDropdown = value;\r\n\r\n if (value != null) {\r\n localStorage.setItem('cat_Language', JSON.stringify(value));\r\n this.dataStorage.cLanguage.next(value);\r\n this.dataStorage.ReloadData.next(true);\r\n }\r\n else {\r\n //console.error(\"NavMenuComponent:valueChange:\", value.MachineModelID);\r\n }\r\n }\r\n\r\n // resetowanie wyboru maszyny przy przejściu do strony startowej\r\n public backToHome() {\r\n this.router.navigate([\"catalog/start\"]);\r\n }\r\n\r\n\r\n public startLoading() {\r\n this.slimLoadingBarService.start(() => {\r\n // console.log('Loading complete');\r\n });\r\n }\r\n\r\n public stopLoading() {\r\n this.slimLoadingBarService.stop();\r\n }\r\n\r\n public completeLoading() {\r\n this.slimLoadingBarService.complete();\r\n }\r\n\r\n public onResized(event: ResizedEvent): void {\r\n //console.log(\"NavMenuComponent:onResized:\", event, window.innerHeight);\r\n this.appShape.navHeight.next(event.newHeight);\r\n }\r\n\r\n public virtual: any = {\r\n itemHeight: 28\r\n };\r\n\r\n public logoSrc: string = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOsAAAAyCAYAAAC9OywyAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4JWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTctMTItMDhUMDg6MDc6NTArMDE6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOC0wMy0wNlQxNDoxMjoxMCswMTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTgtMDMtMDZUMTQ6MTI6MTArMDE6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTA1YmMyNTEtNDFjMy0xNjQ4LTkwMjgtZjkxNTQyZjk0ZDU1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjUwNWJjMjUxLTQxYzMtMTY0OC05MDI4LWY5MTU0MmY5NGQ1NTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjUwNWJjMjUxLTQxYzMtMTY0OC05MDI4LWY5MTU0MmY5NGQ1NTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1MDViYzI1MS00MWMzLTE2NDgtOTAyOC1mOTE1NDJmOTRkNTU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTctMTItMDhUMDg6MDc6NTArMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjM1PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjUwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg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\";\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.css']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \".part-icons-size{\\r\\n font-size: 1.3em;\\r\\n }\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFydHMvcGFydHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtFQUNsQiIsImZpbGUiOiJzcmMvYXBwL3BhcnRzL3BhcnRzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucGFydC1pY29ucy1zaXple1xyXG4gICAgZm9udC1zaXplOiAxLjNlbTtcclxuICB9XHJcblxyXG4iXX0= */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { Subscription, BehaviorSubject } from 'rxjs';\r\nimport { faFilePdf, faEnvelope, faPrint, faAngleLeft, faAngleRight } from '@fortawesome/free-solid-svg-icons'\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { filter, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { faFilter, faFile,faCartPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { SecurityService } from '../shared/services/security.service';\r\nimport { Group } from '@progress/kendo-drawing';\r\n\r\n@Component({\r\n selector: 'app-parts',\r\n templateUrl: './parts.component.html',\r\n styleUrls: ['./parts.component.css']\r\n})\r\nexport class PartsComponent implements OnInit, OnDestroy {\r\n\r\n\r\n private subGroupName = \"Wait for it !!\";\r\n public contentHeight = \"0\";\r\n public gridHeight: number = 400;\r\n public isDataLoading: boolean = true;\r\n public pageSize = 50;\r\n public skip = 0;\r\n public picturePanelWidth: string = \"0px\";\r\n public goupsCount: number = 0; \r\n\r\n // Fonts\r\n public faFilter = faFilter;\r\n public faFile = faFile;\r\n public faFilePdf = faFilePdf;\r\n public faEnvelope = faEnvelope;\r\n public faPrint = faPrint;\r\n public faCartPlus = faCartPlus;\r\n public faAngleLeft = faAngleLeft;\r\n public faAngleRight = faAngleRight;\r\n\r\n\r\n public parts: any;\r\n public comments: any;\r\n public documents: any;\r\n public files: any;\r\n \r\n public subGroups: BehaviorSubject;\r\n public prevGroup : CatalogGroup;\r\n public nextGroup : CatalogGroup;\r\n public clicked: boolean = false;\r\n\r\n private languageSubscription: Subscription;\r\n private subgroupsSub: Subscription;\r\n public mySelection: number[] = [];\r\n private partsSelection: Subscription;\r\n private reloadDataSubscription: Subscription;\r\n private loaderSubscription: Subscription;\r\n private gridScroll: Subscription;\r\n private isPartsListChanges: Subscription; // monitor parts loaded\r\n private groupsReloadChange: Subscription;\r\n\r\n public filterForm: FormGroup;\r\n\r\n private rMachineId: number = 0; \r\n private rMachineSufixId: number = 0; \r\n private rRange: number = 0; \r\n private rSection: number = 0;\r\n private rGroup: number = 0;\r\n\r\n constructor(private appShape: AppShape,\r\n private dataStorage: DataStorageService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private security: SecurityService) {\r\n\r\n\r\n this.dataStorage.partsStream.next(null);\r\n this.dataStorage.commentsStream.next(null);\r\n this.dataStorage.documentsStream.next(null);\r\n\r\n this.subGroups = this.dataStorage.groupsStream;\r\n this.parts = this.dataStorage.partsStream;\r\n this.comments = this.dataStorage.commentsStream;\r\n this.documents = this.dataStorage.documentsStream;\r\n this.files = this.dataStorage.filesStream;\r\n\r\n this.filterForm = new FormGroup({\r\n 'filterQuery': new FormControl('')\r\n });\r\n }\r\n\r\n async ngOnInit() {\r\n \r\n this.prevGroup = null;\r\n this.nextGroup = null;\r\n // check authorization from local storage \r\n await this.security.IsUserAuthorized();\r\n\r\n this.route.params.subscribe((params: Params) => \r\n {\r\n \r\n this.dataStorage.LinkParams.next(params);\r\n \r\n this.rMachineId = params['mid'];\r\n this.rMachineSufixId = params['sf'];\r\n this.rRange = params['rng'];\r\n this.rSection = params['sid'];\r\n this.rGroup = params['gid'];\r\n\r\n if(this.rGroup)\r\n {\r\n let model: PostParts = {\r\n Key: this.dataStorage.getUserKey(),\r\n CatalogGroupToMachineId: this.rGroup,\r\n LanguageCulture: this.dataStorage.getLanguageCulture()\r\n };\r\n\r\n this.dataStorage.getParts(model);\r\n this.dataStorage.getFilesToSubGroup(this.rGroup);\r\n }\r\n\r\n\r\n let picturePaneWidth: number = this.appShape.getConntentWidth() * 0.4;\r\n this.appShape.picturePaneWidth.next(picturePaneWidth);\r\n this.picturePanelWidth = picturePaneWidth + \"px\";\r\n });\r\n\r\n // GET GROUPS FOR \r\n // this.groupsReloadChange = this.subGroups.subscribe((p: CatalogGroup[]) => \r\n // {\r\n // if(p)\r\n // {\r\n // let curGroup = p.findIndex((p: CatalogGroup) => p.CatalogGroupToMachineId == this.dataStorage.getGroupId());\r\n // this.prevGroup = p[curGroup - 1];\r\n // this.nextGroup = p[curGroup + 1];\r\n // this.clicked = false;\r\n // //this.goupsCount = this.dataStorage.groupsStream.value ? this.dataStorage.groupsStream.value.length : 0;\r\n // }\r\n // });\r\n\r\n // Get session key for application \r\n // Get full height of the elementa as observable\r\n this.appShape.navHeight.subscribe(p => {\r\n this.contentHeight = this.appShape.getConntentHeight() - 1 + \"px\";\r\n this.gridHeight = this.appShape.getConntentHeight() - 90;\r\n });\r\n\r\n this.filterForm.get('filterQuery').valueChanges\r\n .pipe(\r\n //filter((p: string) => p.length >= 2),\r\n distinctUntilChanged(),\r\n debounceTime(300)\r\n )\r\n .subscribe((p: string) => {\r\n this.dataStorage.getPartssFilter(p);\r\n })\r\n\r\n\r\n this.loaderSubscription = this.dataStorage.loadingData.subscribe((p) => {\r\n if (p) {\r\n this.isDataLoading = true;\r\n }\r\n else {\r\n this.isDataLoading = false;\r\n }\r\n });\r\n\r\n this.partsSelection = this.dataStorage.partsSelection.subscribe((p: number[]) => {\r\n if (p) {\r\n //console.log(\"PartsComponent:this.partsSelection: 1:subscribe: \", p.length, this.mySelection);\r\n if (this.mySelection && p.length > 0) {\r\n //console.log(\"PartsComponent:this.partsSelection:subscribe: 2:\", p, this.mySelection);\r\n this.mySelection = p;\r\n }\r\n else {\r\n this.mySelection = [];\r\n }\r\n }\r\n else {\r\n this.mySelection = [];\r\n }\r\n });\r\n\r\n this.reloadDataSubscription = this.dataStorage.ReloadData.subscribe((p: boolean) => {\r\n \r\n if (p) {\r\n\r\n let model: PostParts = {\r\n Key: this.dataStorage.getUserKey(),\r\n CatalogGroupToMachineId: this.rGroup,\r\n LanguageCulture: this.dataStorage.getLanguageCulture()\r\n };\r\n\r\n this.dataStorage.getParts(model);\r\n this.dataStorage.getFilesToSubGroup(this.rGroup);\r\n }\r\n });\r\n\r\n this.gridScroll = this.appShape.partsGridMakeScroll.subscribe( (p) => {\r\n\r\n })\r\n\r\n this.isPartsListChanges = this.dataStorage.partsStream.subscribe(async (parts:CatalogPart[]) => \r\n {\r\n // scrolluj jeżeli potrzeba\r\n if(parts && parts.length > 0 && this.appShape.partsGridMakeScroll.value)\r\n {\r\n setTimeout(() => {\r\n \r\n // Scroll To View\r\n this.appShape.scrollToView('#partsGrid .k-state-selected');\r\n \r\n }, 500);\r\n }\r\n\r\n let gr = await this.dataStorage.getNavigationGroupDataAsync(this.rMachineId, this.rMachineSufixId, this.rRange, this.rSection );\r\n if(gr)\r\n {\r\n let curGroup = gr.findIndex((p: CatalogGroup) => p.CatalogGroupToMachineId == this.rGroup);\r\n this.prevGroup = gr[curGroup - 1];\r\n this.nextGroup = gr[curGroup + 1];\r\n this.clicked = false;\r\n //this.goupsCount = this.dataStorage.groupsStream.value ? this.dataStorage.groupsStream.value.length : 0;\r\n }\r\n\r\n // console.log(\"PartsComponent: isPartsListChanges: \", parts);\r\n\r\n // jeżeli dane z części są wczytane powinno nastąpić \r\n // wczytywanie innych danych jak pliki czy sprawdzenie czy wystepją grupy\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n if (this.partsSelection)\r\n this.partsSelection.unsubscribe();\r\n\r\n if (this.reloadDataSubscription)\r\n this.reloadDataSubscription.unsubscribe();\r\n\r\n\r\n if (this.loaderSubscription)\r\n this.loaderSubscription.unsubscribe();\r\n\r\n if (this.gridScroll)\r\n this.gridScroll.unsubscribe();\r\n\r\n if (this.isPartsListChanges)\r\n this.isPartsListChanges.unsubscribe();\r\n\r\n this.dataStorage.partsStream.next(null);\r\n this.dataStorage.partsSelection.next(null);\r\n\r\n if(this.groupsReloadChange)\r\n this.groupsReloadChange.unsubscribe();\r\n }\r\n\r\n\r\n\r\n public selectionChange(value) {\r\n let a = this.mySelection.filter(p => p != null);\r\n //console.log(\"PartsComponent:selectionChange: \", value, this.mySelection, a);\r\n }\r\n\r\n public onSelectedKeysChange(values) {\r\n\r\n let corectSelection: number[] = this.mySelection.filter(p => p != null);\r\n //console.log(\"PartsComponent:onSelectedKeysChange: \", values, corectSelection);\r\n this.dataStorage.partsSelection.next(corectSelection);\r\n }\r\n\r\n private documentOpen(e: any, doc: CatalogDocuments) {\r\n //console.log(\"PartsComponent:documentOpen: \", e);\r\n // let link = this.dataStorage.baseFileURL + \"Catalogs\\\\\" + doc.MachineModelName + \"\\\\files\\\\\" + doc.CatalogDocumentName;\r\n // window.open(link, \"_blank\");\r\n }\r\n\r\n // *******************************************************\r\n // Navigate to link eg (>01-10)\r\n // *******************************************************\r\n public async jumpToGroup(dataItem: CatalogPart) {\r\n\r\n //console.log(\"===> jumpToGroup: \", dataItem)\r\n\r\n if (dataItem.LinkId && dataItem.LinkParentId) {\r\n\r\n this.router.navigate([\r\n \"/catalog\",\r\n this.rMachineId,\r\n this.rMachineSufixId,\r\n this.rRange,\r\n dataItem.LinkParentId,\r\n dataItem.LinkId\r\n ]);\r\n\r\n //console.log(\"NAWIGATED TO: \", dataItem.LinkGroupMachine , dataItem.LinkGroupGroup , dataItem.LinkGroupSubGroup)\r\n }\r\n }\r\n\r\n public async prevGroupClick(data: CatalogGroup)\r\n {\r\n if(data)\r\n {\r\n this.clicked = true;\r\n \r\n this.router.navigate([\r\n \"/catalog\",\r\n this.rMachineId,\r\n this.rMachineSufixId,\r\n this.rRange,\r\n data.ParentCatalogGroupToMachineId,\r\n data.CatalogGroupToMachineId\r\n ]);\r\n }\r\n }\r\n\r\n public async nextGroupClick(data: CatalogGroup)\r\n {\r\n if(data)\r\n {\r\n this.clicked = true;\r\n \r\n this.router.navigate([\r\n \"/catalog\",\r\n this.rMachineId,\r\n this.rMachineSufixId,\r\n this.rRange,\r\n data.ParentCatalogGroupToMachineId,\r\n data.CatalogGroupToMachineId\r\n ]);\r\n }\r\n }\r\n\r\n\r\n public picturePaneSizeChange(value) {\r\n\r\n if (value) {\r\n let getValue: number = +(value.replace('px', ''));\r\n //console.log(\"GROUP PANE: SIZE CHANGE: \", value, getValue);\r\n this.appShape.picturePaneWidth.next(getValue);\r\n }\r\n }\r\n\r\n\r\n public getFileData(fileId: number, fileName: string)\r\n {\r\n //console.log(\"File to get:\", fileId, fileName);\r\n this.dataStorage.getfileById(fileId, fileName);\r\n }\r\n\r\n public printGroup()\r\n {\r\n //console.log(\"Print group:\", this.dataStorage.getGroupId());\r\n let printUrl= (\"https://net.dressta.com/CatalogGroupToMachine/PrintGroupToMachine?SufixId=\"+this.rMachineSufixId+\"&GroupToMachineId=\"+this.rGroup+\"&Key=\"+this.dataStorage.getUserKey()+\"&FirstLanguageId=1&SecondLanguageId=3\");\r\n window.open(printUrl);\r\n }\r\n\r\n public addToCart(dataItem: CatalogPart)\r\n {\r\n //console.log(\"Add to cart:\", dataItem);\r\n if(dataItem)\r\n {\r\n let postBasketItem: PostCatalogBasketItem = \r\n { \r\n CatalogBasketItemId: 0, \r\n CatalogPartToGroupToMachineId: dataItem.CatalogPartToGroupToMachineId, \r\n CatalogBasketItemCount: dataItem.Count,\r\n Key: this.dataStorage.getUserKey(),\r\n MachineModelID: this.rMachineId,\r\n MachineModelSufixId: this.rMachineSufixId\r\n };\r\n \r\n this.dataStorage.singeCardItemOperation(postBasketItem);\r\n }\r\n }\r\n\r\n}\r\n","export default \".k-grid table, .k-grid .k-grid-header-wrap {\\r\\n display: none !important;\\r\\n }\\r\\n \\r\\n .circle-neutral {\\r\\n fill: transparent;\\r\\n stroke: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n \\r\\n .circle-mark {\\r\\n fill: rgba(190, 0, 0, 0.13);\\r\\n stroke: rgba(190, 0, 0, 1);\\r\\n }\\r\\n \\r\\n .smootSizeChanger\\r\\n {\\r\\n transition: all .2s linear;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGljdHVyZXMvcGljdHVyZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLGlCQUFpQjtJQUNqQiwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSwyQkFBMkI7SUFDM0IsMEJBQTBCO0VBQzVCOztFQUVBOztJQUVFLDBCQUEwQjtFQUM1QiIsImZpbGUiOiJzcmMvYXBwL3BpY3R1cmVzL3BpY3R1cmVzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuay1ncmlkIHRhYmxlLCAuay1ncmlkIC5rLWdyaWQtaGVhZGVyLXdyYXAge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAuY2lyY2xlLW5ldXRyYWwge1xyXG4gICAgZmlsbDogdHJhbnNwYXJlbnQ7XHJcbiAgICBzdHJva2U6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICB9XHJcbiAgXHJcbiAgLmNpcmNsZS1tYXJrIHtcclxuICAgIGZpbGw6IHJnYmEoMTkwLCAwLCAwLCAwLjEzKTtcclxuICAgIHN0cm9rZTogcmdiYSgxOTAsIDAsIDAsIDEpO1xyXG4gIH1cclxuICBcclxuICAuc21vb3RTaXplQ2hhbmdlclxyXG4gIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xyXG4gIH0iXX0= */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { Subscription, Subscriber } from 'rxjs';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { ResizedEvent } from 'angular-resize-event';\r\nimport { filter, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { faFilter, faFile,faCartPlus } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-pictures',\r\n templateUrl: './pictures.component.html',\r\n styleUrls: ['./pictures.component.css']\r\n})\r\nexport class PicturesComponent implements OnInit, OnDestroy {\r\n\r\n\r\n private partsSelection: Subscription;\r\n private navHeight: Subscription;\r\n private picturesStream: Subscription;\r\n private reloadDataSubscription: Subscription;\r\n private isPartsListChanges: Subscription; // monitor parts loaded\r\n private isPicturesFinishLoading: Subscription; // check if pictures finish loding\r\n private picturePanelSizeChange: Subscription;\r\n\r\n public skip = 0; // strona\r\n\r\n private pictureContent: string;\r\n private pictureAlt: string;\r\n\r\n public pictures: any;\r\n public maps: any;\r\n\r\n public pictureContainerHeight: number = 500;\r\n public tableWidth: number = 500;\r\n public gridHeight: number;\r\n\r\n private machineName: string;\r\n private groupName: string;\r\n private subGroupName: string;\r\n\r\n public isPicture: boolean = false;\r\n\r\n public pictureResizeType: number = 1;\r\n public pictureButtonBaseToggle: boolean = true;\r\n\r\n private rMachineId: number = 0;\r\n private rMachineSufixId: number = 0;\r\n private rRange: number = 0;\r\n private rSection: number = 0;\r\n private rGroup: number = 0;\r\n\r\n public faCartPlus = faCartPlus;\r\n\r\n constructor(private dataStorage: DataStorageService, private appShape: AppShape, private route: ActivatedRoute) {\r\n this.pictures = this.dataStorage.picturesStream;\r\n }\r\n\r\n\r\n // poszukac lepszego rozwiązania\r\n async ngOnInit() {\r\n\r\n this.route.params.subscribe((params: Params) =>\r\n {\r\n\r\n\r\n this.rMachineId = params['mid'];\r\n this.rMachineSufixId = params['sf'];\r\n this.rRange = params['rng'];\r\n this.rSection = params['sid'];\r\n this.rGroup = params['gid'];\r\n\r\n\r\n console.log(\"PicturesComponent: Params: \", params, params['mid'], params['sf'], params['rng'], params['sid'], params['gid']);\r\n console.log(\"PicturesComponent: Data: \", this.rMachineId, this.rMachineSufixId, this.rRange, this.rSection, this.rGroup);\r\n\r\n\r\n if(this.rMachineId && this.rSection && this.rGroup && this.rGroup > 0)\r\n {\r\n // preparing post data\r\n const modelGroup: PostPictureToGroup = {\r\n Key: this.dataStorage.getUserKey(),\r\n CatalogGroupToMachineId: this.rGroup\r\n };\r\n\r\n console.log(\"Get picture for group\");\r\n this.dataStorage.getPicturesToGroup(modelGroup);\r\n }\r\n else if(this.rMachineId && this.rSection && this.rSection > 0 && !this.rGroup)\r\n {\r\n // preparing post data\r\n let modelSection: PostPictureToGroup = {\r\n Key: this.dataStorage.getUserKey(),\r\n CatalogGroupToMachineId: this.rSection\r\n };\r\n console.log(\"Get picture for section\");\r\n this.dataStorage.getPicturesToGroup(modelSection);\r\n }\r\n else\r\n {\r\n let modelMachine: PostPictureToMachine = {\r\n Key: this.dataStorage.getUserKey(),\r\n MachineModelID: this.rMachineId\r\n };\r\n console.log(\"Get picture for machine\");\r\n this.dataStorage.getPicturesToMachine(modelMachine);\r\n }\r\n\r\n // if (group) {\r\n // //this.dataStorage.getPicturesToGroup(false);\r\n // return;\r\n // }\r\n\r\n // if (section) {\r\n // this.dataStorage.getPicturesToGroup(true);\r\n // return;\r\n // }\r\n // else {\r\n // //console.log(\"MACHINE PICTRE: \", section);\r\n // this.dataStorage.getPicturesToMachine();\r\n // }\r\n\r\n\r\n let picturePaneWidth: number = this.appShape.getConntentWidth() * 0.4;\r\n this.appShape.picturePaneWidth.next(picturePaneWidth);\r\n });\r\n\r\n this.setDefaultPictureResizeType();\r\n\r\n // Get session key for application\r\n // Get full height of the elementa as observable\r\n this.appShape.navHeight.subscribe(p => {\r\n this.gridHeight = this.appShape.getConntentHeight() - 48;\r\n });\r\n\r\n this.partsSelection = this.dataStorage.partsSelection.subscribe((p: number[]) => {\r\n\r\n //console.log(\"this.dataStorage.partsSelection.subscribe: \", p);\r\n if (p) {\r\n this.dataStorage.markPicturesMap(p);\r\n this.setSkip(p);\r\n }\r\n });\r\n\r\n this.isPicturesFinishLoading = this.dataStorage.isPicturesLoaded.subscribe((p: boolean) => {\r\n if (p && this.dataStorage.partsSelection.value) \r\n {\r\n this.dataStorage.markPicturesMap(this.dataStorage.partsSelection.value);\r\n this.setSkip(this.dataStorage.partsSelection.value);\r\n }\r\n });\r\n\r\n this.picturePanelSizeChange = this.appShape.picturePaneWidth.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(100)\r\n ).subscribe((p: number) => {\r\n if (p) {\r\n this.dataStorage.setCorrectPictureSizesWithMaps();\r\n }\r\n });\r\n\r\n // this.reloadDataSubscription = this.dataStorage.ReloadData.subscribe((p: boolean) => {\r\n // if (p) {\r\n // let section: CatalogGroup = JSON.parse(localStorage.getItem('cat_section'));\r\n // let group: CatalogGroup = JSON.parse(localStorage.getItem('cat_group'));\r\n\r\n // //console.log(\"MACHINE PICTRE: this.dataStorage.ReloadData.subscribe: \", section);\r\n\r\n // if (group) {\r\n // //this.dataStorage.getPicturesToGroup(false);\r\n // return;\r\n // }\r\n\r\n // if (section) {\r\n // this.dataStorage.getPicturesToGroup(true);\r\n // return;\r\n // }\r\n // else {\r\n // //console.log(\"MACHINE PICTRE: \", section);\r\n // this.dataStorage.getPicturesToMachine();\r\n // }\r\n // }\r\n // });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n if (this.partsSelection)\r\n this.partsSelection.unsubscribe();\r\n\r\n if (this.navHeight)\r\n this.navHeight.unsubscribe();\r\n\r\n if (this.picturesStream)\r\n this.picturesStream.unsubscribe();\r\n //his.dataStorage.clearPicturesData();\r\n\r\n if (this.reloadDataSubscription)\r\n this.reloadDataSubscription.unsubscribe();\r\n\r\n if (this.isPartsListChanges)\r\n this.isPartsListChanges.unsubscribe();\r\n\r\n if (this.isPicturesFinishLoading)\r\n this.isPicturesFinishLoading.unsubscribe();\r\n\r\n if (this.picturePanelSizeChange)\r\n this.picturePanelSizeChange.unsubscribe();\r\n }\r\n\r\n //\r\n public circleClick(e) {\r\n //console.log(e);\r\n let mark: number[] = [];\r\n //console.log(\"PicturesComponent: circleClick: \", e.srcElement.id, e.target.dataset.partItem, e.target.attributes[\"data-partItem\"].value);\r\n if (e.target.attributes[\"data-partItem\"].value) {\r\n mark.push(+e.target.attributes[\"data-partItem\"].value);\r\n this.dataStorage.partsSelection.next(mark);\r\n setTimeout(() => {\r\n\r\n // Scroll To View\r\n this.appShape.scrollToView('#partsGrid .k-state-selected');\r\n\r\n }, 300);\r\n }\r\n }\r\n\r\n public pageChange(e) {\r\n //console.log(\"PicturesComponent: pageChange: \", e);\r\n //this.maps = this.dataStorage.getPicturesMapsFilter(2);\r\n this.skip = +e.skip;\r\n }\r\n dataStateChange(e) {\r\n // console.log(\"PicturesComponent: dataStateChange: \", e);\r\n }\r\n\r\n\r\n // Change picture if there is more than one\r\n private setSkip(val: number[]) {\r\n if (val[0] > 0) {\r\n val.sort();\r\n let myIndex = this.dataStorage.getPicturesIndex(val[0])\r\n //console.log(\"PicturesComponent: setSkip: \", myIndex);\r\n this.skip = myIndex;\r\n }\r\n }\r\n\r\n onResized(event: ResizedEvent) {\r\n //console.log(\"PicturesComponent:onResized:\", event, window.innerHeight);\r\n }\r\n\r\n picturesProportionTypeChange(e)\r\n {\r\n //console.log(\"PicturesComponent:picturesProportionTypeChange:\", e);\r\n }\r\n\r\n getPartNameNumber(val) {\r\n\r\n let partName = \"NO DATA\";\r\n if (this.dataStorage.partsStream && this.dataStorage.partsStream.value && this.dataStorage.partsStream.value.filter(p => p.Number == val)[0])\r\n partName = this.dataStorage.partsStream.value.filter(p => p.Number == val)[0].CatalogPartNumber;\r\n\r\n return partName;\r\n }\r\n\r\n getPartNameTranslate(val) {\r\n\r\n let partName = \"\";\r\n if (this.dataStorage.partsStream && this.dataStorage.partsStream.value && this.dataStorage.partsStream.value.filter(p => p.Number == val)[0])\r\n partName = this.dataStorage.partsStream.value.filter(p => p.Number == val)[0].CatalogPartNameTranslate;\r\n\r\n return partName;\r\n }\r\n\r\n getPartName(val) {\r\n\r\n let partName = \"\";\r\n if (this.dataStorage.partsStream && this.dataStorage.partsStream.value && this.dataStorage.partsStream.value.filter(p => p.Number == val)[0])\r\n partName = this.dataStorage.partsStream.value.filter(p => p.Number == val)[0].CatalogPartName;\r\n\r\n return partName;\r\n }\r\n\r\n getPartId(val) {\r\n\r\n let partId = 0;\r\n if (this.dataStorage.partsStream && this.dataStorage.partsStream.value && this.dataStorage.partsStream.value.filter(p => p.Number == val)[0])\r\n partId = this.dataStorage.partsStream.value.filter(p => p.Number == val)[0].CatalogPartToGroupToMachineId;\r\n\r\n return partId;\r\n }\r\n\r\n public addToCart(partId)\r\n {\r\n //console.log(\"Add to cart:\", partId);\r\n if(partId)\r\n {\r\n let postBasketItem: PostCatalogBasketItem =\r\n {\r\n CatalogBasketItemId: 0,\r\n CatalogPartToGroupToMachineId: partId,\r\n CatalogBasketItemCount: 1,\r\n Key: this.dataStorage.getUserKey(),\r\n MachineModelID: this.rMachineId,\r\n MachineModelSufixId: this.rMachineSufixId\r\n };\r\n\r\n this.dataStorage.singeCardItemOperation(postBasketItem);\r\n }\r\n }\r\n\r\n setDefaultPictureResizeType()\r\n {\r\n\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { FormGroup, FormControl } from '@angular/forms'\r\nimport { filter, distinctUntilChanged, debounceTime } from 'rxjs/operators';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { ResizedEvent } from 'angular-resize-event';\r\nimport { SecurityService } from '../shared/services/security.service'\r\nimport { PageChangeEvent, GridDataResult } from '@progress/kendo-angular-grid';\r\nimport { faSearch, faShoppingBasket, faAddressCard } from '@fortawesome/free-solid-svg-icons'\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.css']\r\n})\r\nexport class SearchComponent implements OnInit, OnDestroy {\r\n\r\n public faSearch = faSearch;\r\n\r\n public gridView: GridDataResult;\r\n\r\n private searchList: any;\r\n public openedSearch: boolean = false;\r\n public gridHeight: number = 500;\r\n public gridMinHeight: number = 500;\r\n private isOpenedSearch: Subscription;\r\n private searchForm: FormGroup;\r\n public isDataLoading: boolean;\r\n private lastSerach: string;\r\n public pageSize = 100;\r\n public skip = 0;\r\n public searchListHeight: number = 345;\r\n\r\n private rMachineId: number = 0;\r\n private rMachineSufixId: number = 0;\r\n private rRange: number = 0;\r\n private rSection: number = 0;\r\n private rGroup: number = 0;\r\n\r\n private reloadDataSubscription: Subscription;\r\n private loaderSubscription: Subscription;\r\n private routeParamsSubscription: Subscription;\r\n\r\n constructor(private appShape: AppShape,\r\n private dataStorage: DataStorageService,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n this.searchList = this.dataStorage.searchStream;\r\n this.searchForm = new FormGroup({\r\n 'query': new FormControl('')\r\n });\r\n }\r\n\r\n\r\n async ngOnInit() {\r\n\r\n // this.route.params.subscribe((params: Params) => \r\n // {\r\n // // console.log(\"Search: ngOnInit: route.params: \", params['mid'], params['sf'], params['rng'], params['sid'], params['gid']);\r\n // // this.rMachineId = params['mid'];\r\n // // this.rMachineSufixId = params['sf'];\r\n // // this.rRange = params['rng'];\r\n // // this.rSection = params['sid'];\r\n // // this.rGroup = params['gid'];\r\n // });\r\n\r\n this.isOpenedSearch = this.appShape.searchIsOpen.subscribe(p => {\r\n this.openedSearch = p;\r\n });\r\n\r\n\r\n this.routeParamsSubscription = this.dataStorage.LinkParams.subscribe((params: Params) => {\r\n if (params) {\r\n if (params['mid'])\r\n this.rMachineId = params['mid'];\r\n\r\n if (params['sf'])\r\n this.rMachineSufixId = params['sf'];\r\n\r\n if (params['rng'])\r\n this.rRange = params['rng'];\r\n\r\n if (params['sid'])\r\n this.rSection = params['sid'];\r\n\r\n if (params['gid'])\r\n this.rGroup = params['gid'];\r\n }\r\n\r\n console.log(\"Search: ngOnInit: route.params: \", this.rMachineId);\r\n });\r\n\r\n // this.searchForm.get('query').valueChanges\r\n // .pipe(\r\n // filter((p: string) => p.length >= 3),\r\n // distinctUntilChanged(),\r\n // debounceTime(400)\r\n // )\r\n // .subscribe((p: string) => {\r\n // this.lastSerach = p;\r\n // this.dataStorage.getSearch(p);\r\n // });\r\n\r\n this.loaderSubscription = this.dataStorage.loadingData.subscribe((p) => {\r\n if (p) {\r\n this.isDataLoading = true;\r\n }\r\n else {\r\n this.isDataLoading = false;\r\n }\r\n });\r\n\r\n this.reloadDataSubscription = this.dataStorage.ReloadData.subscribe((p: boolean) => {\r\n if (p) {\r\n // if(this.dataStorage.searchStream && this.dataStorage.searchStream.value)\r\n // this.dataStorage.getSearch(this.lastSerach);\r\n }\r\n });\r\n\r\n }\r\n\r\n //TODO: POPRAWIC stronicowanie ogromnych winików w tabeli szukania\r\n\r\n ngOnDestroy(): void {\r\n this.isOpenedSearch.unsubscribe();\r\n this.reloadDataSubscription.unsubscribe();\r\n this.loaderSubscription.unsubscribe();\r\n\r\n if (this.routeParamsSubscription)\r\n this.routeParamsSubscription.unsubscribe();\r\n\r\n }\r\n\r\n public pageChange(event: PageChangeEvent): void {\r\n this.skip = event.skip;\r\n this.loadProducts();\r\n }\r\n\r\n private loadProducts(): void {\r\n this.gridView = {\r\n data: this.dataStorage.searchStream.value.slice(this.skip, this.skip + this.pageSize),\r\n total: this.dataStorage.searchStream.value.length\r\n };\r\n }\r\n\r\n // click on search button\r\n public searchThis() {\r\n\r\n if (this.searchForm.get('query').value.length > 2) {\r\n console.log(\"Search: ngOnInit: route.params: \", this.dataStorage.LinkParams.value, this.route.snapshot.queryParams['mid']);\r\n \r\n this.dataStorage.getSearch(this.searchForm.get('query').value);\r\n\r\n }\r\n\r\n };\r\n\r\n\r\n public closeSeach() {\r\n this.appShape.searchIsOpen.next(false);\r\n }\r\n\r\n private selectionSearchChange(e) {\r\n\r\n let selectedRow: CatalogSearch = e.selectedRows[0].dataItem;\r\n\r\n if (selectedRow) {\r\n // // set machine model\r\n // localStorage.setItem('cat_machineModel', JSON.stringify(selectedRow.SearchMachineModel)); \r\n\r\n // // set section data\r\n // localStorage.setItem('cat_section', JSON.stringify(selectedRow.SearchSection)); \r\n\r\n // // set group data\r\n // localStorage.setItem('cat_group', JSON.stringify(selectedRow.SearchGroup)); \r\n\r\n if (selectedRow.SearchPart.Number) {\r\n let selectedPart: number[];\r\n selectedPart = [selectedRow.SearchPart.Number];\r\n //console.log(\"===========> Searchselection\", selectedRow, selectedPart);\r\n this.dataStorage.partsSelection.next(selectedPart);\r\n this.appShape.partsGridMakeScroll.next(true);\r\n }\r\n\r\n // this.dataStorage.ReloadData.next(true);\r\n\r\n //console.log(\"SearchComponent: selectionSearchChange: \", selectedRow);\r\n\r\n this.router.navigate([\r\n \"/catalog\",\r\n selectedRow.SearchMachineModel.MachineModelID,\r\n selectedRow.SearchMachineModel.MachineModelSufixId ? selectedRow.SearchMachineModel.MachineModelSufixId : 0,\r\n 0,\r\n selectedRow.SearchSection.CatalogGroupToMachineId,\r\n selectedRow.SearchGroup.CatalogGroupToMachineId\r\n ]);\r\n\r\n }\r\n }\r\n\r\n public onResized(event: ResizedEvent): void {\r\n console.log(\"BasketComponent:onResized:\", event);\r\n this.searchListHeight = event.newHeight - 155;\r\n //this.appShape.navHeight.next(event.newHeight);\r\n }\r\n\r\n\r\n\r\n windowStateChange(e) {\r\n console.log(\"SearchComponent: windowStateChange: \", e);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NlcmlhbHMtaW5mby9zZXJpYWxzLWluZm8uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\n\r\n@Component({\r\n selector: 'app-serials-info',\r\n templateUrl: './serials-info.component.html',\r\n styleUrls: ['./serials-info.component.css']\r\n})\r\nexport class SerialsInfoComponent implements OnInit, OnDestroy {\r\n\r\n public machineModel: string;\r\n public machineSerial?: string;\r\n\r\n public machineModelSubscription: Subscription;\r\n public machineSerialSubscription: Subscription;\r\n\r\n constructor(private dataStorage: DataStorageService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.machineModelSubscription = this.dataStorage.cMachine.subscribe((p: Machine) =>\r\n {\r\n if(p)\r\n {\r\n this.machineModel = p.MachineModelName;\r\n }\r\n });\r\n\r\n this.machineModelSubscription = this.dataStorage.cSerials.subscribe((p: MachineSerialas) => {\r\n if(p)\r\n {\r\n this.machineSerial = p.MetrykiSerialNo;\r\n }\r\n else\r\n this.machineSerial = null;\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n if(this.machineModelSubscription)\r\n this.machineModelSubscription.unsubscribe();\r\n\r\n if(this.machineSerialSubscription)\r\n this.machineSerialSubscription.unsubscribe();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AppShape {\r\n\r\n public basketIsOpen = new BehaviorSubject(false);\r\n public searchIsOpen = new BehaviorSubject(false);\r\n\r\n public navHeight = new BehaviorSubject(0);\r\n public navWidth = new BehaviorSubject(0);\r\n\r\n public picturePaneWidth = new BehaviorSubject(0);\r\n public partsGridMakeScroll = new BehaviorSubject(false);\r\n\r\n \r\n public getConntentHeight() {\r\n return window.innerHeight - this.navHeight.value;\r\n }\r\n\r\n public getConntentWidth() {\r\n return window.innerWidth;\r\n }\r\n\r\n public scrollToView(selector: string)\r\n {\r\n //'#partsGrid .k-state-selected'\r\n if (document.querySelector(selector)) {\r\n document.querySelector(selector).scrollIntoView({ behavior: 'smooth'});\r\n }\r\n }\r\n\r\n}\r\n\r\n","import { Injectable, PACKAGE_ROOT_URL } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { BehaviorSubject, Subscription, Subject } from 'rxjs';\r\nimport { map, tap, debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { Router, Params } from '@angular/router';\r\nimport { stringify } from 'querystring';\r\nimport { Guid } from 'guid-typescript';\r\nimport { AppShape } from \"./app-shape.service\"\r\nimport { saveAs, encodeBase64 } from '@progress/kendo-file-saver';\r\nimport { NotificationService } from '@progress/kendo-angular-notification';\r\nimport { IfStmt } from '@angular/compiler';\r\n\r\n@Injectable()\r\nexport class DataStorageService {\r\n\r\n constructor(\r\n private httpClient: HttpClient,\r\n private router: Router,\r\n private appShape: AppShape,\r\n private notificationService: NotificationService) {\r\n\r\n }\r\n\r\n private baseURL: string = \"https://net.dressta.com/api/ApiCatalog/\";\r\n public baseFileURL: string = \"https://net.dressta.com\";\r\n\r\n\r\n\r\n //private baseURL: string = \"https://localhost:44368/api/ApiCatalog/\";\r\n //public baseFileURL: string = \"https://localhost:44368/files/\";\r\n\r\n public loadingData = new BehaviorSubject(false);\r\n\r\n // route params\r\n private pMachine: string;\r\n private pGroup: string;\r\n private pSubGroup: string;\r\n\r\n // observable single elements\r\n\r\n public cMachine = new BehaviorSubject(null);\r\n public cSerials = new BehaviorSubject(null);\r\n public cLanguage = new BehaviorSubject(null);\r\n public ReloadData = new BehaviorSubject(false);\r\n\r\n // machines\r\n public machinesStream = new BehaviorSubject(null);\r\n private machinesClient: MachineGroup[];\r\n private machinesClientPresist: MachineGroup[];\r\n public refreshMachineHeaderData = new Subject();\r\n\r\n // languages\r\n public languagesStream = new BehaviorSubject(null);\r\n private languagesClient: Language[];\r\n\r\n //machine serials\r\n public machinesSerialsStream = new BehaviorSubject(null);\r\n private machinesSerialsClient: MachineSerialas[];\r\n public refreshMachineSerialHeaderData = new Subject();\r\n\r\n\r\n //groups\r\n public groupsStream = new BehaviorSubject(null);\r\n public subgroupsStream = new BehaviorSubject(null);\r\n private groupsClient: CatalogGroup[];\r\n\r\n //parts\r\n public partsStream = new BehaviorSubject(null);\r\n private partsClient: CatalogPart[];\r\n public partsSelection = new BehaviorSubject(null);\r\n\r\n //pictures\r\n public picturesStream = new BehaviorSubject(null);\r\n private picturesClient: CatalogPicture[];\r\n public isPicturesLoaded = new BehaviorSubject(false);\r\n\r\n\r\n //pictures maps\r\n public picturesMapStream = new BehaviorSubject(null);\r\n private picturesMapClient: CatalogPictureMap[];\r\n\r\n //comments\r\n public commentsStream = new BehaviorSubject(null);\r\n private commentsClient: CatalogComments[];\r\n\r\n //documents\r\n public documentsStream = new BehaviorSubject(null);\r\n private documentsClient: CatalogDocuments[];\r\n\r\n //files \r\n public filesStream = new BehaviorSubject(null);\r\n private filesClient: CatalogGroupFiles[];\r\n\r\n //Basket Items \r\n public basketStream = new BehaviorSubject(null);\r\n private basketClient: CatalogBasketItem[];\r\n\r\n //search\r\n public searchStream = new BehaviorSubject(null);\r\n // private documentsClient: CatalogDocuments[];\r\n\r\n //UserData\r\n public userApiData = new BehaviorSubject(null);\r\n public LinkParams = new BehaviorSubject(null);\r\n\r\n\r\n // Router Data\r\n public rMachineId: number = 0;\r\n public rMachineSufixId: number = 0;\r\n public rRange: number = 0;\r\n public rSection: number = 0;\r\n public rGroup: number = 0;\r\n\r\n\r\n\r\n // AUTH (SEC) **********************************************************************************************************\r\n\r\n /**\r\n * IsuUserAuthentiacated\r\n * Check if user have correct key (auth)\r\n */\r\n public async IsuUserAuthentiacated(key: string): Promise {\r\n\r\n //console.log(\"DataStorageService:IsuUserAuthentiacated: \", Guid.isGuid(key), key);\r\n // if not GUID dont even check\r\n if (!Guid.isGuid(key))\r\n return false;\r\n\r\n let model: PostKey = { Key: key };\r\n const isAuth = await this.httpClient.post(this.baseURL + \"IsAuthValid\" + \"/\", model).toPromise();\r\n //console.log(\"DataStorageService:IsuUserAuthentiacated: after: \", isAuth, await this.httpClient.get(this.baseURL + \"IsAuthValid\" + \"/\" + key).toPromise());\r\n return isAuth;\r\n }\r\n\r\n\r\n /**\r\n * getAuthData\r\n * Gets Auth Data from server\r\n */\r\n public async getAuthData(key: string): Promise {\r\n\r\n //console.log(\"DataStorageService:getAuthData: \", Guid.isGuid(key), key);\r\n // if not GUID dont even check\r\n if (!Guid.isGuid(key))\r\n return null;\r\n let model: PostKey = { Key: key };\r\n return this.httpClient.post(this.baseURL + \"GetAuthData\" + \"/\", model).toPromise();\r\n }\r\n\r\n // HELPERS **********************************************************************************************************\r\n\r\n /**\r\n * GetRangeNumber\r\n * (return range number from local storage or null)\r\n */\r\n public getRangeNumber(): number {\r\n\r\n let machineSerialas: MachineSerialas = JSON.parse(localStorage.getItem('cat_MetrykiRnage'));\r\n let range: number = null;\r\n if (machineSerialas)\r\n range = machineSerialas.MetrykiRnage;\r\n\r\n return range;\r\n }\r\n\r\n /**\r\n * getMachineModelId\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getMachineModelId(): number {\r\n let machineModel: Machine = JSON.parse(localStorage.getItem('cat_machineModel'));\r\n let machineModelId: number = 0;\r\n\r\n if (machineModel)\r\n machineModelId = machineModel.MachineModelID;\r\n\r\n return machineModelId;\r\n }\r\n\r\n /**\r\n * getMachineModelId\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getMachineSufixId(): number {\r\n let machineModel: Machine = JSON.parse(localStorage.getItem('cat_machineModel'));\r\n let machineSufixId: number = 0;\r\n\r\n if (machineModel)\r\n machineSufixId = machineModel.MachineModelSufixId;\r\n\r\n return machineSufixId;\r\n }\r\n\r\n /**\r\n * getMachineModelName\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getMachineModelName(): string {\r\n let machineModel: Machine = JSON.parse(localStorage.getItem('cat_machineModel'));\r\n let machineModelName: string = null;\r\n\r\n if (machineModel)\r\n machineModelName = machineModel.MachineModelName;\r\n\r\n return machineModelName;\r\n }\r\n\r\n /**\r\n * getMachineModel\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getMachineModel(machineModelId: number, machineSufixId: number): Machine {\r\n\r\n let machineModel: Machine = JSON.parse(localStorage.getItem('cat_machineModel'));\r\n\r\n if (machineModel)\r\n return machineModel;\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * getMachineModel\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getMachineSerialNo(): MachineSerialas {\r\n let machineSerialNo: MachineSerialas = JSON.parse(localStorage.getItem('cat_MetrykiRnage'));\r\n\r\n if (machineSerialNo)\r\n return machineSerialNo;\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * getUserKey\r\n * (returns auth key from local storage)\r\n * \r\n */\r\n public getUserKey(): string {\r\n\r\n let userLocalData: UserApiData = JSON.parse(localStorage.getItem('cat_authData'));\r\n let key: string = null;\r\n\r\n if (userLocalData) {\r\n key = userLocalData.ApiSecurityKey;\r\n }\r\n\r\n return key;\r\n }\r\n\r\n /**\r\n * getMachineModelId\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getSectionId(): number {\r\n let section: CatalogGroup = JSON.parse(localStorage.getItem('cat_section'));\r\n let sectionId: number = 0;\r\n\r\n if (section)\r\n sectionId = section.CatalogGroupToMachineId;\r\n\r\n return sectionId;\r\n }\r\n\r\n /**\r\n * getMachineModelName\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getSectionName(): string {\r\n let section: CatalogGroup = JSON.parse(localStorage.getItem('cat_section'));\r\n let sectionName: string = null;\r\n\r\n if (section)\r\n sectionName = section.CatalogGroupCatalogGroupSymbol + \"-\" + section.CatalogGroupCatalogGroupName;\r\n\r\n return sectionName;\r\n }\r\n\r\n /**\r\n * getSection\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getSection(): CatalogGroup {\r\n let section: CatalogGroup = JSON.parse(localStorage.getItem('cat_section'));\r\n\r\n if (section)\r\n return section;\r\n\r\n return null;\r\n }\r\n\r\n\r\n /**\r\n * getGroupId\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getGroupId(): number {\r\n let group: CatalogGroup = JSON.parse(localStorage.getItem('cat_group'));\r\n let groupId: number = null;\r\n\r\n if (group)\r\n groupId = group.CatalogGroupToMachineId;\r\n\r\n return groupId;\r\n }\r\n\r\n /**\r\n * getMachineModelName\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getGroupName(): string {\r\n let group: CatalogGroup = JSON.parse(localStorage.getItem('cat_group'));\r\n let groupName: string = null;\r\n\r\n if (group)\r\n groupName = group.CatalogGroupCatalogGroupSymbol + \"-\" + group.CatalogGroupCatalogGroupName;\r\n\r\n return groupName;\r\n }\r\n\r\n /**\r\n * getGroup\r\n * (returns machine model id from local storage or null)\r\n */\r\n public getGroup(): CatalogGroup {\r\n let group: CatalogGroup = JSON.parse(localStorage.getItem('cat_group'));\r\n\r\n if (group)\r\n return group;\r\n\r\n return null;\r\n }\r\n\r\n\r\n /**\r\n * getLanguageCulture\r\n * (returns language culture from local storage)\r\n */\r\n public getLanguageCulture(): string {\r\n let language: Language = JSON.parse(localStorage.getItem('cat_Language'));\r\n let languageCulture: string = null;\r\n\r\n if (language)\r\n languageCulture = language.LanguageCulture;\r\n\r\n return languageCulture;\r\n }\r\n\r\n\r\n // LANGUAGES **********************************************************************************************************\r\n\r\n getDefaultLanguage(val: string): Language {\r\n let language: Language = null;\r\n\r\n if (!localStorage.getItem('cat_Language'))\r\n language = JSON.parse(localStorage.getItem('cat_Language'));\r\n\r\n if (!language) {\r\n if (this.languagesClient)\r\n language = this.languagesClient.find(p => p.LanguageNeutralCulture == val);\r\n }\r\n\r\n return language;\r\n }\r\n\r\n\r\n /**\r\n * getLanguages data from server\r\n * (key:string user session key sending to get correct language ...)\r\n */\r\n public getLanguages() {\r\n\r\n //console.log(\"DataStorageService:getMachines: \", this.loadingData.value, this.machinesClient);\r\n\r\n this.loadingData.next(true);\r\n let model: PostKey = { Key: this.getUserKey() };\r\n\r\n this.httpClient.post(this.baseURL + \"GetCatalogLanguages\", model)\r\n .subscribe((languages) => {\r\n this.languagesClient = languages;\r\n this.languagesStream.next(this.languagesClient);\r\n\r\n let language: Language = null;\r\n\r\n //console.log(\"DataStorageService:getLanguages: \", localStorage.getItem('cat_Language'));\r\n\r\n if (localStorage.getItem('cat_Language') != null) {\r\n language = JSON.parse(localStorage.getItem('cat_Language'));\r\n\r\n //console.log(\"DataStorageService:getLanguages: storelanguage: \", language);\r\n this.cLanguage.next(language);\r\n }\r\n else {\r\n\r\n let baseLanguage: Language = this.languagesClient.find(p => p.LanguageNeutralCulture == \"EN\");\r\n\r\n //console.log(\"DataStorageService:getLanguages: baseLanguage: \", baseLanguage, this.languagesClient);\r\n\r\n this.cLanguage.next(baseLanguage);\r\n localStorage.setItem('cat_Language', JSON.stringify(baseLanguage));\r\n }\r\n\r\n //this.loadingData.next(false);\r\n }, (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n // error\r\n this.languagesStream.next(null);\r\n this.languagesClient = null;\r\n this.loadingData.next(false);\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n this.loadingData.next(false);\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n // MACHINES / GROUPS **********************************************************************************************************\r\n\r\n /**\r\n * getMachineId\r\n * (gets value of 'string' and filter storage data)\r\n */\r\n public getMachineById(val: number): Machine {\r\n if (this.machinesClient) {\r\n\r\n //console.log(\"====> DataStorageService:getMachineById: \", val);\r\n let returnedMachine: Machine;\r\n this.machinesClient.forEach(p => {\r\n const test = p.MachineModels.find((k: Machine) => k.MachineModelID === val);\r\n //console.log(\"====> DataStorageService:getMachineById: \", test);\r\n\r\n if (test)\r\n returnedMachine = test;\r\n });\r\n\r\n if (returnedMachine)\r\n return returnedMachine;\r\n //console.log(\"====> DataStorageService:getMachineById: \", val, a);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n\r\n /**\r\n * getMachineFilter\r\n * (gets value of 'string' and filter storage data)\r\n */\r\n public getMachinesFilter(val: string) {\r\n\r\n //this.machinesStream.next(this.machinesClient.filter((p) => p.MachineModelName.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1));\r\n //console.log(\"DataStorageService:getMachinesFilter: before: \", val, this.machinesClient);\r\n\r\n if (val && val.length > 0) {\r\n //console.log(\"DataStorageService:getMachinesFilter: mid 1: \", val, this.machinesClient);\r\n\r\n let clientData = this.machinesClient.map(function (k) {\r\n const x = { ...k };\r\n x.MachineModels = x.MachineModels.filter(p => p.MachineModelName.toLocaleLowerCase().indexOf(val.toLocaleLowerCase()) !== -1)\r\n //k.MachineModels = k.MachineModels.filter(p => p.MachineModelName.toLocaleLowerCase().indexOf(val.toLocaleLowerCase()) !== -1);\r\n return x;\r\n }).filter(({ MachineModels }) => MachineModels.length);\r\n\r\n // data = clientData.filter((p) => p.MachineGroupName.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1);\r\n\r\n this.machinesStream.next(clientData);\r\n\r\n //console.log(\"DataStorageService:getMachinesFilter: mid 2: \", val, this.machinesClient);\r\n }\r\n else {\r\n this.machinesStream.next(this.machinesClient);\r\n }\r\n\r\n //console.log(\"DataStorageService:getMachinesFilter: after: \", val, data, this.machinesClient);\r\n }\r\n\r\n /**\r\n * Get Machines data from server\r\n * (key:string user session key sending to get correct machine list ...)\r\n */\r\n public getMachines() {\r\n\r\n //console.log(\"DataStorageService:getMachines: \", this.loadingData.value, this.machinesClient);\r\n\r\n this.loadingData.next(true);\r\n let model: PostKey = { Key: this.getUserKey() };\r\n\r\n this.httpClient.post(this.baseURL + \"GetMachinesCatalog\", model)\r\n .subscribe((machines) => {\r\n this.machinesClient = machines;\r\n this.machinesStream.next(this.machinesClient);\r\n //console.log(\"DataStorageService:getMachines: subscribe: \", this.machinesClient, machines);\r\n\r\n //this.loadingData.next(false);\r\n }, (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n // error\r\n this.machinesStream.next(null);\r\n this.machinesClient = null;\r\n this.loadingData.next(false);\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n this.loadingData.next(false);\r\n });\r\n\r\n\r\n }\r\n\r\n /**\r\n * Get Machines data from server\r\n * (key:string user session key sending to get correct machine list ...)\r\n */\r\n public async getSingleMachineFromCache(model: PostMachineModel): Promise {\r\n\r\n //this.loadingData.next(true);\r\n let cMachine: Machine;\r\n cMachine = JSON.parse(sessionStorage.getItem('cMachine'));\r\n\r\n if (cMachine && cMachine.MachineModelID == model.MachineModelID && cMachine.MachineModelSufixId == model.MachineModelSufixId) {\r\n return cMachine;\r\n }\r\n else {\r\n cMachine = await this.httpClient.post(this.baseURL + \"GetSingleMachineData\", model).toPromise();\r\n sessionStorage.setItem('cMachine', JSON.stringify(cMachine));\r\n return cMachine;\r\n }\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n // MACHINE SERIALS **********************************************************************************************************\r\n\r\n /**\r\n * getMachineSerialsById\r\n * (gets value of 'string' and filter storage data)\r\n */\r\n public getMachineSerialsById(val: number): MachineSerialas {\r\n if (this.machinesSerialsClient) {\r\n return this.machinesSerialsClient.find(p => p.MetrykiRnage === val);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * getMachineSerials\r\n * (machineModelID: number, key: string)\r\n * */\r\n public getMachineSerials(serial: string) {\r\n\r\n this.loadingData.next(true);\r\n let model: CatalogPostMachineSerials = { Key: this.getUserKey(), Serial: serial };\r\n\r\n this.httpClient.post(this.baseURL + \"GetMachinesSerials\", model)\r\n .subscribe((machines) => {\r\n this.machinesSerialsClient = machines;\r\n this.machinesSerialsStream.next(this.machinesSerialsClient);\r\n //console.log(\"DataStorageService:getMachineSerials: subscribe: \", this.loadingData.value, machines);\r\n //return machine;\r\n //this.loadingData.next(false);\r\n }, (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachineSerials: errors: \", error);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachineSerials: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n // error\r\n this.machinesSerialsClient = null;\r\n this.machinesSerialsStream.next(null);\r\n this.loadingData.next(false);\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n\r\n }\r\n\r\n /**\r\n * getMachinesSerialsFilter\r\n * (gets value of 'string' and filter storage data)\r\n */\r\n public getMachinesSerialsFilter(val: string) {\r\n //console.log(\"DataStorageService:getMachinesFilter: \", val);\r\n //this.machinesSerialsStream.next(this.machinesSerialsClient.filter((p) => p.MetrykiSerialNo.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1));\r\n if (val.length > 2)\r\n this.getMachineSerials(val);\r\n }\r\n\r\n // *******************************************************************************************************************\r\n // SECTIONS\r\n // *******************************************************************************************************************\r\n\r\n /**\r\n * getSingleSessionAsync\r\n */\r\n public async getSingleSectionAsync(model: GetGroup): Promise {\r\n let cSection: CatalogGroup;\r\n const sections: CatalogGroup[] = JSON.parse(sessionStorage.getItem('cSections'));\r\n cSection = sections.find(p => p.CatalogGroupToMachineId == model.CatalogGroupToMachineId);\r\n\r\n if (cSection && cSection.CatalogGroupToMachineId == model.CatalogGroupToMachineId) {\r\n return cSection;\r\n }\r\n else {\r\n return await this.httpClient.post(this.baseURL + \"GetSingleGroupData\" + \"/\", model).toPromise();\r\n }\r\n }\r\n\r\n /**\r\n * getSectionsFilter\r\n * (gets value of 'string' and filter storage data)\r\n */\r\n public getGroupsFilter(val: string) {\r\n //console.log(\"DataStorageService:getMachinesFilter: \", val);\r\n this.groupsStream.next(this.groupsClient.filter((p) =>\r\n (p.CatalogGroupCatalogGroupSymbol && p.CatalogGroupCatalogGroupSymbol.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CatalogGroupCatalogGroupName && p.CatalogGroupCatalogGroupName.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CatalogGroupCatalogGroupNameTranslate && p.CatalogGroupCatalogGroupNameTranslate.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ));\r\n }\r\n\r\n /**\r\n * getSections\r\n */\r\n public getSections(mid: number, sf: number, rng: number) {\r\n\r\n this.loadingData.next(true);\r\n\r\n // preparing post data\r\n let model: PostGroups = {\r\n Key: this.getUserKey(),\r\n MachineModelID: mid,\r\n ParentGroupToMachineId: null,\r\n Range: rng,\r\n LanguageCulture: this.getLanguageCulture(),\r\n MachineModelSufixId: sf,\r\n };\r\n\r\n this.httpClient.post(this.baseURL + \"GetCatalogGroupToMachines\", model)\r\n .subscribe((groups) => {\r\n sessionStorage.setItem('cSections', JSON.stringify(groups));\r\n this.groupsClient = groups;\r\n this.groupsStream.next(this.groupsClient);\r\n\r\n //console.log(\"DataStorageService:getMachines: subscribe: \", this.loadingData.value, machines);\r\n\r\n //this.loadingData.next(false);\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n this.machinesSerialsClient = null;\r\n this.machinesSerialsStream.next(null);\r\n this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n this.loadingData.next(false);\r\n });\r\n\r\n // this.loadingData.next(false);\r\n\r\n }\r\n\r\n // GROUPS **********************************************************************************************************\r\n\r\n /**\r\n * getsingleGroupAsync\r\n */\r\n public async getSingleGroupAsync(model: GetGroup): Promise {\r\n let cGroup: CatalogGroup;\r\n const groups: CatalogGroup[] = JSON.parse(sessionStorage.getItem('cGroups'));\r\n cGroup = groups.find(p => p.CatalogGroupToMachineId == model.CatalogGroupToMachineId);\r\n\r\n if (cGroup && cGroup.CatalogGroupToMachineId == model.CatalogGroupToMachineId) {\r\n return cGroup;\r\n }\r\n else {\r\n return await this.httpClient.post(this.baseURL + \"GetSingleGroupData\" + \"/\", model).toPromise();\r\n }\r\n }\r\n\r\n /******************************************************************************\r\n * getsingleGroupAsync\r\n ******************************************************************************/\r\n public async getNavigationGroupDataAsync(mid: number, sf: number, rng: number, sec: number): Promise {\r\n\r\n const groups: CatalogGroup[] = JSON.parse(sessionStorage.getItem('cGroups'));\r\n let rData: CatalogGroup[] = groups.filter(p => p.ParentCatalogGroupToMachineId == sec);\r\n if (rData && rData.length > 0) {\r\n return rData;\r\n }\r\n else {\r\n // preparing post data\r\n let model: PostGroups = {\r\n Key: this.getUserKey(),\r\n MachineModelID: mid,\r\n ParentGroupToMachineId: sec,\r\n Range: rng,\r\n LanguageCulture: this.getLanguageCulture(),\r\n MachineModelSufixId: sf\r\n };\r\n\r\n return await this.httpClient.post(this.baseURL + \"GetCatalogGroupToMachines\" + \"/\", model).toPromise();\r\n }\r\n\r\n }\r\n\r\n /**\r\n * getGroups\r\n */\r\n public getGroups(mid: number, sf: number, rng: number, sec: number) {\r\n\r\n this.loadingData.next(true);\r\n\r\n // preparing post data\r\n let model: PostGroups = {\r\n Key: this.getUserKey(),\r\n MachineModelID: mid,\r\n ParentGroupToMachineId: sec,\r\n Range: rng,\r\n LanguageCulture: this.getLanguageCulture(),\r\n MachineModelSufixId: sf\r\n };\r\n\r\n this.httpClient.post(this.baseURL + \"GetCatalogGroupToMachines\", model)\r\n .subscribe((groups) => {\r\n\r\n sessionStorage.setItem('cGroups', JSON.stringify(groups));\r\n this.groupsClient = groups;\r\n this.groupsStream.next(this.groupsClient);\r\n console.log(\"dataStorage: getGroups: succes: \", groups);\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n\r\n }\r\n\r\n\r\n // PARTS **********************************************************************************************************\r\n\r\n /**\r\n * getSectionsFilter\r\n * (gets value of 'string' and filter storage data)\r\n */\r\n public getPartssFilter(val: string) {\r\n //console.log(\"DataStorageService:getMachinesFilter: \", val);\r\n this.partsStream.next(this.partsClient.filter((p) =>\r\n (p.CatalogPartManufacturerNumber && p.CatalogPartManufacturerNumber.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CatalogPartNumber && p.CatalogPartNumber.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CatalogPartName && p.CatalogPartName.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CatalogPartNameTranslate && p.CatalogPartNameTranslate.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CommentSymbol && p.CommentSymbol.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CommentText && p.CommentText.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.CommentTextTranslate && p.CommentTextTranslate.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.LinkName && p.LinkName.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.LinkNameTranslate && p.LinkNameTranslate.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ||\r\n (p.LinkSymbol && p.LinkSymbol.toLocaleLowerCase().indexOf(val.toLowerCase()) !== -1)\r\n ));\r\n }\r\n\r\n /**\r\n * getParts\r\n */\r\n public getParts(model: PostParts) {\r\n\r\n this.loadingData.next(true);\r\n\r\n // preparing post data\r\n // let model: PostParts = {\r\n // Key: this.getUserKey(),\r\n // CatalogGroupToMachineId: this.getGroupId(),\r\n // LanguageCulture: this.getLanguageCulture()\r\n // };\r\n\r\n this.httpClient.post(this.baseURL + \"GetCatalogPartsToGroup\", model)\r\n .subscribe((parts) => {\r\n this.partsClient = parts;\r\n this.partsStream.next(this.partsClient);\r\n\r\n //console.log(\"DataStorageService:getParts: subscribe: \", parts);\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n\r\n }\r\n\r\n\r\n // SEARCH **********************************************************************************************************\r\n\r\n public getSearch(search: string = \"\") {\r\n\r\n //console.log(\"DataStorageService:getSearchStream: \", search);\r\n\r\n if (search.length == 0)\r\n return null;\r\n\r\n this.loadingData.next(true);\r\n\r\n let model: PostSearch = {\r\n Key: this.getUserKey(),\r\n Search: search,\r\n Range: this.LinkParams.value['rng'],\r\n LanguageCulture: this.getLanguageCulture(),\r\n MachineModelID: this.LinkParams.value['mid'],\r\n CatalogGroupToMachineId: 0,\r\n };\r\n //this.getSectionId()\r\n //console.log(\"DataStorageService: getSearch: \", model);\r\n\r\n this.httpClient.post(this.baseURL + \"GetSearch\", model)\r\n .subscribe((sr) => {\r\n this.searchStream.next(sr);\r\n //console.log(\"DataStorageService:getParts: subscribe: \", sr);\r\n this.loadingData.next(false);\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n\r\n // PICTURES **************************************************************************\r\n\r\n public getPicturesToMachine(model: PostPictureToMachine) {\r\n\r\n\r\n this.httpClient.post(this.baseURL + \"GetCatalogPicturesToMachine\", model)\r\n .subscribe((pictures) => {\r\n // console.log(\"DataStorageService:getPicturesToMachine: subscribe: \", pictures);\r\n //this.picturesStream.next(pictures);\r\n this.picturesClient = pictures;\r\n this.setCorrectPictureSizes();\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n public getPicturesToGroup(model: PostPictureToGroup) {\r\n\r\n this.isPicturesLoaded.next(false);\r\n\r\n this.httpClient.post(this.baseURL + \"GetCatalogPicturesToGroup\", model)\r\n .subscribe((pictures) => {\r\n //console.log(\"DataStorageService:getPicturesToMachine: subscribe: \", pictures);\r\n\r\n //this.picturesStream.next(pictures);\r\n this.picturesClient = pictures;\r\n this.setCorrectPictureSizesWithMaps();\r\n\r\n\r\n //this.loadingData.next(false);\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n this.isPicturesLoaded.next(true);\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n\r\n this.isPicturesLoaded.next(false);\r\n }\r\n\r\n public clearPicturesData() {\r\n this.picturesClient = null;\r\n this.picturesStream.next(null);\r\n }\r\n\r\n public setCorrectPictureSizesWithMaps() {\r\n\r\n if (this.picturesClient) {\r\n this.picturesClient.forEach((pic: CatalogPicture) => {\r\n if (this.appShape.picturePaneWidth.value) {\r\n let getPaneWidth: number = this.appShape.picturePaneWidth.value - 30;\r\n let getPaneHeight: number = this.appShape.getConntentHeight() - 150;\r\n let sizeCorrection: number = 1;\r\n\r\n if (pic.CatalogPictureWidth > pic.CatalogPictureHeight) {\r\n // jeżeli jest szerszy niż wyższy\r\n sizeCorrection = getPaneWidth / pic.CatalogPictureWidth;\r\n }\r\n else {\r\n sizeCorrection = getPaneHeight / pic.CatalogPictureHeight;\r\n }\r\n\r\n // if (pic.CatalogPictureHeight > pic.CatalogPictureWidth)\r\n // sizeCorrection = getPaneHeight / pic.CatalogPictureHeight;\r\n // else\r\n // sizeCorrection = getPaneWidth / pic.CatalogPictureWidth;\r\n pic.CatalogPictureWidthShow = Math.floor((pic.CatalogPictureWidth * sizeCorrection));\r\n pic.CatalogPictureHeightShow = Math.floor((pic.CatalogPictureHeight * sizeCorrection));\r\n\r\n if (pic.CatalogPictureMaps) {\r\n pic.CatalogPictureMaps.forEach((map: CatalogPictureMap) => {\r\n map.CatalogPictureMapRadiusShow = ((map.CatalogPictureMapRadius / 2) * (sizeCorrection));\r\n map.CatalogPictureMapXShow = (map.CatalogPictureMapX * sizeCorrection);\r\n map.CatalogPictureMapYShow = (map.CatalogPictureMapY * sizeCorrection);\r\n });\r\n }\r\n }\r\n })\r\n\r\n //console.log(\"DataStore: setCorrectPictureSizes: \", this.picturesClient);\r\n this.picturesStream.next(this.picturesClient);\r\n }\r\n }\r\n\r\n\r\n public setCorrectPictureSizes() {\r\n\r\n if (this.picturesClient) {\r\n this.picturesClient.forEach((pic: CatalogPicture) => {\r\n if (this.appShape.picturePaneWidth.value) {\r\n let getPaneWidth: number = this.appShape.picturePaneWidth.value - 30;\r\n let getPaneHeight: number = this.appShape.getConntentHeight() - 150;\r\n let sizeCorrection: number = 1;\r\n\r\n if (pic.CatalogPictureWidth > pic.CatalogPictureHeight) {\r\n // jeżeli jest szerszy niż wyższy\r\n sizeCorrection = getPaneWidth / pic.CatalogPictureWidth;\r\n }\r\n else {\r\n sizeCorrection = getPaneHeight / pic.CatalogPictureHeight;\r\n }\r\n\r\n // if (pic.CatalogPictureHeight > pic.CatalogPictureWidth)\r\n // sizeCorrection = getPaneHeight / pic.CatalogPictureHeight;\r\n // else\r\n // sizeCorrection = getPaneWidth / pic.CatalogPictureWidth;\r\n\r\n pic.CatalogPictureWidthShow = Math.floor((pic.CatalogPictureWidth * sizeCorrection));\r\n pic.CatalogPictureHeightShow = Math.floor((pic.CatalogPictureHeight * sizeCorrection));\r\n }\r\n })\r\n\r\n // console.log(\"DataStore: setCorrectPictureSizes: \", this.picturesClient);\r\n this.picturesStream.next(this.picturesClient);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * getPicturesToMachineAsync\r\n * Getting \r\n */\r\n public async getPicturesToMachineAsync(): Promise {\r\n\r\n //console.log(\"DataStorageService:IsuUserAuthentiacated: \", Guid.isGuid(key), key);\r\n // if not GUID dont even check\r\n\r\n this.loadingData.next(true);\r\n\r\n // preparing post data\r\n let model: PostPictureToMachine = {\r\n Key: this.getUserKey(),\r\n MachineModelID: this.getMachineModelId()\r\n };\r\n\r\n const picturesData = await this.httpClient.post(this.baseURL + \"GetCatalogPicturesToMachine\" + \"/\", model).toPromise();\r\n this.loadingData.next(false);\r\n\r\n return picturesData;\r\n }\r\n\r\n getPicturesIndex(val: number) {\r\n let myIndex: number = 0;\r\n let foundNumber: boolean = false;\r\n\r\n //console.log(\"1: DataStorageService:getPicturesIndex: \", val, this.picturesClient);\r\n\r\n if (this.picturesClient) {\r\n this.picturesClient.some((p, index, _picturesClient) => {\r\n if (p.CatalogPictureMaps) {\r\n foundNumber = p.CatalogPictureMaps.some((k, kIndex, _maps) => {\r\n return k.CatalogPictureMapNumber === val;\r\n })\r\n }\r\n if (foundNumber)\r\n myIndex = index;\r\n\r\n //console.log(\"2: DataStorageService:getPicturesIndex: \", foundNumber, index);\r\n\r\n //this.loadingData.next(false);\r\n\r\n return foundNumber;\r\n })\r\n }\r\n return myIndex;\r\n }\r\n\r\n\r\n public markPicturesMap(val: number[],) {\r\n let picturesCp: CatalogPicture[] = this.picturesClient;\r\n //console.log(\"----->\", picturesCp, val);\r\n if (picturesCp) {\r\n picturesCp.forEach((p) => {\r\n if (p.CatalogPictureMaps) {\r\n p.CatalogPictureMaps.forEach((k) => {\r\n //console.log(\"DataStorageService:markPicturesMap:includes: \", val.includes(k.CatalogPictureMapNumber), val, k.CatalogPictureMapNumber);\r\n if (val.includes(k.CatalogPictureMapNumber)) {\r\n k.CatalogPictureMapMark = true;\r\n }\r\n else {\r\n k.CatalogPictureMapMark = false;\r\n }\r\n })\r\n }\r\n });\r\n }\r\n // console.log(\"DataStorageService:markPicturesMap: \", picturesCp);\r\n this.picturesStream.next(picturesCp);\r\n }\r\n\r\n // FILES **************************************************************************\r\n\r\n public getFilesToSubGroup(groupId: number) {\r\n\r\n //this.loadingData.next(true);\r\n\r\n // preparing post data\r\n let model: PostParts = {\r\n Key: this.getUserKey(),\r\n CatalogGroupToMachineId: groupId,\r\n LanguageCulture: this.getLanguageCulture()\r\n };\r\n\r\n this.httpClient.post(this.baseURL + \"GetCatalogFilesToGroup\", model)\r\n .subscribe((files) => {\r\n //console.log(\"DataStorageService:getFilesToSubGroup: subscribe: \", files);\r\n this.filesStream.next(files);\r\n this.filesClient = files;\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n getfileById(fileId: number, fileName: string) {\r\n this.httpClient.get(this.baseURL + \"DownloadStreamFile/?Key=\" + this.getUserKey() + \"&ParamOne=\" + fileId, { responseType: 'blob' })\r\n .subscribe((blob) => {\r\n //console.log(\"DataStorageService:getfileById: subscribe: \", blob);\r\n saveAs(blob, fileName);\r\n // const blobUrl= window.URL.createObjectURL(blob);\r\n // window.open(blobUrl);\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getfileById: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getfileById: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n }\r\n\r\n // BASKET **************************************************************************\r\n\r\n public clearBasket() {\r\n\r\n let model: PostKey = { Key: this.getUserKey() };\r\n\r\n this.httpClient.post(this.baseURL + \"ClearBasket\", model)\r\n .subscribe((basketOperation) => {\r\n //console.log(\"DataStorageService:singeCardItemOperation: subscribe: \", basketOperation);\r\n if (basketOperation.OperationState == 0) {\r\n // jest OK\r\n this.getBasketData();\r\n this.showNotification(\"The basket has been cleared\");\r\n }\r\n else {\r\n\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:singeCardItemOperation: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n this.showNotification(\"Unknown error, i can't clear the basket!\");\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n }\r\n\r\n public getBasketData() {\r\n\r\n //this.loadingData.next(true);\r\n\r\n // preparing post data\r\n let model: PostKey = { Key: this.getUserKey() };\r\n\r\n this.httpClient.post(this.baseURL + \"GetBasket\", model)\r\n .subscribe((basket) => {\r\n //console.log(\"DataStorageService:getBasketData: subscribe: \", basket);\r\n this.basketStream.next(basket);\r\n this.basketClient = basket;\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n public singeCardItemOperation(basketItem: PostCatalogBasketItem) {\r\n\r\n this.httpClient.post(this.baseURL + \"ItemBasketOperation\", basketItem)\r\n .subscribe((basketOperation) => {\r\n //console.log(\"DataStorageService:singeCardItemOperation: subscribe: \", basketOperation);\r\n if (basketOperation.OperationState == 0) {\r\n // jest OK\r\n this.getBasketData();\r\n this.showNotification(\"The basket has been updated\");\r\n }\r\n else {\r\n\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(\"DataStorageService:singeCardItemOperation: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n }\r\n\r\n public BasketExcelObserver() {\r\n\r\n // preparing post data\r\n let model: PostKey = { Key: this.getUserKey() };\r\n\r\n this.httpClient.post(this.baseURL + \"ItemBasketExcelPreparation\", model)\r\n .subscribe((basket) => {\r\n this.showNotification(\"The Excel file has been prepared ...\");\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n public BasketPdfObserver() {\r\n\r\n // preparing post data\r\n let model: PostKey = { Key: this.getUserKey() };\r\n\r\n this.httpClient.post(this.baseURL + \"ItemBasketPdfPreparation\", model)\r\n .subscribe((basket) => {\r\n this.showNotification(\"The PDF file has been prepared ...\");\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n public SendBasketByEmail(email: string) {\r\n\r\n // preparing post data\r\n let model: PostSendBasketByEmail = { Key: this.getUserKey(), Email: email };\r\n\r\n this.httpClient.post(this.baseURL + \"SendBasketByEmail\", model)\r\n .subscribe((basket) => {\r\n if (basket.OperationState == 0)\r\n this.showNotification(\"The e-mail to \" + email + \" was sent ...\");\r\n\r\n if (basket.OperationState == 1)\r\n this.showNotification(\"Error:\" + basket.Message);\r\n },\r\n (error: HttpErrorResponse) => {\r\n //console.log(\"DataStorageService:getMachines: errors: \", error);\r\n // error\r\n // this.loadingData.next(false);\r\n\r\n if (error.status === 401) {\r\n //console.log(\"DataStorageService:getMachines: errors: przekieruj do unauthorize \", error);\r\n this.showNotification(\"Error: unauthorize ...\");\r\n this.router.navigate([\"autoriztion/unauthorize\"]);\r\n }\r\n }, () => {\r\n\r\n //console.log(\"DataStorageService:getMachines: complete: \");\r\n\r\n // complete\r\n //this.loadingData.next(false);\r\n });\r\n\r\n //this.loadingData.next(false);\r\n }\r\n\r\n // ************************************************************************* HELPERS\r\n\r\n public showNotification(content: string, iconData: boolean = true, isClosable: boolean = false) {\r\n this.notificationService.show({\r\n content: content,\r\n cssClass: 'button-notification',\r\n animation: { type: 'slide', duration: 400 },\r\n position: { horizontal: 'right', vertical: 'bottom' },\r\n type: { style: 'success', icon: true },\r\n closable: isClosable\r\n });\r\n }\r\n\r\n \r\n public showNotification2(content: string, iconData: boolean = true, isClosable: boolean = false) {\r\n this.notificationService.show({\r\n content: content,\r\n cssClass: 'button-notification',\r\n animation: { type: 'slide', duration: 400 },\r\n position: { horizontal: 'right', vertical: 'bottom' },\r\n type: { style: 'success', icon: true },\r\n closable: isClosable\r\n });\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Guid } from 'guid-typescript';\r\nimport { DataStorageService } from './data-storage.service'\r\nimport { Router} from '@angular/router';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class SecurityService\r\n{\r\n // DATA **********************************************************************************************************\r\n \r\n // Holds key to the future\r\n public userApiData = new BehaviorSubject(null);\r\n\r\n //METHODS **********************************************************************************************************\r\n\r\n /**\r\n * Constructor\r\n * inits security observer\r\n */\r\n constructor(private data: DataStorageService, private router: Router) {\r\n // this.userApiData.subscribe((security) =>\r\n // {\r\n // console.log(\"SecurityService: constructor: userApiData.subscribe: \", this.userApiData.value, security);\r\n\r\n // if(security == null)\r\n // {\r\n // let localData:UserApiData = JSON.parse(localStorage.getItem('cat_authData'));\r\n \r\n // if(localData)\r\n // {\r\n // this.userApiData.next(localData);\r\n // }\r\n // }\r\n // });\r\n }\r\n\r\n /**\r\n * AutoAuthorizeByKey\r\n * Try to preform authorization by API key from server\r\n */\r\n public async AutoAuthorizeByKey(key: string): Promise {\r\n \r\n \r\n if(!key || !Guid.isGuid(key))\r\n {\r\n // check local storage\r\n let localData:UserApiData = JSON.parse(localStorage.getItem('cat_authData'));\r\n\r\n if(localData)\r\n {\r\n key = localData.ApiSecurityKey;\r\n }\r\n else{\r\n this.userApiData.next(null);\r\n }\r\n\r\n }\r\n\r\n console.log(\"SecurityService: AutoAuthorizeByKey: if(guid)\", Guid.isGuid(key));\r\n\r\n let isAuthUser = await this.data.IsuUserAuthentiacated(key);\r\n\r\n console.log(\"SecurityService: AutoAuthorizeByKey: isAuthUser: \", isAuthUser);\r\n\r\n\r\n if(isAuthUser)\r\n {\r\n var data = await this.data.getAuthData(key);\r\n localStorage.setItem('cat_authData', JSON.stringify(data));\r\n\r\n this.userApiData.next(data);\r\n return isAuthUser;\r\n }\r\n else\r\n {\r\n this.userApiData.next(null);\r\n return isAuthUser;\r\n }\r\n }\r\n\r\n /**\r\n * AutoAuthorizeByLoaclStorage\r\n * Try to preform authorization by API key from server\r\n */\r\n public async AutoAuthorizeByLoaclStorage(): Promise {\r\n //console.log(\"SecurityService: AutoAuthorizeByLoaclStorage: start\");\r\n\r\n // check is key is guid if not kick authorize\r\n let localData:UserApiData = JSON.parse(localStorage.getItem('cat_authData'));\r\n\r\n //console.log(\"SecurityService: AutoAuthorizeByLoaclStorage: isAuthUser: \", localData);\r\n\r\n if(localData)\r\n {\r\n if(Guid.isGuid(localData.ApiSecurityKey))\r\n {\r\n \r\n let isAuthUser = await this.data.IsuUserAuthentiacated(localData.ApiSecurityKey);\r\n\r\n //console.log(\"SecurityService: AutoAuthorizeByLoaclStorage: isAuthUser: \", isAuthUser);\r\n \r\n if(isAuthUser)\r\n {\r\n this.userApiData.next(localData);\r\n return isAuthUser;\r\n }\r\n else\r\n {\r\n this.userApiData.next(null);\r\n return isAuthUser;\r\n }\r\n }\r\n }\r\n \r\n this.userApiData.next(null);\r\n return false; \r\n }\r\n\r\n /**\r\n * IsUserAuthorized\r\n */\r\n public async IsUserAuthorized() {\r\n \r\n var isAuthorized = await this.AutoAuthorizeByLoaclStorage();\r\n\r\n if(!isAuthorized)\r\n {\r\n this.router.navigate([\"autoriztion/unauthorize\",]);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * ClearAuthorization\r\n * Clear authorization and block Catalog from using\r\n */\r\n public ClearAuthorization() {\r\n this.userApiData.next(null);\r\n }\r\n}","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3N1Ymdyb3Vwcy9zdWJncm91cHMuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { DataStorageService } from '../shared/services/data-storage.service';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { Subscription, BehaviorSubject } from 'rxjs';\r\nimport { filter, distinctUntilChanged, debounceTime, delay } from 'rxjs/operators';\r\nimport { FormGroup, FormControl } from '@angular/forms'\r\nimport { SecurityService } from '../shared/services/security.service';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { faFilter } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-subgroups',\r\n templateUrl: './subgroups.component.html',\r\n styleUrls: ['./subgroups.component.css']\r\n})\r\nexport class SubgroupsComponent implements OnInit, OnDestroy {\r\n\r\n public contentHeight = \"0\";\r\n public gridHeight: number = 400;\r\n public subGroups: BehaviorSubject;\r\n public filterForm: FormGroup;\r\n public isDataLoading: boolean = true;\r\n public picturePanelWidth: string = \"0px\";\r\n\r\n public isRangesVisible = true;\r\n\r\n // fonts\r\n faFilter = faFilter;\r\n\r\n private loaderSubscription: Subscription;\r\n private machineSteream: Subscription;\r\n private machinesSerialsStream: Subscription;\r\n private reloadDataSubscription: Subscription;\r\n private picturePanelSizeChange: Subscription;\r\n private groupsReloadChange: Subscription;\r\n\r\n private rMachineId: number = 0; \r\n private rMachineSufixId: number = 0; \r\n private rRange: number = 0; \r\n private rSection: number = 0;\r\n\r\n\r\n constructor(private appShape: AppShape,\r\n private dataStorage: DataStorageService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private security: SecurityService) {\r\n\r\n localStorage.removeItem('cat_group');\r\n this.dataStorage.groupsStream.next(null);\r\n this.dataStorage.subgroupsStream.next(null);\r\n this.dataStorage.partsStream.next(null);\r\n this.dataStorage.picturesMapStream.next(null);\r\n\r\n this.subGroups = this.dataStorage.groupsStream;\r\n\r\n this.filterForm = new FormGroup({\r\n 'filterQuery': new FormControl('')\r\n });\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n // check authorization from local storage \r\n await this.security.IsUserAuthorized();\r\n\r\n this.route.params.subscribe(async (params: Params) => \r\n {\r\n //console.log(\"Params: \", params, params['mid'], params['sf'], params['rng']);\r\n\r\n this.rMachineId = params['mid'];\r\n this.rMachineSufixId = params['sf'];\r\n this.rRange = params['rng'];\r\n this.rSection = params['sid'];\r\n\r\n //this.dataStorage.getSections(this.rMachineId, this.rMachineSufixId, this.rRange );\r\n this.dataStorage.getGroups(this.rMachineId, this.rMachineSufixId, this.rRange, this.rSection);\r\n\r\n let picturePaneWidth: number = this.appShape.getConntentWidth() * 0.4;\r\n this.appShape.picturePaneWidth.next(picturePaneWidth);\r\n this.picturePanelWidth = picturePaneWidth + \"px\";\r\n\r\n });\r\n\r\n // Get session key for application \r\n // Get full height of the elementa as observable\r\n this.appShape.navHeight.subscribe(p => {\r\n this.contentHeight = this.appShape.getConntentHeight() - 1 + \"px\";\r\n this.gridHeight = this.appShape.getConntentHeight() - 90;\r\n });\r\n\r\n this.route.params.subscribe((params: Params) => {\r\n this.dataStorage.LinkParams.next(params);\r\n });\r\n\r\n this.filterForm.get('filterQuery').valueChanges\r\n .pipe(\r\n //filter((p: string) => p.length >= 2),\r\n distinctUntilChanged(),\r\n debounceTime(300)\r\n )\r\n .subscribe((p: string) => {\r\n this.dataStorage.getGroupsFilter(p);\r\n })\r\n\r\n\r\n // show hide loading bar\r\n this.loaderSubscription = this.dataStorage.loadingData.subscribe(async (p) => {\r\n if (p) {\r\n this.isDataLoading = true;\r\n }\r\n else {\r\n this.isDataLoading = false;\r\n }\r\n });\r\n\r\n this.reloadDataSubscription = this.dataStorage.ReloadData.subscribe((p: boolean) => {\r\n if (p) {\r\n this.dataStorage.getGroups(this.rMachineId, this.rMachineSufixId, this.rRange, this.rSection);\r\n }\r\n });\r\n\r\n this.picturePanelSizeChange = this.appShape.picturePaneWidth.subscribe((p: number) => {\r\n if(p)\r\n {\r\n this.dataStorage.setCorrectPictureSizesWithMaps();\r\n }\r\n });\r\n\r\n this.groupsReloadChange = this.subGroups.subscribe((p: CatalogGroup[]) => \r\n {\r\n if(p)\r\n {\r\n let rangesShow:CatalogGroup = p[0];\r\n if(rangesShow)\r\n {\r\n //console.log(\"Ranges Show:\", rangesShow);\r\n //this.isRangesVisible = rangesShow.CatalogRangesShare;\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.dataStorage.clearPicturesData();\r\n\r\n if (this.machineSteream)\r\n this.machineSteream.unsubscribe();\r\n\r\n if (this.machinesSerialsStream)\r\n this.machinesSerialsStream.unsubscribe();\r\n\r\n if (this.loaderSubscription)\r\n this.loaderSubscription.unsubscribe();\r\n\r\n if (this.reloadDataSubscription)\r\n this.reloadDataSubscription.unsubscribe();\r\n\r\n if (this.picturePanelSizeChange)\r\n this.picturePanelSizeChange.unsubscribe();\r\n\r\n if(this.groupsReloadChange)\r\n this.groupsReloadChange.unsubscribe();\r\n }\r\n\r\n public selectionChange(value) {\r\n\r\n //console.log(\"GroupsComponent:onSelectedKeysChange: \", value.selectedRows[0].dataItem);\r\n\r\n let groupData: CatalogGroup = value.selectedRows[0].dataItem;\r\n\r\n if (groupData) {\r\n //localStorage.setItem('cat_group', JSON.stringify(groupData));\r\n this.router.navigate([\r\n \"/catalog\",\r\n this.rMachineId,\r\n this.rMachineSufixId,\r\n this.rRange,\r\n this.rSection,\r\n groupData.CatalogGroupToMachineId\r\n ]);\r\n\r\n }\r\n\r\n }\r\n\r\n public picturePaneSizeChange(value) {\r\n\r\n if (value) {\r\n let getValue: number = +(value.replace('px', ''));\r\n //console.log(\"GROUP PANE: SIZE CHANGE: \", value, getValue);\r\n this.appShape.picturePaneWidth.next(getValue);\r\n }\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VuYXV0aG9yaXplL3VuYXV0aG9yaXplLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppShape } from '../shared/services/app-shape.service';\r\nimport { faUserLock, faLockOpen } from '@fortawesome/free-solid-svg-icons';\r\nimport { SecurityService } from '../shared/services/security.service';\r\n\r\n@Component({\r\n selector: 'app-unauthorize',\r\n templateUrl: './unauthorize.component.html',\r\n styleUrls: ['./unauthorize.component.css']\r\n})\r\nexport class UnauthorizeComponent implements OnInit {\r\n\r\n public contentHeight = \"0\";\r\n\r\n\r\n //FontAwsome5\r\n faUserLock = faUserLock;\r\n faLockOpen = faLockOpen;\r\n\r\n constructor(private appShape: AppShape, private security: SecurityService) \r\n { \r\n localStorage.removeItem(\"cat_authData\");\r\n this.security.userApiData.next(null);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n // Get session key for application \r\n // Get full height of the elementa as observable\r\n this.appShape.navHeight.subscribe(p => {\r\n this.contentHeight = this.appShape.getConntentHeight() + \"px\";\r\n });\r\n\r\n }\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}