Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
FileUploadType,
getAllowedFileExtensionsInAcceptFormat,
startUploadsFromFileElement,
getMediaTypeFromFileExtensionContributeCaseOrAssessment
getMediaTypeFromFileExtension
} from '../helpers/fileUpload';
import FilteredBlockCollectionView from './components/questions/FilteredBlockCollectionView.vue';
import { WholeSlideImageModel } from "../models/contribute-resource/blocks/wholeSlideImageModel";
Expand Down Expand Up @@ -115,9 +115,9 @@
for (let i = 0; i < targetItem.files.length; i++) {
const file = targetItem.files[i] as File;
const fileExtension = file.name.split('.').pop();
const mediaType = getMediaTypeFromFileExtensionContributeCaseOrAssessment(`.${fileExtension}`);
const mediaType = getMediaTypeFromFileExtension(`.${fileExtension}`);

if (!this.contributeResourceAVFlag && (mediaType === MediaTypeEnum.Audio || mediaType === MediaTypeEnum.Video)) {
if (!this.contributeResourceAVFlag && (mediaType === MediaTypeEnum.Video)) {
startUpload = false;
this.avUnavailableMessage = true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,19 @@
<div class="mx-5">
<h3 class="nhsuk-heading-l nhsuk-u-margin-bottom-2">{{title}}</h3>
<div>{{description}}</div>
<div v-if="!contributeResourceAVFlag && title === 'File' && !isSelected" class="align-self-center">
<div v-html="audioVideoUnavailableView"></div>
</div>
</div>
<div v-if="isSelected" class="align-self-center select_resource_type_component_tick_wrapper">
<Tick class="select_resource_type_component_tick" complete></Tick>
</div>
<div v-if="!isSelected" class="align-self-center">
<Button v-on:click="onSelectClick">Select</Button>
</div>
<div v-if="isSelected" class="align-self-center select_resource_type_component_tick_wrapper">
<Tick class="select_resource_type_component_tick" complete></Tick>
</div>
</div>
</template>

<script lang="ts">
import Vue, { PropOptions } from 'vue';
import { commonlib } from '../common';
import { resourceData } from '../data/resource';
import Button from '../globalcomponents/Button.vue';
import Tick from '../globalcomponents/Tick.vue';
import { ResourceType } from '../constants';
Expand All @@ -37,14 +33,6 @@
resourceType: { type: Number } as PropOptions<ResourceType>,
resourceDetails: { type: Object } as PropOptions<ContributeResourceDetailModel>,
},
data() {
return {
contributeResourceAVFlag: true
};
},
created() {
this.getContributeResAVResourceFlag();
},
computed: {
title(): String {
return commonlib.getResourceTypeText(this.resourceType);
Expand All @@ -57,17 +45,9 @@
},
isSelected(): boolean {
return this.resourceDetails.resourceType === this.resourceType;
},
audioVideoUnavailableView(): string {
return this.$store.state.getAVUnavailableView;
}
},
methods: {
getContributeResAVResourceFlag() {
resourceData.getContributeAVResourceFlag().then(response => {
this.contributeResourceAVFlag = response;
});
},
getResourceTypeDescription(resourceType: ResourceType): string {
switch (resourceType) {
case ResourceType.ARTICLE:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
<div class="lh-padding-fluid">
<div class="lh-container-xl">
<h2 id="title-label" class="nhsuk-heading-l">Select a resource type</h2>
<div v-if="!contributeResourceAVFlag" class="align-self-center">
<div v-html="audioVideoUnavailableView"></div>
</div>
<SelectResourceType :resourceType="resourceType.GENERICFILE" v-bind:resourceDetails="resourceDetails"></SelectResourceType>
<SelectResourceType :resourceType="resourceType.WEBLINK" v-bind:resourceDetails="resourceDetails"></SelectResourceType>
<SelectResourceType :resourceType="resourceType.ARTICLE" v-bind:resourceDetails="resourceDetails"></SelectResourceType>
Expand All @@ -18,6 +21,7 @@
import SelectResourceType from './SelectResourceType.vue';
import { ResourceType } from '../constants';
import { ContributeResourceDetailModel } from '../models/contribute/contributeResourceModel';
import { resourceData } from '../data/resource';

export default Vue.extend({
props: {
Expand All @@ -28,8 +32,24 @@
},
data() {
return {
resourceType: ResourceType
resourceType: ResourceType,
contributeResourceAVFlag: true
}
},
created() {
this.getContributeResAVResourceFlag();
},
computed: {
audioVideoUnavailableView(): string {
return this.$store.state.getAVUnavailableView;
}
},
methods: {
getContributeResAVResourceFlag() {
resourceData.getContributeAVResourceFlag().then(response => {
this.contributeResourceAVFlag = response;
});
},
}
});
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
v-on:updatePublishingStatus="updatePublishingStatus"
v-bind:video="video" />

<div v-if="!contributeResourceAVFlag && (mediaBlock.mediaType === MediaTypeEnum.Video || mediaBlock.mediaType === MediaTypeEnum.Attachment)">
<div v-if="!contributeResourceAVFlag && (mediaBlock.mediaType === MediaTypeEnum.Video)">
<div v-html="audioVideoUnavailableView"></div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
<template>
<div class="contribute-media-block">

<AttachmentPublishedView v-if="mediaType === MediaTypeEnum.Attachment" v-bind:attachment="attachment"/>
<ImagePublishedView v-if="mediaType === MediaTypeEnum.Image" v-bind:image="image"/>
<VideoPlayerContainer v-if="mediaType === MediaTypeEnum.Video" :video="video"/>
<AttachmentPublishedView v-if="mediaType === MediaTypeEnum.Attachment" v-bind:attachment="attachment" />
<ImagePublishedView v-if="mediaType === MediaTypeEnum.Image" v-bind:image="image" />
<div v-if="!contributeResourceAVFlag">
<div v-html="audioVideoUnavailableView"></div>
</div>
<div else>
<VideoPlayerContainer v-if="mediaType === MediaTypeEnum.Video" :video="video" />
</div>

</div>
</template>
Expand All @@ -12,6 +17,7 @@
import Vue, { PropOptions } from 'vue';

import FileInfo from '../content-tab/FileInfo.vue';
import { resourceData } from '../../../data/resource';
import AttachmentPublishedView from './AttachmentPublishedView.vue';
import ImagePublishedView from './ImagePublishedView.vue';
import VideoPlayerContainer from '../VideoPlayerContainer.vue';
Expand All @@ -37,12 +43,14 @@
return {
FileStore: FileStore,
MediaTypeEnum: MediaTypeEnum,
contributeResourceAVFlag: true
}
},
created() {
// We poll for files (e.g. videos) that did not finish processing when the Resource was being created.
// So, when the file processing succeeds/fails, this is can be reflected in the published view.
this.FileStore.enablePolling();
this.getContributeResAVResourceFlag();
},
computed: {
mediaType(): MediaTypeEnum {
Expand All @@ -56,7 +64,17 @@
},
video(): VideoMediaModel {
return this.mediaBlock.video;
},
audioVideoUnavailableView(): string {
return this.$store.state.getAVUnavailableView;
}
},
methods: {
getContributeResAVResourceFlag() {
resourceData.getContributeAVResourceFlag().then(response => {
this.contributeResourceAVFlag = response;
});
},
}
})
</script>
17 changes: 15 additions & 2 deletions LearningHub.Nhs.WebUI/Scripts/vuesrc/contribute/ContentAudio.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
<h3>Uploaded file</h3>
</div>
</div>
<div class="row">
<div v-if="!contributeResourceAVFlag">
<div v-html="audioVideoUnavailableView"></div>
</div>
<div v-else class="row">
<file-panel :file-id="localAudioDetail.file.fileId" :file-description="localAudioDetail.file.fileName" :file-size="localAudioDetail.file.fileSizeKb" @changefile="changeFile"></file-panel>
</div>

Expand Down Expand Up @@ -80,7 +83,8 @@
localAudioDetail: { resourceVersionId: 0 } as AudioResourceModel,
additionalInformation: '' as string,
uploadingFile: null as File,
uploadingTranscriptFile: null as File
uploadingTranscriptFile: null as File,
contributeResourceAVFlag: true
};
},
computed: {
Expand All @@ -95,10 +99,14 @@
},
fileUpdated(): ResourceFileModel {
return this.$store.state.fileUpdated;
},
audioVideoUnavailableView(): string {
return this.$store.state.getAVUnavailableView;
}
},
created() {
this.setInitialValues();
this.getContributeResAVResourceFlag();
EventBus.$on('deleteFile', (fileTypeToBeDeleted: number) => {
this.processDeleteFile(fileTypeToBeDeleted);
});
Expand All @@ -112,6 +120,11 @@
changeFile() {
this.$emit('filechanged');
},
getContributeResAVResourceFlag() {
resourceData.getContributeAVResourceFlag().then(response => {
this.contributeResourceAVFlag = response;
});
},
changeTranscriptFile() {
$('#transcriptFileUpload').val(null);
$('#transcriptFileUpload').click();
Expand Down
12 changes: 1 addition & 11 deletions LearningHub.Nhs.WebUI/Scripts/vuesrc/helpers/fileUpload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -324,17 +324,7 @@ export const getMediaTypeFromFileExtension = function (fileExtension: string): M
return MediaTypeEnum.Attachment;
}
};
export const getMediaTypeFromFileExtensionContributeCaseOrAssessment = function (fileExtension: string): MediaTypeEnum {
if (isIncludedInListIgnoringCase(IMAGE_FILE_EXTENSIONS, fileExtension)) {
return MediaTypeEnum.Image;
} else if (isIncludedInListIgnoringCase(VIDEO_FILE_EXTENSIONS, fileExtension)) {
return MediaTypeEnum.Video;
} else if (isIncludedInListIgnoringCase(AUDIO_FILE_EXTENSIONS, fileExtension)) {
return MediaTypeEnum.Audio;
} else {
return MediaTypeEnum.Attachment;
}
};

export const getUploadTypeFromMediaType = function (mediaType: MediaTypeEnum): FileUploadType {
switch (mediaType) {
case MediaTypeEnum.Attachment:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@ export enum MediaTypeEnum {
Attachment = 0,
Image = 1,
Video = 2,
Audio = 3,
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<h3 class="nhsuk-warning-callout__label">
<span role="text">
<span class="nhsuk-u-visually-hidden">Important: </span>
Video and audio unavailable
Media services unavailable
</span>
</h3>
<p>The video and audio upload and streaming services on the Learning Hub platform are temporarily unavailable. We are working to resolve this as quickly as possible.</p>
<p>The Learning Hub's media upload and streaming services are temporarily unavailable. This will affect most video and audio uploads and playback. We are working to resolve this as quickly as possible.</p>
</div>