diff options
author | Wu Cheng-Han | 2016-10-10 20:32:20 +0800 |
---|---|---|
committer | Wu Cheng-Han | 2016-10-10 20:32:20 +0800 |
commit | 3175616573a9346f8ae2731a8a963b28c42224c3 (patch) | |
tree | 8a899e1597dea0cf2502fe341a53bb46168d7c5d | |
parent | 7a85d62b774ed6f26d0cfd772b4adf312c85f0ce (diff) |
Update to support showing owner on the infobar
-rwxr-xr-x | lib/response.js | 6 | ||||
-rw-r--r-- | public/js/extra.js | 18 | ||||
-rw-r--r-- | public/js/index.js | 14 | ||||
-rw-r--r-- | public/views/body.ejs | 7 | ||||
-rw-r--r-- | public/views/pretty.ejs | 9 | ||||
-rw-r--r-- | public/views/slide.ejs | 9 |
6 files changed, 55 insertions, 8 deletions
diff --git a/lib/response.js b/lib/response.js index 796f951f..15b81176 100755 --- a/lib/response.js +++ b/lib/response.js @@ -205,6 +205,9 @@ function showPublishNote(req, res, next) { url: origin, body: text, useCDN: config.usecdn, + owner: note.owner ? note.owner.id : null, + ownerprofile: note.owner ? models.User.parseProfile(note.owner.profile) : null, + lastchangeuser: note.lastchangeuser ? note.lastchangeuser.id : null, lastchangeuserprofile: note.lastchangeuser ? models.User.parseProfile(note.lastchangeuser.profile) : null, robots: meta.robots || false, //default allow robots GA: meta.GA, @@ -576,6 +579,9 @@ function showPublishSlide(req, res, next) { slides: slides, meta: JSON.stringify(obj.meta || {}), useCDN: config.usecdn, + owner: note.owner ? note.owner.id : null, + ownerprofile: note.owner ? models.User.parseProfile(note.owner.profile) : null, + lastchangeuser: note.lastchangeuser ? note.lastchangeuser.id : null, lastchangeuserprofile: note.lastchangeuser ? models.User.parseProfile(note.lastchangeuser.profile) : null, robots: meta.robots || false, //default allow robots GA: meta.GA, diff --git a/public/js/extra.js b/public/js/extra.js index 77f298f9..6c2e2d4a 100644 --- a/public/js/extra.js +++ b/public/js/extra.js @@ -7,6 +7,7 @@ var lastchangeui = { user: $(".ui-lastchangeuser"), nouser: $(".ui-no-lastchangeuser") } +var ownerui = $(".ui-owner"); function updateLastChange() { if (!lastchangeui) return; @@ -41,6 +42,23 @@ function updateLastChangeUser() { } } +var owner = null; +var ownerprofile = null; +function updateOwner() { + if (ownerui) { + if (owner && ownerprofile && owner !== lastchangeuser) { + var icon = ownerui.children('i'); + icon.attr('title', ownerprofile.name).tooltip('fixTitle'); + var styleString = 'background-image:url(' + ownerprofile.photo + ')'; + if (ownerprofile.photo && icon.attr('style') !== styleString) + icon.attr('style', styleString); + ownerui.show(); + } else { + ownerui.hide(); + } + } +} + //get title function getTitle(view) { var title = ""; diff --git a/public/js/index.js b/public/js/index.js index 4b8ae715..5681dcf3 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -2255,7 +2255,7 @@ var authorship = []; var authorshipMarks = {}; var authorMarks = {}; // temp variable var addTextMarkers = []; // temp variable -function updateLastInfo(data) { +function updateInfo(data) { //console.log(data); if (data.hasOwnProperty('createtime') && createtime !== data.createtime) { createtime = data.createtime; @@ -2265,10 +2265,16 @@ function updateLastInfo(data) { lastchangetime = data.updatetime; updateLastChange(); } + if (data.hasOwnProperty('owner') && owner !== data.owner) { + owner = data.owner; + ownerprofile = data.ownerprofile; + updateOwner(); + } if (data.hasOwnProperty('lastchangeuser') && lastchangeuser !== data.lastchangeuser) { lastchangeuser = data.lastchangeuser; lastchangeuserprofile = data.lastchangeuserprofile; updateLastChangeUser(); + updateOwner(); } if (data.hasOwnProperty('authors') && authors !== data.authors) { authors = data.authors; @@ -2483,13 +2489,12 @@ socket.on('check', function (data) { data = LZString.decompressFromUTF16(data); data = JSON.parse(data); //console.log(data); - updateLastInfo(data); + updateInfo(data); }); socket.on('permission', function (data) { updatePermission(data.permission); }); var docmaxlength = null; -var owner = null; var permission = null; socket.on('refresh', function (data) { data = LZString.decompressFromUTF16(data); @@ -2497,9 +2502,8 @@ socket.on('refresh', function (data) { //console.log(data); docmaxlength = data.docmaxlength; editor.setOption("maxLength", docmaxlength); - owner = data.owner; + updateInfo(data); updatePermission(data.permission); - updateLastInfo(data); if (!loaded) { // auto change mode if no content detected var nocontent = editor.getValue().length <= 0; diff --git a/public/views/body.ejs b/public/views/body.ejs index 28680e49..0b56edbb 100644 --- a/public/views/body.ejs +++ b/public/views/body.ejs @@ -7,7 +7,7 @@ <small> <span> <span class="ui-lastchangeuser" style="display: none;"> <i class="ui-user-icon small" data-toggle="tooltip" data-placement="right"></i></span> - <span class="ui-no-lastchangeuser"> <i class="fa fa-clock-o"></i></span> + <span class="ui-no-lastchangeuser"> <i class="fa fa-clock-o fa-fw" style="width: 18px;"></i></span> <span class="text-uppercase ui-status-lastchange"></span> <span class="ui-lastchange text-uppercase"></span> </span> @@ -21,6 +21,11 @@ <li class="ui-permission-private"><a><i class="fa fa-hand-stop-o fa-fw"></i> Private - Only owner can view & edit</a></li> </ul> </span> + <br> + <span class="ui-owner" style="display: none;"> +  <i class="ui-user-icon small" data-toggle="tooltip" data-placement="right"></i> + <span class="text-uppercase">owned this note</span> + </span> </small> </div> <div id="doc" class="markdown-body container-fluid"></div> diff --git a/public/views/pretty.ejs b/public/views/pretty.ejs index 7af474a6..cc6fb332 100644 --- a/public/views/pretty.ejs +++ b/public/views/pretty.ejs @@ -54,12 +54,19 @@ <% if(lastchangeuserprofile) { %> <span class="ui-lastchangeuser"> <i class="ui-user-icon small" style="background-image: url(<%- lastchangeuserprofile.photo %>);" data-toggle="tooltip" data-placement="right" title="<%- lastchangeuserprofile.name %>"></i></span> <% } else { %> - <span class="ui-no-lastchangeuser"> <i class="fa fa-clock-o"></i></span> + <span class="ui-no-lastchangeuser"> <i class="fa fa-clock-o fa-fw" style="width: 18px;"></i></span> <% } %> <span class="text-uppercase ui-status-lastchange"></span> <span class="ui-lastchange text-uppercase" data-createtime="<%- createtime %>" data-updatetime="<%- updatetime %>"></span> </span> <span class="pull-right"><%- viewcount %> views <a href="#" class="ui-edit" title="Edit this note"><i class="fa fa-fw fa-pencil"></i></a></span> + <br> + <% if(ownerprofile && owner !== lastchangeuser) { %> + <span class="ui-owner"> +  <i class="ui-user-icon small" style="background-image: url(<%- ownerprofile.photo %>);" data-toggle="tooltip" data-placement="right" title="<%- ownerprofile.name %>"></i> + <span class="text-uppercase">owned this note</span> + </span> + <% } %> </small> </div> <div id="doc" class="container markdown-body"><%- body %></div> diff --git a/public/views/slide.ejs b/public/views/slide.ejs index a0016375..fb3734bc 100644 --- a/public/views/slide.ejs +++ b/public/views/slide.ejs @@ -60,12 +60,19 @@ <% if(lastchangeuserprofile) { %> <span class="ui-lastchangeuser"> <i class="ui-user-icon small" style="background-image: url(<%- lastchangeuserprofile.photo %>);" data-toggle="tooltip" data-placement="right" title="<%- lastchangeuserprofile.name %>"></i></span> <% } else { %> - <span class="ui-no-lastchangeuser"> <i class="fa fa-clock-o"></i></span> + <span class="ui-no-lastchangeuser"> <i class="fa fa-clock-o fa-fw" style="width: 18px;"></i></span> <% } %> <span class="text-uppercase ui-status-lastchange"></span> <span class="ui-lastchange text-uppercase" data-createtime="<%- createtime %>" data-updatetime="<%- updatetime %>"></span> </span> <span class="pull-right"><%- viewcount %> views <a href="#" class="ui-edit" title="Edit this note"><i class="fa fa-fw fa-pencil"></i></a></span> + <br> + <% if(ownerprofile && owner !== lastchangeuser) { %> + <span class="ui-owner"> +  <i class="ui-user-icon small" style="background-image: url(<%- ownerprofile.photo %>);" data-toggle="tooltip" data-placement="right" title="<%- ownerprofile.name %>"></i> + <span class="text-uppercase">owned this note</span> + </span> + <% } %> </small> </div> <% if(typeof disqus !== 'undefined' && disqus) { %> |