@c8y/ngx-components 1011.0.6 → 1011.0.10
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-reports.umd.js +15 -2
- package/bundles/c8y-ngx-components-reports.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-reports.umd.min.js +2 -2
- package/bundles/c8y-ngx-components-reports.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.js +2 -2
- package/bundles/c8y-ngx-components.umd.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.min.js +1 -1
- package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
- package/esm2015/core/range-display/range-display.component.js +3 -3
- package/esm2015/reports/reports.service.js +9 -3
- package/fesm2015/c8y-ngx-components-reports.js +8 -2
- package/fesm2015/c8y-ngx-components-reports.js.map +1 -1
- package/fesm2015/c8y-ngx-components.js +2 -2
- package/fesm2015/c8y-ngx-components.js.map +1 -1
- package/package.json +2 -2
- package/reports/c8y-ngx-components-reports.metadata.json +1 -1
- package/reports/reports.service.d.ts +2 -1
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
this.alertService = alertService;
|
|
324
324
|
this.inventoryService = inventoryService;
|
|
325
325
|
this.client = client;
|
|
326
|
-
this.microserviceUrl = '/service/reporting
|
|
326
|
+
this.microserviceUrl = '/service/reporting';
|
|
327
327
|
this.headers = { 'Content-Type': 'application/json' };
|
|
328
328
|
}
|
|
329
329
|
ReportsService.prototype.getExport = function (exportId) {
|
|
@@ -428,7 +428,7 @@
|
|
|
428
428
|
method: 'PUT',
|
|
429
429
|
headers: this.headers
|
|
430
430
|
};
|
|
431
|
-
return [4 /*yield*/, this.client.fetch(this.microserviceUrl + "/" + exportId, options)];
|
|
431
|
+
return [4 /*yield*/, this.client.fetch(this.microserviceUrl + "/schedule/" + exportId, options)];
|
|
432
432
|
case 1:
|
|
433
433
|
rescheduling = _a.sent();
|
|
434
434
|
return [2 /*return*/, rescheduling.status === 200];
|
|
@@ -446,6 +446,19 @@
|
|
|
446
446
|
});
|
|
447
447
|
});
|
|
448
448
|
};
|
|
449
|
+
ReportsService.prototype.removeConfiguration = function (config) {
|
|
450
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
451
|
+
var url;
|
|
452
|
+
return __generator(this, function (_a) {
|
|
453
|
+
switch (_a.label) {
|
|
454
|
+
case 0:
|
|
455
|
+
url = this.microserviceUrl + "/config/" + config.id;
|
|
456
|
+
return [4 /*yield*/, this.client.fetch(url, { method: 'DELETE' })];
|
|
457
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
458
|
+
}
|
|
459
|
+
});
|
|
460
|
+
});
|
|
461
|
+
};
|
|
449
462
|
return ReportsService;
|
|
450
463
|
}());
|
|
451
464
|
ReportsService.decorators = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-reports.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../reports/reports.service.ts","../../reports/export-schedules.interface.ts","../../reports/cron.service.ts","../../reports/schedule-modal.component.ts","../../reports/export-schedules.component.ts","../../reports/cron.component.ts","../../reports/reports.module.ts","../../reports/ng1/downgraded.components.ts","../../reports/ng1/downgraded.services.ts","../../reports/ng1/index.ts","../../reports/c8y-ngx-components-reports.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Export, Schedule } from './export-schedules.interface';\nimport { AlertService } from '@c8y/ngx-components';\nimport { orderBy, isEqual, remove, some } from 'lodash-es';\nimport { InventoryService, IdReference } from '@c8y/client';\nimport { FetchClient, IFetchOptions } from '@c8y/client';\nimport { gettext } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ReportsService {\n microserviceUrl: string;\n headers: any;\n\n constructor(\n private alertService: AlertService,\n private inventoryService: InventoryService,\n private client: FetchClient\n ) {\n this.microserviceUrl = '/service/reporting/schedule';\n this.headers = { 'Content-Type': 'application/json' };\n }\n\n async getExport(exportId: IdReference) {\n let exp: Export;\n const exportDetail = await this.inventoryService.detail(exportId);\n const { data, res } = exportDetail;\n if (res.status !== 200) {\n this.alertService.addServerFailure({ data, res });\n } else {\n exp = data ? ((data as unknown) as Export) : ({} as Export);\n }\n\n return exp;\n }\n\n async getScheduleList(exportId: IdReference) {\n const exp = await this.getExport(exportId);\n\n return this.extractScheduleListFromExport(exp);\n }\n\n extractScheduleListFromExport(exp: Export) {\n let scheduleList: Schedule[];\n if (exp) {\n scheduleList = exp.c8y_ScheduleConfiguration ? exp.c8y_ScheduleConfiguration : [];\n }\n return orderBy(scheduleList, ['timestamp'], ['desc']);\n }\n\n async addSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [], [schedule]);\n }\n\n async updateSchedule(oldSchedule: Schedule, schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [oldSchedule], [schedule]);\n }\n\n async updateSchedules(\n exportId: IdReference,\n schedulesToRemove: Schedule[] = [],\n schedulesToAdd: Schedule[] = []\n ) {\n let success: boolean = false;\n const exp = await this.getExport(exportId);\n const schedules = this.extractScheduleListFromExport(exp);\n\n remove(schedules, (schedule: Schedule) =>\n some(schedulesToRemove, (scheduleToRemove: Schedule) => isEqual(schedule, scheduleToRemove))\n );\n schedules.push.apply(schedules, schedulesToAdd);\n exp.c8y_ScheduleConfiguration = schedules;\n const { data, res } = await this.inventoryService.update(exp);\n if (res.status === 200) {\n success = await this.reschedule(exportId);\n } else {\n this.alertService.addServerFailure({ data, res });\n }\n\n return success;\n }\n\n async reschedule(exportId: IdReference) {\n const options: IFetchOptions = {\n method: 'PUT',\n headers: this.headers\n };\n const rescheduling = await this.client.fetch(`${this.microserviceUrl}/${exportId}`, options);\n return rescheduling.status === 200;\n }\n\n async deleteSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [schedule], []);\n }\n}\n","import { IManagedObject } from '@c8y/client';\n\nexport interface Export extends IManagedObject {\n c8y_ScheduleConfiguration: Schedule[];\n}\n\nexport interface Schedule {\n timestamp: number;\n emailConfig: EmailConfig;\n cronConfig: CronConfig;\n}\n\nexport interface EmailConfig {\n to: string[];\n cc: string[];\n bcc: string[];\n replyTo: string;\n text: string;\n subject: string;\n}\n\nexport interface CronConfig {\n month: string;\n hour: string;\n weekday: string;\n day: string;\n minute: string;\n}\n\nexport interface EmittedCron {\n cron: string;\n valid: boolean;\n}\n\nexport interface EmitterPayload {\n success: boolean;\n message: string;\n schedule: Schedule;\n}\n\nexport enum ActionType {\n CREATE = 'create',\n EDIT = 'edit',\n DUPLICATE = 'duplicate'\n}\n\nexport enum Base {\n Initial = 1,\n Hour,\n Day,\n Week,\n Month,\n Year\n}\n","import { Injectable } from '@angular/core';\nimport { CronConfig, Base } from './export-schedules.interface';\nimport { TranslateService } from '@ngx-translate/core';\nimport { formatDate } from '@angular/common';\nimport { gettext } from '@c8y/ngx-components';\n\n@Injectable()\nexport class CronService {\n daysOfWeekPosix: any[] = [];\n daysOfMonth = [\n { value: '1', label: '1.' },\n { value: '2', label: '2.' },\n { value: '3', label: '3.' },\n { value: '4', label: '4.' },\n { value: '5', label: '5.' },\n { value: '6', label: '6.' },\n { value: '7', label: '7.' },\n { value: '8', label: '8.' },\n { value: '9', label: '9.' },\n { value: '10', label: '10.' },\n { value: '11', label: '11.' },\n { value: '12', label: '12.' },\n { value: '13', label: '13.' },\n { value: '14', label: '14.' },\n { value: '15', label: '15.' },\n { value: '16', label: '16.' },\n { value: '17', label: '17.' },\n { value: '18', label: '18.' },\n { value: '19', label: '19.' },\n { value: '20', label: '20.' },\n { value: '21', label: '21.' },\n { value: '22', label: '22.' },\n { value: '23', label: '23.' },\n { value: '24', label: '24.' },\n { value: '25', label: '25.' },\n { value: '26', label: '26.' },\n { value: '27', label: '27.' },\n { value: '28', label: '28.' },\n { value: '29', label: '29.' },\n { value: '30', label: '30.' },\n { value: '31', label: '31.' }\n ];\n months: any[] = [];\n hours: any[] = [];\n minutes: any[] = [];\n intervals = [\n { value: 2, label: gettext('Hour') },\n { value: 3, label: gettext('Day') },\n { value: 4, label: gettext('Week') },\n { value: 5, label: gettext('Month') },\n { value: 6, label: gettext('Year') }\n ];\n constructor(private translateService: TranslateService) {\n for (let x = 0; x < 24; x++) {\n this.hours.push({ value: x.toString(), label: `${x}` });\n }\n for (let x = 0; x < 60; x = x + 5) {\n this.minutes.push({ value: x.toString(), label: `${x}` });\n }\n\n for (let x = 0; x < 7; x++) {\n this.daysOfWeekPosix.push({\n value: x.toString(),\n label: this.getWeekDayName(({ weekday: x } as unknown) as CronConfig)\n });\n }\n\n for (let x = 1; x < 13; x++) {\n this.months.push({\n value: x.toString(),\n label: this.getMonthName(({ month: x } as unknown) as CronConfig)\n });\n }\n }\n\n generateCron(cronConfig: CronConfig) {\n let cron: string = '';\n cron = cronConfig.minute ? `${cronConfig.minute}` : '*';\n cron += cronConfig.hour ? ` ${cronConfig.hour}` : ' *';\n cron += cronConfig.day ? ` ${cronConfig.day}` : ' *';\n cron += cronConfig.month ? ` ${cronConfig.month}` : ' *';\n cron += cronConfig.weekday ? ` ${cronConfig.weekday}` : ' *';\n\n return cron;\n }\n\n generateCronConfig(cron: string) {\n const parts = cron.split(/\\s+/);\n const cronConfig: CronConfig = {\n minute: parts[0],\n hour: parts[1],\n day: parts[2],\n month: parts[3],\n weekday: parts[4]\n };\n\n return cronConfig;\n }\n\n getBase(cronConfig: CronConfig) {\n let base: Base = Base.Initial;\n\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour === '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Hour;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Day;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday !== '*'\n ) {\n base = Base.Week;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Month;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Year;\n } else {\n // cronConfig invalid\n }\n\n return base;\n }\n\n validateModels(base: Base, cronConfig: CronConfig) {\n let valid: boolean;\n switch (base) {\n case Base.Initial: // Please select\n valid = false;\n break;\n case Base.Hour:\n if (cronConfig.minute !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Day:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Week:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.weekday !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Month:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.day !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Year:\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*'\n ) {\n valid = true;\n } else {\n valid = false;\n }\n break;\n default:\n valid = false;\n }\n\n return valid;\n }\n\n clearNextModels(base: Base, cronConfig: CronConfig) {\n if (base === Base.Initial) {\n // please select, delete all\n // cron expression: every minute at second 0\n cronConfig.minute = '*';\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Hour) {\n // hour, don't delete minutes\n // cron expression: every hour, at whatever minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Day) {\n // day, don't delete minutes and hours\n // cron expression: every day of every month, at whatever hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Week) {\n // week, delete month and day\n // cron expression: every month, at whatever weekday, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = cronConfig.weekday === '*' || cronConfig.weekday === '?' ? this.daysOfWeekPosix[0].value : cronConfig.weekday ;\n } else if (base === Base.Month) {\n // month, delete month and weekday\n // cron expression: every month, at whatever day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Year) {\n // year, delete weekday\n // cron expression: every year, at whatever month, day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = cronConfig.month === '*' ? this.months[0].value : cronConfig.month;\n cronConfig.weekday = '*';\n }\n }\n\n getWeekDayName(cronConfig: CronConfig) {\n const date = new Date(0);\n const firstSundayDate = date.getDate() + 3; // because we know date 0 was on Thursday...\n date.setDate(firstSundayDate + parseInt(cronConfig.weekday, 10));\n return formatDate(date, 'EEEE', this.translateService.currentLang);\n }\n\n getMonthDayName(cronConfig: CronConfig) {\n let name = '';\n this.daysOfMonth.forEach(item => {\n if (item.value === cronConfig.day) {\n name = item.label;\n }\n });\n\n return name;\n }\n\n getMonthName(cronConfig: CronConfig) {\n const date = new Date(0);\n date.setMonth(parseInt(cronConfig.month, 10) - 1);\n return formatDate(date, 'LLLL', this.translateService.currentLang);\n }\n}\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { Schedule, ActionType } from './export-schedules.interface';\nimport { EmittedCron, EmitterPayload } from './export-schedules.interface';\nimport { CronService } from './cron.service';\nimport { cloneDeep } from 'lodash-es';\nimport { gettext } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\n\n@Component({\n selector: 'schedule-modal',\n templateUrl: './schedule-modal.component.html'\n})\nexport class ScheduleModalComponent implements OnInit {\n schedule: Schedule;\n oldSchedule: Schedule;\n @Output() emitter: EventEmitter<EmitterPayload> = new EventEmitter();\n exportId: number;\n actionType: ActionType;\n ActionType = ActionType;\n cronExpression: string = '* * * * *';\n validCron: boolean = false;\n emitterPayload: EmitterPayload = {\n success: false,\n message: '',\n schedule: { timestamp: undefined, emailConfig: undefined, cronConfig: undefined }\n };\n\n emailTo: string;\n emailCc: string;\n emailBcc: string;\n emailReplyTo: string;\n emailSubject: string;\n emailText: string;\n\n placeholdersInfo = gettext(\n 'Available placeholders: {tenant-domain}, {host}, {binaryId}. Whole link to downloadable file is: {tenant-domain}/inventory/binaries/{binaryId}.'\n );\n\n constructor(\n public reportsService: ReportsService,\n public modalRef: BsModalRef,\n private cronService: CronService\n ) {}\n\n ngOnInit() {\n this.oldSchedule = cloneDeep(this.schedule);\n this.populateEmailFieldsFromSchedule(this.schedule);\n this.cronExpression = this.cronService.generateCron(this.schedule.cronConfig);\n this.validCron = this.cronService.validateModels(\n this.cronService.getBase(this.schedule.cronConfig),\n this.schedule.cronConfig\n );\n }\n\n populateEmailFieldsFromSchedule(schedule: Schedule) {\n if (schedule.emailConfig.to && schedule.emailConfig.to.length) {\n this.emailTo = schedule.emailConfig.to.toString();\n }\n if (schedule.emailConfig.cc && schedule.emailConfig.cc.length) {\n this.emailCc = schedule.emailConfig.cc.toString();\n }\n if (schedule.emailConfig.bcc && schedule.emailConfig.bcc.length) {\n this.emailBcc = schedule.emailConfig.bcc.toString();\n }\n if (schedule.emailConfig.replyTo) {\n this.emailReplyTo = schedule.emailConfig.replyTo;\n }\n if (schedule.emailConfig.subject) {\n this.emailSubject = schedule.emailConfig.subject;\n }\n if (schedule.emailConfig.text) {\n this.emailText = schedule.emailConfig.text;\n }\n }\n\n save() {\n this.populateScheduleFromCronExpression();\n this.populateScheduleFromEmailFields();\n if (this.actionType === ActionType.CREATE || this.actionType === ActionType.DUPLICATE) {\n const date = new Date();\n const timestamp = date.getTime();\n this.schedule.timestamp = timestamp;\n }\n this.emitterPayload.success = true;\n this.emitterPayload.schedule = this.schedule;\n this.modalRef.hide();\n // signal to the parent component to update list\n this.emitter.emit(this.emitterPayload);\n }\n\n cancel() {\n this.modalRef.hide();\n }\n\n getCron(cron: EmittedCron) {\n this.validCron = cron.valid;\n if (cron.valid) {\n this.cronExpression = cron.cron;\n }\n }\n\n populateScheduleFromCronExpression() {\n this.schedule.cronConfig = this.cronService.generateCronConfig(this.cronExpression);\n }\n\n convertStringOfEmailsToArray(stringOfEmails: string) {\n const arr = [];\n if (stringOfEmails) {\n const parts = stringOfEmails.split(',');\n parts.forEach(item => {\n if (item) {\n arr.push(item);\n }\n });\n }\n return arr;\n }\n\n populateScheduleFromEmailFields() {\n this.schedule.emailConfig.to = this.emailTo\n ? this.convertStringOfEmailsToArray(this.emailTo)\n : null;\n this.schedule.emailConfig.cc = this.emailCc\n ? this.convertStringOfEmailsToArray(this.emailCc)\n : null;\n this.schedule.emailConfig.bcc = this.emailBcc\n ? this.convertStringOfEmailsToArray(this.emailBcc)\n : null;\n this.schedule.emailConfig.replyTo = this.emailReplyTo;\n this.schedule.emailConfig.subject = this.emailSubject;\n this.schedule.emailConfig.text = this.emailText;\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { Export, Schedule, EmitterPayload, ActionType } from './export-schedules.interface';\nimport { ReportsService } from './reports.service';\nimport { BsModalService, BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { ConfirmModalComponent, Status, gettext, OptionsService } from '@c8y/ngx-components';\nimport { cloneDeep } from 'lodash-es';\nimport { CronService } from './cron.service';\nimport { IdReference } from '@c8y/client';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserService } from '@c8y/client';\n@Component({\n selector: 'export-schedules',\n templateUrl: './export-schedules.component.html'\n})\nexport class ExportSchedulesComponent implements OnInit, OnChanges {\n @Input() set exportId(exportId: IdReference) {\n this._exportId = exportId;\n }\n\n @Output() onSchedulesUpdate = new EventEmitter<Schedule[]>();\n\n exp: Export;\n scheduleList: Schedule[] = [];\n initialSchedule: Schedule = {\n timestamp: null,\n emailConfig: {\n to: [],\n cc: [],\n bcc: [],\n replyTo: '',\n text: '',\n subject: ''\n },\n cronConfig: {\n minute: '0',\n hour: '0',\n day: '1',\n month: '1',\n weekday: '?'\n }\n };\n buttonLabels: any;\n listClass: string = 'interact-list';\n loadingStatus: any;\n sortType: string;\n sortReverse: boolean = false;\n isOpen: any = {};\n isFlipped: boolean;\n isEditMenuOpen: boolean = false;\n modalRef: BsModalRef;\n currentUserEmail: string = '';\n hasRequiredRole: boolean = false;\n private _exportId: IdReference;\n private defaultExportEmailTemplate = this.translateService.instant(\n gettext(\n 'File with exported data can be downloaded from {tenant-domain}/inventory/binaries/{binaryId}.'\n )\n );\n\n constructor(\n private reportsService: ReportsService,\n private bsModalService: BsModalService,\n public cronService: CronService,\n private translateService: TranslateService,\n private userService: UserService,\n private optionsService: OptionsService\n ) {\n this.loadingStatus = {\n inProgress: false,\n done: false,\n error: false\n };\n }\n\n async ngOnInit() {\n this.hasRequiredRole = await this.checkRole();\n this.getScheduleList(true);\n const currentUserEmail = await this.getCurrentUserEmail();\n this.initialSchedule.emailConfig.text = await this.optionsService.getTenantOption(\n 'configuration',\n 'export.data.mail.text',\n this.defaultExportEmailTemplate);\n this.initialSchedule.emailConfig.to = currentUserEmail;\n this.exp = await this.reportsService.getExport(this._exportId);\n this.initialSchedule.emailConfig.subject = this.translateService.instant(\n gettext('Export of \"{{expName}}\"'),\n { expName: this.exp.name }\n );\n }\n\n ngOnChanges() {\n this.translateButtonTitles();\n }\n\n translateButtonTitles() {\n this.buttonLabels = {\n edit: this.translateService.instant(gettext('Edit schedule')),\n editNoPermission: this.translateService.instant(gettext('Edit schedule - no permissions')),\n duplicate: this.translateService.instant(gettext('Duplicate schedule')),\n duplicateNoPermission: this.translateService.instant(gettext('Duplicate schedule - no permissions')),\n delete: this.translateService.instant(gettext('Delete schedule')),\n deleteNoPermission: this.translateService.instant(gettext('Delete schedule - no permissions'))\n };\n }\n\n async getCurrentUserEmail() {\n const { data } = await this.userService.current();\n return data && data.email ? [data.email] : [];\n }\n async checkRole() {\n const { data } = await this.userService.current();\n const role = 'ROLE_SCHEDULE_REPORT_ADMIN';\n const hasRole = this.userService.hasRole(data, role);\n return hasRole;\n }\n\n async getScheduleList(withProgress: boolean) {\n if (withProgress) {\n this.loadingStatus.inProgress = true;\n }\n this.scheduleList = await this.reportsService.getScheduleList(this._exportId);\n if (withProgress) {\n this.loadingStatus.inProgress = false;\n }\n }\n\n addSchedule() {\n this.openAddEditModal(this._exportId, this.initialSchedule, ActionType.CREATE);\n }\n\n editSchedule(schedule: Schedule, index: number, event: any) {\n if (this.hasRequiredRole) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.EDIT, index);\n }\n }\n\n duplicateSchedule(schedule: Schedule, event: any) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.DUPLICATE);\n }\n\n openAddEditModal(exportId: IdReference, schedule: Schedule, actionType: ActionType, index?: number) {\n const payload = { actionType, exportId, schedule: cloneDeep(schedule) };\n const modalOptions = { class: 'modal-sm', initialState: payload } as ModalOptions;\n this.modalRef = this.bsModalService.show(ScheduleModalComponent, modalOptions);\n this.modalRef.content.emitter.subscribe((load: EmitterPayload) =>\n this.getMessageFromModal(load, index)\n );\n }\n\n getMessageFromModal(payload: EmitterPayload, index?: number) {\n if (payload.success) {\n if (index !== undefined) {\n this.scheduleList[index] = payload.schedule;\n } else {\n this.scheduleList.push(payload.schedule);\n }\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n }\n\n removeSchedule(schedule: Schedule, index: number, event: any) {\n event.preventDefault();\n this.scheduleList.splice(index, 1);\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { EmittedCron, CronConfig, Base } from './export-schedules.interface';\nimport { CronService } from './cron.service';\n\n@Component({\n selector: 'cron',\n templateUrl: './cron.component.html'\n})\nexport class CronComponent implements OnInit {\n @Input() cronIn: string;\n @Output() emitter: EventEmitter<EmittedCron> = new EventEmitter();\n emittedCron: EmittedCron = {\n valid: false,\n cron: ''\n };\n\n base: Base = Base.Initial;\n cronConfig: CronConfig;\n\n daysOfWeekPosix: any[];\n daysOfMonth: any[];\n months: any[];\n hours: any[];\n minutes: any[];\n intervals: any[];\n\n constructor(private cronService: CronService) {\n //\n }\n\n ngOnInit() {\n this.daysOfWeekPosix = this.cronService.daysOfWeekPosix;\n this.daysOfMonth = this.cronService.daysOfMonth;\n this.months = this.cronService.months;\n this.hours = this.cronService.hours;\n this.minutes = this.cronService.minutes;\n this.intervals = this.cronService.intervals;\n\n this.cronConfig = this.cronService.generateCronConfig(this.cronIn);\n this.base = this.cronService.getBase(this.cronConfig);\n }\n\n onChangeSelect() {\n this.cronService.clearNextModels(this.base, this.cronConfig);\n this.emittedCron.valid = this.cronService.validateModels(this.base, this.cronConfig);\n this.emittedCron.cron = this.cronService.generateCron(this.cronConfig);\n this.emitter.emit(this.emittedCron);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, FormsModule } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\nimport { CronService } from './cron.service';\nimport { ExportSchedulesComponent } from './export-schedules.component';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { CronComponent } from './cron.component';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n/**\n * The angular module definition for reports.\n * @exports ExportSchedulesComponent\n * @exports ScheduleModalComponent\n * @exports CronComponent\n */\n@NgModule({\n declarations: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n imports: [CoreModule, FormsModule, BsDropdownModule, TooltipModule],\n entryComponents: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n providers: [ReportsService, CronService],\n exports: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent]\n})\nexport class ReportsModule {}\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport { ExportSchedulesComponent } from '../export-schedules.component';\nexport const exportSchedulesComponent = downgradeComponent({\n component: ExportSchedulesComponent\n});\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport { ReportsService } from '..';\nexport const reportsService = downgradeInjectable(ReportsService);\n","import * as angular from 'angular';\nimport { registerNgModule } from '@c8y/ng1-modules/core/bootstrap';\nimport { exportSchedulesComponent } from './downgraded.components';\nimport { reportsService } from './downgraded.services';\n\nconst NAME = 'c8y.upgrade.reports';\n\nconst angularJsModule = angular\n .module(NAME, [])\n .directive('c8yExportSchedules', exportSchedulesComponent)\n .service('c8yReportsService', reportsService);\n\nexport const ng1Modules = [NAME];\n\nregisterNgModule(ng1Modules);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["orderBy","remove","some","isEqual","Injectable","AlertService","InventoryService","FetchClient","ActionType","Base","gettext","formatDate","TranslateService","EventEmitter","cloneDeep","Component","BsModalRef","Output","BsModalService","UserService","OptionsService","Input","NgModule","CoreModule","FormsModule","BsDropdownModule","TooltipModule","downgradeComponent","downgradeInjectable","angular","registerNgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-reports.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../reports/reports.service.ts","../../reports/export-schedules.interface.ts","../../reports/cron.service.ts","../../reports/schedule-modal.component.ts","../../reports/export-schedules.component.ts","../../reports/cron.component.ts","../../reports/reports.module.ts","../../reports/ng1/downgraded.components.ts","../../reports/ng1/downgraded.services.ts","../../reports/ng1/index.ts","../../reports/c8y-ngx-components-reports.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Export, Schedule } from './export-schedules.interface';\nimport { AlertService } from '@c8y/ngx-components';\nimport { orderBy, isEqual, remove, some } from 'lodash-es';\nimport {InventoryService, IdReference, IFetchResponse, IIdentified} from '@c8y/client';\nimport { FetchClient, IFetchOptions } from '@c8y/client';\n\n@Injectable()\nexport class ReportsService {\n microserviceUrl: string;\n headers: any;\n\n constructor(\n private alertService: AlertService,\n private inventoryService: InventoryService,\n private client: FetchClient\n ) {\n this.microserviceUrl = '/service/reporting';\n this.headers = { 'Content-Type': 'application/json' };\n }\n\n async getExport(exportId: IdReference) {\n let exp: Export;\n const exportDetail = await this.inventoryService.detail(exportId);\n const { data, res } = exportDetail;\n if (res.status !== 200) {\n this.alertService.addServerFailure({ data, res });\n } else {\n exp = data ? ((data as unknown) as Export) : ({} as Export);\n }\n\n return exp;\n }\n\n async getScheduleList(exportId: IdReference) {\n const exp = await this.getExport(exportId);\n\n return this.extractScheduleListFromExport(exp);\n }\n\n extractScheduleListFromExport(exp: Export) {\n let scheduleList: Schedule[];\n if (exp) {\n scheduleList = exp.c8y_ScheduleConfiguration ? exp.c8y_ScheduleConfiguration : [];\n }\n return orderBy(scheduleList, ['timestamp'], ['desc']);\n }\n\n async addSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [], [schedule]);\n }\n\n async updateSchedule(oldSchedule: Schedule, schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [oldSchedule], [schedule]);\n }\n\n async updateSchedules(\n exportId: IdReference,\n schedulesToRemove: Schedule[] = [],\n schedulesToAdd: Schedule[] = []\n ) {\n let success: boolean = false;\n const exp = await this.getExport(exportId);\n const schedules = this.extractScheduleListFromExport(exp);\n\n remove(schedules, (schedule: Schedule) =>\n some(schedulesToRemove, (scheduleToRemove: Schedule) => isEqual(schedule, scheduleToRemove))\n );\n schedules.push.apply(schedules, schedulesToAdd);\n exp.c8y_ScheduleConfiguration = schedules;\n const { data, res } = await this.inventoryService.update(exp);\n if (res.status === 200) {\n success = await this.reschedule(exportId);\n } else {\n this.alertService.addServerFailure({ data, res });\n }\n\n return success;\n }\n\n async reschedule(exportId: IdReference) {\n const options: IFetchOptions = {\n method: 'PUT',\n headers: this.headers\n };\n const rescheduling = await this.client.fetch(`${this.microserviceUrl}/schedule/${exportId}`, options);\n return rescheduling.status === 200;\n }\n\n async deleteSchedule(schedule: Schedule, exportId: IdReference) {\n return await this.updateSchedules(exportId, [schedule], []);\n }\n\n async removeConfiguration(config: IIdentified): Promise<IFetchResponse> {\n const url = `${this.microserviceUrl}/config/${config.id}`;\n return await this.client.fetch(url, { method: 'DELETE' });\n }\n}\n","import { IManagedObject } from '@c8y/client';\n\nexport interface Export extends IManagedObject {\n c8y_ScheduleConfiguration: Schedule[];\n}\n\nexport interface Schedule {\n timestamp: number;\n emailConfig: EmailConfig;\n cronConfig: CronConfig;\n}\n\nexport interface EmailConfig {\n to: string[];\n cc: string[];\n bcc: string[];\n replyTo: string;\n text: string;\n subject: string;\n}\n\nexport interface CronConfig {\n month: string;\n hour: string;\n weekday: string;\n day: string;\n minute: string;\n}\n\nexport interface EmittedCron {\n cron: string;\n valid: boolean;\n}\n\nexport interface EmitterPayload {\n success: boolean;\n message: string;\n schedule: Schedule;\n}\n\nexport enum ActionType {\n CREATE = 'create',\n EDIT = 'edit',\n DUPLICATE = 'duplicate'\n}\n\nexport enum Base {\n Initial = 1,\n Hour,\n Day,\n Week,\n Month,\n Year\n}\n","import { Injectable } from '@angular/core';\nimport { CronConfig, Base } from './export-schedules.interface';\nimport { TranslateService } from '@ngx-translate/core';\nimport { formatDate } from '@angular/common';\nimport { gettext } from '@c8y/ngx-components';\n\n@Injectable()\nexport class CronService {\n daysOfWeekPosix: any[] = [];\n daysOfMonth = [\n { value: '1', label: '1.' },\n { value: '2', label: '2.' },\n { value: '3', label: '3.' },\n { value: '4', label: '4.' },\n { value: '5', label: '5.' },\n { value: '6', label: '6.' },\n { value: '7', label: '7.' },\n { value: '8', label: '8.' },\n { value: '9', label: '9.' },\n { value: '10', label: '10.' },\n { value: '11', label: '11.' },\n { value: '12', label: '12.' },\n { value: '13', label: '13.' },\n { value: '14', label: '14.' },\n { value: '15', label: '15.' },\n { value: '16', label: '16.' },\n { value: '17', label: '17.' },\n { value: '18', label: '18.' },\n { value: '19', label: '19.' },\n { value: '20', label: '20.' },\n { value: '21', label: '21.' },\n { value: '22', label: '22.' },\n { value: '23', label: '23.' },\n { value: '24', label: '24.' },\n { value: '25', label: '25.' },\n { value: '26', label: '26.' },\n { value: '27', label: '27.' },\n { value: '28', label: '28.' },\n { value: '29', label: '29.' },\n { value: '30', label: '30.' },\n { value: '31', label: '31.' }\n ];\n months: any[] = [];\n hours: any[] = [];\n minutes: any[] = [];\n intervals = [\n { value: 2, label: gettext('Hour') },\n { value: 3, label: gettext('Day') },\n { value: 4, label: gettext('Week') },\n { value: 5, label: gettext('Month') },\n { value: 6, label: gettext('Year') }\n ];\n constructor(private translateService: TranslateService) {\n for (let x = 0; x < 24; x++) {\n this.hours.push({ value: x.toString(), label: `${x}` });\n }\n for (let x = 0; x < 60; x = x + 5) {\n this.minutes.push({ value: x.toString(), label: `${x}` });\n }\n\n for (let x = 0; x < 7; x++) {\n this.daysOfWeekPosix.push({\n value: x.toString(),\n label: this.getWeekDayName(({ weekday: x } as unknown) as CronConfig)\n });\n }\n\n for (let x = 1; x < 13; x++) {\n this.months.push({\n value: x.toString(),\n label: this.getMonthName(({ month: x } as unknown) as CronConfig)\n });\n }\n }\n\n generateCron(cronConfig: CronConfig) {\n let cron: string = '';\n cron = cronConfig.minute ? `${cronConfig.minute}` : '*';\n cron += cronConfig.hour ? ` ${cronConfig.hour}` : ' *';\n cron += cronConfig.day ? ` ${cronConfig.day}` : ' *';\n cron += cronConfig.month ? ` ${cronConfig.month}` : ' *';\n cron += cronConfig.weekday ? ` ${cronConfig.weekday}` : ' *';\n\n return cron;\n }\n\n generateCronConfig(cron: string) {\n const parts = cron.split(/\\s+/);\n const cronConfig: CronConfig = {\n minute: parts[0],\n hour: parts[1],\n day: parts[2],\n month: parts[3],\n weekday: parts[4]\n };\n\n return cronConfig;\n }\n\n getBase(cronConfig: CronConfig) {\n let base: Base = Base.Initial;\n\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour === '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Hour;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Day;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day === '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday !== '*'\n ) {\n base = Base.Week;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month === '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Month;\n } else if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*' &&\n cronConfig.weekday === '*'\n ) {\n base = Base.Year;\n } else {\n // cronConfig invalid\n }\n\n return base;\n }\n\n validateModels(base: Base, cronConfig: CronConfig) {\n let valid: boolean;\n switch (base) {\n case Base.Initial: // Please select\n valid = false;\n break;\n case Base.Hour:\n if (cronConfig.minute !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Day:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Week:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.weekday !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Month:\n if (cronConfig.minute !== '*' && cronConfig.hour !== '*' && cronConfig.day !== '*') {\n valid = true;\n } else {\n valid = false;\n }\n break;\n case Base.Year:\n if (\n cronConfig.minute !== '*' &&\n cronConfig.hour !== '*' &&\n cronConfig.day !== '*' &&\n cronConfig.month !== '*'\n ) {\n valid = true;\n } else {\n valid = false;\n }\n break;\n default:\n valid = false;\n }\n\n return valid;\n }\n\n clearNextModels(base: Base, cronConfig: CronConfig) {\n if (base === Base.Initial) {\n // please select, delete all\n // cron expression: every minute at second 0\n cronConfig.minute = '*';\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Hour) {\n // hour, don't delete minutes\n // cron expression: every hour, at whatever minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = '*';\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Day) {\n // day, don't delete minutes and hours\n // cron expression: every day of every month, at whatever hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Week) {\n // week, delete month and day\n // cron expression: every month, at whatever weekday, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = '*';\n cronConfig.month = '*';\n cronConfig.weekday = cronConfig.weekday === '*' || cronConfig.weekday === '?' ? this.daysOfWeekPosix[0].value : cronConfig.weekday ;\n } else if (base === Base.Month) {\n // month, delete month and weekday\n // cron expression: every month, at whatever day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = '*';\n cronConfig.weekday = '*';\n } else if (base === Base.Year) {\n // year, delete weekday\n // cron expression: every year, at whatever month, day of month, hour and minute, at second 0\n cronConfig.minute = cronConfig.minute === '*' ? this.minutes[0].value : cronConfig.minute;\n cronConfig.hour = cronConfig.hour === '*' ? this.hours[0].value : cronConfig.hour;\n cronConfig.day = cronConfig.day === '*' ? this.daysOfMonth[0].value : cronConfig.day;\n cronConfig.month = cronConfig.month === '*' ? this.months[0].value : cronConfig.month;\n cronConfig.weekday = '*';\n }\n }\n\n getWeekDayName(cronConfig: CronConfig) {\n const date = new Date(0);\n const firstSundayDate = date.getDate() + 3; // because we know date 0 was on Thursday...\n date.setDate(firstSundayDate + parseInt(cronConfig.weekday, 10));\n return formatDate(date, 'EEEE', this.translateService.currentLang);\n }\n\n getMonthDayName(cronConfig: CronConfig) {\n let name = '';\n this.daysOfMonth.forEach(item => {\n if (item.value === cronConfig.day) {\n name = item.label;\n }\n });\n\n return name;\n }\n\n getMonthName(cronConfig: CronConfig) {\n const date = new Date(0);\n date.setMonth(parseInt(cronConfig.month, 10) - 1);\n return formatDate(date, 'LLLL', this.translateService.currentLang);\n }\n}\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { Schedule, ActionType } from './export-schedules.interface';\nimport { EmittedCron, EmitterPayload } from './export-schedules.interface';\nimport { CronService } from './cron.service';\nimport { cloneDeep } from 'lodash-es';\nimport { gettext } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\n\n@Component({\n selector: 'schedule-modal',\n templateUrl: './schedule-modal.component.html'\n})\nexport class ScheduleModalComponent implements OnInit {\n schedule: Schedule;\n oldSchedule: Schedule;\n @Output() emitter: EventEmitter<EmitterPayload> = new EventEmitter();\n exportId: number;\n actionType: ActionType;\n ActionType = ActionType;\n cronExpression: string = '* * * * *';\n validCron: boolean = false;\n emitterPayload: EmitterPayload = {\n success: false,\n message: '',\n schedule: { timestamp: undefined, emailConfig: undefined, cronConfig: undefined }\n };\n\n emailTo: string;\n emailCc: string;\n emailBcc: string;\n emailReplyTo: string;\n emailSubject: string;\n emailText: string;\n\n placeholdersInfo = gettext(\n 'Available placeholders: {tenant-domain}, {host}, {binaryId}. Whole link to downloadable file is: {tenant-domain}/inventory/binaries/{binaryId}.'\n );\n\n constructor(\n public reportsService: ReportsService,\n public modalRef: BsModalRef,\n private cronService: CronService\n ) {}\n\n ngOnInit() {\n this.oldSchedule = cloneDeep(this.schedule);\n this.populateEmailFieldsFromSchedule(this.schedule);\n this.cronExpression = this.cronService.generateCron(this.schedule.cronConfig);\n this.validCron = this.cronService.validateModels(\n this.cronService.getBase(this.schedule.cronConfig),\n this.schedule.cronConfig\n );\n }\n\n populateEmailFieldsFromSchedule(schedule: Schedule) {\n if (schedule.emailConfig.to && schedule.emailConfig.to.length) {\n this.emailTo = schedule.emailConfig.to.toString();\n }\n if (schedule.emailConfig.cc && schedule.emailConfig.cc.length) {\n this.emailCc = schedule.emailConfig.cc.toString();\n }\n if (schedule.emailConfig.bcc && schedule.emailConfig.bcc.length) {\n this.emailBcc = schedule.emailConfig.bcc.toString();\n }\n if (schedule.emailConfig.replyTo) {\n this.emailReplyTo = schedule.emailConfig.replyTo;\n }\n if (schedule.emailConfig.subject) {\n this.emailSubject = schedule.emailConfig.subject;\n }\n if (schedule.emailConfig.text) {\n this.emailText = schedule.emailConfig.text;\n }\n }\n\n save() {\n this.populateScheduleFromCronExpression();\n this.populateScheduleFromEmailFields();\n if (this.actionType === ActionType.CREATE || this.actionType === ActionType.DUPLICATE) {\n const date = new Date();\n const timestamp = date.getTime();\n this.schedule.timestamp = timestamp;\n }\n this.emitterPayload.success = true;\n this.emitterPayload.schedule = this.schedule;\n this.modalRef.hide();\n // signal to the parent component to update list\n this.emitter.emit(this.emitterPayload);\n }\n\n cancel() {\n this.modalRef.hide();\n }\n\n getCron(cron: EmittedCron) {\n this.validCron = cron.valid;\n if (cron.valid) {\n this.cronExpression = cron.cron;\n }\n }\n\n populateScheduleFromCronExpression() {\n this.schedule.cronConfig = this.cronService.generateCronConfig(this.cronExpression);\n }\n\n convertStringOfEmailsToArray(stringOfEmails: string) {\n const arr = [];\n if (stringOfEmails) {\n const parts = stringOfEmails.split(',');\n parts.forEach(item => {\n if (item) {\n arr.push(item);\n }\n });\n }\n return arr;\n }\n\n populateScheduleFromEmailFields() {\n this.schedule.emailConfig.to = this.emailTo\n ? this.convertStringOfEmailsToArray(this.emailTo)\n : null;\n this.schedule.emailConfig.cc = this.emailCc\n ? this.convertStringOfEmailsToArray(this.emailCc)\n : null;\n this.schedule.emailConfig.bcc = this.emailBcc\n ? this.convertStringOfEmailsToArray(this.emailBcc)\n : null;\n this.schedule.emailConfig.replyTo = this.emailReplyTo;\n this.schedule.emailConfig.subject = this.emailSubject;\n this.schedule.emailConfig.text = this.emailText;\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { Export, Schedule, EmitterPayload, ActionType } from './export-schedules.interface';\nimport { ReportsService } from './reports.service';\nimport { BsModalService, BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { ConfirmModalComponent, Status, gettext, OptionsService } from '@c8y/ngx-components';\nimport { cloneDeep } from 'lodash-es';\nimport { CronService } from './cron.service';\nimport { IdReference } from '@c8y/client';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserService } from '@c8y/client';\n@Component({\n selector: 'export-schedules',\n templateUrl: './export-schedules.component.html'\n})\nexport class ExportSchedulesComponent implements OnInit, OnChanges {\n @Input() set exportId(exportId: IdReference) {\n this._exportId = exportId;\n }\n\n @Output() onSchedulesUpdate = new EventEmitter<Schedule[]>();\n\n exp: Export;\n scheduleList: Schedule[] = [];\n initialSchedule: Schedule = {\n timestamp: null,\n emailConfig: {\n to: [],\n cc: [],\n bcc: [],\n replyTo: '',\n text: '',\n subject: ''\n },\n cronConfig: {\n minute: '0',\n hour: '0',\n day: '1',\n month: '1',\n weekday: '?'\n }\n };\n buttonLabels: any;\n listClass: string = 'interact-list';\n loadingStatus: any;\n sortType: string;\n sortReverse: boolean = false;\n isOpen: any = {};\n isFlipped: boolean;\n isEditMenuOpen: boolean = false;\n modalRef: BsModalRef;\n currentUserEmail: string = '';\n hasRequiredRole: boolean = false;\n private _exportId: IdReference;\n private defaultExportEmailTemplate = this.translateService.instant(\n gettext(\n 'File with exported data can be downloaded from {tenant-domain}/inventory/binaries/{binaryId}.'\n )\n );\n\n constructor(\n private reportsService: ReportsService,\n private bsModalService: BsModalService,\n public cronService: CronService,\n private translateService: TranslateService,\n private userService: UserService,\n private optionsService: OptionsService\n ) {\n this.loadingStatus = {\n inProgress: false,\n done: false,\n error: false\n };\n }\n\n async ngOnInit() {\n this.hasRequiredRole = await this.checkRole();\n this.getScheduleList(true);\n const currentUserEmail = await this.getCurrentUserEmail();\n this.initialSchedule.emailConfig.text = await this.optionsService.getTenantOption(\n 'configuration',\n 'export.data.mail.text',\n this.defaultExportEmailTemplate);\n this.initialSchedule.emailConfig.to = currentUserEmail;\n this.exp = await this.reportsService.getExport(this._exportId);\n this.initialSchedule.emailConfig.subject = this.translateService.instant(\n gettext('Export of \"{{expName}}\"'),\n { expName: this.exp.name }\n );\n }\n\n ngOnChanges() {\n this.translateButtonTitles();\n }\n\n translateButtonTitles() {\n this.buttonLabels = {\n edit: this.translateService.instant(gettext('Edit schedule')),\n editNoPermission: this.translateService.instant(gettext('Edit schedule - no permissions')),\n duplicate: this.translateService.instant(gettext('Duplicate schedule')),\n duplicateNoPermission: this.translateService.instant(gettext('Duplicate schedule - no permissions')),\n delete: this.translateService.instant(gettext('Delete schedule')),\n deleteNoPermission: this.translateService.instant(gettext('Delete schedule - no permissions'))\n };\n }\n\n async getCurrentUserEmail() {\n const { data } = await this.userService.current();\n return data && data.email ? [data.email] : [];\n }\n async checkRole() {\n const { data } = await this.userService.current();\n const role = 'ROLE_SCHEDULE_REPORT_ADMIN';\n const hasRole = this.userService.hasRole(data, role);\n return hasRole;\n }\n\n async getScheduleList(withProgress: boolean) {\n if (withProgress) {\n this.loadingStatus.inProgress = true;\n }\n this.scheduleList = await this.reportsService.getScheduleList(this._exportId);\n if (withProgress) {\n this.loadingStatus.inProgress = false;\n }\n }\n\n addSchedule() {\n this.openAddEditModal(this._exportId, this.initialSchedule, ActionType.CREATE);\n }\n\n editSchedule(schedule: Schedule, index: number, event: any) {\n if (this.hasRequiredRole) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.EDIT, index);\n }\n }\n\n duplicateSchedule(schedule: Schedule, event: any) {\n event.preventDefault();\n this.openAddEditModal(this._exportId, schedule, ActionType.DUPLICATE);\n }\n\n openAddEditModal(exportId: IdReference, schedule: Schedule, actionType: ActionType, index?: number) {\n const payload = { actionType, exportId, schedule: cloneDeep(schedule) };\n const modalOptions = { class: 'modal-sm', initialState: payload } as ModalOptions;\n this.modalRef = this.bsModalService.show(ScheduleModalComponent, modalOptions);\n this.modalRef.content.emitter.subscribe((load: EmitterPayload) =>\n this.getMessageFromModal(load, index)\n );\n }\n\n getMessageFromModal(payload: EmitterPayload, index?: number) {\n if (payload.success) {\n if (index !== undefined) {\n this.scheduleList[index] = payload.schedule;\n } else {\n this.scheduleList.push(payload.schedule);\n }\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n }\n\n removeSchedule(schedule: Schedule, index: number, event: any) {\n event.preventDefault();\n this.scheduleList.splice(index, 1);\n this.onSchedulesUpdate.emit(this.scheduleList);\n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { EmittedCron, CronConfig, Base } from './export-schedules.interface';\nimport { CronService } from './cron.service';\n\n@Component({\n selector: 'cron',\n templateUrl: './cron.component.html'\n})\nexport class CronComponent implements OnInit {\n @Input() cronIn: string;\n @Output() emitter: EventEmitter<EmittedCron> = new EventEmitter();\n emittedCron: EmittedCron = {\n valid: false,\n cron: ''\n };\n\n base: Base = Base.Initial;\n cronConfig: CronConfig;\n\n daysOfWeekPosix: any[];\n daysOfMonth: any[];\n months: any[];\n hours: any[];\n minutes: any[];\n intervals: any[];\n\n constructor(private cronService: CronService) {\n //\n }\n\n ngOnInit() {\n this.daysOfWeekPosix = this.cronService.daysOfWeekPosix;\n this.daysOfMonth = this.cronService.daysOfMonth;\n this.months = this.cronService.months;\n this.hours = this.cronService.hours;\n this.minutes = this.cronService.minutes;\n this.intervals = this.cronService.intervals;\n\n this.cronConfig = this.cronService.generateCronConfig(this.cronIn);\n this.base = this.cronService.getBase(this.cronConfig);\n }\n\n onChangeSelect() {\n this.cronService.clearNextModels(this.base, this.cronConfig);\n this.emittedCron.valid = this.cronService.validateModels(this.base, this.cronConfig);\n this.emittedCron.cron = this.cronService.generateCron(this.cronConfig);\n this.emitter.emit(this.emittedCron);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, FormsModule } from '@c8y/ngx-components';\nimport { ReportsService } from './reports.service';\nimport { CronService } from './cron.service';\nimport { ExportSchedulesComponent } from './export-schedules.component';\nimport { ScheduleModalComponent } from './schedule-modal.component';\nimport { CronComponent } from './cron.component';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n/**\n * The angular module definition for reports.\n * @exports ExportSchedulesComponent\n * @exports ScheduleModalComponent\n * @exports CronComponent\n */\n@NgModule({\n declarations: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n imports: [CoreModule, FormsModule, BsDropdownModule, TooltipModule],\n entryComponents: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent],\n providers: [ReportsService, CronService],\n exports: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent]\n})\nexport class ReportsModule {}\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport { ExportSchedulesComponent } from '../export-schedules.component';\nexport const exportSchedulesComponent = downgradeComponent({\n component: ExportSchedulesComponent\n});\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport { ReportsService } from '..';\nexport const reportsService = downgradeInjectable(ReportsService);\n","import * as angular from 'angular';\nimport { registerNgModule } from '@c8y/ng1-modules/core/bootstrap';\nimport { exportSchedulesComponent } from './downgraded.components';\nimport { reportsService } from './downgraded.services';\n\nconst NAME = 'c8y.upgrade.reports';\n\nconst angularJsModule = angular\n .module(NAME, [])\n .directive('c8yExportSchedules', exportSchedulesComponent)\n .service('c8yReportsService', reportsService);\n\nexport const ng1Modules = [NAME];\n\nregisterNgModule(ng1Modules);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["orderBy","remove","some","isEqual","Injectable","AlertService","InventoryService","FetchClient","ActionType","Base","gettext","formatDate","TranslateService","EventEmitter","cloneDeep","Component","BsModalRef","Output","BsModalService","UserService","OptionsService","Input","NgModule","CoreModule","FormsModule","BsDropdownModule","TooltipModule","downgradeComponent","downgradeInjectable","angular","registerNgModule"],"mappings":"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"}
|