summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWu Cheng-Han2016-10-10 20:32:20 +0800
committerWu Cheng-Han2016-10-10 20:32:20 +0800
commit3175616573a9346f8ae2731a8a963b28c42224c3 (patch)
tree8a899e1597dea0cf2502fe341a53bb46168d7c5d
parent7a85d62b774ed6f26d0cfd772b4adf312c85f0ce (diff)
Update to support showing owner on the infobar
Diffstat (limited to '')
-rwxr-xr-xlib/response.js6
-rw-r--r--public/js/extra.js18
-rw-r--r--public/js/index.js14
-rw-r--r--public/views/body.ejs7
-rw-r--r--public/views/pretty.ejs9
-rw-r--r--public/views/slide.ejs9
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;">&thinsp;<i class="ui-user-icon small" data-toggle="tooltip" data-placement="right"></i></span>
- <span class="ui-no-lastchangeuser">&thinsp;<i class="fa fa-clock-o"></i></span>
+ <span class="ui-no-lastchangeuser">&thinsp;<i class="fa fa-clock-o fa-fw" style="width: 18px;"></i></span>
&nbsp;<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 &amp; edit</a></li>
</ul>
</span>
+ <br>
+ <span class="ui-owner" style="display: none;">
+ &thinsp;<i class="ui-user-icon small" data-toggle="tooltip" data-placement="right"></i>
+ &nbsp;<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">&thinsp;<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">&thinsp;<i class="fa fa-clock-o"></i></span>
+ <span class="ui-no-lastchangeuser">&thinsp;<i class="fa fa-clock-o fa-fw" style="width: 18px;"></i></span>
<% } %>
&nbsp;<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">
+ &thinsp;<i class="ui-user-icon small" style="background-image: url(<%- ownerprofile.photo %>);" data-toggle="tooltip" data-placement="right" title="<%- ownerprofile.name %>"></i>
+ &nbsp;<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">&thinsp;<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">&thinsp;<i class="fa fa-clock-o"></i></span>
+ <span class="ui-no-lastchangeuser">&thinsp;<i class="fa fa-clock-o fa-fw" style="width: 18px;"></i></span>
<% } %>
&nbsp;<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">
+ &thinsp;<i class="ui-user-icon small" style="background-image: url(<%- ownerprofile.photo %>);" data-toggle="tooltip" data-placement="right" title="<%- ownerprofile.name %>"></i>
+ &nbsp;<span class="text-uppercase">owned this note</span>
+ </span>
+ <% } %>
</small>
</div>
<% if(typeof disqus !== 'undefined' && disqus) { %>