From 3175616573a9346f8ae2731a8a963b28c42224c3 Mon Sep 17 00:00:00 2001
From: Wu Cheng-Han
Date: Mon, 10 Oct 2016 20:32:20 +0800
Subject: Update to support showing owner on the infobar
---
public/js/extra.js | 18 ++++++++++++++++++
public/js/index.js | 14 +++++++++-----
public/views/body.ejs | 7 ++++++-
public/views/pretty.ejs | 9 ++++++++-
public/views/slide.ejs | 9 ++++++++-
5 files changed, 49 insertions(+), 8 deletions(-)
(limited to 'public')
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 @@
+
@@ -21,6 +21,11 @@
-
+