{"version":3,"file":"c8y-ngx-components-operations-operation-details.mjs","sources":["../../operations/operation-details/operation-details-modal.component.ts","../../operations/operation-details/operation-details-modal.component.html","../../operations/operation-details/operation-details.service.ts","../../operations/operation-details/operation-details.component.ts","../../operations/operation-details/operation-details.component.html","../../operations/operation-details/operation-details.module.ts","../../operations/operation-details/c8y-ngx-components-operations-operation-details.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { IOperation } from '@c8y/client';\nimport {\n  OperationsListService,\n  OperationsListItemComponent\n} from '@c8y/ngx-components/operations/operations-list';\nimport { C8yTranslatePipe } from '@c8y/ngx-components';\n@Component({\n  selector: 'c8y-operation-details-modal',\n  templateUrl: './operation-details-modal.component.html',\n  imports: [OperationsListItemComponent, C8yTranslatePipe]\n})\nexport class OperationDetailsModalComponent {\n  @Input() operation: Partial<IOperation>;\n  @Input() collapsed = false;\n  @Input() readOnly = false;\n  isSmartRulesMicroserviceAvailable = false;\n\n  constructor(\n    public modalRef: BsModalRef,\n    private operationsListService: OperationsListService\n  ) {}\n\n  async ngOnInit() {\n    this.isSmartRulesMicroserviceAvailable =\n      await this.operationsListService.isSmartRulesMicroserviceAvailable();\n  }\n}\n","<div class=\"viewport-modal\">\n  <div class=\"modal-header separator\">\n    <h3 id=\"modal-title\">{{ 'Single operation details' | translate }}</h3>\n  </div>\n\n  <div\n    class=\"modal-inner-scroll\"\n    id=\"modal-body\"\n  >\n    <c8y-operations-list-item\n      [operation]=\"operation\"\n      [collapsed]=\"collapsed\"\n      [noExpandToggle]=\"true\"\n      [readOnly]=\"readOnly\"\n      [isSmartRulesMicroserviceAvailable]=\"isSmartRulesMicroserviceAvailable\"\n    ></c8y-operations-list-item>\n  </div>\n\n  <div class=\"modal-footer\">\n    <button\n      class=\"btn btn-default\"\n      title=\"{{ 'Close' | translate }}\"\n      type=\"button\"\n      (click)=\"modalRef.hide()\"\n    >\n      {{ 'Close' | translate }}\n    </button>\n  </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { IOperation, OperationService } from '@c8y/client';\nimport { OperationDetailsModalComponent } from './operation-details-modal.component';\n\n@Injectable({ providedIn: 'root' })\nexport class OperationDetailsService {\n  constructor(\n    private operationService: OperationService,\n    private modalService: BsModalService\n  ) {}\n\n  /**\n   * Opens a modal window with the details of given single operation.\n   * @param operationOrOperationId Operation's object or id.\n   * @param options Additional options:\n   * - `collapsed`: boolean - whether the details pane should be initially collapsed\n   * - `readOnly`: boolean - whether the details should be displayed in read-only mode\n   */\n  async openDetails(\n    operationOrOperationId: IOperation | string | number,\n    options?: { collapsed?: boolean; readOnly?: boolean }\n  ) {\n    const operation: IOperation = (operationOrOperationId as IOperation).id\n      ? (operationOrOperationId as IOperation)\n      : (await this.operationService.detail(operationOrOperationId)).data;\n    const initialState = { operation, ...options };\n\n    this.modalService.show(OperationDetailsModalComponent, {\n      initialState,\n      class: 'modal-lg',\n      ariaDescribedby: 'modal-body',\n      ariaLabelledBy: 'modal-title'\n    });\n  }\n}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { IOperation } from '@c8y/client';\nimport {\n  operationStatusClasses,\n  operationStatusIcons,\n  ProductExperienceEvent,\n  ProductExperienceEventSource,\n  PRODUCT_EXPERIENCE_EVENT_SOURCE,\n  IconDirective,\n  ProductExperienceDirective,\n  C8yTranslatePipe,\n  DatePipe\n} from '@c8y/ngx-components';\nimport { ACTIONS_OPERATIONS, COMPONENTS } from '@c8y/ngx-components/operations/product-experience';\nimport { OperationDetailsService } from './operation-details.service';\nimport { NgIf, NgClass } from '@angular/common';\nimport { TooltipDirective } from 'ngx-bootstrap/tooltip';\n\n/**\n * Operation details component displays a single operation's status, description and creationTime.\n *\n * ```html\n * <c8y-operation-details [operation]=\"operation\"></c8y-operation-details>\n * ```\n */\n@Component({\n  selector: 'c8y-operation-details',\n  templateUrl: './operation-details.component.html',\n  providers: [\n    {\n      provide: PRODUCT_EXPERIENCE_EVENT_SOURCE,\n      useExisting: forwardRef(() => OperationDetailsComponent)\n    }\n  ],\n  imports: [\n    NgIf,\n    TooltipDirective,\n    IconDirective,\n    NgClass,\n    ProductExperienceDirective,\n    C8yTranslatePipe,\n    DatePipe\n  ]\n})\nexport class OperationDetailsComponent implements ProductExperienceEventSource {\n  ACTIONS = ACTIONS_OPERATIONS;\n  @Input() operation: IOperation;\n\n  statusIcons: object;\n  statusClasses: object;\n\n  productExperienceEvent: ProductExperienceEvent = {\n    eventName: undefined, // supress emitting events if a parent component does not declare event name\n    data: {\n      component: COMPONENTS.OPERATION_DETAILS\n    }\n  };\n\n  constructor(private operationDetailsService: OperationDetailsService) {}\n\n  ngOnInit() {\n    this.statusIcons = operationStatusIcons;\n    this.statusClasses = operationStatusClasses;\n  }\n\n  openDetails() {\n    this.operationDetailsService.openDetails(this.operation);\n  }\n}\n","<div class=\"c8y-list--group\" *ngIf=\"operation\">\n  <a class=\"c8y-list__item\">\n    <div class=\"c8y-list__item__block\">\n      <div class=\"c8y-list__item__icon\">\n        <button\n          class=\"btn-clean\"\n          type=\"button\"\n          [attr.aria-label]=\"operation.status?.toString() | translate\"\n          [tooltip]=\"operation.status?.toString() | translate\"\n          [delay]=\"500\"\n          placement=\"right\"\n          container=\"body\"\n        >\n          <i\n            [c8yIcon]=\"statusIcons[operation.status]\"\n            [ngClass]=\"statusClasses[operation.status]\"\n          ></i>\n        </button>\n      </div>\n      <div class=\"c8y-list__item__body p-r-16\">\n        <div class=\"content-flex-40\">\n          <div class=\"col-8\">\n            <button\n              class=\"btn-clean text-truncate\"\n              type=\"button\"\n              title=\"{{ operation.description | translate }}\"\n              (click)=\"openDetails()\"\n              c8yProductExperience\n              inherit\n              [actionData]=\"{ action: ACTIONS.OPEN_OPERATION_DETAILS }\"\n            >\n              {{ operation.description | translate }}\n            </button>\n          </div>\n          <div class=\"col-4 text-muted\">\n            <small class=\"icon-flex\">\n              <i c8yIcon=\"calendar\" class=\"m-r-4\"></i>\n              <span>{{ operation.creationTime | c8yDate }}</span>\n            </small>\n          </div>\n        </div>\n      </div>\n    </div>\n  </a>\n</div>\n","import { NgModule } from '@angular/core';\nimport { BulkOperationListItemService } from '@c8y/ngx-components/operations/bulk-operation-list-item';\nimport { OperationDetailsComponent } from './operation-details.component';\nimport { OperationDetailsService } from './operation-details.service';\n\n/**\n * This module allows to display details of a single operation in a modal.\n */\n@NgModule({\n  imports: [OperationDetailsComponent],\n  providers: [OperationDetailsService, BulkOperationListItemService],\n  exports: [OperationDetailsComponent]\n})\nexport class OperationDetailsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i1.OperationDetailsService"],"mappings":"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"}