bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/container.jsx

46 lines
1.6 KiB
React
Raw Normal View History

import React from 'react';
2020-02-26 03:29:14 +08:00
import { Meteor } from 'meteor/meteor';
import { withTracker } from 'meteor/react-meteor-data';
import ErrorBoundary from '/imports/ui/components/error-boundary/component';
import FallbackModal from '/imports/ui/components/fallback-errors/fallback-modal/component';
2017-05-04 00:36:16 +08:00
import Service from './service';
2021-06-14 20:55:18 +08:00
import PresentationService from '../service';
2017-05-04 00:36:16 +08:00
import PresentationUploader from './component';
2020-02-26 03:29:14 +08:00
const PRESENTATION_CONFIG = Meteor.settings.public.presentation;
2017-05-04 00:36:16 +08:00
const PresentationUploaderContainer = (props) => (
2021-02-16 02:23:02 +08:00
props.isPresenter
&& (
<ErrorBoundary Fallback={() => <FallbackModal />}>
<PresentationUploader {...props} />
</ErrorBoundary>
2021-02-16 02:23:02 +08:00
)
);
2017-05-04 00:36:16 +08:00
2021-06-14 20:55:18 +08:00
export default withTracker(() => {
2017-05-04 00:36:16 +08:00
const currentPresentations = Service.getPresentations();
const {
dispatchDisableDownloadable,
dispatchEnableDownloadable,
dispatchTogglePresentationDownloadable,
} = Service;
2017-05-04 00:36:16 +08:00
return {
presentations: currentPresentations,
fileValidMimeTypes: PRESENTATION_CONFIG.uploadValidMimeTypes,
handleSave: (presentations) => Service.persistPresentationChanges(
currentPresentations,
presentations,
PRESENTATION_CONFIG.uploadEndpoint,
'DEFAULT_PRESENTATION_POD',
),
dispatchDisableDownloadable,
dispatchEnableDownloadable,
dispatchTogglePresentationDownloadable,
isOpen: Session.get('showUploadPresentationView') || false,
selectedToBeNextCurrent: Session.get('selectedToBeNextCurrent') || null,
2021-06-14 20:55:18 +08:00
isPresenter: PresentationService.isPresenter('DEFAULT_PRESENTATION_POD'),
2017-05-04 00:36:16 +08:00
};
2021-06-14 20:55:18 +08:00
})(PresentationUploaderContainer);