@c8y/ngx-components 1011.0.5 → 1011.0.9
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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c8y/ngx-components",
|
|
3
|
-
"version": "1011.0.
|
|
3
|
+
"version": "1011.0.9",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Cumulocity",
|
|
6
6
|
"description": "Angular modules for Cumulocity IoT applications",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"rxjs": "~6.6.3"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@c8y/client": "1011.0.
|
|
26
|
+
"@c8y/client": "1011.0.9",
|
|
27
27
|
"@ngx-translate/core": "13.0.0",
|
|
28
28
|
"@ngx-translate/http-loader": "4.0.0",
|
|
29
29
|
"@ngx-formly/core": "5.10.6",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ReportsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ExportSchedulesComponent"},{"__symbolic":"reference","name":"ScheduleModalComponent"},{"__symbolic":"reference","name":"CronComponent"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":18,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"FormsModule","line":18,"character":24},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":18,"character":37},{"__symbolic":"reference","module":"ngx-bootstrap/tooltip","name":"TooltipModule","line":18,"character":55}],"entryComponents":[{"__symbolic":"reference","name":"ExportSchedulesComponent"},{"__symbolic":"reference","name":"ScheduleModalComponent"},{"__symbolic":"reference","name":"CronComponent"}],"providers":[{"__symbolic":"reference","name":"ReportsService"},{"__symbolic":"reference","name":"CronService"}],"exports":[{"__symbolic":"reference","name":"ExportSchedulesComponent"},{"__symbolic":"reference","name":"ScheduleModalComponent"},{"__symbolic":"reference","name":"CronComponent"}]}]}],"members":{}},"ExportSchedulesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"export-schedules","template":"<div>\n <div *ngIf=\"loadingStatus.inProgress\" class=\"flex-row\">\n <c8y-loading></c8y-loading>\n <span translate>Retrieving schedules…</span>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && loadingStatus.done && loadingStatus.error\">\n <div class=\"alert alert-warning max-width-100\" translate>\n Could not load schedules list.\n </div>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && !loadingStatus.done && !loadingStatus.error\">\n <div class=\"c8y-empty-state text-center max-width-100\" *ngIf=\"!scheduleList.length\">\n <h1 c8yIcon=\"c8y-report\" class=\"c8y-icon-duocolor\"></h1>\n <h3 translate>No export schedules defined.</h3>\n </div>\n\n <div class=\"c8y-list__group\" *ngIf=\"scheduleList.length\">\n <div class=\"c8y-list__item hidden-xs\">\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i class=\"p-l-24\"></i>\n </div>\n <div class=\"c8y-list__item__body\">\n <div class=\"flex-row\">\n <div class=\"col-sm-6\">\n <label class=\"m-0\">\n {{ 'Description' | translate }}\n </label>\n </div>\n <div class=\"col-sm-6 m-r-40\">\n <label class=\"m-0\">\n {{ 'Frequency' | translate }}\n </label>\n </div>\n </div>\n </div>\n <span></span>\n </div>\n </div>\n\n <div\n class=\"c8y-list__item flex-row pointer\"\n *ngFor=\"let schedule of scheduleList; index as i\"\n (click)=\"editSchedule(schedule, i, $event)\"\n >\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i c8yIcon=\"c8y-report\" class=\"c8y-icon-duocolor\"></i>\n </div>\n <div class=\"c8y-list__item__body flex-row\">\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"text-truncate\" title=\"{{ schedule.emailConfig.subject }}\">\n {{ schedule.emailConfig.subject }}\n </div>\n </div>\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"flex-row a-i-baseline\">\n <i c8yIcon=\"calendar\" class=\"text-muted m-r-4\"></i>\n <span class=\"smart-rule-information\">\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 2\"\n ngNonBindable\n translate\n [translateParams]=\"{ minutes: schedule.cronConfig.minute | number: '2.0-0' }\"\n >\n Hourly: {{ minutes }} minute(s) past the hour.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 3\"\n ngNonBindable\n translate\n [translateParams]=\"{\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Daily: at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 4\"\n ngNonBindable\n translate\n [translateParams]=\"{\n weekDay: cronService.getWeekDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Weekly: {{ weekDay }}, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 5\"\n ngNonBindable\n translate\n [translateParams]=\"{\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Monthly: {{ monthDay }} day of the month, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 6\"\n ngNonBindable\n translate\n [translateParams]=\"{\n month: cronService.getMonthName(schedule.cronConfig),\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Yearly: {{ month }}, {{ monthDay }} day of the month, at {{ hour }}:{{\n minutes\n }}.\n </span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"c8y-list__item__actions\" (click)=\"$event.stopPropagation()\">\n <div class=\"settings dropdown\" dropdown>\n <button\n class=\"dropdown-toggle c8y-dropdown\"\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n title=\"{{ 'Actions' | translate }}\"\n >\n <i [c8yIcon]=\"'ellipsis-v'\"></i>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-right\" *dropdownMenu>\n <li role=\"menuitem\">\n <button\n [title]=\"hasRequiredRole ? buttonLabels.edit : buttonLabels.editNoPermission\"\n (click)=\"editSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'pencil'\"></i> {{ 'Edit' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n [title]=\"\n hasRequiredRole ? buttonLabels.duplicate : buttonLabels.duplicateNoPermission\n \"\n (click)=\"duplicateSchedule(schedule, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'copy'\"></i> {{ 'Duplicate' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n [title]=\"\n hasRequiredRole ? buttonLabels.delete : buttonLabels.deleteNoPermission\n \"\n (click)=\"removeSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'trash'\"></i> {{ 'Delete' | translate }}\n </button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"alert alert-warning max-width-100\" *ngIf=\"!hasRequiredRole\" role=\"alert\" translate>\n You don't have the permission required to schedule exports.\n </div>\n <button\n type=\"button\"\n class=\"btn-add-block m-t-16\"\n title=\"{{ 'Add schedule' | translate }}\"\n (click)=\"addSchedule()\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add schedule' | translate }}\n </button>\n</div>\n"}]}],"members":{"exportId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"onSchedulesUpdate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ReportsService"},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":62,"character":28},{"__symbolic":"reference","name":"CronService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":64,"character":30},{"__symbolic":"reference","module":"@c8y/client","name":"UserService","line":65,"character":25},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"OptionsService","line":66,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"translateButtonTitles":[{"__symbolic":"method"}],"getCurrentUserEmail":[{"__symbolic":"method"}],"checkRole":[{"__symbolic":"method"}],"getScheduleList":[{"__symbolic":"method"}],"addSchedule":[{"__symbolic":"method"}],"editSchedule":[{"__symbolic":"method"}],"duplicateSchedule":[{"__symbolic":"method"}],"openAddEditModal":[{"__symbolic":"method"}],"getMessageFromModal":[{"__symbolic":"method"}],"removeSchedule":[{"__symbolic":"method"}]}},"ScheduleModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"schedule-modal","template":"<div class=\"modal-header text-center bg-primary\">\n <header class=\"text-white\">\n <div style=\"font-size: 62px;\">\n <span c8yIcon=\"c8y-report\"></span>\n </div>\n <h4 class=\"text-uppercase\">\n <span *ngIf=\"actionType === ActionType.CREATE\" translate>New export schedule</span>\n <span *ngIf=\"actionType === ActionType.EDIT\" translate>Edit export schedule</span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" translate>Duplicate export schedule</span>\n </h4>\n </header>\n</div>\n\n<div class=\"modal-body\">\n <p class=\"lead text-center p-t-24 m-b-0\" translate>On schedule send export via email</p>\n</div>\n<div class=\"modal-inner-scroll smart-rule-control\">\n <form #scheduleForm=\"ngForm\" class=\"edit-smart-rule-details\">\n <div class=\"list-group\">\n <div class=\"list-group-item bg-gray-white\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">1</span>\n <strong translate>Frequency</strong>\n </div>\n <div class=\"p-t-16\">\n <div class=\"form-group\">\n <cron [cronIn]=\"cronExpression\" (emitter)=\"getCron($event)\" name=\"cron\"></cron>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">2</span>\n <div class=\"d-inline-block\">\n <strong translate>Send email</strong>\n <p class=\"help-block text-muted small p-absolute\">\n <i class=\"text-info m-r-4 text-14\" c8yIcon=\"info-circle\"></i>\n <span translate\n >Enter one or more valid email addresses, separated with a comma.</span\n >\n </p>\n </div>\n </div>\n <div class=\"p-t-24\">\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Send to</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control\"\n name=\"to\"\n [(ngModel)]=\"emailTo\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>CC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"cc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailCc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>BCC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"bcc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailBcc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Reply to (single email address)</label>\n <c8y-form-group>\n <input\n email\n type=\"text\"\n class=\"form-control span\"\n name=\"replyTo\"\n placeholder=\"{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}\"\n [(ngModel)]=\"emailReplyTo\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Subject</label>\n <c8y-form-group>\n <input\n type=\"text\"\n class=\"form-control span\"\n name=\"subject\"\n [(ngModel)]=\"emailSubject\"\n placeholder=\"{{ 'e.g. Daily report' | translate }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Message</label>\n <c8y-form-group>\n <textarea\n class=\"form-control\"\n name=\"text\"\n [(ngModel)]=\"emailText\"\n placeholder=\"{{ 'Message' | translate }}\"\n rows=\"4\"\n required\n ></textarea>\n <p class=\"help-block text-muted\">\n {{ placeholdersInfo | translate }}\n </p>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-default\" (click)=\"cancel()\" title=\"{{ 'Cancel' | translate }}\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"save()\"\n [disabled]=\"!validCron || !scheduleForm.form.valid\"\n >\n <span>\n <span *ngIf=\"actionType === ActionType.CREATE\" title=\"{{ 'Create' | translate }}\">\n {{ 'Create' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.EDIT\" title=\"{{ 'Save' | translate }}\">\n {{ 'Save' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" title=\"{{ 'Duplicate' | translate }}\">\n {{ 'Duplicate' | translate }}\n </span>\n </span>\n </button>\n</div>\n"}]}],"members":{"emitter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ReportsService"},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalRef","line":41,"character":21},{"__symbolic":"reference","name":"CronService"}]}],"ngOnInit":[{"__symbolic":"method"}],"populateEmailFieldsFromSchedule":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"getCron":[{"__symbolic":"method"}],"populateScheduleFromCronExpression":[{"__symbolic":"method"}],"convertStringOfEmailsToArray":[{"__symbolic":"method"}],"populateScheduleFromEmailFields":[{"__symbolic":"method"}]}},"ReportsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":14,"character":26},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":15,"character":30},{"__symbolic":"reference","module":"@c8y/client","name":"FetchClient","line":16,"character":20}]}],"getExport":[{"__symbolic":"method"}],"getScheduleList":[{"__symbolic":"method"}],"extractScheduleListFromExport":[{"__symbolic":"method"}],"addSchedule":[{"__symbolic":"method"}],"updateSchedule":[{"__symbolic":"method"}],"updateSchedules":[{"__symbolic":"method"}],"reschedule":[{"__symbolic":"method"}],"deleteSchedule":[{"__symbolic":"method"}]}},"Export":{"__symbolic":"interface"},"Schedule":{"__symbolic":"interface"},"EmailConfig":{"__symbolic":"interface"},"CronConfig":{"__symbolic":"interface"},"EmittedCron":{"__symbolic":"interface"},"EmitterPayload":{"__symbolic":"interface"},"ActionType":{"CREATE":"create","EDIT":"edit","DUPLICATE":"duplicate"},"Base":{"Initial":1,"Hour":2,"Day":3,"Week":4,"Month":5,"Year":6},"CronService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":52,"character":40}]}],"generateCron":[{"__symbolic":"method"}],"generateCronConfig":[{"__symbolic":"method"}],"getBase":[{"__symbolic":"method"}],"validateModels":[{"__symbolic":"method"}],"clearNextModels":[{"__symbolic":"method"}],"getWeekDayName":[{"__symbolic":"method"}],"getMonthDayName":[{"__symbolic":"method"}],"getMonthName":[{"__symbolic":"method"}]}},"CronComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"cron","template":"<div class=\"cron-wrap\">\n <div class=\"form-group smart-cron-job-every\">\n <label for=\"smart-cron-job-every\" class=\"control-label\" translate>\n Interval\n </label>\n <div class=\"\">\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control\"\n id=\"smart-cron-job-every\"\n [(ngModel)]=\"base\"\n required=\"true\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngIf=\"base === 1\" value=\"1\" translate>\n Select…\n </option>\n <option *ngFor=\"let baseInterval of intervals\" [ngValue]=\"baseInterval.value\">\n {{ baseInterval.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group smart-cron-job-on col-md-6\" *ngIf=\"base == 4\">\n <label class=\"control-label\" for=\"smart-cron-job-on\" translate>\n Day\n </label>\n\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control day-value\"\n id=\"smart-cron-job-on\"\n [(ngModel)]=\"cronConfig.weekday\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfWeek of daysOfWeekPosix\" [ngValue]=\"dayOfWeek.value\">\n {{ dayOfWeek.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-of col-md-6\" *ngIf=\"base == 6\">\n <label for=\"smart-cron-job-of\" class=\"control-label\" translate>\n Month\n </label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-of\"\n class=\"cron-select form-control month-value\"\n [(ngModel)]=\"cronConfig.month\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let month of months\" [ngValue]=\"month.value\">\n {{ month.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-on-the col-md-6\" *ngIf=\"base >= 5\">\n <label for=\"smart-cron-job-on-the\" class=\"control-label\" translate>\n Day\n </label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-on-the\"\n class=\"cron-select form-control day-of-month-value\"\n [(ngModel)]=\"cronConfig.day\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfMonth of daysOfMonth\" [ngValue]=\"dayOfMonth.value\">\n {{ dayOfMonth.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-at\" *ngIf=\"base >= 2\">\n <label for=\"smart-cron-job-at-hour\" class=\"control-label\">\n <span *ngIf=\"base >= 3\" translate>Time</span>\n <span *ngIf=\"base < 3\" translate>Minutes</span>\n </label>\n <div>\n <div class=\"form-inline\">\n <div class=\"c8y-select-wrapper\" *ngIf=\"base >= 3\">\n <select\n id=\"smart-cron-job-at-hour\"\n class=\"cron-select form-control hour-value\"\n [(ngModel)]=\"cronConfig.hour\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let hour of hours\" [ngValue]=\"hour.value\">\n {{ hour.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n <span *ngIf=\"base >= 3\"> : </span>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control minute-value\"\n id=\"smart-cron-job-at-minute\"\n [(ngModel)]=\"cronConfig.minute\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let minute of minutes\" [ngValue]=\"minute.value\">\n {{ minute.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n</div>\n"}]}],"members":{"cronIn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"emitter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CronService"}]}],"ngOnInit":[{"__symbolic":"method"}],"onChangeSelect":[{"__symbolic":"method"}]}},"ng1Modules":["c8y.upgrade.reports"]},"origins":{"ReportsModule":"./reports.module","ExportSchedulesComponent":"./export-schedules.component","ScheduleModalComponent":"./schedule-modal.component","ReportsService":"./reports.service","Export":"./export-schedules.interface","Schedule":"./export-schedules.interface","EmailConfig":"./export-schedules.interface","CronConfig":"./export-schedules.interface","EmittedCron":"./export-schedules.interface","EmitterPayload":"./export-schedules.interface","ActionType":"./export-schedules.interface","Base":"./export-schedules.interface","CronService":"./cron.service","CronComponent":"./cron.component","ng1Modules":"./ng1"},"importAs":"@c8y/ngx-components/reports"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ReportsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ExportSchedulesComponent"},{"__symbolic":"reference","name":"ScheduleModalComponent"},{"__symbolic":"reference","name":"CronComponent"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":18,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"FormsModule","line":18,"character":24},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":18,"character":37},{"__symbolic":"reference","module":"ngx-bootstrap/tooltip","name":"TooltipModule","line":18,"character":55}],"entryComponents":[{"__symbolic":"reference","name":"ExportSchedulesComponent"},{"__symbolic":"reference","name":"ScheduleModalComponent"},{"__symbolic":"reference","name":"CronComponent"}],"providers":[{"__symbolic":"reference","name":"ReportsService"},{"__symbolic":"reference","name":"CronService"}],"exports":[{"__symbolic":"reference","name":"ExportSchedulesComponent"},{"__symbolic":"reference","name":"ScheduleModalComponent"},{"__symbolic":"reference","name":"CronComponent"}]}]}],"members":{}},"ExportSchedulesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"export-schedules","template":"<div>\n <div *ngIf=\"loadingStatus.inProgress\" class=\"flex-row\">\n <c8y-loading></c8y-loading>\n <span translate>Retrieving schedules…</span>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && loadingStatus.done && loadingStatus.error\">\n <div class=\"alert alert-warning max-width-100\" translate>\n Could not load schedules list.\n </div>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && !loadingStatus.done && !loadingStatus.error\">\n <div class=\"c8y-empty-state text-center max-width-100\" *ngIf=\"!scheduleList.length\">\n <h1 c8yIcon=\"c8y-report\" class=\"c8y-icon-duocolor\"></h1>\n <h3 translate>No export schedules defined.</h3>\n </div>\n\n <div class=\"c8y-list__group\" *ngIf=\"scheduleList.length\">\n <div class=\"c8y-list__item hidden-xs\">\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i class=\"p-l-24\"></i>\n </div>\n <div class=\"c8y-list__item__body\">\n <div class=\"flex-row\">\n <div class=\"col-sm-6\">\n <label class=\"m-0\">\n {{ 'Description' | translate }}\n </label>\n </div>\n <div class=\"col-sm-6 m-r-40\">\n <label class=\"m-0\">\n {{ 'Frequency' | translate }}\n </label>\n </div>\n </div>\n </div>\n <span></span>\n </div>\n </div>\n\n <div\n class=\"c8y-list__item flex-row pointer\"\n *ngFor=\"let schedule of scheduleList; index as i\"\n (click)=\"editSchedule(schedule, i, $event)\"\n >\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i c8yIcon=\"c8y-report\" class=\"c8y-icon-duocolor\"></i>\n </div>\n <div class=\"c8y-list__item__body flex-row\">\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"text-truncate\" title=\"{{ schedule.emailConfig.subject }}\">\n {{ schedule.emailConfig.subject }}\n </div>\n </div>\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"flex-row a-i-baseline\">\n <i c8yIcon=\"calendar\" class=\"text-muted m-r-4\"></i>\n <span class=\"smart-rule-information\">\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 2\"\n ngNonBindable\n translate\n [translateParams]=\"{ minutes: schedule.cronConfig.minute | number: '2.0-0' }\"\n >\n Hourly: {{ minutes }} minute(s) past the hour.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 3\"\n ngNonBindable\n translate\n [translateParams]=\"{\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Daily: at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 4\"\n ngNonBindable\n translate\n [translateParams]=\"{\n weekDay: cronService.getWeekDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Weekly: {{ weekDay }}, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 5\"\n ngNonBindable\n translate\n [translateParams]=\"{\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Monthly: {{ monthDay }} day of the month, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 6\"\n ngNonBindable\n translate\n [translateParams]=\"{\n month: cronService.getMonthName(schedule.cronConfig),\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Yearly: {{ month }}, {{ monthDay }} day of the month, at {{ hour }}:{{\n minutes\n }}.\n </span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"c8y-list__item__actions\" (click)=\"$event.stopPropagation()\">\n <div class=\"settings dropdown\" dropdown>\n <button\n class=\"dropdown-toggle c8y-dropdown\"\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n title=\"{{ 'Actions' | translate }}\"\n >\n <i [c8yIcon]=\"'ellipsis-v'\"></i>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-right\" *dropdownMenu>\n <li role=\"menuitem\">\n <button\n [title]=\"hasRequiredRole ? buttonLabels.edit : buttonLabels.editNoPermission\"\n (click)=\"editSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'pencil'\"></i> {{ 'Edit' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n [title]=\"\n hasRequiredRole ? buttonLabels.duplicate : buttonLabels.duplicateNoPermission\n \"\n (click)=\"duplicateSchedule(schedule, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'copy'\"></i> {{ 'Duplicate' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n [title]=\"\n hasRequiredRole ? buttonLabels.delete : buttonLabels.deleteNoPermission\n \"\n (click)=\"removeSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'trash'\"></i> {{ 'Delete' | translate }}\n </button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"alert alert-warning max-width-100\" *ngIf=\"!hasRequiredRole\" role=\"alert\" translate>\n You don't have the permission required to schedule exports.\n </div>\n <button\n type=\"button\"\n class=\"btn-add-block m-t-16\"\n title=\"{{ 'Add schedule' | translate }}\"\n (click)=\"addSchedule()\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add schedule' | translate }}\n </button>\n</div>\n"}]}],"members":{"exportId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"onSchedulesUpdate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ReportsService"},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":62,"character":28},{"__symbolic":"reference","name":"CronService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":64,"character":30},{"__symbolic":"reference","module":"@c8y/client","name":"UserService","line":65,"character":25},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"OptionsService","line":66,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"translateButtonTitles":[{"__symbolic":"method"}],"getCurrentUserEmail":[{"__symbolic":"method"}],"checkRole":[{"__symbolic":"method"}],"getScheduleList":[{"__symbolic":"method"}],"addSchedule":[{"__symbolic":"method"}],"editSchedule":[{"__symbolic":"method"}],"duplicateSchedule":[{"__symbolic":"method"}],"openAddEditModal":[{"__symbolic":"method"}],"getMessageFromModal":[{"__symbolic":"method"}],"removeSchedule":[{"__symbolic":"method"}]}},"ScheduleModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"schedule-modal","template":"<div class=\"modal-header text-center bg-primary\">\n <header class=\"text-white\">\n <div style=\"font-size: 62px;\">\n <span c8yIcon=\"c8y-report\"></span>\n </div>\n <h4 class=\"text-uppercase\">\n <span *ngIf=\"actionType === ActionType.CREATE\" translate>New export schedule</span>\n <span *ngIf=\"actionType === ActionType.EDIT\" translate>Edit export schedule</span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" translate>Duplicate export schedule</span>\n </h4>\n </header>\n</div>\n\n<div class=\"modal-body\">\n <p class=\"lead text-center p-t-24 m-b-0\" translate>On schedule send export via email</p>\n</div>\n<div class=\"modal-inner-scroll smart-rule-control\">\n <form #scheduleForm=\"ngForm\" class=\"edit-smart-rule-details\">\n <div class=\"list-group\">\n <div class=\"list-group-item bg-gray-white\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">1</span>\n <strong translate>Frequency</strong>\n </div>\n <div class=\"p-t-16\">\n <div class=\"form-group\">\n <cron [cronIn]=\"cronExpression\" (emitter)=\"getCron($event)\" name=\"cron\"></cron>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">2</span>\n <div class=\"d-inline-block\">\n <strong translate>Send email</strong>\n <p class=\"help-block text-muted small p-absolute\">\n <i class=\"text-info m-r-4 text-14\" c8yIcon=\"info-circle\"></i>\n <span translate\n >Enter one or more valid email addresses, separated with a comma.</span\n >\n </p>\n </div>\n </div>\n <div class=\"p-t-24\">\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Send to</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control\"\n name=\"to\"\n [(ngModel)]=\"emailTo\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>CC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"cc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailCc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>BCC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"bcc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailBcc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Reply to (single email address)</label>\n <c8y-form-group>\n <input\n email\n type=\"text\"\n class=\"form-control span\"\n name=\"replyTo\"\n placeholder=\"{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}\"\n [(ngModel)]=\"emailReplyTo\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Subject</label>\n <c8y-form-group>\n <input\n type=\"text\"\n class=\"form-control span\"\n name=\"subject\"\n [(ngModel)]=\"emailSubject\"\n placeholder=\"{{ 'e.g. Daily report' | translate }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Message</label>\n <c8y-form-group>\n <textarea\n class=\"form-control\"\n name=\"text\"\n [(ngModel)]=\"emailText\"\n placeholder=\"{{ 'Message' | translate }}\"\n rows=\"4\"\n required\n ></textarea>\n <p class=\"help-block text-muted\">\n {{ placeholdersInfo | translate }}\n </p>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-default\" (click)=\"cancel()\" title=\"{{ 'Cancel' | translate }}\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"save()\"\n [disabled]=\"!validCron || !scheduleForm.form.valid\"\n >\n <span>\n <span *ngIf=\"actionType === ActionType.CREATE\" title=\"{{ 'Create' | translate }}\">\n {{ 'Create' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.EDIT\" title=\"{{ 'Save' | translate }}\">\n {{ 'Save' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" title=\"{{ 'Duplicate' | translate }}\">\n {{ 'Duplicate' | translate }}\n </span>\n </span>\n </button>\n</div>\n"}]}],"members":{"emitter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ReportsService"},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalRef","line":41,"character":21},{"__symbolic":"reference","name":"CronService"}]}],"ngOnInit":[{"__symbolic":"method"}],"populateEmailFieldsFromSchedule":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"getCron":[{"__symbolic":"method"}],"populateScheduleFromCronExpression":[{"__symbolic":"method"}],"convertStringOfEmailsToArray":[{"__symbolic":"method"}],"populateScheduleFromEmailFields":[{"__symbolic":"method"}]}},"ReportsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":13,"character":26},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":14,"character":30},{"__symbolic":"reference","module":"@c8y/client","name":"FetchClient","line":15,"character":20}]}],"getExport":[{"__symbolic":"method"}],"getScheduleList":[{"__symbolic":"method"}],"extractScheduleListFromExport":[{"__symbolic":"method"}],"addSchedule":[{"__symbolic":"method"}],"updateSchedule":[{"__symbolic":"method"}],"updateSchedules":[{"__symbolic":"method"}],"reschedule":[{"__symbolic":"method"}],"deleteSchedule":[{"__symbolic":"method"}],"removeConfiguration":[{"__symbolic":"method"}]}},"Export":{"__symbolic":"interface"},"Schedule":{"__symbolic":"interface"},"EmailConfig":{"__symbolic":"interface"},"CronConfig":{"__symbolic":"interface"},"EmittedCron":{"__symbolic":"interface"},"EmitterPayload":{"__symbolic":"interface"},"ActionType":{"CREATE":"create","EDIT":"edit","DUPLICATE":"duplicate"},"Base":{"Initial":1,"Hour":2,"Day":3,"Week":4,"Month":5,"Year":6},"CronService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":52,"character":40}]}],"generateCron":[{"__symbolic":"method"}],"generateCronConfig":[{"__symbolic":"method"}],"getBase":[{"__symbolic":"method"}],"validateModels":[{"__symbolic":"method"}],"clearNextModels":[{"__symbolic":"method"}],"getWeekDayName":[{"__symbolic":"method"}],"getMonthDayName":[{"__symbolic":"method"}],"getMonthName":[{"__symbolic":"method"}]}},"CronComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"cron","template":"<div class=\"cron-wrap\">\n <div class=\"form-group smart-cron-job-every\">\n <label for=\"smart-cron-job-every\" class=\"control-label\" translate>\n Interval\n </label>\n <div class=\"\">\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control\"\n id=\"smart-cron-job-every\"\n [(ngModel)]=\"base\"\n required=\"true\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngIf=\"base === 1\" value=\"1\" translate>\n Select…\n </option>\n <option *ngFor=\"let baseInterval of intervals\" [ngValue]=\"baseInterval.value\">\n {{ baseInterval.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group smart-cron-job-on col-md-6\" *ngIf=\"base == 4\">\n <label class=\"control-label\" for=\"smart-cron-job-on\" translate>\n Day\n </label>\n\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control day-value\"\n id=\"smart-cron-job-on\"\n [(ngModel)]=\"cronConfig.weekday\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfWeek of daysOfWeekPosix\" [ngValue]=\"dayOfWeek.value\">\n {{ dayOfWeek.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-of col-md-6\" *ngIf=\"base == 6\">\n <label for=\"smart-cron-job-of\" class=\"control-label\" translate>\n Month\n </label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-of\"\n class=\"cron-select form-control month-value\"\n [(ngModel)]=\"cronConfig.month\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let month of months\" [ngValue]=\"month.value\">\n {{ month.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-on-the col-md-6\" *ngIf=\"base >= 5\">\n <label for=\"smart-cron-job-on-the\" class=\"control-label\" translate>\n Day\n </label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-on-the\"\n class=\"cron-select form-control day-of-month-value\"\n [(ngModel)]=\"cronConfig.day\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfMonth of daysOfMonth\" [ngValue]=\"dayOfMonth.value\">\n {{ dayOfMonth.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-at\" *ngIf=\"base >= 2\">\n <label for=\"smart-cron-job-at-hour\" class=\"control-label\">\n <span *ngIf=\"base >= 3\" translate>Time</span>\n <span *ngIf=\"base < 3\" translate>Minutes</span>\n </label>\n <div>\n <div class=\"form-inline\">\n <div class=\"c8y-select-wrapper\" *ngIf=\"base >= 3\">\n <select\n id=\"smart-cron-job-at-hour\"\n class=\"cron-select form-control hour-value\"\n [(ngModel)]=\"cronConfig.hour\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let hour of hours\" [ngValue]=\"hour.value\">\n {{ hour.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n <span *ngIf=\"base >= 3\"> : </span>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control minute-value\"\n id=\"smart-cron-job-at-minute\"\n [(ngModel)]=\"cronConfig.minute\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let minute of minutes\" [ngValue]=\"minute.value\">\n {{ minute.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n</div>\n"}]}],"members":{"cronIn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"emitter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CronService"}]}],"ngOnInit":[{"__symbolic":"method"}],"onChangeSelect":[{"__symbolic":"method"}]}},"ng1Modules":["c8y.upgrade.reports"]},"origins":{"ReportsModule":"./reports.module","ExportSchedulesComponent":"./export-schedules.component","ScheduleModalComponent":"./schedule-modal.component","ReportsService":"./reports.service","Export":"./export-schedules.interface","Schedule":"./export-schedules.interface","EmailConfig":"./export-schedules.interface","CronConfig":"./export-schedules.interface","EmittedCron":"./export-schedules.interface","EmitterPayload":"./export-schedules.interface","ActionType":"./export-schedules.interface","Base":"./export-schedules.interface","CronService":"./cron.service","CronComponent":"./cron.component","ng1Modules":"./ng1"},"importAs":"@c8y/ngx-components/reports"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Export, Schedule } from './export-schedules.interface';
|
|
2
2
|
import { AlertService } from '@c8y/ngx-components';
|
|
3
|
-
import { InventoryService, IdReference } from '@c8y/client';
|
|
3
|
+
import { InventoryService, IdReference, IFetchResponse, IIdentified } from '@c8y/client';
|
|
4
4
|
import { FetchClient } from '@c8y/client';
|
|
5
5
|
export declare class ReportsService {
|
|
6
6
|
private alertService;
|
|
@@ -17,4 +17,5 @@ export declare class ReportsService {
|
|
|
17
17
|
updateSchedules(exportId: IdReference, schedulesToRemove?: Schedule[], schedulesToAdd?: Schedule[]): Promise<boolean>;
|
|
18
18
|
reschedule(exportId: IdReference): Promise<boolean>;
|
|
19
19
|
deleteSchedule(schedule: Schedule, exportId: IdReference): Promise<boolean>;
|
|
20
|
+
removeConfiguration(config: IIdentified): Promise<IFetchResponse>;
|
|
20
21
|
}
|