diff --git a/Gruntfile.js b/Gruntfile.js index 2b568e81..771422f7 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,6 +2,7 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-browserify'); grunt.loadNpmTasks('grunt-contrib-uglify-es'); grunt.loadNpmTasks('grunt-browser-sync'); + grunt.loadNpmTasks('grunt-text-replace'); require('matchdep') .filterDev('grunt-*') @@ -48,6 +49,17 @@ module.exports = function(grunt) { } }, + replace: { + version: { + src: ['examples/sw.js'], + overwrite: true, + replacements: [{ + from: /image-sequencer-static-v.*/g, + to: "image-sequencer-static-v<%= pkg.version %>';" + }] + } + }, + uglify: { core: { src: ['./dist/image-sequencer.js'], @@ -78,10 +90,10 @@ module.exports = function(grunt) { /* Default (development): Watch files and build on change. */ grunt.registerTask('default', ['watch']); - grunt.registerTask('build', ['browserify:core', 'browserify:ui', 'uglify:core', 'uglify:ui']); - grunt.registerTask('serve', ['browserify:core', 'browserify:ui', 'browserSync', 'watch']); + grunt.registerTask('build', ['browserify:core', 'browserify:ui', 'replace:version', 'uglify:core', 'uglify:ui']); + grunt.registerTask('serve', ['browserify:core', 'browserify:ui', 'replace:version', 'browserSync', 'watch']); grunt.registerTask('compile', ['browserify:core', 'browserify:ui']); - grunt.registerTask('production', ['browserify:prodcore', 'browserify:produi', 'uglify:prodcore', 'uglify:produi']); + grunt.registerTask('production', ['browserify:prodcore', 'browserify:produi', 'replace:version', 'uglify:prodcore', 'uglify:produi']); grunt.registerTask('tests', ['browserify:tests']); }; diff --git a/examples/demo.css b/examples/demo.css index 2b9c9f90..71de368a 100644 --- a/examples/demo.css +++ b/examples/demo.css @@ -315,8 +315,55 @@ a.name-header{ color: #444; } +#version-number-text { + text-align: center; + padding-top: 100px; + color: gray; +} +#version-number-top-right { + position: fixed; + right: 2%; + top: 5%; + color: lightgray; +} /* Non float rightward alignment*/ .right { margin-left: auto; display: block; } + +#update-prompt-modal { + visibility: hidden; + min-width: 250px; + margin-left: -125px; + background-color: #333; + color: #fff; + text-align: center; + border-radius: 2px; + padding: 16px; + position: fixed; + z-index: 1000; + left: 10%; + top: 30px; +} +#update-prompt-modal.show { + visibility: visible; + -webkit-animation: fadein 0.5s; + animation: fadein 0.5s; +} +@-webkit-keyframes fadein { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fadein { + from { + opacity: 0; + } + to { + opacity: 1; + } +} diff --git a/examples/demo.js b/examples/demo.js index e6551e92..cce2a12b 100644 --- a/examples/demo.js +++ b/examples/demo.js @@ -3,7 +3,9 @@ var defaultHtmlSequencerUi = require('./lib/defaultHtmlSequencerUi.js'), intermediateHtmlStepUi = require('./lib/intermediateHtmlStepUi.js'), DefaultHtmlStepUi = require('./lib/defaultHtmlStepUi.js'), urlHash = require('./lib/urlHash.js'), - insertPreview = require('./lib/insertPreview.js'); + insertPreview = require('./lib/insertPreview.js'), + versionManagement = require('./lib/versionManagement.js'); + window.onload = function () { sequencer = ImageSequencer(); // Set the global sequencer variable @@ -28,6 +30,17 @@ window.onload = function () { } }; + versionManagement.getLatestVersionNumber(function(versionNumber) { + console.log("The latest NPM version number for Image Sequencer (from GitHub) is v" + versionNumber); + }); + console.log("The local version number for Image Sequencer is v" + versionManagement.getLocalVersionNumber()); + + function displayVersionNumber() { + $('#version-number-text').text("Image Sequencer v" + versionManagement.getLocalVersionNumber()); + $('#version-number-top-right').text("v" + versionManagement.getLocalVersionNumber()); + } + displayVersionNumber(); + function refreshOptions(options) { // Default options if parameter is empty. if (options == undefined) options = { sortField: 'text' }; @@ -310,7 +323,7 @@ window.onload = function () { step.options.step.imgElement.src = reader.result; else step.imgElement.src = reader.result; - + insertPreview.updatePreviews(reader.result, document.querySelector('#addStep')); DefaultHtmlStepUi(sequencer).updateDimensions(step); }, diff --git a/examples/index.html b/examples/index.html index 606ad0cb..b92b9022 100644 --- a/examples/index.html +++ b/examples/index.html @@ -38,7 +38,7 @@ - + @@ -56,6 +56,8 @@ +
Unable to load version number
+