{"version":3,"file":"c8y-ngx-components-data-grid-columns-asset-type.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/asset-type/c8y-ngx-components-data-grid-columns-asset-type.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n  CellRendererContext,\n  I18nModule,\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","@if (isDevice) {\n  <device-status [mo]=\"context.item\"></device-status>\n} @else {\n  <i\n    class=\"c8y-icon-duocolor\"\n    [c8yIcon]=\"groupIcon | async\"\n    title=\"{{ iconTitle | translate }}\"\n  ></i>\n}\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n  BaseColumn,\n  ColumnConfig,\n  ColumnDataType,\n  getBasicInputArrayFormFieldConfig\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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"}