diff --git a/README.md b/README.md new file mode 100644 index 0000000..3c7f751 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# ep_page_view + +Add support to do 'page view' with a toggle on/off option in Settings. + +Page view + +## Set page view as default + +1. Open `settings.json` +2. Append: + `ep_page_view_default : true` \ No newline at end of file diff --git a/ep.json b/ep.json index 8cda0e7..33c2dbd 100644 --- a/ep.json +++ b/ep.json @@ -6,7 +6,8 @@ "postAceInit": "ep_page_view/static/js/page_view:postAceInit" }, "hooks": { - "eejsBlock_mySettings": "ep_page_view/page_view" + "eejsBlock_mySettings": "ep_page_view/page_view", + "eejsBlock_styles": "ep_page_view/page_view" } } ] diff --git a/package.json b/package.json index 6185d06..8f424b7 100644 --- a/package.json +++ b/package.json @@ -1,42 +1,31 @@ { - "name": "ep_page_view", + "name": "ep_page_view", + "version": "0.1.0", + "keywords": "page view preview overview", "description": "Add support to do 'page view', with a toggle on/off option in Settings", - "homepage": "https://github.com/johnyma22/ep_page_view", - "keywords": [ - "page", - "view", - "zoom", - "preview", - "overview" + + + "contributors": [ + { + "name": "John McLear", + "email": "john@mclear.co.uk", + "url": "http://mclear.co.uk" + }, + { + "name": "Robin Buse", + "email": "me@factor.cc", + "url": "https://factor.cc/" + } ], - "author": { - "name": "John McLear", - "email": "john@mclear.co.uk", - "url": "http://mclear.co.uk" - }, - "version": "0.0.3", - "repository": { + + "repository" : { "type": "git", - "url": "git://github.com/johnyma22/ep_page_view.git" + "url": "git://github.com/ether/ep_page_view.git" }, + "dependencies": {}, - "devDependencies": {}, - "optionalDependencies": {}, + "engines": { - "node": "*" - }, - "_id": "ep_page_view@0.0.3", - "_engineSupported": true, - "_npmVersion": "1.1.24", - "_nodeVersion": "v0.8.8", - "_defaultsLoaded": true, - "dist": { - "shasum": "b1c99e29f18a449ee044194aacd5af50c7aeb8a8" - }, - "_from": "ep_page_view", - "readme": "ERROR: No README.md file found!", - "_npmUser": { - "name": "johnyma22", - "email": "john@mclear.co.uk" + "node": "*", } -} +} \ No newline at end of file diff --git a/page_view.js b/page_view.js index fabbb21..cdd79d0 100644 --- a/page_view.js +++ b/page_view.js @@ -1,7 +1,14 @@ var eejs = require('ep_etherpad-lite/node/eejs/'); +var settings = require('ep_etherpad-lite/node/utils/Settings'); +var checked_state = ''; exports.eejsBlock_mySettings = function (hook_name, args, cb) { - args.content = args.content + eejs.require("ep_page_view/templates/settingsButtons.ejs"); + if (settings.ep_page_view_default) checked_state = 'checked'; + args.content = args.content + eejs.require('ep_page_view/templates/page_view_entry.ejs', {checked : checked_state}); return cb(); } +exports.eejsBlock_styles = function (hook_name, args, cb) +{ + args.content = args.content + ''; +} diff --git a/static/css/page_view.css b/static/css/page_view.css new file mode 100644 index 0000000..859c9fb --- /dev/null +++ b/static/css/page_view.css @@ -0,0 +1,13 @@ +#editorcontainer.page_view { + overflow: hidden; + background-color: #f7f7f7; + text-align: center; +} + +iframe.page_view { + border-radius: 5px; + border: 1px solid #ccc; + position: relative; + max-width: 850px; + top: 27px; +} \ No newline at end of file diff --git a/static/js/page_view.js b/static/js/page_view.js index 428f509..cbf6b58 100644 --- a/static/js/page_view.js +++ b/static/js/page_view.js @@ -1,41 +1,39 @@ -var postAceInit = function(hook, context){ - /* Check on Init */ - if($('#options-pageview').attr('checked')) { - enablePageView(); - } else { - disablePageView(); - } - - /* Check on Cilck */ - $('#options-pageview').on('click', function(){ +var isMobile = require('ep_etherpad-lite/static/js/ace2_common').browser.mobile; + +if (!isMobile) { + var postAceInit = function(hook, context){ + + /* Check on Init */ if($('#options-pageview').attr('checked')) { enablePageView(); } else { disablePageView(); } - }); + + /* Check on Click */ + $('#options-pageview').on('click', function(){ + if($('#options-pageview').attr('checked')) { + enablePageView(); + } else { + disablePageView(); + } + }); - function enablePageView(){ - $('#sidediv').css("border-right", "1px solid #ccc"); - $('#editorcontainer').css("background-color","#f7f7f7"); - $('#editorcontainer').css("text-align","center"); - $('iframe').css("border", "#CCCCCC solid 1px"); - $('iframe').css("position","relative"); - $('iframe').css("border-radius", "5px"); - $('iframe').css("box-shadow", "0 2px 5px #ddd"); - $('iframe').css("width","800px"); - $('iframe').css("top","27px"); - $('iframe').css("bottom","0px"); - } + function enablePageView(){ + $('#editorcontainer').addClass('page_view'); + $('iframe').addClass('page_view'); - function disablePageView(){ - $('iframe').css("border-radius", "0px"); - $('iframe').css("border", "#CCCCCC solid 0px"); - $('iframe').css("box-shadow", "0px 0px 0px 0px #ddd"); - $('#sidediv').css("border-right", "0px solid #ccc"); - $('iframe').css("width","100%"); - $('iframe').css("top","0px"); - } -}; + } + + function disablePageView(){ + $('#editorcontainer').removeClass('page_view'); + $('iframe').removeClass('page_view'); + } + }; + + exports.postAceInit = postAceInit; +} else { + $('input#options-pageview').hide(); + $('label[for=options-pageview]').hide(); +} -exports.postAceInit = postAceInit; diff --git a/templates/page_view_entry.ejs b/templates/page_view_entry.ejs new file mode 100644 index 0000000..818f7d1 --- /dev/null +++ b/templates/page_view_entry.ejs @@ -0,0 +1,2 @@ +> + \ No newline at end of file