From 04b9e444d97b31c1c5b867c02fe58b59a80386f4 Mon Sep 17 00:00:00 2001 From: Guillaume Turri Date: Sun, 28 Jul 2013 22:41:55 +0200 Subject: Minor refactoring Removed some code duplication --- js/reveal.js | 61 ++++++++++++++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 33 deletions(-) (limited to 'js/reveal.js') diff --git a/js/reveal.js b/js/reveal.js index 033fe31..4666642 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -193,49 +193,26 @@ var Reveal = (function(){ dom.slides = document.querySelector( '.reveal .slides' ); // Background element - if( !document.querySelector( '.reveal .backgrounds' ) ) { - dom.background = document.createElement( 'div' ); - dom.background.classList.add( 'backgrounds' ); - dom.wrapper.appendChild( dom.background ); - } + dom.background = initializeNode(dom.wrapper, 'div', 'backgrounds', null); // Progress bar - if( !dom.wrapper.querySelector( '.progress' ) ) { - var progressElement = document.createElement( 'div' ); - progressElement.classList.add( 'progress' ); - progressElement.innerHTML = ''; - dom.wrapper.appendChild( progressElement ); - } + dom.progress = initializeNode(dom.wrapper, 'div', 'progress', ''); + dom.progressbar = dom.progress.querySelector('span'); // Arrow controls - if( !dom.wrapper.querySelector( '.controls' ) ) { - var controlsElement = document.createElement( 'aside' ); - controlsElement.classList.add( 'controls' ); - controlsElement.innerHTML = '' + - '' + - '' + - ''; - dom.wrapper.appendChild( controlsElement ); - } + initializeNode(dom.wrapper, 'aside', 'controls', + '' + + '' + + '' + + ''); // State background element [DEPRECATED] - if( !dom.wrapper.querySelector( '.state-background' ) ) { - var stateBackgroundElement = document.createElement( 'div' ); - stateBackgroundElement.classList.add( 'state-background' ); - dom.wrapper.appendChild( stateBackgroundElement ); - } + initializeNode(dom.wrapper, 'div', 'state-background', null); // Overlay graphic which is displayed during the paused mode - if( !dom.wrapper.querySelector( '.pause-overlay' ) ) { - var pausedElement = document.createElement( 'div' ); - pausedElement.classList.add( 'pause-overlay' ); - dom.wrapper.appendChild( pausedElement ); - } + initializeNode(dom.wrapper, 'div', 'pause-overlay', null); // Cache references to elements - dom.progress = document.querySelector( '.reveal .progress' ); - dom.progressbar = document.querySelector( '.reveal .progress span' ); - if ( config.controls ) { dom.controls = document.querySelector( '.reveal .controls' ); @@ -250,6 +227,24 @@ var Reveal = (function(){ } + function initializeNode(container, tagname, classname, innerHTML){ + var node = container.querySelector('.' + classname); + if( !node ){ + node = buildNode(tagname, classname, innerHTML); + container.appendChild(node); + } + return node; + } + + function buildNode(tagname, classname, innerHTML){ + var node = document.createElement(tagname); + node.classList.add(classname); + if(innerHTML !== null){ + node.innerHTML = innerHTML; + } + return node; + } + /** * Creates the slide background elements and appends them * to the background container. One element is created per -- cgit v1.2.3 From e18ffa8779a0161f067a171b230a06b8952758db Mon Sep 17 00:00:00 2001 From: Guillaume Turri Date: Sun, 11 Aug 2013 16:25:43 +0200 Subject: Use more explicit name --- js/reveal.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'js/reveal.js') diff --git a/js/reveal.js b/js/reveal.js index 4666642..d5461e8 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -193,24 +193,24 @@ var Reveal = (function(){ dom.slides = document.querySelector( '.reveal .slides' ); // Background element - dom.background = initializeNode(dom.wrapper, 'div', 'backgrounds', null); + dom.background = createSingletonNode(dom.wrapper, 'div', 'backgrounds', null); // Progress bar - dom.progress = initializeNode(dom.wrapper, 'div', 'progress', ''); + dom.progress = createSingletonNode(dom.wrapper, 'div', 'progress', ''); dom.progressbar = dom.progress.querySelector('span'); // Arrow controls - initializeNode(dom.wrapper, 'aside', 'controls', + createSingletonNode(dom.wrapper, 'aside', 'controls', '' + '' + '' + ''); // State background element [DEPRECATED] - initializeNode(dom.wrapper, 'div', 'state-background', null); + createSingletonNode(dom.wrapper, 'div', 'state-background', null); // Overlay graphic which is displayed during the paused mode - initializeNode(dom.wrapper, 'div', 'pause-overlay', null); + createSingletonNode(dom.wrapper, 'div', 'pause-overlay', null); // Cache references to elements if ( config.controls ) { @@ -227,7 +227,7 @@ var Reveal = (function(){ } - function initializeNode(container, tagname, classname, innerHTML){ + function createSingletonNode(container, tagname, classname, innerHTML){ var node = container.querySelector('.' + classname); if( !node ){ node = buildNode(tagname, classname, innerHTML); -- cgit v1.2.3 From 644ae56f4f86d5c3247764f17de6541cb7eb168f Mon Sep 17 00:00:00 2001 From: Guillaume Turri Date: Sun, 11 Aug 2013 16:30:08 +0200 Subject: inlined method used only once --- js/reveal.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'js/reveal.js') diff --git a/js/reveal.js b/js/reveal.js index d5461e8..5baacfb 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -230,21 +230,16 @@ var Reveal = (function(){ function createSingletonNode(container, tagname, classname, innerHTML){ var node = container.querySelector('.' + classname); if( !node ){ - node = buildNode(tagname, classname, innerHTML); + node = document.createElement(tagname); + node.classList.add(classname); + if(innerHTML !== null){ + node.innerHTML = innerHTML; + } container.appendChild(node); } return node; } - function buildNode(tagname, classname, innerHTML){ - var node = document.createElement(tagname); - node.classList.add(classname); - if(innerHTML !== null){ - node.innerHTML = innerHTML; - } - return node; - } - /** * Creates the slide background elements and appends them * to the background container. One element is created per -- cgit v1.2.3 From 48f5ba936703a731392ead9ed910a6c7b21d898c Mon Sep 17 00:00:00 2001 From: Guillaume Turri Date: Sun, 11 Aug 2013 16:34:04 +0200 Subject: Formatting --- js/reveal.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'js/reveal.js') diff --git a/js/reveal.js b/js/reveal.js index 5baacfb..b6210b1 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -193,24 +193,24 @@ var Reveal = (function(){ dom.slides = document.querySelector( '.reveal .slides' ); // Background element - dom.background = createSingletonNode(dom.wrapper, 'div', 'backgrounds', null); + dom.background = createSingletonNode( dom.wrapper, 'div', 'backgrounds', null ); // Progress bar - dom.progress = createSingletonNode(dom.wrapper, 'div', 'progress', ''); - dom.progressbar = dom.progress.querySelector('span'); + dom.progress = createSingletonNode( dom.wrapper, 'div', 'progress', '' ); + dom.progressbar = dom.progress.querySelector( 'span' ); // Arrow controls - createSingletonNode(dom.wrapper, 'aside', 'controls', + createSingletonNode( dom.wrapper, 'aside', 'controls', '' + '' + '' + - ''); + '' ); // State background element [DEPRECATED] - createSingletonNode(dom.wrapper, 'div', 'state-background', null); + createSingletonNode( dom.wrapper, 'div', 'state-background', null ); // Overlay graphic which is displayed during the paused mode - createSingletonNode(dom.wrapper, 'div', 'pause-overlay', null); + createSingletonNode( dom.wrapper, 'div', 'pause-overlay', null ); // Cache references to elements if ( config.controls ) { @@ -227,17 +227,19 @@ var Reveal = (function(){ } - function createSingletonNode(container, tagname, classname, innerHTML){ - var node = container.querySelector('.' + classname); + function createSingletonNode( container, tagname, classname, innerHTML ){ + + var node = container.querySelector( '.' + classname ); if( !node ){ - node = document.createElement(tagname); - node.classList.add(classname); - if(innerHTML !== null){ + node = document.createElement( tagname ); + node.classList.add( classname ); + if( innerHTML !== null ){ node.innerHTML = innerHTML; } - container.appendChild(node); + container.appendChild( node ); } return node; + } /** -- cgit v1.2.3