operations/stepper-bulk-type-firmware/version-or-patch.component.ts
selector | c8y-version-or-patch-step |
imports |
NgIf
ListGroupComponent
ForOfDirective
ListItemComponent
ListItemIconComponent
IconDirective
ListItemBodyComponent
NgPlural
NgPluralCase
C8yTranslateDirective
ListItemCollapseComponent
ListItemRadioComponent
C8yTranslatePipe
AsyncPipe
|
templateUrl | version-or-patch.component.html |
Properties |
Methods |
Inputs |
Outputs |
constructor(repositoryService: RepositoryService, inventoryService: InventoryService, bulkOpsService: BulkOperationsService)
|
||||||||||||
Parameters :
|
selected |
Type : IManagedObject
|
versionOrPatch |
Type : EventEmitter<IManagedObject>
|
getBaseVersionAndPatches$ | ||||
getBaseVersionAndPatches$(baseVersion)
|
||||
Decorators :
@memoize(undefined)
|
||||
Parameters :
Returns :
any
|
getBinaryName$ | ||||
getBinaryName$(binaryUrl)
|
||||
Decorators :
@memoize()
|
||||
Parameters :
Returns :
any
|
getPatchVersionsCount$ | ||||||
getPatchVersionsCount$(baseVersion: FirmwareBinary)
|
||||||
Decorators :
@memoize(undefined)
|
||||||
Parameters :
Returns :
any
|
selectVersionOrPatch | |||||||||
selectVersionOrPatch(selected: boolean, versionOrPatch: IManagedObject)
|
|||||||||
Parameters :
Returns :
void
|
DD_LOW_COUNT |
Type : number
|
Default value : 10
|
elementCount |
Type : number
|
Default value : 0
|
expanded |
Type : literal type
|
Default value : {}
|
isLegacy$ |
Type : Observable<boolean>
|
Default value : this.firmware$.pipe(
map(firmware => this.repositoryService.isLegacyEntry(firmware)),
shareReplay(1)
)
|
<c8y-list-group
class="m-b-16"
*ngIf="(baseVersions$ | async)?.data.length > 0"
>
<c8y-li *c8yFor="let baseVersion of baseVersions$ | async; let i = index; loadMore: 'auto'">
<c8y-li-icon>
<i c8yIcon="c8y-firmware"></i>
</c8y-li-icon>
<c8y-li-body class="content-flex-50">
<div class="col-10">
<p>{{ baseVersion.c8y_Firmware.version }}</p>
</div>
<div class="col-2">
<span
class="label label-warning"
*ngIf="isLegacy$ | async"
>
{{ 'Legacy' | translate }}
</span>
<span *ngIf="!(isLegacy$ | async)">
<span *ngIf="(getPatchVersionsCount$(baseVersion) | async) === null">
<span class="label label-info">
<i
class="icon-spin"
c8yIcon="circle-o-notch"
></i>
</span>
</span>
<span *ngIf="(getPatchVersionsCount$(baseVersion) | async) !== null">
<span [ngPlural]="getPatchVersionsCount$(baseVersion) | async">
<ng-template ngPluralCase="=0">
<span class="label label-default"><span translate>No patches</span></span>
</ng-template>
<ng-template ngPluralCase="=1">
<span class="label label-info">
<span translate>1 patch</span>
</span>
</ng-template>
<ng-template ngPluralCase="other">
<span class="label label-info">
<span
ngNonBindable
translate
[translateParams]="{ count: getPatchVersionsCount$(baseVersion) | async }"
>
{{ count }} patches
</span>
</span>
</ng-template>
</span>
</span>
</span>
</div>
</c8y-li-body>
<c8y-li-collapse>
<c8y-list-group>
<c8y-li
*c8yFor="
let patchVersion of getBaseVersionAndPatches$(baseVersion) | async;
let i = index;
loadMore: 'auto'
"
>
<c8y-li-radio
(onSelect)="selectVersionOrPatch($event, patchVersion)"
[selected]="patchVersion === selected"
></c8y-li-radio>
<c8y-li-icon>
<i c8yIcon="c8y-firmware"></i>
</c8y-li-icon>
<c8y-li-body class="content-flex-50">
<div class="col-3">
{{ patchVersion.c8y_Firmware.version }}
</div>
<div class="col-3">
<span
class="label label-info"
*ngIf="patchVersion.c8y_Patch; else version"
translate
>
patch
</span>
<ng-template #version>
<span
class="label label-primary"
translate
>
version
</span>
</ng-template>
</div>
<div class="col-6 text-truncate">
<span
class="text-label-small m-r-4"
translate
>
File
</span>
<ng-container *ngIf="patchVersion.c8y_Firmware.url === '$PROVIDED'; else fileName">
<span title="{{ 'Provided by device' | translate }}">
{{ 'Provided by device' | translate }}
</span>
</ng-container>
<ng-template #fileName>
<span title="{{ getBinaryName$(patchVersion.c8y_Firmware.url) | async }}">
{{ getBinaryName$(patchVersion.c8y_Firmware.url) | async }}
</span>
</ng-template>
</div>
</c8y-li-body>
</c8y-li>
</c8y-list-group>
</c8y-li-collapse>
</c8y-li>
</c8y-list-group>