Merge pull request #1425 from dermotduffy/no-download-in-live
Only show download button in media viewer
This commit is contained in:
@@ -131,7 +131,9 @@ export class MenuButtonController {
|
||||
.getAllDependentCameras(selectedCameraID, 'substream');
|
||||
|
||||
if (selectedCameraID && substreamCameraIDs && view.is('live')) {
|
||||
const substreams = [...substreamCameraIDs].filter((cameraID) => cameraID !== selectedCameraID);
|
||||
const substreams = [...substreamCameraIDs].filter(
|
||||
(cameraID) => cameraID !== selectedCameraID,
|
||||
);
|
||||
const streams = [selectedCameraID, ...substreams];
|
||||
|
||||
if (streams.length === 2) {
|
||||
@@ -258,7 +260,11 @@ export class MenuButtonController {
|
||||
});
|
||||
}
|
||||
|
||||
if (mediaCapabilities?.canDownload && !this._isBeingCasted()) {
|
||||
if (
|
||||
view.isViewerView() &&
|
||||
mediaCapabilities?.canDownload &&
|
||||
!this._isBeingCasted()
|
||||
) {
|
||||
buttons.push({
|
||||
icon: 'mdi:download',
|
||||
...config.menu.buttons.download,
|
||||
|
||||
@@ -726,6 +726,7 @@ describe('MenuButtonController', () => {
|
||||
createMediaCapabilities({ canDownload: true }),
|
||||
);
|
||||
const view = createView({
|
||||
view: 'media',
|
||||
queryResults: new MediaQueriesResults({
|
||||
results: [new ViewMedia('clip', 'camera-1')],
|
||||
selectedIndex: 0,
|
||||
@@ -772,6 +773,28 @@ describe('MenuButtonController', () => {
|
||||
expect.arrayContaining([expect.objectContaining({ title: 'Download' })]),
|
||||
);
|
||||
});
|
||||
|
||||
it('not in a non-media view', () => {
|
||||
const cameraManager = createCameraManager();
|
||||
vi.mocked(cameraManager.getMediaCapabilities).mockReturnValue(
|
||||
createMediaCapabilities({ canDownload: true }),
|
||||
);
|
||||
const view = createView({
|
||||
view: 'live',
|
||||
queryResults: new MediaQueriesResults({
|
||||
results: [new ViewMedia('clip', 'camera-1')],
|
||||
selectedIndex: 0,
|
||||
}),
|
||||
});
|
||||
const buttons = calculateButtons(controller, {
|
||||
cameraManager: cameraManager,
|
||||
view: view,
|
||||
});
|
||||
|
||||
expect(buttons).not.toEqual(
|
||||
expect.arrayContaining([expect.objectContaining({ title: 'Download' })]),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('should have camera UI button', () => {
|
||||
|
||||
Reference in New Issue
Block a user