@c8y/ngx-components 1006.6.36 → 1006.6.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/c8y-ngx-components-connectivity.umd.js +1 -1
- package/bundles/c8y-ngx-components-connectivity.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-connectivity.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-connectivity.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.js +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-repository.umd.js +1 -1
- package/bundles/c8y-ngx-components-repository.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-repository.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-repository.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.js +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.js +400 -131
- package/bundles/c8y-ngx-components.umd.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.min.js +2 -2
- package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
- package/c8y-ngx-components.d.ts +90 -87
- package/c8y-ngx-components.metadata.json +1 -1
- package/connectivity/c8y-ngx-components-connectivity.metadata.json +1 -1
- package/context-dashboard/c8y-ngx-components-context-dashboard.metadata.json +1 -1
- package/core/authentication/new-password.component.d.ts +8 -6
- package/core/docs/guide-docs.component.d.ts +25 -3
- package/core/forms/validation-pattern.d.ts +1 -0
- package/core/i18n/force-html-translate.directive.d.ts +32 -0
- package/core/login/change-password.component.d.ts +1 -1
- package/core/login/login.service.d.ts +15 -2
- package/core/login/password-strength-validator.directive.d.ts +9 -0
- package/core/login/strength-validator-service.d.ts +7 -0
- package/core/user/user-edit.component.d.ts +4 -2
- package/esm2015/c8y-ngx-components.js +90 -87
- package/esm2015/connectivity/impact/impact-provider-settings.component.js +2 -2
- package/esm2015/context-dashboard/legacy-welcome/legacy-welcome.component.js +2 -2
- package/esm2015/core/authentication/new-password.component.js +15 -20
- package/esm2015/core/dashboard/widgets-dashboard.component.js +2 -2
- package/esm2015/core/docs/guide-docs.component.js +69 -4
- package/esm2015/core/forms/validation-pattern.js +2 -1
- package/esm2015/core/i18n/force-html-translate.directive.js +99 -0
- package/esm2015/core/i18n/i18n.module.js +5 -3
- package/esm2015/core/i18n/pattern-messages.data.js +2 -2
- package/esm2015/core/login/change-password.component.js +5 -5
- package/esm2015/core/login/credentials.component.js +2 -2
- package/esm2015/core/login/login.module.js +4 -2
- package/esm2015/core/login/login.service.js +40 -6
- package/esm2015/core/login/password-strength-validator.directive.js +32 -0
- package/esm2015/core/login/strength-validator-service.js +28 -0
- package/esm2015/core/user/user-edit.component.js +10 -5
- package/esm2015/repository/configuration/configuration-list.component.js +2 -2
- package/esm2015/sensor-phone/sensor-phone-modal.component.js +2 -2
- package/esm5/c8y-ngx-components.js +90 -87
- package/esm5/connectivity/impact/impact-provider-settings.component.js +2 -2
- package/esm5/context-dashboard/legacy-welcome/legacy-welcome.component.js +2 -2
- package/esm5/core/authentication/new-password.component.js +21 -25
- package/esm5/core/dashboard/widgets-dashboard.component.js +2 -2
- package/esm5/core/docs/guide-docs.component.js +72 -4
- package/esm5/core/forms/validation-pattern.js +2 -1
- package/esm5/core/i18n/force-html-translate.directive.js +105 -0
- package/esm5/core/i18n/i18n.module.js +5 -3
- package/esm5/core/i18n/pattern-messages.data.js +2 -2
- package/esm5/core/login/change-password.component.js +5 -5
- package/esm5/core/login/credentials.component.js +2 -2
- package/esm5/core/login/login.module.js +4 -2
- package/esm5/core/login/login.service.js +43 -6
- package/esm5/core/login/password-strength-validator.directive.js +38 -0
- package/esm5/core/login/strength-validator-service.js +29 -0
- package/esm5/core/user/user-edit.component.js +19 -9
- package/esm5/repository/configuration/configuration-list.component.js +2 -2
- package/esm5/sensor-phone/sensor-phone-modal.component.js +2 -2
- package/fesm2015/c8y-ngx-components-connectivity.js +1 -1
- package/fesm2015/c8y-ngx-components-connectivity.js.map +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.js +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.js.map +1 -1
- package/fesm2015/c8y-ngx-components-repository.js +1 -1
- package/fesm2015/c8y-ngx-components-repository.js.map +1 -1
- package/fesm2015/c8y-ngx-components-sensor-phone.js +1 -1
- package/fesm2015/c8y-ngx-components-sensor-phone.js.map +1 -1
- package/fesm2015/c8y-ngx-components.js +281 -40
- package/fesm2015/c8y-ngx-components.js.map +1 -1
- package/fesm5/c8y-ngx-components-connectivity.js +1 -1
- package/fesm5/c8y-ngx-components-connectivity.js.map +1 -1
- package/fesm5/c8y-ngx-components-context-dashboard.js +1 -1
- package/fesm5/c8y-ngx-components-context-dashboard.js.map +1 -1
- package/fesm5/c8y-ngx-components-repository.js +1 -1
- package/fesm5/c8y-ngx-components-repository.js.map +1 -1
- package/fesm5/c8y-ngx-components-sensor-phone.js +1 -1
- package/fesm5/c8y-ngx-components-sensor-phone.js.map +1 -1
- package/fesm5/c8y-ngx-components.js +315 -49
- package/fesm5/c8y-ngx-components.js.map +1 -1
- package/locales/de.po +71 -60
- package/locales/es.po +120 -85
- package/locales/fr.po +107 -72
- package/locales/ja_JP.po +89 -78
- package/locales/ko.po +92 -57
- package/locales/locales.pot +9 -9
- package/locales/nl.po +95 -60
- package/locales/pl.po +88 -53
- package/locales/pt_BR.po +174 -138
- package/locales/ru.po +120 -85
- package/locales/zh_CN.po +87 -52
- package/package.json +2 -2
- package/repository/c8y-ngx-components-repository.metadata.json +1 -1
- package/sensor-phone/c8y-ngx-components-sensor-phone.metadata.json +1 -1
|
@@ -585,7 +585,7 @@
|
|
|
585
585
|
ConfigurationListComponent = __decorate([
|
|
586
586
|
core.Component({
|
|
587
587
|
selector: 'c8y-configuration-list',
|
|
588
|
-
template: "<c8y-title>\n <span translate>Configuration snapshots repository</span> \n <small *ngIf=\"(configurations$ | async)?.paging.totalPages === 1 && !filterTerm\"\n >{{ (configurations$ | async).data.length }} <span translate>snapshots</span></small\n >\n <small\n *ngIf=\"(configurations$ | async)?.paging.totalPages > 1 && !filterTerm\"\n [tooltip]=\"'More data available. Scroll to the bottom of the list to load it.' | translate\"\n container=\"body\"\n >{{ (configurations$ | async).paging.pageSize }}+ <span translate>snapshots</span></small\n >\n <small *ngIf=\"filterTerm\"\n ><span translate>Search results for</span> \"{{ this.filterTerm }}\"</small\n >\n</c8y-title>\n\n<c8y-action-bar-item itemClass=\"navbar-form\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"text\"\n [value]=\"filterTerm\"\n (keyup)=\"filterChange$.next($event)\"\n />\n <span class=\"input-group-btn\">\n <button class=\"btn btn-clean\" (click)=\"filterTerm = ''; setPipe('')\">\n <i [c8yIcon]=\"filterTerm.length === 0 ? 'filter' : 'close'\"></i>\n </button>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button class=\"btn btn-link\" (click)=\"add()\">\n <i c8yIcon=\"plus-square\"></i> {{ 'Add configuration snapshot' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<div\n class=\"c8y-empty-state text-center\"\n *ngIf=\"!filterTerm && (configurations$ | async)?.data.length === 0\"\n>\n <h1 c8yIcon=\"gears\"></h1>\n <h3 translate>There are no configuration snapshots defined</h3>\n <p translate>Add a configuration snapshot first.</p>\n <div>\n <button (click)=\"add()\" class=\"btn btn-primary\" translate>\n Add configuration snapshot\n </button>\n </div>\n <p c8y-guide-docs>\n <small
|
|
588
|
+
template: "<c8y-title>\n <span translate>Configuration snapshots repository</span> \n <small *ngIf=\"(configurations$ | async)?.paging.totalPages === 1 && !filterTerm\"\n >{{ (configurations$ | async).data.length }} <span translate>snapshots</span></small\n >\n <small\n *ngIf=\"(configurations$ | async)?.paging.totalPages > 1 && !filterTerm\"\n [tooltip]=\"'More data available. Scroll to the bottom of the list to load it.' | translate\"\n container=\"body\"\n >{{ (configurations$ | async).paging.pageSize }}+ <span translate>snapshots</span></small\n >\n <small *ngIf=\"filterTerm\"\n ><span translate>Search results for</span> \"{{ this.filterTerm }}\"</small\n >\n</c8y-title>\n\n<c8y-action-bar-item itemClass=\"navbar-form\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"text\"\n [value]=\"filterTerm\"\n (keyup)=\"filterChange$.next($event)\"\n />\n <span class=\"input-group-btn\">\n <button class=\"btn btn-clean\" (click)=\"filterTerm = ''; setPipe('')\">\n <i [c8yIcon]=\"filterTerm.length === 0 ? 'filter' : 'close'\"></i>\n </button>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button class=\"btn btn-link\" (click)=\"add()\">\n <i c8yIcon=\"plus-square\"></i> {{ 'Add configuration snapshot' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<div\n class=\"c8y-empty-state text-center\"\n *ngIf=\"!filterTerm && (configurations$ | async)?.data.length === 0\"\n>\n <h1 c8yIcon=\"gears\"></h1>\n <h3 translate>There are no configuration snapshots defined</h3>\n <p translate>Add a configuration snapshot first.</p>\n <div>\n <button (click)=\"add()\" class=\"btn btn-primary\" translate>\n Add configuration snapshot\n </button>\n </div>\n <p c8y-guide-docs>\n <small forceHtmlTranslate ngNonBindable\n >Find out more in the\n <a c8y-guide-href=\"users-guide/device-management/#configuration-repository\"\n >User guide`KEEP_ORIGINAL`</a\n >.</small\n >\n </p>\n</div>\n\n<ng-template #notFound>\n <c8y-li class=\"p-8 text-center\">\n <p>\n <span translate>No more entries found for filter:</span> <strong>{{\n filterTerm\n }}</strong>\n </p>\n <button class=\"btn btn-primary btn-xs m-t-8\" translate (click)=\"filterTerm = ''; setPipe('')\">\n Reset filter\n </button>\n </c8y-li>\n</ng-template>\n<div class=\"p-b-32\">\n <c8y-list-group>\n <c8y-li\n *c8yFor=\"\n let configuration of configurations$;\n pipe: filterPipe;\n notFound: this.filterTerm ? notFound : undefined\n \"\n >\n <c8y-li-icon icon=\"gears\"></c8y-li-icon>\n <div class=\"row flex-row\">\n <div class=\"col-xs-3\">\n <c8y-highlight\n [text]=\"configuration.name || '-'\"\n elementClass=\"text-info\"\n [pattern]=\"filterTerm\"\n ></c8y-highlight>\n </div>\n <div class=\"col-xs-3\">\n <span class=\"text-muted text-truncate\" [title]=\"configuration.description\">{{\n configuration.description\n }}</span>\n </div>\n <div class=\"col-xs-3\">\n <small translate class=\"text-muted text-uppercase\">Device type:</small> \n {{ configuration.deviceType || '-' }}\n </div>\n <div class=\"col-xs-3 text-right\">\n <span class=\"label label-primary\" *ngIf=\"configuration.configurationType\">\n <c8y-highlight\n [text]=\"configuration.configurationType\"\n elementClass=\"text-info\"\n [pattern]=\"filterTerm\"\n ></c8y-highlight>\n </span>\n </div>\n </div>\n <c8y-li-action (click)=\"edit(configuration)\" icon=\"pencil\">\n Edit\n </c8y-li-action>\n <c8y-li-action (click)=\"delete(configuration)\" icon=\"trash-o\">\n Delete\n </c8y-li-action>\n </c8y-li>\n </c8y-list-group>\n</div>\n"
|
|
589
589
|
})
|
|
590
590
|
], ConfigurationListComponent);
|
|
591
591
|
return ConfigurationListComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-repository.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@c8y/ngx-components/repository/repository.model.ts","ng://@c8y/ngx-components/repository/repository.service.ts","ng://@c8y/ngx-components/repository/configuration/configuration-new-modal.component.ts","ng://@c8y/ngx-components/repository/configuration/configuration-list.component.ts","ng://@c8y/ngx-components/repository/repository-navigation-factory.ts","ng://@c8y/ngx-components/repository/repository.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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","import { IManagedObject } from '@c8y/client';\n\nexport enum RepositoryType {\n FIRMWARE = 'c8y_Firmware',\n SOFTWARE = 'c8y_Software',\n CONFIGURATION = 'c8y_ConfigurationDump'\n}\n\nexport const REPOSITORY_BINARY_TYPE = {\n [RepositoryType.SOFTWARE]: 'c8y_SoftwareBinary',\n [RepositoryType.FIRMWARE]: 'c8y_FirmwareBinary',\n [RepositoryType.CONFIGURATION]: 'c8y_ConfigurationDumpBinary'\n};\n\nexport interface RepositoryModal {\n selected: { id: string; name?: string; [key: string]: any };\n versionOrName: string;\n description: string;\n deviceType?: string;\n binary: {\n file?: File;\n url?: string;\n };\n}\n\nexport interface RepositoryCategory extends Partial<IManagedObject> {\n type: string;\n description: string;\n c8y_Filter: {\n type: string;\n };\n}\n\nexport interface FirmwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Firmware: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n\nexport interface FirmwarePatchBinary extends FirmwareBinary {\n c8y_Patch: {\n dependency: string;\n };\n}\n\nexport interface SoftwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Software: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n","import { Injectable } from '@angular/core';\nimport { InventoryService, IIdentified, InventoryBinaryService, IManagedObject } from '@c8y/client';\nimport { RepositoryModal, RepositoryType } from './repository.model';\n\n@Injectable()\nexport class RepositoryService {\n constructor(\n private inventory: InventoryService,\n private inventoryBinary: InventoryBinaryService\n ) {}\n\n listConfigurations() {\n return this.inventory.list({\n type: RepositoryType.CONFIGURATION,\n withTotalPages: true,\n pageSize: 50\n });\n }\n\n delete(entity: IIdentified) {\n // TODO: add cascading delete (will be done by Dawid)\n return this.inventory.delete(entity);\n }\n\n async save(data: RepositoryModal, type: RepositoryType, mo: Partial<IManagedObject> = {}) {\n switch (type) {\n case RepositoryType.CONFIGURATION: {\n Object.assign(mo, {\n type: RepositoryType.CONFIGURATION,\n configurationType: data.selected ? data.selected.configurationType : undefined,\n name: data.versionOrName,\n description: data.description,\n deviceType: data.deviceType,\n c8y_Global: {}\n });\n break;\n }\n }\n\n const existingUrl = mo.url;\n if (data.binary.url) {\n mo.url = data.binary.url;\n } else if (data.binary.file) {\n const response = await this.inventoryBinary.create(data.binary.file, { c8y_Global: {} });\n mo.url = response.data.self;\n }\n\n if (mo.id) {\n return this.updateEntry(mo, existingUrl);\n }\n return this.createEntry(mo);\n }\n\n private async createEntry(mo: Partial<IManagedObject>) {\n const binaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n const newMo = await this.inventory.create(mo);\n if (binaryId) {\n await this.inventory.childAdditionsAdd(binaryId, newMo.data);\n }\n return newMo;\n }\n\n private async updateEntry(mo: Partial<IManagedObject>, url) {\n const existingBinaryId = await this.inventoryBinary.getIdFromUrl(url);\n const newBinaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n if (existingBinaryId && existingBinaryId !== newBinaryId) {\n const id = this.inventoryBinary.getIdFromUrl(url);\n await this.inventoryBinary.delete(id);\n }\n if (newBinaryId) {\n await this.inventory.childAdditionsAdd(newBinaryId, mo);\n }\n return this.inventory.update(mo);\n }\n}\n","import { Component } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { IManagedObject } from '@c8y/client';\nimport { AlertService, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { uniqBy } from 'lodash';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { pipe } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RepositoryModal, RepositoryType } from '../repository.model';\nimport { RepositoryService } from '../repository.service';\n\n@Component({\n selector: 'c8y-configuration-new-modal',\n templateUrl: './configuration-new-modal.component.html'\n})\nexport class ConfigurationNewModalComponent implements RepositoryModal {\n selected: { id: string; name: string };\n versionOrName: string;\n description: string;\n binary: { file?: File; url?: string } = {\n file: undefined,\n url: undefined\n };\n deviceType: string;\n\n pattern: string = '';\n filterPipe;\n configs;\n mo: Partial<IManagedObject> = {};\n isLoading = false;\n\n result: Promise<void> = new Promise((resolve, reject) => {\n this._save = resolve;\n this._cancel = reject;\n });\n\n private _save;\n private _cancel;\n\n constructor(\n private repositoryService: RepositoryService,\n private bsModalRef: BsModalRef,\n private alert: AlertService\n ) {}\n\n async ngOnInit() {\n this.configs = await this.repositoryService.listConfigurations();\n this.setPipe('');\n }\n\n cancel() {\n this.bsModalRef.hide();\n this._cancel();\n }\n\n setPipe(filterStr: string) {\n this.pattern = filterStr;\n this.filterPipe = pipe(\n map((data: []) => uniqBy(data, 'configurationType')),\n map((data: []) => {\n return data.filter(\n (mo: any) =>\n mo.configurationType &&\n mo.configurationType.toLowerCase().indexOf(filterStr.toLowerCase()) > -1\n );\n })\n );\n }\n\n uploadFile(dropped: DroppedFile[], ngForm: NgForm) {\n this.binary.file = dropped[0].file;\n this.binary.url = undefined;\n ngForm.form.markAsDirty();\n }\n\n async save() {\n try {\n this.isLoading = true;\n const { selected, versionOrName, description, binary, deviceType } = this;\n await this.repositoryService.save(\n { selected, versionOrName, description, binary, deviceType },\n RepositoryType.CONFIGURATION,\n this.mo\n );\n this.alert.success(\n this.mo.id ? gettext('Configuration updated.') : gettext('Configuration created.')\n );\n this.bsModalRef.hide();\n this._save();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n this._cancel();\n } finally {\n this.isLoading = false;\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { IManagedObject, IResultList } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { Observable, pipe, Subject, timer, of } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { RepositoryService } from '../repository.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ConfigurationNewModalComponent } from './configuration-new-modal.component';\nimport { RepositoryModal } from '../repository.model';\n\n@Component({\n selector: 'c8y-configuration-list',\n templateUrl: './configuration-list.component.html'\n})\nexport class ConfigurationListComponent implements OnInit {\n configurations$: Observable<IResultList<IManagedObject>>;\n filterPipe;\n filterChange$ = new Subject();\n filterTerm = '';\n private readonly CARRIAGE_RETURN_KEY = 13;\n private readonly CARRIAGE_RETURN_CODE = 'Enter';\n private readonly DELETED_SUCCESS_MSG = gettext('Configuration deleted.');\n\n constructor(\n private alert: AlertService,\n private repositoryService: RepositoryService,\n private modalService: BsModalService\n ) {}\n\n async ngOnInit() {\n await this.reset();\n\n this.filterChange$\n .pipe(\n debounce((event: any) =>\n event.code === this.CARRIAGE_RETURN_CODE || event.keyCode === this.CARRIAGE_RETURN_KEY\n ? timer(10)\n : timer(300)\n ),\n map((e: any) => e.target.value),\n distinctUntilChanged()\n )\n .subscribe(filterTerm => {\n this.filterTerm = filterTerm;\n this.setPipe(filterTerm);\n });\n }\n\n ngOnDestroy(): void {\n this.filterChange$.complete();\n }\n\n async add() {\n try {\n await (this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true\n }).content as ConfigurationNewModalComponent).result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async edit(configuration: IManagedObject) {\n try {\n const modal = this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true,\n initialState: {\n selected: { id: configuration.id, configurationType: configuration.configurationType },\n versionOrName: configuration.name,\n deviceType: configuration.deviceType,\n description: configuration.description,\n binary: { url: configuration.url }\n } as RepositoryModal\n }).content as ConfigurationNewModalComponent;\n modal.mo = configuration;\n await modal.result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async delete(configuration: IManagedObject) {\n try {\n await this.repositoryService.delete(configuration);\n this.alert.success(this.DELETED_SUCCESS_MSG);\n await this.reset();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n }\n }\n\n setPipe(filterTerm: string) {\n this.filterPipe = pipe(\n map((data: []) =>\n filterTerm.trim().length === 0\n ? data\n : data.filter(\n (mo: IManagedObject) =>\n this.filterContainString(mo.name, filterTerm) ||\n this.filterContainString(mo.configurationType, filterTerm)\n )\n )\n );\n }\n\n private filterContainString(name: string, filterTerm: string) {\n const term = filterTerm.toLowerCase().trim();\n return name && name.toLowerCase().indexOf(term) > -1;\n }\n\n private async reset() {\n this.filterTerm = '';\n this.configurations$ = of(await this.repositoryService.listConfigurations());\n this.setPipe('');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory, OptionsService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class RepositoryNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private optionsService: OptionsService) {}\n\n async get() {\n const betaFlag = localStorage.getItem('c8y_beta_status');\n if (betaFlag === 'all' && this.navs.length === 0) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('Configuration repository'),\n path: 'configuration-new',\n icon: 'gears',\n parent: gettext('Management'),\n priority: 800\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n CoreModule,\n HOOK_NAVIGATOR_NODES,\n HOOK_ONCE_ROUTE,\n Route\n} from '@c8y/ngx-components';\nimport { ConfigurationListComponent } from './configuration/configuration-list.component';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { RepositoryService } from './repository.service';\nimport { ConfigurationNewModalComponent } from './configuration/configuration-new-modal.component';\nimport { RepositoryNavigationFactory } from './repository-navigation-factory';\n\n@NgModule({\n imports: [CoreModule, TooltipModule],\n exports: [],\n entryComponents: [ConfigurationListComponent, ConfigurationNewModalComponent],\n declarations: [ConfigurationListComponent, ConfigurationNewModalComponent],\n providers: [\n RepositoryService,\n {\n provide: HOOK_NAVIGATOR_NODES,\n useClass: RepositoryNavigationFactory,\n multi: true\n },\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n path: 'configuration-new',\n component: ConfigurationListComponent\n }\n ] as Route[],\n multi: true\n }\n ]\n})\nexport class RepositoryModule {}\n"],"names":["InventoryService","InventoryBinaryService","Injectable","pipe","map","uniqBy","gettext","BsModalRef","AlertService","Component","Subject","debounce","timer","distinctUntilChanged","of","BsModalService","NavigatorNode","OptionsService","NgModule","CoreModule","TooltipModule","HOOK_NAVIGATOR_NODES","HOOK_ONCE_ROUTE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-repository.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@c8y/ngx-components/repository/repository.model.ts","ng://@c8y/ngx-components/repository/repository.service.ts","ng://@c8y/ngx-components/repository/configuration/configuration-new-modal.component.ts","ng://@c8y/ngx-components/repository/configuration/configuration-list.component.ts","ng://@c8y/ngx-components/repository/repository-navigation-factory.ts","ng://@c8y/ngx-components/repository/repository.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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","import { IManagedObject } from '@c8y/client';\n\nexport enum RepositoryType {\n FIRMWARE = 'c8y_Firmware',\n SOFTWARE = 'c8y_Software',\n CONFIGURATION = 'c8y_ConfigurationDump'\n}\n\nexport const REPOSITORY_BINARY_TYPE = {\n [RepositoryType.SOFTWARE]: 'c8y_SoftwareBinary',\n [RepositoryType.FIRMWARE]: 'c8y_FirmwareBinary',\n [RepositoryType.CONFIGURATION]: 'c8y_ConfigurationDumpBinary'\n};\n\nexport interface RepositoryModal {\n selected: { id: string; name?: string; [key: string]: any };\n versionOrName: string;\n description: string;\n deviceType?: string;\n binary: {\n file?: File;\n url?: string;\n };\n}\n\nexport interface RepositoryCategory extends Partial<IManagedObject> {\n type: string;\n description: string;\n c8y_Filter: {\n type: string;\n };\n}\n\nexport interface FirmwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Firmware: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n\nexport interface FirmwarePatchBinary extends FirmwareBinary {\n c8y_Patch: {\n dependency: string;\n };\n}\n\nexport interface SoftwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Software: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n","import { Injectable } from '@angular/core';\nimport { InventoryService, IIdentified, InventoryBinaryService, IManagedObject } from '@c8y/client';\nimport { RepositoryModal, RepositoryType } from './repository.model';\n\n@Injectable()\nexport class RepositoryService {\n constructor(\n private inventory: InventoryService,\n private inventoryBinary: InventoryBinaryService\n ) {}\n\n listConfigurations() {\n return this.inventory.list({\n type: RepositoryType.CONFIGURATION,\n withTotalPages: true,\n pageSize: 50\n });\n }\n\n delete(entity: IIdentified) {\n // TODO: add cascading delete (will be done by Dawid)\n return this.inventory.delete(entity);\n }\n\n async save(data: RepositoryModal, type: RepositoryType, mo: Partial<IManagedObject> = {}) {\n switch (type) {\n case RepositoryType.CONFIGURATION: {\n Object.assign(mo, {\n type: RepositoryType.CONFIGURATION,\n configurationType: data.selected ? data.selected.configurationType : undefined,\n name: data.versionOrName,\n description: data.description,\n deviceType: data.deviceType,\n c8y_Global: {}\n });\n break;\n }\n }\n\n const existingUrl = mo.url;\n if (data.binary.url) {\n mo.url = data.binary.url;\n } else if (data.binary.file) {\n const response = await this.inventoryBinary.create(data.binary.file, { c8y_Global: {} });\n mo.url = response.data.self;\n }\n\n if (mo.id) {\n return this.updateEntry(mo, existingUrl);\n }\n return this.createEntry(mo);\n }\n\n private async createEntry(mo: Partial<IManagedObject>) {\n const binaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n const newMo = await this.inventory.create(mo);\n if (binaryId) {\n await this.inventory.childAdditionsAdd(binaryId, newMo.data);\n }\n return newMo;\n }\n\n private async updateEntry(mo: Partial<IManagedObject>, url) {\n const existingBinaryId = await this.inventoryBinary.getIdFromUrl(url);\n const newBinaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n if (existingBinaryId && existingBinaryId !== newBinaryId) {\n const id = this.inventoryBinary.getIdFromUrl(url);\n await this.inventoryBinary.delete(id);\n }\n if (newBinaryId) {\n await this.inventory.childAdditionsAdd(newBinaryId, mo);\n }\n return this.inventory.update(mo);\n }\n}\n","import { Component } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { IManagedObject } from '@c8y/client';\nimport { AlertService, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { uniqBy } from 'lodash';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { pipe } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RepositoryModal, RepositoryType } from '../repository.model';\nimport { RepositoryService } from '../repository.service';\n\n@Component({\n selector: 'c8y-configuration-new-modal',\n templateUrl: './configuration-new-modal.component.html'\n})\nexport class ConfigurationNewModalComponent implements RepositoryModal {\n selected: { id: string; name: string };\n versionOrName: string;\n description: string;\n binary: { file?: File; url?: string } = {\n file: undefined,\n url: undefined\n };\n deviceType: string;\n\n pattern: string = '';\n filterPipe;\n configs;\n mo: Partial<IManagedObject> = {};\n isLoading = false;\n\n result: Promise<void> = new Promise((resolve, reject) => {\n this._save = resolve;\n this._cancel = reject;\n });\n\n private _save;\n private _cancel;\n\n constructor(\n private repositoryService: RepositoryService,\n private bsModalRef: BsModalRef,\n private alert: AlertService\n ) {}\n\n async ngOnInit() {\n this.configs = await this.repositoryService.listConfigurations();\n this.setPipe('');\n }\n\n cancel() {\n this.bsModalRef.hide();\n this._cancel();\n }\n\n setPipe(filterStr: string) {\n this.pattern = filterStr;\n this.filterPipe = pipe(\n map((data: []) => uniqBy(data, 'configurationType')),\n map((data: []) => {\n return data.filter(\n (mo: any) =>\n mo.configurationType &&\n mo.configurationType.toLowerCase().indexOf(filterStr.toLowerCase()) > -1\n );\n })\n );\n }\n\n uploadFile(dropped: DroppedFile[], ngForm: NgForm) {\n this.binary.file = dropped[0].file;\n this.binary.url = undefined;\n ngForm.form.markAsDirty();\n }\n\n async save() {\n try {\n this.isLoading = true;\n const { selected, versionOrName, description, binary, deviceType } = this;\n await this.repositoryService.save(\n { selected, versionOrName, description, binary, deviceType },\n RepositoryType.CONFIGURATION,\n this.mo\n );\n this.alert.success(\n this.mo.id ? gettext('Configuration updated.') : gettext('Configuration created.')\n );\n this.bsModalRef.hide();\n this._save();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n this._cancel();\n } finally {\n this.isLoading = false;\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { IManagedObject, IResultList } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { Observable, pipe, Subject, timer, of } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { RepositoryService } from '../repository.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ConfigurationNewModalComponent } from './configuration-new-modal.component';\nimport { RepositoryModal } from '../repository.model';\n\n@Component({\n selector: 'c8y-configuration-list',\n templateUrl: './configuration-list.component.html'\n})\nexport class ConfigurationListComponent implements OnInit {\n configurations$: Observable<IResultList<IManagedObject>>;\n filterPipe;\n filterChange$ = new Subject();\n filterTerm = '';\n private readonly CARRIAGE_RETURN_KEY = 13;\n private readonly CARRIAGE_RETURN_CODE = 'Enter';\n private readonly DELETED_SUCCESS_MSG = gettext('Configuration deleted.');\n\n constructor(\n private alert: AlertService,\n private repositoryService: RepositoryService,\n private modalService: BsModalService\n ) {}\n\n async ngOnInit() {\n await this.reset();\n\n this.filterChange$\n .pipe(\n debounce((event: any) =>\n event.code === this.CARRIAGE_RETURN_CODE || event.keyCode === this.CARRIAGE_RETURN_KEY\n ? timer(10)\n : timer(300)\n ),\n map((e: any) => e.target.value),\n distinctUntilChanged()\n )\n .subscribe(filterTerm => {\n this.filterTerm = filterTerm;\n this.setPipe(filterTerm);\n });\n }\n\n ngOnDestroy(): void {\n this.filterChange$.complete();\n }\n\n async add() {\n try {\n await (this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true\n }).content as ConfigurationNewModalComponent).result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async edit(configuration: IManagedObject) {\n try {\n const modal = this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true,\n initialState: {\n selected: { id: configuration.id, configurationType: configuration.configurationType },\n versionOrName: configuration.name,\n deviceType: configuration.deviceType,\n description: configuration.description,\n binary: { url: configuration.url }\n } as RepositoryModal\n }).content as ConfigurationNewModalComponent;\n modal.mo = configuration;\n await modal.result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async delete(configuration: IManagedObject) {\n try {\n await this.repositoryService.delete(configuration);\n this.alert.success(this.DELETED_SUCCESS_MSG);\n await this.reset();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n }\n }\n\n setPipe(filterTerm: string) {\n this.filterPipe = pipe(\n map((data: []) =>\n filterTerm.trim().length === 0\n ? data\n : data.filter(\n (mo: IManagedObject) =>\n this.filterContainString(mo.name, filterTerm) ||\n this.filterContainString(mo.configurationType, filterTerm)\n )\n )\n );\n }\n\n private filterContainString(name: string, filterTerm: string) {\n const term = filterTerm.toLowerCase().trim();\n return name && name.toLowerCase().indexOf(term) > -1;\n }\n\n private async reset() {\n this.filterTerm = '';\n this.configurations$ = of(await this.repositoryService.listConfigurations());\n this.setPipe('');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory, OptionsService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class RepositoryNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private optionsService: OptionsService) {}\n\n async get() {\n const betaFlag = localStorage.getItem('c8y_beta_status');\n if (betaFlag === 'all' && this.navs.length === 0) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('Configuration repository'),\n path: 'configuration-new',\n icon: 'gears',\n parent: gettext('Management'),\n priority: 800\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n CoreModule,\n HOOK_NAVIGATOR_NODES,\n HOOK_ONCE_ROUTE,\n Route\n} from '@c8y/ngx-components';\nimport { ConfigurationListComponent } from './configuration/configuration-list.component';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { RepositoryService } from './repository.service';\nimport { ConfigurationNewModalComponent } from './configuration/configuration-new-modal.component';\nimport { RepositoryNavigationFactory } from './repository-navigation-factory';\n\n@NgModule({\n imports: [CoreModule, TooltipModule],\n exports: [],\n entryComponents: [ConfigurationListComponent, ConfigurationNewModalComponent],\n declarations: [ConfigurationListComponent, ConfigurationNewModalComponent],\n providers: [\n RepositoryService,\n {\n provide: HOOK_NAVIGATOR_NODES,\n useClass: RepositoryNavigationFactory,\n multi: true\n },\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n path: 'configuration-new',\n component: ConfigurationListComponent\n }\n ] as Route[],\n multi: true\n }\n ]\n})\nexport class RepositoryModule {}\n"],"names":["InventoryService","InventoryBinaryService","Injectable","pipe","map","uniqBy","gettext","BsModalRef","AlertService","Component","Subject","debounce","timer","distinctUntilChanged","of","BsModalService","NavigatorNode","OptionsService","NgModule","CoreModule","TooltipModule","HOOK_NAVIGATOR_NODES","HOOK_ONCE_ROUTE"],"mappings":"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"}
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
|
|
13
13
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
14
|
and limitations under the License.
|
|
15
|
-
***************************************************************************** */var l,u;function p(n,t,e,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(n,t,e,i);else for(var s=n.length-1;s>=0;s--)(r=n[s])&&(a=(o<3?r(a):o>3?r(t,e,a):r(t,e))||a);return o>3&&a&&Object.defineProperty(t,e,a),a}function f(n,t,e,i){return new(e||(e=Promise))((function(r,o){function a(n){try{c(i.next(n))}catch(n){o(n)}}function s(n){try{c(i.throw(n))}catch(n){o(n)}}function c(n){n.done?r(n.value):new e((function(t){t(n.value)})).then(a,s)}c((i=i.apply(n,t||[])).next())}))}function d(n,t){var e,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){a.label=o[1];break}if(6===o[0]&&a.label<r[1]){a.label=r[1],r=o;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(o);break}r[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(n,a)}catch(n){o=[6,n],i=0}finally{e=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}!function(n){n.FIRMWARE="c8y_Firmware",n.SOFTWARE="c8y_Software",n.CONFIGURATION="c8y_ConfigurationDump"}(u||(u={}));(l={})[u.SOFTWARE]="c8y_SoftwareBinary",l[u.FIRMWARE]="c8y_FirmwareBinary",l[u.CONFIGURATION]="c8y_ConfigurationDumpBinary";var y=function(){function n(n,t){this.inventory=n,this.inventoryBinary=t}return n.prototype.listConfigurations=function(){return this.inventory.list({type:u.CONFIGURATION,withTotalPages:!0,pageSize:50})},n.prototype.delete=function(n){return this.inventory.delete(n)},n.prototype.save=function(n,t,e){return void 0===e&&(e={}),f(this,void 0,void 0,(function(){var i,r;return d(this,(function(o){switch(o.label){case 0:switch(t){case u.CONFIGURATION:Object.assign(e,{type:u.CONFIGURATION,configurationType:n.selected?n.selected.configurationType:void 0,name:n.versionOrName,description:n.description,deviceType:n.deviceType,c8y_Global:{}})}return i=e.url,n.binary.url?(e.url=n.binary.url,[3,3]):[3,1];case 1:return n.binary.file?[4,this.inventoryBinary.create(n.binary.file,{c8y_Global:{}})]:[3,3];case 2:r=o.sent(),e.url=r.data.self,o.label=3;case 3:return e.id?[2,this.updateEntry(e,i)]:[2,this.createEntry(e)]}}))}))},n.prototype.createEntry=function(n){return f(this,void 0,void 0,(function(){var t,e;return d(this,(function(i){switch(i.label){case 0:return[4,this.inventoryBinary.getIdFromUrl(n.url)];case 1:return t=i.sent(),[4,this.inventory.create(n)];case 2:return e=i.sent(),t?[4,this.inventory.childAdditionsAdd(t,e.data)]:[3,4];case 3:i.sent(),i.label=4;case 4:return[2,e]}}))}))},n.prototype.updateEntry=function(n,t){return f(this,void 0,void 0,(function(){var e,i,r;return d(this,(function(o){switch(o.label){case 0:return[4,this.inventoryBinary.getIdFromUrl(t)];case 1:return e=o.sent(),[4,this.inventoryBinary.getIdFromUrl(n.url)];case 2:return i=o.sent(),e&&e!==i?(r=this.inventoryBinary.getIdFromUrl(t),[4,this.inventoryBinary.delete(r)]):[3,4];case 3:o.sent(),o.label=4;case 4:return i?[4,this.inventory.childAdditionsAdd(i,n)]:[3,6];case 5:o.sent(),o.label=6;case 6:return[2,this.inventory.update(n)]}}))}))},n.ctorParameters=function(){return[{type:o.InventoryService},{type:o.InventoryBinaryService}]},n=p([t.Injectable()],n)}(),h=function(){function n(n,t,e){var i=this;this.repositoryService=n,this.bsModalRef=t,this.alert=e,this.binary={file:void 0,url:void 0},this.pattern="",this.mo={},this.isLoading=!1,this.result=new Promise((function(n,t){i._save=n,i._cancel=t}))}return n.prototype.ngOnInit=function(){return f(this,void 0,void 0,(function(){var n;return d(this,(function(t){switch(t.label){case 0:return n=this,[4,this.repositoryService.listConfigurations()];case 1:return n.configs=t.sent(),this.setPipe(""),[2]}}))}))},n.prototype.cancel=function(){this.bsModalRef.hide(),this._cancel()},n.prototype.setPipe=function(n){this.pattern=n,this.filterPipe=i.pipe(r.map((function(n){return s.uniqBy(n,"configurationType")})),r.map((function(t){return t.filter((function(t){return t.configurationType&&t.configurationType.toLowerCase().indexOf(n.toLowerCase())>-1}))})))},n.prototype.uploadFile=function(n,t){this.binary.file=n[0].file,this.binary.url=void 0,t.form.markAsDirty()},n.prototype.save=function(){return f(this,void 0,void 0,(function(){var n,t,i,r,o,a,s;return d(this,(function(c){switch(c.label){case 0:return c.trys.push([0,2,3,4]),this.isLoading=!0,t=(n=this).selected,i=n.versionOrName,r=n.description,o=n.binary,a=n.deviceType,[4,this.repositoryService.save({selected:t,versionOrName:i,description:r,binary:o,deviceType:a},u.CONFIGURATION,this.mo)];case 1:return c.sent(),this.alert.success(this.mo.id?e.gettext("Configuration updated."):e.gettext("Configuration created.")),this.bsModalRef.hide(),this._save(),[3,4];case 2:return s=c.sent(),this.alert.addServerFailure(s),this._cancel(),[3,4];case 3:return this.isLoading=!1,[7];case 4:return[2]}}))}))},n.ctorParameters=function(){return[{type:y},{type:a.BsModalRef},{type:e.AlertService}]},n=p([t.Component({selector:"c8y-configuration-new-modal",template:'<div class="modal-header bg-primary text-white text-center">\n <h1 c8yIcon="cogs" style="font-size: 55px;"></h1>\n <h4 class="p-t-16 text-uppercase" translate *ngIf="mo.id">Update configuration</h4>\n <h4 class="p-t-16 text-uppercase" translate *ngIf="!mo.id">Add configuration</h4>\n</div>\n\n<form #configurationForm="ngForm" (ngSubmit)="configurationForm.form.valid && save()">\n <div class="modal-body">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n type="text"\n class="form-control"\n placeholder="e.g. hosts"\n autocomplete="off"\n required\n maxlength="254"\n [(ngModel)]="versionOrName"\n name="versionOrName"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Device type</label>\n <input\n type="text"\n class="form-control"\n placeholder="e.g. Posix"\n maxlength="254"\n autocomplete="off"\n [(ngModel)]="deviceType"\n name="deviceType"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n type="text"\n class="form-control"\n placeholder="e.g. Host configuration Posix"\n maxlength="254"\n autocomplete="off"\n [(ngModel)]="description"\n name="description"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Configuration type</label>\n <c8y-typeahead\n [(selected)]="selected"\n placeholder="e.g. ssh"\n (onSearch)="setPipe($event)"\n displayProperty="configurationType"\n >\n <c8y-li\n *c8yFor="let config of configs; pipe: filterPipe; notFound: notFoundTemplate"\n class="p-l-8 p-r-8 c8y-list__item--link"\n (click)="selected = config; setPipe(\'\')"\n [active]="selected === config"\n >\n <c8y-highlight\n [text]="config.configurationType || \'--\'"\n [pattern]="pattern"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class="bg-gray-lighter p-8" *ngIf="pattern.length > 0">\n <span translate>No match found, add new`configuration`?</span>\n <button type="button" class="btn btn-primary btn-xs m-l-16" translate>\n Create new`configuration`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-drop-area\n (dropped)="uploadFile($event, configurationForm)"\n [loadingMessage]="\'Importing, please wait.\' | translate"\n [title]="\'Add a configuration file\' | translate"\n [loading]="isLoading"\n >\n </c8y-drop-area>\n </div>\n\n <div class="modal-footer">\n <button (click)="cancel()" type="button" class="btn btn-default" [disabled]="isLoading">\n <span translate>Cancel</span>\n </button>\n <button\n type="button"\n class="btn btn-primary"\n type="submit"\n [disabled]="!configurationForm.valid || configurationForm.pristine || isLoading"\n >\n <span translate *ngIf="!mo.id">Add configuration</span>\n <span translate *ngIf="mo.id">Update configuration</span>\n </button>\n </div>\n</form>\n'})],n)}(),g=function(){function n(n,t,r){this.alert=n,this.repositoryService=t,this.modalService=r,this.filterChange$=new i.Subject,this.filterTerm="",this.CARRIAGE_RETURN_KEY=13,this.CARRIAGE_RETURN_CODE="Enter",this.DELETED_SUCCESS_MSG=e.gettext("Configuration deleted.")}return n.prototype.ngOnInit=function(){return f(this,void 0,void 0,(function(){var n=this;return d(this,(function(t){switch(t.label){case 0:return[4,this.reset()];case 1:return t.sent(),this.filterChange$.pipe(r.debounce((function(t){return t.code===n.CARRIAGE_RETURN_CODE||t.keyCode===n.CARRIAGE_RETURN_KEY?i.timer(10):i.timer(300)})),r.map((function(n){return n.target.value})),r.distinctUntilChanged()).subscribe((function(t){n.filterTerm=t,n.setPipe(t)})),[2]}}))}))},n.prototype.ngOnDestroy=function(){this.filterChange$.complete()},n.prototype.add=function(){return f(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,this.modalService.show(h,{class:"modal-sm",ignoreBackdropClick:!0}).content.result];case 1:return n.sent(),[4,this.reset()];case 2:return n.sent(),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}}))}))},n.prototype.edit=function(n){return f(this,void 0,void 0,(function(){var t;return d(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),(t=this.modalService.show(h,{class:"modal-sm",ignoreBackdropClick:!0,initialState:{selected:{id:n.id,configurationType:n.configurationType},versionOrName:n.name,deviceType:n.deviceType,description:n.description,binary:{url:n.url}}}).content).mo=n,[4,t.result];case 1:return e.sent(),[4,this.reset()];case 2:return e.sent(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}}))}))},n.prototype.delete=function(n){return f(this,void 0,void 0,(function(){var t;return d(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,this.repositoryService.delete(n)];case 1:return e.sent(),this.alert.success(this.DELETED_SUCCESS_MSG),[4,this.reset()];case 2:return e.sent(),[3,4];case 3:return t=e.sent(),this.alert.addServerFailure(t),[3,4];case 4:return[2]}}))}))},n.prototype.setPipe=function(n){var t=this;this.filterPipe=i.pipe(r.map((function(e){return 0===n.trim().length?e:e.filter((function(e){return t.filterContainString(e.name,n)||t.filterContainString(e.configurationType,n)}))})))},n.prototype.filterContainString=function(n,t){var e=t.toLowerCase().trim();return n&&n.toLowerCase().indexOf(e)>-1},n.prototype.reset=function(){return f(this,void 0,void 0,(function(){var n,t;return d(this,(function(e){switch(e.label){case 0:return this.filterTerm="",n=this,t=i.of,[4,this.repositoryService.listConfigurations()];case 1:return n.configurations$=t.apply(void 0,[e.sent()]),this.setPipe(""),[2]}}))}))},n.ctorParameters=function(){return[{type:e.AlertService},{type:y},{type:a.BsModalService}]},n=p([t.Component({selector:"c8y-configuration-list",template:'<c8y-title>\n <span translate>Configuration snapshots repository</span> \n <small *ngIf="(configurations$ | async)?.paging.totalPages === 1 && !filterTerm"\n >{{ (configurations$ | async).data.length }} <span translate>snapshots</span></small\n >\n <small\n *ngIf="(configurations$ | async)?.paging.totalPages > 1 && !filterTerm"\n [tooltip]="\'More data available. Scroll to the bottom of the list to load it.\' | translate"\n container="body"\n >{{ (configurations$ | async).paging.pageSize }}+ <span translate>snapshots</span></small\n >\n <small *ngIf="filterTerm"\n ><span translate>Search results for</span> "{{ this.filterTerm }}"</small\n >\n</c8y-title>\n\n<c8y-action-bar-item itemClass="navbar-form">\n <div class="input-group input-group-search">\n <input\n class="form-control"\n placeholder="{{ \'Filter…\' | translate }}"\n type="text"\n [value]="filterTerm"\n (keyup)="filterChange$.next($event)"\n />\n <span class="input-group-btn">\n <button class="btn btn-clean" (click)="filterTerm = \'\'; setPipe(\'\')">\n <i [c8yIcon]="filterTerm.length === 0 ? \'filter\' : \'close\'"></i>\n </button>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]="\'right\'">\n <button class="btn btn-link" (click)="add()">\n <i c8yIcon="plus-square"></i> {{ \'Add configuration snapshot\' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<div\n class="c8y-empty-state text-center"\n *ngIf="!filterTerm && (configurations$ | async)?.data.length === 0"\n>\n <h1 c8yIcon="gears"></h1>\n <h3 translate>There are no configuration snapshots defined</h3>\n <p translate>Add a configuration snapshot first.</p>\n <div>\n <button (click)="add()" class="btn btn-primary" translate>\n Add configuration snapshot\n </button>\n </div>\n <p c8y-guide-docs>\n <small translate\n >Find out more in the\n <a c8y-guide-href="users-guide/device-management/#configuration-repository"\n >User guide`KEEP_ORIGINAL`</a\n >.</small\n >\n </p>\n</div>\n\n<ng-template #notFound>\n <c8y-li class="p-8 text-center">\n <p>\n <span translate>No more entries found for filter:</span> <strong>{{\n filterTerm\n }}</strong>\n </p>\n <button class="btn btn-primary btn-xs m-t-8" translate (click)="filterTerm = \'\'; setPipe(\'\')">\n Reset filter\n </button>\n </c8y-li>\n</ng-template>\n<div class="p-b-32">\n <c8y-list-group>\n <c8y-li\n *c8yFor="\n let configuration of configurations$;\n pipe: filterPipe;\n notFound: this.filterTerm ? notFound : undefined\n "\n >\n <c8y-li-icon icon="gears"></c8y-li-icon>\n <div class="row flex-row">\n <div class="col-xs-3">\n <c8y-highlight\n [text]="configuration.name || \'-\'"\n elementClass="text-info"\n [pattern]="filterTerm"\n ></c8y-highlight>\n </div>\n <div class="col-xs-3">\n <span class="text-muted text-truncate" [title]="configuration.description">{{\n configuration.description\n }}</span>\n </div>\n <div class="col-xs-3">\n <small translate class="text-muted text-uppercase">Device type:</small> \n {{ configuration.deviceType || \'-\' }}\n </div>\n <div class="col-xs-3 text-right">\n <span class="label label-primary" *ngIf="configuration.configurationType">\n <c8y-highlight\n [text]="configuration.configurationType"\n elementClass="text-info"\n [pattern]="filterTerm"\n ></c8y-highlight>\n </span>\n </div>\n </div>\n <c8y-li-action (click)="edit(configuration)" icon="pencil">\n Edit\n </c8y-li-action>\n <c8y-li-action (click)="delete(configuration)" icon="trash-o">\n Delete\n </c8y-li-action>\n </c8y-li>\n </c8y-list-group>\n</div>\n'})],n)}(),m=function(){function n(n){this.optionsService=n,this.navs=[]}return n.prototype.get=function(){return f(this,void 0,void 0,(function(){return d(this,(function(n){return"all"===localStorage.getItem("c8y_beta_status")&&0===this.navs.length&&this.navs.push(new e.NavigatorNode({label:e.gettext("Configuration repository"),path:"configuration-new",icon:"gears",parent:e.gettext("Management"),priority:800})),[2,this.navs]}))}))},n.ctorParameters=function(){return[{type:e.OptionsService}]},n=p([t.Injectable()],n)}(),v=[{path:"configuration-new",component:g}],b=function(){function n(){}return n=p([t.NgModule({imports:[e.CoreModule,c.TooltipModule],exports:[],entryComponents:[g,h],declarations:[g,h],providers:[y,{provide:e.HOOK_NAVIGATOR_NODES,useClass:m,multi:!0},{provide:e.HOOK_ONCE_ROUTE,useValue:v,multi:!0}]})],n)}();n.RepositoryModule=b,n.ɵ0=v,n.ɵa=g,n.ɵb=y,n.ɵc=h,n.ɵd=m,Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
15
|
+
***************************************************************************** */var l,u;function p(n,t,e,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(n,t,e,i);else for(var s=n.length-1;s>=0;s--)(r=n[s])&&(a=(o<3?r(a):o>3?r(t,e,a):r(t,e))||a);return o>3&&a&&Object.defineProperty(t,e,a),a}function f(n,t,e,i){return new(e||(e=Promise))((function(r,o){function a(n){try{c(i.next(n))}catch(n){o(n)}}function s(n){try{c(i.throw(n))}catch(n){o(n)}}function c(n){n.done?r(n.value):new e((function(t){t(n.value)})).then(a,s)}c((i=i.apply(n,t||[])).next())}))}function d(n,t){var e,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){a.label=o[1];break}if(6===o[0]&&a.label<r[1]){a.label=r[1],r=o;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(o);break}r[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(n,a)}catch(n){o=[6,n],i=0}finally{e=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}!function(n){n.FIRMWARE="c8y_Firmware",n.SOFTWARE="c8y_Software",n.CONFIGURATION="c8y_ConfigurationDump"}(u||(u={}));(l={})[u.SOFTWARE]="c8y_SoftwareBinary",l[u.FIRMWARE]="c8y_FirmwareBinary",l[u.CONFIGURATION]="c8y_ConfigurationDumpBinary";var y=function(){function n(n,t){this.inventory=n,this.inventoryBinary=t}return n.prototype.listConfigurations=function(){return this.inventory.list({type:u.CONFIGURATION,withTotalPages:!0,pageSize:50})},n.prototype.delete=function(n){return this.inventory.delete(n)},n.prototype.save=function(n,t,e){return void 0===e&&(e={}),f(this,void 0,void 0,(function(){var i,r;return d(this,(function(o){switch(o.label){case 0:switch(t){case u.CONFIGURATION:Object.assign(e,{type:u.CONFIGURATION,configurationType:n.selected?n.selected.configurationType:void 0,name:n.versionOrName,description:n.description,deviceType:n.deviceType,c8y_Global:{}})}return i=e.url,n.binary.url?(e.url=n.binary.url,[3,3]):[3,1];case 1:return n.binary.file?[4,this.inventoryBinary.create(n.binary.file,{c8y_Global:{}})]:[3,3];case 2:r=o.sent(),e.url=r.data.self,o.label=3;case 3:return e.id?[2,this.updateEntry(e,i)]:[2,this.createEntry(e)]}}))}))},n.prototype.createEntry=function(n){return f(this,void 0,void 0,(function(){var t,e;return d(this,(function(i){switch(i.label){case 0:return[4,this.inventoryBinary.getIdFromUrl(n.url)];case 1:return t=i.sent(),[4,this.inventory.create(n)];case 2:return e=i.sent(),t?[4,this.inventory.childAdditionsAdd(t,e.data)]:[3,4];case 3:i.sent(),i.label=4;case 4:return[2,e]}}))}))},n.prototype.updateEntry=function(n,t){return f(this,void 0,void 0,(function(){var e,i,r;return d(this,(function(o){switch(o.label){case 0:return[4,this.inventoryBinary.getIdFromUrl(t)];case 1:return e=o.sent(),[4,this.inventoryBinary.getIdFromUrl(n.url)];case 2:return i=o.sent(),e&&e!==i?(r=this.inventoryBinary.getIdFromUrl(t),[4,this.inventoryBinary.delete(r)]):[3,4];case 3:o.sent(),o.label=4;case 4:return i?[4,this.inventory.childAdditionsAdd(i,n)]:[3,6];case 5:o.sent(),o.label=6;case 6:return[2,this.inventory.update(n)]}}))}))},n.ctorParameters=function(){return[{type:o.InventoryService},{type:o.InventoryBinaryService}]},n=p([t.Injectable()],n)}(),h=function(){function n(n,t,e){var i=this;this.repositoryService=n,this.bsModalRef=t,this.alert=e,this.binary={file:void 0,url:void 0},this.pattern="",this.mo={},this.isLoading=!1,this.result=new Promise((function(n,t){i._save=n,i._cancel=t}))}return n.prototype.ngOnInit=function(){return f(this,void 0,void 0,(function(){var n;return d(this,(function(t){switch(t.label){case 0:return n=this,[4,this.repositoryService.listConfigurations()];case 1:return n.configs=t.sent(),this.setPipe(""),[2]}}))}))},n.prototype.cancel=function(){this.bsModalRef.hide(),this._cancel()},n.prototype.setPipe=function(n){this.pattern=n,this.filterPipe=i.pipe(r.map((function(n){return s.uniqBy(n,"configurationType")})),r.map((function(t){return t.filter((function(t){return t.configurationType&&t.configurationType.toLowerCase().indexOf(n.toLowerCase())>-1}))})))},n.prototype.uploadFile=function(n,t){this.binary.file=n[0].file,this.binary.url=void 0,t.form.markAsDirty()},n.prototype.save=function(){return f(this,void 0,void 0,(function(){var n,t,i,r,o,a,s;return d(this,(function(c){switch(c.label){case 0:return c.trys.push([0,2,3,4]),this.isLoading=!0,t=(n=this).selected,i=n.versionOrName,r=n.description,o=n.binary,a=n.deviceType,[4,this.repositoryService.save({selected:t,versionOrName:i,description:r,binary:o,deviceType:a},u.CONFIGURATION,this.mo)];case 1:return c.sent(),this.alert.success(this.mo.id?e.gettext("Configuration updated."):e.gettext("Configuration created.")),this.bsModalRef.hide(),this._save(),[3,4];case 2:return s=c.sent(),this.alert.addServerFailure(s),this._cancel(),[3,4];case 3:return this.isLoading=!1,[7];case 4:return[2]}}))}))},n.ctorParameters=function(){return[{type:y},{type:a.BsModalRef},{type:e.AlertService}]},n=p([t.Component({selector:"c8y-configuration-new-modal",template:'<div class="modal-header bg-primary text-white text-center">\n <h1 c8yIcon="cogs" style="font-size: 55px;"></h1>\n <h4 class="p-t-16 text-uppercase" translate *ngIf="mo.id">Update configuration</h4>\n <h4 class="p-t-16 text-uppercase" translate *ngIf="!mo.id">Add configuration</h4>\n</div>\n\n<form #configurationForm="ngForm" (ngSubmit)="configurationForm.form.valid && save()">\n <div class="modal-body">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n type="text"\n class="form-control"\n placeholder="e.g. hosts"\n autocomplete="off"\n required\n maxlength="254"\n [(ngModel)]="versionOrName"\n name="versionOrName"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Device type</label>\n <input\n type="text"\n class="form-control"\n placeholder="e.g. Posix"\n maxlength="254"\n autocomplete="off"\n [(ngModel)]="deviceType"\n name="deviceType"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n type="text"\n class="form-control"\n placeholder="e.g. Host configuration Posix"\n maxlength="254"\n autocomplete="off"\n [(ngModel)]="description"\n name="description"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Configuration type</label>\n <c8y-typeahead\n [(selected)]="selected"\n placeholder="e.g. ssh"\n (onSearch)="setPipe($event)"\n displayProperty="configurationType"\n >\n <c8y-li\n *c8yFor="let config of configs; pipe: filterPipe; notFound: notFoundTemplate"\n class="p-l-8 p-r-8 c8y-list__item--link"\n (click)="selected = config; setPipe(\'\')"\n [active]="selected === config"\n >\n <c8y-highlight\n [text]="config.configurationType || \'--\'"\n [pattern]="pattern"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class="bg-gray-lighter p-8" *ngIf="pattern.length > 0">\n <span translate>No match found, add new`configuration`?</span>\n <button type="button" class="btn btn-primary btn-xs m-l-16" translate>\n Create new`configuration`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-drop-area\n (dropped)="uploadFile($event, configurationForm)"\n [loadingMessage]="\'Importing, please wait.\' | translate"\n [title]="\'Add a configuration file\' | translate"\n [loading]="isLoading"\n >\n </c8y-drop-area>\n </div>\n\n <div class="modal-footer">\n <button (click)="cancel()" type="button" class="btn btn-default" [disabled]="isLoading">\n <span translate>Cancel</span>\n </button>\n <button\n type="button"\n class="btn btn-primary"\n type="submit"\n [disabled]="!configurationForm.valid || configurationForm.pristine || isLoading"\n >\n <span translate *ngIf="!mo.id">Add configuration</span>\n <span translate *ngIf="mo.id">Update configuration</span>\n </button>\n </div>\n</form>\n'})],n)}(),g=function(){function n(n,t,r){this.alert=n,this.repositoryService=t,this.modalService=r,this.filterChange$=new i.Subject,this.filterTerm="",this.CARRIAGE_RETURN_KEY=13,this.CARRIAGE_RETURN_CODE="Enter",this.DELETED_SUCCESS_MSG=e.gettext("Configuration deleted.")}return n.prototype.ngOnInit=function(){return f(this,void 0,void 0,(function(){var n=this;return d(this,(function(t){switch(t.label){case 0:return[4,this.reset()];case 1:return t.sent(),this.filterChange$.pipe(r.debounce((function(t){return t.code===n.CARRIAGE_RETURN_CODE||t.keyCode===n.CARRIAGE_RETURN_KEY?i.timer(10):i.timer(300)})),r.map((function(n){return n.target.value})),r.distinctUntilChanged()).subscribe((function(t){n.filterTerm=t,n.setPipe(t)})),[2]}}))}))},n.prototype.ngOnDestroy=function(){this.filterChange$.complete()},n.prototype.add=function(){return f(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,this.modalService.show(h,{class:"modal-sm",ignoreBackdropClick:!0}).content.result];case 1:return n.sent(),[4,this.reset()];case 2:return n.sent(),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}}))}))},n.prototype.edit=function(n){return f(this,void 0,void 0,(function(){var t;return d(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),(t=this.modalService.show(h,{class:"modal-sm",ignoreBackdropClick:!0,initialState:{selected:{id:n.id,configurationType:n.configurationType},versionOrName:n.name,deviceType:n.deviceType,description:n.description,binary:{url:n.url}}}).content).mo=n,[4,t.result];case 1:return e.sent(),[4,this.reset()];case 2:return e.sent(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}}))}))},n.prototype.delete=function(n){return f(this,void 0,void 0,(function(){var t;return d(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,this.repositoryService.delete(n)];case 1:return e.sent(),this.alert.success(this.DELETED_SUCCESS_MSG),[4,this.reset()];case 2:return e.sent(),[3,4];case 3:return t=e.sent(),this.alert.addServerFailure(t),[3,4];case 4:return[2]}}))}))},n.prototype.setPipe=function(n){var t=this;this.filterPipe=i.pipe(r.map((function(e){return 0===n.trim().length?e:e.filter((function(e){return t.filterContainString(e.name,n)||t.filterContainString(e.configurationType,n)}))})))},n.prototype.filterContainString=function(n,t){var e=t.toLowerCase().trim();return n&&n.toLowerCase().indexOf(e)>-1},n.prototype.reset=function(){return f(this,void 0,void 0,(function(){var n,t;return d(this,(function(e){switch(e.label){case 0:return this.filterTerm="",n=this,t=i.of,[4,this.repositoryService.listConfigurations()];case 1:return n.configurations$=t.apply(void 0,[e.sent()]),this.setPipe(""),[2]}}))}))},n.ctorParameters=function(){return[{type:e.AlertService},{type:y},{type:a.BsModalService}]},n=p([t.Component({selector:"c8y-configuration-list",template:'<c8y-title>\n <span translate>Configuration snapshots repository</span> \n <small *ngIf="(configurations$ | async)?.paging.totalPages === 1 && !filterTerm"\n >{{ (configurations$ | async).data.length }} <span translate>snapshots</span></small\n >\n <small\n *ngIf="(configurations$ | async)?.paging.totalPages > 1 && !filterTerm"\n [tooltip]="\'More data available. Scroll to the bottom of the list to load it.\' | translate"\n container="body"\n >{{ (configurations$ | async).paging.pageSize }}+ <span translate>snapshots</span></small\n >\n <small *ngIf="filterTerm"\n ><span translate>Search results for</span> "{{ this.filterTerm }}"</small\n >\n</c8y-title>\n\n<c8y-action-bar-item itemClass="navbar-form">\n <div class="input-group input-group-search">\n <input\n class="form-control"\n placeholder="{{ \'Filter…\' | translate }}"\n type="text"\n [value]="filterTerm"\n (keyup)="filterChange$.next($event)"\n />\n <span class="input-group-btn">\n <button class="btn btn-clean" (click)="filterTerm = \'\'; setPipe(\'\')">\n <i [c8yIcon]="filterTerm.length === 0 ? \'filter\' : \'close\'"></i>\n </button>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]="\'right\'">\n <button class="btn btn-link" (click)="add()">\n <i c8yIcon="plus-square"></i> {{ \'Add configuration snapshot\' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<div\n class="c8y-empty-state text-center"\n *ngIf="!filterTerm && (configurations$ | async)?.data.length === 0"\n>\n <h1 c8yIcon="gears"></h1>\n <h3 translate>There are no configuration snapshots defined</h3>\n <p translate>Add a configuration snapshot first.</p>\n <div>\n <button (click)="add()" class="btn btn-primary" translate>\n Add configuration snapshot\n </button>\n </div>\n <p c8y-guide-docs>\n <small forceHtmlTranslate ngNonBindable\n >Find out more in the\n <a c8y-guide-href="users-guide/device-management/#configuration-repository"\n >User guide`KEEP_ORIGINAL`</a\n >.</small\n >\n </p>\n</div>\n\n<ng-template #notFound>\n <c8y-li class="p-8 text-center">\n <p>\n <span translate>No more entries found for filter:</span> <strong>{{\n filterTerm\n }}</strong>\n </p>\n <button class="btn btn-primary btn-xs m-t-8" translate (click)="filterTerm = \'\'; setPipe(\'\')">\n Reset filter\n </button>\n </c8y-li>\n</ng-template>\n<div class="p-b-32">\n <c8y-list-group>\n <c8y-li\n *c8yFor="\n let configuration of configurations$;\n pipe: filterPipe;\n notFound: this.filterTerm ? notFound : undefined\n "\n >\n <c8y-li-icon icon="gears"></c8y-li-icon>\n <div class="row flex-row">\n <div class="col-xs-3">\n <c8y-highlight\n [text]="configuration.name || \'-\'"\n elementClass="text-info"\n [pattern]="filterTerm"\n ></c8y-highlight>\n </div>\n <div class="col-xs-3">\n <span class="text-muted text-truncate" [title]="configuration.description">{{\n configuration.description\n }}</span>\n </div>\n <div class="col-xs-3">\n <small translate class="text-muted text-uppercase">Device type:</small> \n {{ configuration.deviceType || \'-\' }}\n </div>\n <div class="col-xs-3 text-right">\n <span class="label label-primary" *ngIf="configuration.configurationType">\n <c8y-highlight\n [text]="configuration.configurationType"\n elementClass="text-info"\n [pattern]="filterTerm"\n ></c8y-highlight>\n </span>\n </div>\n </div>\n <c8y-li-action (click)="edit(configuration)" icon="pencil">\n Edit\n </c8y-li-action>\n <c8y-li-action (click)="delete(configuration)" icon="trash-o">\n Delete\n </c8y-li-action>\n </c8y-li>\n </c8y-list-group>\n</div>\n'})],n)}(),m=function(){function n(n){this.optionsService=n,this.navs=[]}return n.prototype.get=function(){return f(this,void 0,void 0,(function(){return d(this,(function(n){return"all"===localStorage.getItem("c8y_beta_status")&&0===this.navs.length&&this.navs.push(new e.NavigatorNode({label:e.gettext("Configuration repository"),path:"configuration-new",icon:"gears",parent:e.gettext("Management"),priority:800})),[2,this.navs]}))}))},n.ctorParameters=function(){return[{type:e.OptionsService}]},n=p([t.Injectable()],n)}(),v=[{path:"configuration-new",component:g}],b=function(){function n(){}return n=p([t.NgModule({imports:[e.CoreModule,c.TooltipModule],exports:[],entryComponents:[g,h],declarations:[g,h],providers:[y,{provide:e.HOOK_NAVIGATOR_NODES,useClass:m,multi:!0},{provide:e.HOOK_ONCE_ROUTE,useValue:v,multi:!0}]})],n)}();n.RepositoryModule=b,n.ɵ0=v,n.ɵa=g,n.ɵb=y,n.ɵc=h,n.ɵd=m,Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=c8y-ngx-components-repository.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@c8y/ngx-components/repository/repository.model.ts","ng://@c8y/ngx-components/repository/repository.service.ts","ng://@c8y/ngx-components/repository/configuration/configuration-new-modal.component.ts","ng://@c8y/ngx-components/repository/configuration/configuration-list.component.ts","ng://@c8y/ngx-components/repository/repository-navigation-factory.ts","ng://@c8y/ngx-components/repository/repository.module.ts"],"names":["RepositoryType","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","push","_a","SOFTWARE","FIRMWARE","CONFIGURATION","RepositoryService","inventory","inventoryBinary","prototype","listConfigurations","list","type","withTotalPages","pageSize","delete","entity","save","data","mo","assign","configurationType","selected","undefined","name","versionOrName","description","deviceType","c8y_Global","existingUrl","url","binary","file","create","response","self","id","updateEntry","createEntry","getIdFromUrl","binaryId","newMo","childAdditionsAdd","existingBinaryId","newBinaryId","update","InventoryService","InventoryBinaryService","Injectable","ConfigurationNewModalComponent","repositoryService","bsModalRef","alert","_this","pattern","isLoading","_save","_cancel","ngOnInit","configs","_b","setPipe","cancel","hide","filterStr","filterPipe","pipe","map","uniqBy","filter","toLowerCase","indexOf","uploadFile","dropped","ngForm","form","markAsDirty","success","gettext","addServerFailure","ex_1","BsModalRef","AlertService","Component","selector","template","ConfigurationListComponent","modalService","filterChange$","Subject","filterTerm","CARRIAGE_RETURN_KEY","CARRIAGE_RETURN_CODE","DELETED_SUCCESS_MSG","reset","debounce","event","code","keyCode","timer","distinctUntilChanged","subscribe","ngOnDestroy","complete","add","show","class","ignoreBackdropClick","content","edit","configuration","modal","initialState","ex_3","trim","filterContainString","term","of","configurations$","_c","BsModalService","RepositoryNavigationFactory","optionsService","navs","get","localStorage","getItem","NavigatorNode","path","icon","parent","priority","OptionsService","component","RepositoryModule","NgModule","imports","CoreModule","TooltipModule","exports","entryComponents","declarations","providers","provide","HOOK_NAVIGATOR_NODES","useClass","multi","HOOK_ONCE_ROUTE","useValue","ɵ0"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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","import { IManagedObject } from '@c8y/client';\n\nexport enum RepositoryType {\n FIRMWARE = 'c8y_Firmware',\n SOFTWARE = 'c8y_Software',\n CONFIGURATION = 'c8y_ConfigurationDump'\n}\n\nexport const REPOSITORY_BINARY_TYPE = {\n [RepositoryType.SOFTWARE]: 'c8y_SoftwareBinary',\n [RepositoryType.FIRMWARE]: 'c8y_FirmwareBinary',\n [RepositoryType.CONFIGURATION]: 'c8y_ConfigurationDumpBinary'\n};\n\nexport interface RepositoryModal {\n selected: { id: string; name?: string; [key: string]: any };\n versionOrName: string;\n description: string;\n deviceType?: string;\n binary: {\n file?: File;\n url?: string;\n };\n}\n\nexport interface RepositoryCategory extends Partial<IManagedObject> {\n type: string;\n description: string;\n c8y_Filter: {\n type: string;\n };\n}\n\nexport interface FirmwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Firmware: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n\nexport interface FirmwarePatchBinary extends FirmwareBinary {\n c8y_Patch: {\n dependency: string;\n };\n}\n\nexport interface SoftwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Software: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n","import { Injectable } from '@angular/core';\nimport { InventoryService, IIdentified, InventoryBinaryService, IManagedObject } from '@c8y/client';\nimport { RepositoryModal, RepositoryType } from './repository.model';\n\n@Injectable()\nexport class RepositoryService {\n constructor(\n private inventory: InventoryService,\n private inventoryBinary: InventoryBinaryService\n ) {}\n\n listConfigurations() {\n return this.inventory.list({\n type: RepositoryType.CONFIGURATION,\n withTotalPages: true,\n pageSize: 50\n });\n }\n\n delete(entity: IIdentified) {\n // TODO: add cascading delete (will be done by Dawid)\n return this.inventory.delete(entity);\n }\n\n async save(data: RepositoryModal, type: RepositoryType, mo: Partial<IManagedObject> = {}) {\n switch (type) {\n case RepositoryType.CONFIGURATION: {\n Object.assign(mo, {\n type: RepositoryType.CONFIGURATION,\n configurationType: data.selected ? data.selected.configurationType : undefined,\n name: data.versionOrName,\n description: data.description,\n deviceType: data.deviceType,\n c8y_Global: {}\n });\n break;\n }\n }\n\n const existingUrl = mo.url;\n if (data.binary.url) {\n mo.url = data.binary.url;\n } else if (data.binary.file) {\n const response = await this.inventoryBinary.create(data.binary.file, { c8y_Global: {} });\n mo.url = response.data.self;\n }\n\n if (mo.id) {\n return this.updateEntry(mo, existingUrl);\n }\n return this.createEntry(mo);\n }\n\n private async createEntry(mo: Partial<IManagedObject>) {\n const binaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n const newMo = await this.inventory.create(mo);\n if (binaryId) {\n await this.inventory.childAdditionsAdd(binaryId, newMo.data);\n }\n return newMo;\n }\n\n private async updateEntry(mo: Partial<IManagedObject>, url) {\n const existingBinaryId = await this.inventoryBinary.getIdFromUrl(url);\n const newBinaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n if (existingBinaryId && existingBinaryId !== newBinaryId) {\n const id = this.inventoryBinary.getIdFromUrl(url);\n await this.inventoryBinary.delete(id);\n }\n if (newBinaryId) {\n await this.inventory.childAdditionsAdd(newBinaryId, mo);\n }\n return this.inventory.update(mo);\n }\n}\n","import { Component } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { IManagedObject } from '@c8y/client';\nimport { AlertService, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { uniqBy } from 'lodash';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { pipe } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RepositoryModal, RepositoryType } from '../repository.model';\nimport { RepositoryService } from '../repository.service';\n\n@Component({\n selector: 'c8y-configuration-new-modal',\n templateUrl: './configuration-new-modal.component.html'\n})\nexport class ConfigurationNewModalComponent implements RepositoryModal {\n selected: { id: string; name: string };\n versionOrName: string;\n description: string;\n binary: { file?: File; url?: string } = {\n file: undefined,\n url: undefined\n };\n deviceType: string;\n\n pattern: string = '';\n filterPipe;\n configs;\n mo: Partial<IManagedObject> = {};\n isLoading = false;\n\n result: Promise<void> = new Promise((resolve, reject) => {\n this._save = resolve;\n this._cancel = reject;\n });\n\n private _save;\n private _cancel;\n\n constructor(\n private repositoryService: RepositoryService,\n private bsModalRef: BsModalRef,\n private alert: AlertService\n ) {}\n\n async ngOnInit() {\n this.configs = await this.repositoryService.listConfigurations();\n this.setPipe('');\n }\n\n cancel() {\n this.bsModalRef.hide();\n this._cancel();\n }\n\n setPipe(filterStr: string) {\n this.pattern = filterStr;\n this.filterPipe = pipe(\n map((data: []) => uniqBy(data, 'configurationType')),\n map((data: []) => {\n return data.filter(\n (mo: any) =>\n mo.configurationType &&\n mo.configurationType.toLowerCase().indexOf(filterStr.toLowerCase()) > -1\n );\n })\n );\n }\n\n uploadFile(dropped: DroppedFile[], ngForm: NgForm) {\n this.binary.file = dropped[0].file;\n this.binary.url = undefined;\n ngForm.form.markAsDirty();\n }\n\n async save() {\n try {\n this.isLoading = true;\n const { selected, versionOrName, description, binary, deviceType } = this;\n await this.repositoryService.save(\n { selected, versionOrName, description, binary, deviceType },\n RepositoryType.CONFIGURATION,\n this.mo\n );\n this.alert.success(\n this.mo.id ? gettext('Configuration updated.') : gettext('Configuration created.')\n );\n this.bsModalRef.hide();\n this._save();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n this._cancel();\n } finally {\n this.isLoading = false;\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { IManagedObject, IResultList } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { Observable, pipe, Subject, timer, of } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { RepositoryService } from '../repository.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ConfigurationNewModalComponent } from './configuration-new-modal.component';\nimport { RepositoryModal } from '../repository.model';\n\n@Component({\n selector: 'c8y-configuration-list',\n templateUrl: './configuration-list.component.html'\n})\nexport class ConfigurationListComponent implements OnInit {\n configurations$: Observable<IResultList<IManagedObject>>;\n filterPipe;\n filterChange$ = new Subject();\n filterTerm = '';\n private readonly CARRIAGE_RETURN_KEY = 13;\n private readonly CARRIAGE_RETURN_CODE = 'Enter';\n private readonly DELETED_SUCCESS_MSG = gettext('Configuration deleted.');\n\n constructor(\n private alert: AlertService,\n private repositoryService: RepositoryService,\n private modalService: BsModalService\n ) {}\n\n async ngOnInit() {\n await this.reset();\n\n this.filterChange$\n .pipe(\n debounce((event: any) =>\n event.code === this.CARRIAGE_RETURN_CODE || event.keyCode === this.CARRIAGE_RETURN_KEY\n ? timer(10)\n : timer(300)\n ),\n map((e: any) => e.target.value),\n distinctUntilChanged()\n )\n .subscribe(filterTerm => {\n this.filterTerm = filterTerm;\n this.setPipe(filterTerm);\n });\n }\n\n ngOnDestroy(): void {\n this.filterChange$.complete();\n }\n\n async add() {\n try {\n await (this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true\n }).content as ConfigurationNewModalComponent).result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async edit(configuration: IManagedObject) {\n try {\n const modal = this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true,\n initialState: {\n selected: { id: configuration.id, configurationType: configuration.configurationType },\n versionOrName: configuration.name,\n deviceType: configuration.deviceType,\n description: configuration.description,\n binary: { url: configuration.url }\n } as RepositoryModal\n }).content as ConfigurationNewModalComponent;\n modal.mo = configuration;\n await modal.result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async delete(configuration: IManagedObject) {\n try {\n await this.repositoryService.delete(configuration);\n this.alert.success(this.DELETED_SUCCESS_MSG);\n await this.reset();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n }\n }\n\n setPipe(filterTerm: string) {\n this.filterPipe = pipe(\n map((data: []) =>\n filterTerm.trim().length === 0\n ? data\n : data.filter(\n (mo: IManagedObject) =>\n this.filterContainString(mo.name, filterTerm) ||\n this.filterContainString(mo.configurationType, filterTerm)\n )\n )\n );\n }\n\n private filterContainString(name: string, filterTerm: string) {\n const term = filterTerm.toLowerCase().trim();\n return name && name.toLowerCase().indexOf(term) > -1;\n }\n\n private async reset() {\n this.filterTerm = '';\n this.configurations$ = of(await this.repositoryService.listConfigurations());\n this.setPipe('');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory, OptionsService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class RepositoryNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private optionsService: OptionsService) {}\n\n async get() {\n const betaFlag = localStorage.getItem('c8y_beta_status');\n if (betaFlag === 'all' && this.navs.length === 0) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('Configuration repository'),\n path: 'configuration-new',\n icon: 'gears',\n parent: gettext('Management'),\n priority: 800\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n CoreModule,\n HOOK_NAVIGATOR_NODES,\n HOOK_ONCE_ROUTE,\n Route\n} from '@c8y/ngx-components';\nimport { ConfigurationListComponent } from './configuration/configuration-list.component';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { RepositoryService } from './repository.service';\nimport { ConfigurationNewModalComponent } from './configuration/configuration-new-modal.component';\nimport { RepositoryNavigationFactory } from './repository-navigation-factory';\n\n@NgModule({\n imports: [CoreModule, TooltipModule],\n exports: [],\n entryComponents: [ConfigurationListComponent, ConfigurationNewModalComponent],\n declarations: [ConfigurationListComponent, ConfigurationNewModalComponent],\n providers: [\n RepositoryService,\n {\n provide: HOOK_NAVIGATOR_NODES,\n useClass: RepositoryNavigationFactory,\n multi: true\n },\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n path: 'configuration-new',\n component: ConfigurationListComponent\n }\n ] as Route[],\n multi: true\n }\n ]\n})\nexport class RepositoryModule {}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@c8y/ngx-components/repository/repository.model.ts","ng://@c8y/ngx-components/repository/repository.service.ts","ng://@c8y/ngx-components/repository/configuration/configuration-new-modal.component.ts","ng://@c8y/ngx-components/repository/configuration/configuration-list.component.ts","ng://@c8y/ngx-components/repository/repository-navigation-factory.ts","ng://@c8y/ngx-components/repository/repository.module.ts"],"names":["RepositoryType","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","push","_a","SOFTWARE","FIRMWARE","CONFIGURATION","RepositoryService","inventory","inventoryBinary","prototype","listConfigurations","list","type","withTotalPages","pageSize","delete","entity","save","data","mo","assign","configurationType","selected","undefined","name","versionOrName","description","deviceType","c8y_Global","existingUrl","url","binary","file","create","response","self","id","updateEntry","createEntry","getIdFromUrl","binaryId","newMo","childAdditionsAdd","existingBinaryId","newBinaryId","update","InventoryService","InventoryBinaryService","Injectable","ConfigurationNewModalComponent","repositoryService","bsModalRef","alert","_this","pattern","isLoading","_save","_cancel","ngOnInit","configs","_b","setPipe","cancel","hide","filterStr","filterPipe","pipe","map","uniqBy","filter","toLowerCase","indexOf","uploadFile","dropped","ngForm","form","markAsDirty","success","gettext","addServerFailure","ex_1","BsModalRef","AlertService","Component","selector","template","ConfigurationListComponent","modalService","filterChange$","Subject","filterTerm","CARRIAGE_RETURN_KEY","CARRIAGE_RETURN_CODE","DELETED_SUCCESS_MSG","reset","debounce","event","code","keyCode","timer","distinctUntilChanged","subscribe","ngOnDestroy","complete","add","show","class","ignoreBackdropClick","content","edit","configuration","modal","initialState","ex_3","trim","filterContainString","term","of","configurations$","_c","BsModalService","RepositoryNavigationFactory","optionsService","navs","get","localStorage","getItem","NavigatorNode","path","icon","parent","priority","OptionsService","component","RepositoryModule","NgModule","imports","CoreModule","TooltipModule","exports","entryComponents","declarations","providers","provide","HOOK_NAVIGATOR_NODES","useClass","multi","HOOK_ONCE_ROUTE","useValue","ɵ0"],"mappings":";;;;;;;;;;;;;;oFA6BO,MC3BKA,EDkDL,SAASC,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,EACrH,GAAuB,iBAAZQ,SAAoD,mBAArBA,QAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIU,EAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,GAChJ,OAAOH,EAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,EAWzD,SAASO,EAAUC,EAASC,EAAYC,EAAGC,GAC9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,IACpF,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,IACvF,SAASF,EAAKI,GAAUA,EAAOC,KAAOT,EAAQQ,EAAOL,OAAS,IAAIN,GAAE,SAAUG,GAAWA,EAAQQ,EAAOL,UAAWO,KAAKR,EAAWK,GACnIH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,WAI/D,SAASO,EAAYjB,EAASkB,GACjC,IAAsGC,EAAGC,EAAGC,EAAGC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPJ,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOK,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEZ,KAAMkB,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAOC,OAAUX,EACvJ,SAASM,EAAKM,GAAK,OAAO,SAAUC,GAAK,OACzC,SAAcC,GACV,GAAIjB,EAAG,MAAM,IAAIkB,UAAU,mCAC3B,KAAOd,GAAG,IACN,GAAIJ,EAAI,EAAGC,IAAMC,EAAY,EAARe,EAAG,GAAShB,EAAU,OAAIgB,EAAG,GAAKhB,EAAS,SAAOC,EAAID,EAAU,SAAMC,EAAEiB,KAAKlB,GAAI,GAAKA,EAAEV,SAAWW,EAAIA,EAAEiB,KAAKlB,EAAGgB,EAAG,KAAKtB,KAAM,OAAOO,EAE3J,OADID,EAAI,EAAGC,IAAGe,EAAK,CAAS,EAARA,EAAG,GAAQf,EAAEb,QACzB4B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGf,EAAIe,EAAI,MACxB,KAAK,EAAc,OAAXb,EAAEC,QAAgB,CAAEhB,MAAO4B,EAAG,GAAItB,MAAM,GAChD,KAAK,EAAGS,EAAEC,QAASJ,EAAIgB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKb,EAAEI,IAAIY,MAAOhB,EAAEG,KAAKa,MAAO,SACxC,QACI,KAAkBlB,GAAZA,EAAIE,EAAEG,MAAYnC,OAAS,GAAK8B,EAAEA,EAAE9B,OAAS,MAAkB,IAAV6C,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEb,EAAI,EAAG,SACjG,GAAc,IAAVa,EAAG,MAAcf,GAAMe,EAAG,GAAKf,EAAE,IAAMe,EAAG,GAAKf,EAAE,IAAM,CAAEE,EAAEC,MAAQY,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYb,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIA,EAAIe,EAAI,MAC7D,GAAIf,GAAKE,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIE,EAAEI,IAAIa,KAAKJ,GAAK,MACvDf,EAAE,IAAIE,EAAEI,IAAIY,MAChBhB,EAAEG,KAAKa,MAAO,SAEtBH,EAAKlB,EAAKoB,KAAKtC,EAASuB,GAC1B,MAAOZ,GAAKyB,EAAK,CAAC,EAAGzB,GAAIS,EAAI,EAAI,QAAWD,EAAIE,EAAI,EACtD,GAAY,EAARe,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE5B,MAAO4B,EAAG,GAAKA,EAAG,QAAK,EAAQtB,MAAM,GArB9BL,CAAK,CAACyB,EAAGC,OC7E7D,SAAYrD,GACVA,EAAA,SAAA,eACAA,EAAA,SAAA,eACAA,EAAA,cAAA,wBAHF,CAAYA,IAAAA,EAAc,MAMS2D,EAAA,IAChC3D,EAAe4D,UAAW,qBAC3BD,EAAC3D,EAAe6D,UAAW,qBAC3BF,EAAC3D,EAAe8D,eAAgB,8BAH3B,iBCFL,SAAAC,EACUC,EACAC,GADAd,KAAAa,UAAAA,EACAb,KAAAc,gBAAAA,EAkEZ,OA/DEF,EAAAG,UAAAC,mBAAA,WACE,OAAOhB,KAAKa,UAAUI,KAAK,CACzBC,KAAMrE,EAAe8D,cACrBQ,gBAAgB,EAChBC,SAAU,MAIdR,EAAAG,UAAAM,OAAA,SAAOC,GAEL,OAAOtB,KAAKa,UAAUQ,OAAOC,IAGzBV,EAAAG,UAAAQ,KAAN,SAAWC,EAAuBN,EAAsBO,eAAA,IAAAA,IAAAA,EAAA,+FACtD,OAAQP,GACN,KAAKrE,EAAe8D,cAClBnD,OAAOkE,OAAOD,EAAI,CAChBP,KAAMrE,EAAe8D,cACrBgB,kBAAmBH,EAAKI,SAAWJ,EAAKI,SAASD,uBAAoBE,EACrEC,KAAMN,EAAKO,cACXC,YAAaR,EAAKQ,YAClBC,WAAYT,EAAKS,WACjBC,WAAY,YAMZC,EAAcV,EAAGW,IACnBZ,EAAKa,OAAOD,KACdX,EAAGW,IAAMZ,EAAKa,OAAOD,WADnB,CAAA,EAAA,iBAEOZ,EAAKa,OAAOC,KACJ,CAAA,EAAMtC,KAAKc,gBAAgByB,OAAOf,EAAKa,OAAOC,KAAM,CAAEJ,WAAY,MAD1E,CAAA,EAAA,UACHM,EAAWhC,EAAAhB,OACjBiC,EAAGW,IAAMI,EAAShB,KAAKiB,sBAGzB,OAAIhB,EAAGiB,GACL,CAAA,EAAO1C,KAAK2C,YAAYlB,EAAIU,IAE9B,CAAA,EAAOnC,KAAK4C,YAAYnB,YAGZb,EAAAG,UAAA6B,YAAd,SAA0BnB,qGACP,MAAA,CAAA,EAAMzB,KAAKc,gBAAgB+B,aAAapB,EAAGW,aAC9C,OADRU,EAAWtC,EAAAhB,OACH,CAAA,EAAMQ,KAAKa,UAAU0B,OAAOd,kBAApCsB,EAAQvC,EAAAhB,OACVsD,EACF,CAAA,EAAM9C,KAAKa,UAAUmC,kBAAkBF,EAAUC,EAAMvB,OADrD,CAAA,EAAA,UACFhB,EAAAhB,wBAEF,MAAA,CAAA,EAAOuD,WAGKnC,EAAAG,UAAA4B,YAAd,SAA0BlB,EAA6BW,uGAC5B,MAAA,CAAA,EAAMpC,KAAKc,gBAAgB+B,aAAaT,WAC7C,OADda,EAAmBzC,EAAAhB,OACL,CAAA,EAAMQ,KAAKc,gBAAgB+B,aAAapB,EAAGW,oBAAzDc,EAAc1C,EAAAhB,OAChByD,GAAoBA,IAAqBC,GACrCR,EAAK1C,KAAKc,gBAAgB+B,aAAaT,GAC7C,CAAA,EAAMpC,KAAKc,gBAAgBO,OAAOqB,KAFhC,CAAA,EAAA,UAEFlC,EAAAhB,+BAEE0D,EACF,CAAA,EAAMlD,KAAKa,UAAUmC,kBAAkBE,EAAazB,IADlD,CAAA,EAAA,UACFjB,EAAAhB,wBAEF,MAAA,CAAA,EAAOQ,KAAKa,UAAUsC,OAAO1B,qDAjEV2B,EAAAA,wBACMC,EAAAA,0BAHhBzC,EAAiB9D,EAAA,CAD7BwG,EAAAA,cACY1C,mBCkCX,SAAA2C,EACUC,EACAC,EACAC,GAHV,IAAAC,EAAA3D,KACUA,KAAAwD,kBAAAA,EACAxD,KAAAyD,WAAAA,EACAzD,KAAA0D,MAAAA,EAvBV1D,KAAAqC,OAAwC,CACtCC,UAAMT,EACNO,SAAKP,GAIP7B,KAAA4D,QAAkB,GAGlB5D,KAAAyB,GAA8B,GAC9BzB,KAAA6D,WAAY,EAEZ7D,KAAApB,OAAwB,IAAIT,SAAQ,SAACC,EAASC,GAC5CsF,EAAKG,MAAQ1F,EACbuF,EAAKI,QAAU1F,KA+DnB,OAnDQkF,EAAAxC,UAAAiD,SAAN,2GACiB,OAAfxD,EAAAR,KAAe,CAAA,EAAMA,KAAKwD,kBAAkBxC,oCAA5CR,EAAKyD,QAAUC,EAAA1E,OACfQ,KAAKmE,QAAQ,gBAGfZ,EAAAxC,UAAAqD,OAAA,WACEpE,KAAKyD,WAAWY,OAChBrE,KAAK+D,WAGPR,EAAAxC,UAAAoD,QAAA,SAAQG,GACNtE,KAAK4D,QAAUU,EACftE,KAAKuE,WAAaC,EAAAA,KAChBC,EAAAA,KAAI,SAACjD,GAAa,OAAAkD,EAAAA,OAAOlD,EAAM,wBAC/BiD,EAAAA,KAAI,SAACjD,GACH,OAAOA,EAAKmD,QACV,SAAClD,GACC,OAAAA,EAAGE,mBACHF,EAAGE,kBAAkBiD,cAAcC,QAAQP,EAAUM,gBAAkB,UAMjFrB,EAAAxC,UAAA+D,WAAA,SAAWC,EAAwBC,GACjChF,KAAKqC,OAAOC,KAAOyC,EAAQ,GAAGzC,KAC9BtC,KAAKqC,OAAOD,SAAMP,EAClBmD,EAAOC,KAAKC,eAGR3B,EAAAxC,UAAAQ,KAAN,uHAII,8BAFAvB,KAAK6D,WAAY,EACTjC,GAAFpB,EAA+DR,MAArD4B,SAAEG,EAAavB,EAAAuB,cAAEC,EAAWxB,EAAAwB,YAAEK,EAAM7B,EAAA6B,OAAEJ,EAAUzB,EAAAyB,WAChE,CAAA,EAAMjC,KAAKwD,kBAAkBjC,KAC3B,CAAEK,SAAQA,EAAEG,cAAaA,EAAEC,YAAWA,EAAEK,OAAMA,EAAEJ,WAAUA,GAC1DpF,EAAe8D,cACfX,KAAKyB,mBAHPyC,EAAA1E,OAKAQ,KAAK0D,MAAMyB,QACTnF,KAAKyB,GAAGiB,GAAK0C,EAAAA,QAAQ,0BAA4BA,EAAAA,QAAQ,2BAE3DpF,KAAKyD,WAAWY,OAChBrE,KAAK8D,uCAEL9D,KAAK0D,MAAM2B,iBAAiBC,GAC5BtF,KAAK+D,8BAEL/D,KAAK6D,WAAY,wEArDQjD,SACP2E,EAAAA,kBACLC,EAAAA,gBA3BNjC,EAA8BzG,EAAA,CAJ1C2I,EAAAA,UAAU,CACTC,SAAU,8BACVC,SAAA,wuGAEWpC,mBCQX,SAAAqC,EACUlC,EACAF,EACAqC,GAFA7F,KAAA0D,MAAAA,EACA1D,KAAAwD,kBAAAA,EACAxD,KAAA6F,aAAAA,EATV7F,KAAA8F,cAAgB,IAAIC,EAAAA,QACpB/F,KAAAgG,WAAa,GACIhG,KAAAiG,oBAAsB,GACtBjG,KAAAkG,qBAAuB,QACvBlG,KAAAmG,oBAAsBf,EAAAA,QAAQ,0BAkGjD,OA1FQQ,EAAA7E,UAAAiD,SAAN,gHACE,MAAA,CAAA,EAAMhE,KAAKoG,uBAAX5F,EAAAhB,OAEAQ,KAAK8F,cACFtB,KACC6B,EAAAA,UAAS,SAACC,GACR,OAAAA,EAAMC,OAAS5C,EAAKuC,sBAAwBI,EAAME,UAAY7C,EAAKsC,oBAC/DQ,EAAAA,MAAM,IACNA,EAAAA,MAAM,QAEZhC,EAAAA,KAAI,SAAC/F,GAAW,OAAAA,EAAE1B,OAAOuB,SACzBmI,EAAAA,wBAEDC,WAAU,SAAAX,GACTrC,EAAKqC,WAAaA,EAClBrC,EAAKQ,QAAQ6B,kBAInBJ,EAAA7E,UAAA6F,YAAA,WACE5G,KAAK8F,cAAce,YAGfjB,EAAA7E,UAAA+F,IAAN,qGAEI,6BAAA,CAAA,EAAO9G,KAAK6F,aAAakB,KAAKxD,EAAgC,CAC5DyD,MAAO,WACPC,qBAAqB,IACpBC,QAA2CtI,eAC9C,OAJA4B,EAAAhB,OAIA,CAAA,EAAMQ,KAAKoG,uBAAX5F,EAAAhB,mEAMEoG,EAAA7E,UAAAoG,KAAN,SAAWC,mGAcP,8BAZMC,EAAQrH,KAAK6F,aAAakB,KAAKxD,EAAgC,CACnEyD,MAAO,WACPC,qBAAqB,EACrBK,aAAc,CACZ1F,SAAU,CAAEc,GAAI0E,EAAc1E,GAAIf,kBAAmByF,EAAczF,mBACnEI,cAAeqF,EAActF,KAC7BG,WAAYmF,EAAcnF,WAC1BD,YAAaoF,EAAcpF,YAC3BK,OAAQ,CAAED,IAAKgF,EAAchF,QAE9B8E,SACGzF,GAAK2F,EACX,CAAA,EAAMC,EAAMzI,eACZ,OADA4B,EAAAhB,OACA,CAAA,EAAMQ,KAAKoG,uBAAX5F,EAAAhB,mEAMEoG,EAAA7E,UAAAM,OAAN,SAAa+F,mGAET,6BAAA,CAAA,EAAMpH,KAAKwD,kBAAkBnC,OAAO+F,WAEpC,OAFA5G,EAAAhB,OACAQ,KAAK0D,MAAMyB,QAAQnF,KAAKmG,qBACxB,CAAA,EAAMnG,KAAKoG,uBAAX5F,EAAAhB,sCAEAQ,KAAK0D,MAAM2B,iBAAiBkC,kCAIhC3B,EAAA7E,UAAAoD,QAAA,SAAQ6B,GAAR,IAAArC,EAAA3D,KACEA,KAAKuE,WAAaC,EAAAA,KAChBC,EAAAA,KAAI,SAACjD,GACH,OAA6B,IAA7BwE,EAAWwB,OAAOlK,OACdkE,EACAA,EAAKmD,QACH,SAAClD,GACC,OAAAkC,EAAK8D,oBAAoBhG,EAAGK,KAAMkE,IAClCrC,EAAK8D,oBAAoBhG,EAAGE,kBAAmBqE,WAMrDJ,EAAA7E,UAAA0G,oBAAR,SAA4B3F,EAAckE,GACxC,IAAM0B,EAAO1B,EAAWpB,cAAc4C,OACtC,OAAO1F,GAAQA,EAAK8C,cAAcC,QAAQ6C,IAAS,GAGvC9B,EAAA7E,UAAAqF,MAAd,6GAE4B,OAD1BpG,KAAKgG,WAAa,GAClBxF,EAAAR,KAAuBkE,EAAAyD,EAAAA,GAAG,CAAA,EAAM3H,KAAKwD,kBAAkBxC,oCAAvDR,EAAKoH,gBAAkB1D,EAAAnF,WAAA,EAAA,CAAG8I,EAAArI,SAC1BQ,KAAKmE,QAAQ,yDA7FEqB,EAAAA,oBACY5E,SACLkH,EAAAA,kBAZblC,EAA0B9I,EAAA,CAJtC2I,EAAAA,UAAU,CACTC,SAAU,yBACVC,SAAA,88HAEWC,mBCPX,SAAAmC,EAAoBC,GAAAhI,KAAAgI,eAAAA,EAFpBhI,KAAAiI,KAAwB,GAmB1B,OAfQF,EAAAhH,UAAAmH,IAAN,8EAaE,MAXiB,QADAC,aAAaC,QAAQ,oBACS,IAArBpI,KAAKiI,KAAK3K,QAClC0C,KAAKiI,KAAK1H,KACR,IAAI8H,EAAAA,cAAc,CAChB9I,MAAO6F,EAAAA,QAAQ,4BACfkD,KAAM,oBACNC,KAAM,QACNC,OAAQpD,EAAAA,QAAQ,cAChBqD,SAAU,OAIhB,CAAA,EAAOzI,KAAKiI,sDAfsBS,EAAAA,kBAHzBX,EAA2BjL,EAAA,CADvCwG,EAAAA,cACYyE,QCuBG,CACR,CACEO,KAAM,oBACNK,UAAW/C,IAOrBgD,EAAA,WAAA,SAAAA,KAA+B,OAAlBA,EAAgB9L,EAAA,CAxB5B+L,EAAAA,SAAS,CACRC,QAAS,CAACC,EAAAA,WAAYC,EAAAA,eACtBC,QAAS,GACTC,gBAAiB,CAACtD,EAA4BrC,GAC9C4F,aAAc,CAACvD,EAA4BrC,GAC3C6F,UAAW,CACTxI,EACA,CACEyI,QAASC,EAAAA,qBACTC,SAAUxB,EACVyB,OAAO,GAET,CACEH,QAASI,EAAAA,gBACTC,SAAQC,EAMRH,OAAO,OAIAZ,GAAb","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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","import { IManagedObject } from '@c8y/client';\n\nexport enum RepositoryType {\n FIRMWARE = 'c8y_Firmware',\n SOFTWARE = 'c8y_Software',\n CONFIGURATION = 'c8y_ConfigurationDump'\n}\n\nexport const REPOSITORY_BINARY_TYPE = {\n [RepositoryType.SOFTWARE]: 'c8y_SoftwareBinary',\n [RepositoryType.FIRMWARE]: 'c8y_FirmwareBinary',\n [RepositoryType.CONFIGURATION]: 'c8y_ConfigurationDumpBinary'\n};\n\nexport interface RepositoryModal {\n selected: { id: string; name?: string; [key: string]: any };\n versionOrName: string;\n description: string;\n deviceType?: string;\n binary: {\n file?: File;\n url?: string;\n };\n}\n\nexport interface RepositoryCategory extends Partial<IManagedObject> {\n type: string;\n description: string;\n c8y_Filter: {\n type: string;\n };\n}\n\nexport interface FirmwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Firmware: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n\nexport interface FirmwarePatchBinary extends FirmwareBinary {\n c8y_Patch: {\n dependency: string;\n };\n}\n\nexport interface SoftwareBinary extends Partial<IManagedObject> {\n type: string;\n c8y_Software: {\n version: string;\n url: string;\n childAssets: any[];\n };\n}\n","import { Injectable } from '@angular/core';\nimport { InventoryService, IIdentified, InventoryBinaryService, IManagedObject } from '@c8y/client';\nimport { RepositoryModal, RepositoryType } from './repository.model';\n\n@Injectable()\nexport class RepositoryService {\n constructor(\n private inventory: InventoryService,\n private inventoryBinary: InventoryBinaryService\n ) {}\n\n listConfigurations() {\n return this.inventory.list({\n type: RepositoryType.CONFIGURATION,\n withTotalPages: true,\n pageSize: 50\n });\n }\n\n delete(entity: IIdentified) {\n // TODO: add cascading delete (will be done by Dawid)\n return this.inventory.delete(entity);\n }\n\n async save(data: RepositoryModal, type: RepositoryType, mo: Partial<IManagedObject> = {}) {\n switch (type) {\n case RepositoryType.CONFIGURATION: {\n Object.assign(mo, {\n type: RepositoryType.CONFIGURATION,\n configurationType: data.selected ? data.selected.configurationType : undefined,\n name: data.versionOrName,\n description: data.description,\n deviceType: data.deviceType,\n c8y_Global: {}\n });\n break;\n }\n }\n\n const existingUrl = mo.url;\n if (data.binary.url) {\n mo.url = data.binary.url;\n } else if (data.binary.file) {\n const response = await this.inventoryBinary.create(data.binary.file, { c8y_Global: {} });\n mo.url = response.data.self;\n }\n\n if (mo.id) {\n return this.updateEntry(mo, existingUrl);\n }\n return this.createEntry(mo);\n }\n\n private async createEntry(mo: Partial<IManagedObject>) {\n const binaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n const newMo = await this.inventory.create(mo);\n if (binaryId) {\n await this.inventory.childAdditionsAdd(binaryId, newMo.data);\n }\n return newMo;\n }\n\n private async updateEntry(mo: Partial<IManagedObject>, url) {\n const existingBinaryId = await this.inventoryBinary.getIdFromUrl(url);\n const newBinaryId = await this.inventoryBinary.getIdFromUrl(mo.url);\n if (existingBinaryId && existingBinaryId !== newBinaryId) {\n const id = this.inventoryBinary.getIdFromUrl(url);\n await this.inventoryBinary.delete(id);\n }\n if (newBinaryId) {\n await this.inventory.childAdditionsAdd(newBinaryId, mo);\n }\n return this.inventory.update(mo);\n }\n}\n","import { Component } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { IManagedObject } from '@c8y/client';\nimport { AlertService, DroppedFile, gettext } from '@c8y/ngx-components';\nimport { uniqBy } from 'lodash';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { pipe } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RepositoryModal, RepositoryType } from '../repository.model';\nimport { RepositoryService } from '../repository.service';\n\n@Component({\n selector: 'c8y-configuration-new-modal',\n templateUrl: './configuration-new-modal.component.html'\n})\nexport class ConfigurationNewModalComponent implements RepositoryModal {\n selected: { id: string; name: string };\n versionOrName: string;\n description: string;\n binary: { file?: File; url?: string } = {\n file: undefined,\n url: undefined\n };\n deviceType: string;\n\n pattern: string = '';\n filterPipe;\n configs;\n mo: Partial<IManagedObject> = {};\n isLoading = false;\n\n result: Promise<void> = new Promise((resolve, reject) => {\n this._save = resolve;\n this._cancel = reject;\n });\n\n private _save;\n private _cancel;\n\n constructor(\n private repositoryService: RepositoryService,\n private bsModalRef: BsModalRef,\n private alert: AlertService\n ) {}\n\n async ngOnInit() {\n this.configs = await this.repositoryService.listConfigurations();\n this.setPipe('');\n }\n\n cancel() {\n this.bsModalRef.hide();\n this._cancel();\n }\n\n setPipe(filterStr: string) {\n this.pattern = filterStr;\n this.filterPipe = pipe(\n map((data: []) => uniqBy(data, 'configurationType')),\n map((data: []) => {\n return data.filter(\n (mo: any) =>\n mo.configurationType &&\n mo.configurationType.toLowerCase().indexOf(filterStr.toLowerCase()) > -1\n );\n })\n );\n }\n\n uploadFile(dropped: DroppedFile[], ngForm: NgForm) {\n this.binary.file = dropped[0].file;\n this.binary.url = undefined;\n ngForm.form.markAsDirty();\n }\n\n async save() {\n try {\n this.isLoading = true;\n const { selected, versionOrName, description, binary, deviceType } = this;\n await this.repositoryService.save(\n { selected, versionOrName, description, binary, deviceType },\n RepositoryType.CONFIGURATION,\n this.mo\n );\n this.alert.success(\n this.mo.id ? gettext('Configuration updated.') : gettext('Configuration created.')\n );\n this.bsModalRef.hide();\n this._save();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n this._cancel();\n } finally {\n this.isLoading = false;\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { IManagedObject, IResultList } from '@c8y/client';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { Observable, pipe, Subject, timer, of } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { RepositoryService } from '../repository.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { ConfigurationNewModalComponent } from './configuration-new-modal.component';\nimport { RepositoryModal } from '../repository.model';\n\n@Component({\n selector: 'c8y-configuration-list',\n templateUrl: './configuration-list.component.html'\n})\nexport class ConfigurationListComponent implements OnInit {\n configurations$: Observable<IResultList<IManagedObject>>;\n filterPipe;\n filterChange$ = new Subject();\n filterTerm = '';\n private readonly CARRIAGE_RETURN_KEY = 13;\n private readonly CARRIAGE_RETURN_CODE = 'Enter';\n private readonly DELETED_SUCCESS_MSG = gettext('Configuration deleted.');\n\n constructor(\n private alert: AlertService,\n private repositoryService: RepositoryService,\n private modalService: BsModalService\n ) {}\n\n async ngOnInit() {\n await this.reset();\n\n this.filterChange$\n .pipe(\n debounce((event: any) =>\n event.code === this.CARRIAGE_RETURN_CODE || event.keyCode === this.CARRIAGE_RETURN_KEY\n ? timer(10)\n : timer(300)\n ),\n map((e: any) => e.target.value),\n distinctUntilChanged()\n )\n .subscribe(filterTerm => {\n this.filterTerm = filterTerm;\n this.setPipe(filterTerm);\n });\n }\n\n ngOnDestroy(): void {\n this.filterChange$.complete();\n }\n\n async add() {\n try {\n await (this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true\n }).content as ConfigurationNewModalComponent).result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async edit(configuration: IManagedObject) {\n try {\n const modal = this.modalService.show(ConfigurationNewModalComponent, {\n class: 'modal-sm',\n ignoreBackdropClick: true,\n initialState: {\n selected: { id: configuration.id, configurationType: configuration.configurationType },\n versionOrName: configuration.name,\n deviceType: configuration.deviceType,\n description: configuration.description,\n binary: { url: configuration.url }\n } as RepositoryModal\n }).content as ConfigurationNewModalComponent;\n modal.mo = configuration;\n await modal.result;\n await this.reset();\n } catch (ex) {\n // inteded empty\n }\n }\n\n async delete(configuration: IManagedObject) {\n try {\n await this.repositoryService.delete(configuration);\n this.alert.success(this.DELETED_SUCCESS_MSG);\n await this.reset();\n } catch (ex) {\n this.alert.addServerFailure(ex);\n }\n }\n\n setPipe(filterTerm: string) {\n this.filterPipe = pipe(\n map((data: []) =>\n filterTerm.trim().length === 0\n ? data\n : data.filter(\n (mo: IManagedObject) =>\n this.filterContainString(mo.name, filterTerm) ||\n this.filterContainString(mo.configurationType, filterTerm)\n )\n )\n );\n }\n\n private filterContainString(name: string, filterTerm: string) {\n const term = filterTerm.toLowerCase().trim();\n return name && name.toLowerCase().indexOf(term) > -1;\n }\n\n private async reset() {\n this.filterTerm = '';\n this.configurations$ = of(await this.repositoryService.listConfigurations());\n this.setPipe('');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory, OptionsService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class RepositoryNavigationFactory implements NavigatorNodeFactory {\n navs: NavigatorNode[] = [];\n\n constructor(private optionsService: OptionsService) {}\n\n async get() {\n const betaFlag = localStorage.getItem('c8y_beta_status');\n if (betaFlag === 'all' && this.navs.length === 0) {\n this.navs.push(\n new NavigatorNode({\n label: gettext('Configuration repository'),\n path: 'configuration-new',\n icon: 'gears',\n parent: gettext('Management'),\n priority: 800\n })\n );\n }\n return this.navs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n CoreModule,\n HOOK_NAVIGATOR_NODES,\n HOOK_ONCE_ROUTE,\n Route\n} from '@c8y/ngx-components';\nimport { ConfigurationListComponent } from './configuration/configuration-list.component';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { RepositoryService } from './repository.service';\nimport { ConfigurationNewModalComponent } from './configuration/configuration-new-modal.component';\nimport { RepositoryNavigationFactory } from './repository-navigation-factory';\n\n@NgModule({\n imports: [CoreModule, TooltipModule],\n exports: [],\n entryComponents: [ConfigurationListComponent, ConfigurationNewModalComponent],\n declarations: [ConfigurationListComponent, ConfigurationNewModalComponent],\n providers: [\n RepositoryService,\n {\n provide: HOOK_NAVIGATOR_NODES,\n useClass: RepositoryNavigationFactory,\n multi: true\n },\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n path: 'configuration-new',\n component: ConfigurationListComponent\n }\n ] as Route[],\n multi: true\n }\n ]\n})\nexport class RepositoryModule {}\n"]}
|