{"version":3,"file":"c8y-ngx-components-data-grid-columns.mjs","sources":["../../data-grid-columns/asset-type/asset-type.cell-renderer.component.ts","../../data-grid-columns/asset-type/asset-type.cell-renderer.component.html","../../data-grid-columns/asset-type/asset-type-grid-column.ts","../../data-grid-columns/c8y-ngx-components-data-grid-columns.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport {\n  CellRendererContext,\n  I18nModule,\n  gettext,\n  CommonModule,\n  DeviceStatusModule\n} from '@c8y/ngx-components';\nimport { AssetNodeService } from '@c8y/ngx-components/assets-navigator';\nimport { SupportedIconsSuggestions } from '@c8y/ngx-components/icon-selector/icons';\n\n@Component({\n  templateUrl: './asset-type.cell-renderer.component.html',\n  standalone: true,\n  imports: [CommonModule, I18nModule, DeviceStatusModule],\n  selector: 'c8y-asset-type-cell-renderer'\n})\nexport class AssetTypeCellRendererComponent implements OnInit {\n  groupIcon: Promise<string>;\n  isAnyGroup: boolean;\n  isDevice: boolean;\n  isAsset: boolean;\n  iconTitle: string;\n  constructor(\n    public context: CellRendererContext,\n    protected assetNodeService: AssetNodeService\n  ) {}\n\n  async ngOnInit() {\n    this.isAnyGroup = this.assetNodeService.isAnyGroup(this.context.item);\n    this.groupIcon = this.assetNodeService.icon(this.context.item);\n    this.isDevice = this.assetNodeService.isDevice(this.context.item);\n    this.isAsset = this.assetNodeService.isAsset(this.context.item);\n    this.iconTitle = this.getIconTitle(await this.groupIcon);\n  }\n\n  private getIconTitle(icon: SupportedIconsSuggestions): string {\n    if (this.isAsset) {\n      return this.context.item.type;\n    }\n\n    switch (icon) {\n      case 'c8y-group':\n        return gettext('Group');\n      case 'c8y-group-smart':\n        return gettext('Smart group');\n      case 'c8y-group-remote-inactive':\n        return 'Inactive remote group';\n      case 'c8y-group-remote':\n        return gettext('Remote group');\n      case 'exchange':\n        return gettext('Device');\n      default:\n        return gettext('Asset');\n    }\n  }\n}\n","<device-status\n  class=\"m-l-8\"\n  [mo]=\"context.item\"\n  *ngIf=\"isDevice\"\n></device-status>\n<i\n  class=\"m-l-8 c8y-icon-duocolor\"\n  [c8yIcon]=\"groupIcon | async\"\n  title=\"{{ iconTitle | translate }}\"\n  *ngIf=\"isAnyGroup || !isDevice\"\n></i>\n","import {\n  BaseColumn,\n  ColumnConfig,\n  ColumnDataType,\n  getBasicInputArrayFormFieldConfig,\n  gettext\n} from '@c8y/ngx-components';\nimport { AssetTypeCellRendererComponent } from './asset-type.cell-renderer.component';\n\nexport class AssetTypeGridColumn extends BaseColumn {\n  constructor(initialColumnConfig?: ColumnConfig) {\n    super(initialColumnConfig);\n    this.name = 'type';\n    this.header = gettext('Type');\n    this.dataType = ColumnDataType.Icon;\n    this.cellRendererComponent = AssetTypeCellRendererComponent;\n    this.sortable = true;\n    this.sortingConfig = {\n      pathSortingConfigs: [{ path: `c8y_IsDeviceGroup` }]\n    };\n\n    this.filterable = true;\n    this.filteringConfig = {\n      fields: getBasicInputArrayFormFieldConfig({\n        key: 'types',\n        label: gettext('Show items with type'),\n        addText: gettext('Add next`type`'),\n        tooltip: gettext('Use * as a wildcard character'),\n        placeholder: gettext('building`e.g. house`')\n      }),\n      getFilter(model: any): any {\n        const filter: any = {};\n        if (model.types.length) {\n          filter.type = { __in: model.types };\n        }\n        return filter;\n      }\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}