-
-
+
+
+
-
- {(this.props.PermissionsStore.permissions.admin && (this.props.DeckEditStore.deckProps.sid === this.props.DeckEditStore.deckProps.localRootDeck)) ? (
-
-
-
- {groupsOptions}
+
+
+ {themeOptions}
-
-
-
+
+
+ {licenseOptions}
-
-
- Authorized:
-
-
- {this.getListOfAuthorized()}
-
-
+
+ {(this.props.PermissionsStore.permissions.admin && (this.props.DeckEditStore.deckProps.sid === this.props.DeckEditStore.deckProps.localRootDeck)) ? (
+
+
+
+
+ {groupsOptions}
+
+
+
+
+
+
+
+
+ Authorized:
+
+
+ {this.getListOfAuthorized()}
+
+
+
+
+
-
-
-
- ) : ''}
+ ) : ''}
- {(this.props.DeckEditStore.viewstate === 'loading') ?
: ''}
+ {(this.props.DeckEditStore.viewstate === 'loading') ?
: ''}
- {buttons}
-
-
+ {buttons}
+
+
+
-
);
}
diff --git a/components/Deck/ContentPanel/DeckModes/DeckViewPanel/DeckViewPanel.js b/components/Deck/ContentPanel/DeckModes/DeckViewPanel/DeckViewPanel.js
index 1cbd96209..938aec39f 100644
--- a/components/Deck/ContentPanel/DeckModes/DeckViewPanel/DeckViewPanel.js
+++ b/components/Deck/ContentPanel/DeckModes/DeckViewPanel/DeckViewPanel.js
@@ -58,7 +58,52 @@ class DeckViewPanel extends React.Component {
const downloadCount = deckData.downloadCount;
//const deckTheme = lodash.get(deckData, 'theme', 'Simple');
- const deckTheme = currentRevision.theme;
+ let deckTheme = currentRevision.theme;
+ switch (deckTheme) {
+ case 'default':
+ deckTheme = 'White - Default';
+ break;
+ case 'beige':
+ deckTheme = 'Cream';
+ break;
+ case 'black':
+ deckTheme = 'Black';
+ break;
+ case 'league':
+ deckTheme = 'Black';
+ break;
+ case 'sky':
+ deckTheme = 'sky';
+ break;
+ case 'solarized':
+ deckTheme = 'Beige';
+ break;
+ case 'moon':
+ deckTheme = 'Dark Slate Blue';
+ break;
+ case 'night':
+ deckTheme = 'High Contrast 1';
+ break;
+ case 'blood':
+ deckTheme = 'High Contrast 2';
+ break;
+ case 'serif':
+ deckTheme = 'Serif';
+ break;
+ case 'simple':
+ deckTheme = 'Simple';
+ break;
+ case 'openuniversity':
+ deckTheme = 'Open University';
+ break;
+ case 'odimadrid':
+ deckTheme = 'ODI Madrid';
+ break;
+ case 'oeg':
+ deckTheme = 'OEG';
+ break;
+ default:
+ }
const deckLicense = deckData.license;
const deckTitle = currentRevision.title;
const deckDate = CustomDate.format(deckData.timestamp, 'Do MMMM YYYY');
diff --git a/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js b/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js
index 0d80a00c0..b0a3adc20 100644
--- a/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js
+++ b/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js
@@ -1217,9 +1217,9 @@ class SlideContentEditor extends React.Component {
//https://github.com/swisnl/jQuery-contextMenu
//http://swisnl.github.io/jQuery-contextMenu/
$('.pptx2html [style*="absolute"]').each(function () {
- this.innerHTML = '
' + this.innerHTML;
+ this.innerHTML = '
' + this.innerHTML;
$('.'+$(this).attr('id')+'dragdiv').hide();
- this.innerHTML = '' + this.innerHTML;
+ this.innerHTML = '' + this.innerHTML;
$('.'+$(this).attr('id')).hide();
//this.innerHTML = '
' + this.innerHTML;
//let menuID = $(this).attr('id');
@@ -1547,51 +1547,71 @@ class SlideContentEditor extends React.Component {
'duplicate': (event) => this.duplicateNode(slideEditorContext, event),
//'escape': (event) => {this.removeEditMode(); $('#' + this.menuFocus).focus(); $('#' + this.menuFocus).css({'box-shadow':'0 0 15px 5px rgba(0, 150, 253, 1)'});}
};
+ const dropDownItemStyle = {
+ //minWidth: '100%',
+ minHeight: '100px',
+ //borderStyle: 'dashed dashed none dashed',
+ //borderColor: '#e7e7e7',
+ };
let templateOptions =
- Title and bullets
+ Title and bullets
+
+
- Empty document
+ Empty document
+
- 1 row 1 column
+ 1 row 1 column
+
- 1 row 2 columns
+ 1 row 2 columns
+
- 2 rows 2 columns
+ 2 rows 2 columns
+
- 2 rows 1 column
+ 2 rows 1 column
+
- 1 row 1 column image
+ 1 row 1 column image
+
- Document with title
+ Document with title
+
- Open University Theme Title Page
+ Open University Theme Title Page
+
- OEG Theme Title Page
+ OEG Theme Title Page
+
- SlideWiki template
+ SlideWiki template
+
- EKDDA template
+ EKDDA template
+
- EKDDA template - English
+ EKDDA template - English
+
- EKDDA template - English no footer
+ EKDDA template - English no footer
+
;
-
const headerStyle = {
//minWidth: '100%',
height: '0px',
diff --git a/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js b/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js
index 79e49a90b..2d89ed663 100644
--- a/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js
+++ b/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js
@@ -4,93 +4,29 @@ import {findDOMNode} from 'react-dom';
const ReactDOM = require('react-dom');
class SlideContentView extends React.Component {
+ constructor(props) {
+ super(props);
+ this.loading = 'loading';
+ }
+ componentWillReceiveProps(nextProps){
+ // alert('styleName in componentWillReceiveProps: ' + styleName);
+ // console.log(this.props.PresentationStore);
+ if (nextProps.theme === this.props.theme){
- render() {
- //styles should match slideContentEditor for consistency
- const compHeaderStyle = {
- minWidth: '100%',
- overflowY: 'auto',
- position: 'relative'
- };
- const compStyle = {
- //minWidth: '100%',
- // maxHeight: 450,
- minHeight: 600,
- //minHeight: '100%',
- overflowY: 'auto',
- overflowX: 'auto',
- //overflowY: 'visible',
- //overflow: 'hidden,'
- position: 'relative'
- };
- const sectionElementStyle = {
- overflowY: 'hidden',
- overflowX: 'auto',
- //paddingTop: 40,
- height: '100%'
- };
- const contentStyle = {
- minWidth: '100%',
- // maxHeight: 450,
- minHeight: 610,
- overflowY: 'auto',
- overflowX: 'auto',
- //borderStyle: 'dashed',
- //borderColor: '#e7e7e7',
- };
- const compSpeakerStyle = {
- maxHeight: 50,
- minHeight: 50,
- overflowY: 'auto',
- position: 'relative'
- };
-
- const containerMinHeight = {
-
- };
-
- // Add the CSS dependency for the theme
- // Get the theme information, and download the stylesheet
- let styleName = 'default';
- if(this.props.theme && typeof this.props.theme !== 'undefined'){
- styleName = this.props.theme;
}
- if (styleName === '' || typeof styleName === 'undefined' || styleName === 'undefined')
+ console.log('componentWillReceiveProps ' + this.props.loadingIndicator + nextProps.loadingIndicator);
+ if (nextProps.loadingIndicator !== this.props.loadingIndicator)
{
- //if none of above yield a theme:
- styleName = 'white';
+ if (nextProps.loadingIndicator === 'true')
+ this.loading = 'loading';
+ if(nextProps.loadingIndicator === 'false')
+ this.loading = '';
}
- let style = require('../../../../../custom_modules/reveal.js/css/theme/' + styleName + '.css');
- //console.log(style);
- //console.log(style.reveal);
- //console.log(style.slides);
-
- return (
-
-
-
- {this.props.speakernotes ?
Speaker notes: : ''}
-
-
-
- );
}
-
+ componentWillMount(){
+ }
componentDidMount(){
-
if(process.env.BROWSER){
-
-
//Function toi fit contents in edit and view component
//$(".pptx2html").addClass('schaal');
//$(".pptx2html [style*='absolute']").addClass('schaal');
@@ -113,24 +49,18 @@ class SlideContentView extends React.Component {
//console.log('resize');
this.resize();
});
+ this.loading = '';
}
this.forceUpdate();
}
-
componentDidUpdate() {
// update mathjax rendering
// add to the mathjax rendering queue the command to type-set the inlineContent
MathJax.Hub.Queue(['Typeset',MathJax.Hub,'inlineContent']);
-
this.resize();
- }
-
- componentWillReceiveProps(nextProps){
- // alert('styleName in componentWillReceiveProps: ' + styleName);
- // console.log(this.props.PresentationStore);
- if (nextProps.theme === this.props.theme){
- }
+ //this.loading = '';
+ //console.log('componentDidUpdate');
}
resize()
@@ -175,6 +105,88 @@ class SlideContentView extends React.Component {
//$(".pptx2html").css({'borderStyle': 'double double double double ', 'borderColor': '#3366ff', 'box-shadow': '0px 100px 1000px #ff8787'});
}
}
+
+ render() {
+ //styles should match slideContentEditor for consistency
+ const compHeaderStyle = {
+ minWidth: '100%',
+ overflowY: 'auto',
+ position: 'relative'
+ };
+ const compStyle = {
+ //minWidth: '100%',
+ // maxHeight: 450,
+ minHeight: 600,
+ //minHeight: '100%',
+ overflowY: 'auto',
+ overflowX: 'auto',
+ //overflowY: 'visible',
+ //overflow: 'hidden,'
+ position: 'relative'
+ };
+ const sectionElementStyle = {
+ overflowY: 'hidden',
+ overflowX: 'auto',
+ //paddingTop: 40,
+ height: '100%'
+ };
+ const contentStyle = {
+ minWidth: '100%',
+ // maxHeight: 450,
+ minHeight: 610,
+ overflowY: 'auto',
+ overflowX: 'auto',
+ //borderStyle: 'dashed',
+ //borderColor: '#e7e7e7',
+ };
+ const compSpeakerStyle = {
+ maxHeight: 50,
+ minHeight: 50,
+ overflowY: 'auto',
+ position: 'relative'
+ };
+
+ const containerMinHeight = {
+
+ };
+
+ // Add the CSS dependency for the theme
+ // Get the theme information, and download the stylesheet
+ let styleName = 'default';
+ if(this.props.theme && typeof this.props.theme !== 'undefined'){
+ styleName = this.props.theme;
+ }
+ if (styleName === '' || typeof styleName === 'undefined' || styleName === 'undefined')
+ {
+ //if none of above yield a theme:
+ styleName = 'white';
+ }
+ let style = require('../../../../../custom_modules/reveal.js/css/theme/' + styleName + '.css');
+ //console.log(style);
+ //console.log(style.reveal);
+ //console.log(style.slides);
+
+ return (
+
+ {(this.loading === 'loading') ? : ''}
+
+
+ {this.props.speakernotes ?
Speaker notes: : ''}
+
+
+
+ );
+ }
}
SlideContentView.contextTypes = {
diff --git a/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideViewPanel.js b/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideViewPanel.js
index 6bbcd933b..9abfa147e 100644
--- a/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideViewPanel.js
+++ b/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideViewPanel.js
@@ -11,6 +11,7 @@ class SlideViewPanel extends React.Component {
{(this.props.SlideViewStore.content === undefined) ?
: ''}
);
diff --git a/components/Deck/Deck.js b/components/Deck/Deck.js
index f8b878d60..f9cd63082 100644
--- a/components/Deck/Deck.js
+++ b/components/Deck/Deck.js
@@ -5,7 +5,6 @@ import DeckPageStore from '../../stores/DeckPageStore';
import ServiceErrorStore from '../../stores/ServiceErrorStore';
import hideLeftColumn from '../../actions/deckpagelayout/hideLeftColumn';
import restoreDeckPageLayout from '../../actions/deckpagelayout/restoreDeckPageLayout';
-import NavigationPanel from './NavigationPanel/NavigationPanel';
import TreePanel from './TreePanel/TreePanel';
import ContentPanel from './ContentPanel/ContentPanel';
import ContentModulesPanel from './ContentModulesPanel/ContentModulesPanel';
@@ -94,9 +93,9 @@ class Deck extends React.Component {