repository/shared/select-modal/repository-select-modal.component.ts
RepositorySelectModalComponent displays repository entries options and allows to select them.
Example :import { take } from 'rxjs/operators';
import { RepositorySelectModalComponent, ModalSelectionMode, RepositoryType } from '@c8y/ngx-components/repository/shared';
const initialState = {
repositoryType: RepositoryType.FIRMWARE,
title: gettext('Install firmware'),
subTitle: gettext('Available firmwares matching the device type'),
icon: 'c8y-firmware',
mode: ModalSelectionMode.SINGLE,
labels: { ok: gettext('Install') },
disableSelected: false
};
const modal = this.bsModal.show(RepositorySelectModalComponent, {
ignoreBackdropClick: true,
initialState
});
modal.content.load.next();
modal.content.resultEmitter.pipe(take(1)).subscribe((firmware) => {
})
| providers |
)
|
| selector | c8y-repository-select-modal |
| imports | |
| templateUrl | ./repository-select-modal.component.html |
<c8y-select-modal
[icon]="icon"
[title]="title"
[subTitle]="subTitle"
[items]="modalEntries | async"
[mode]="mode"
[disableSelected]="disableSelected"
[labels]="labels"
[showFilter]="showFilter"
[additionalFilterTemplate]="additionalFilterTemplate"
[areMoreEntries]="areMoreEntries"
[noItemsMessage]="noItemsMessage"
[hideEmptyItems]="hideEmptyItems"
(search)="search({ name: $event })"
(onChoiceUpdated)="onChoiceUpdated.emit($event)"
(result)="result($event)"
c8yProductExperience
inherit
suppressDataOverriding
[actionData]="{ component: PRODUCT_EXPERIENCE.SHARED.COMPONENTS.REPOSITORY_SELECT_MODAL }"
></c8y-select-modal>