@c8y/ngx-components 1010.0.17 → 1010.0.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ngx-components",
3
- "version": "1010.0.17",
3
+ "version": "1010.0.21",
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.4.0"
24
24
  },
25
25
  "dependencies": {
26
- "@c8y/client": "1010.0.17",
26
+ "@c8y/client": "1010.0.21",
27
27
  "@ngx-translate/core": "12.1.1",
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=\"fa\"></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=\"fa\"></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
  }