Patch MemberListView manually
This commit is contained in:
parent
292f764842
commit
c3f8c8d13d
38
js/3rdparty/webodf/editor/MemberListView.js
vendored
38
js/3rdparty/webodf/editor/MemberListView.js
vendored
@ -55,6 +55,8 @@ define("webodf/editor/MemberListView",
|
|||||||
|
|
||||||
while (node) {
|
while (node) {
|
||||||
if (node.memberId === memberId) {
|
if (node.memberId === memberId) {
|
||||||
|
node.setAttribute('uid', memberDetails.uid);
|
||||||
|
node.setAttribute('count', 1);
|
||||||
node = node.firstChild;
|
node = node.firstChild;
|
||||||
while (node) {
|
while (node) {
|
||||||
if (node.localName === "img") {
|
if (node.localName === "img") {
|
||||||
@ -62,6 +64,11 @@ define("webodf/editor/MemberListView",
|
|||||||
node.src = memberDetails.imageUrl;
|
node.src = memberDetails.imageUrl;
|
||||||
// update border color
|
// update border color
|
||||||
node.style.borderColor = memberDetails.color;
|
node.style.borderColor = memberDetails.color;
|
||||||
|
} else if (node.localName === "span" && memberDetails.imageUrl){
|
||||||
|
try {
|
||||||
|
$(node).avatar(memberDetails.imageUrl, 60);
|
||||||
|
} catch (e){}
|
||||||
|
node.style.borderColor = memberDetails.color;
|
||||||
} else if (node.localName === "div") {
|
} else if (node.localName === "div") {
|
||||||
node.setAttribute('fullname', memberDetails.fullName);
|
node.setAttribute('fullname', memberDetails.fullName);
|
||||||
}
|
}
|
||||||
@ -81,7 +88,7 @@ define("webodf/editor/MemberListView",
|
|||||||
var doc = memberListDiv.ownerDocument,
|
var doc = memberListDiv.ownerDocument,
|
||||||
htmlns = doc.documentElement.namespaceURI,
|
htmlns = doc.documentElement.namespaceURI,
|
||||||
avatarDiv = doc.createElementNS(htmlns, "div"),
|
avatarDiv = doc.createElementNS(htmlns, "div"),
|
||||||
imageElement = doc.createElement("img"),
|
imageElement = doc.createElement("span"),
|
||||||
fullnameNode = doc.createElement("div");
|
fullnameNode = doc.createElement("div");
|
||||||
|
|
||||||
avatarDiv.className = "webodfeditor-memberListButton";
|
avatarDiv.className = "webodfeditor-memberListButton";
|
||||||
@ -91,13 +98,16 @@ define("webodf/editor/MemberListView",
|
|||||||
avatarDiv.memberId = memberId; // TODO: namespace?
|
avatarDiv.memberId = memberId; // TODO: namespace?
|
||||||
|
|
||||||
avatarDiv.onclick = function () {
|
avatarDiv.onclick = function () {
|
||||||
var caret = editorSession.sessionView.getCaret(memberId);
|
if (memberId === editorSession.sessionController.getInputMemberId()){
|
||||||
if (caret) {
|
documentsMain.onNickChange(memberId, fullnameNode);
|
||||||
caret.toggleHandleVisibility();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
if (memberId === editorSession.sessionController.getInputMemberId()){
|
||||||
|
memberListDiv.insertBefore(avatarDiv, memberListDiv.firstChild);
|
||||||
|
} else {
|
||||||
memberListDiv.appendChild(avatarDiv);
|
memberListDiv.appendChild(avatarDiv);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {!string} memberId
|
* @param {!string} memberId
|
||||||
@ -107,7 +117,12 @@ define("webodf/editor/MemberListView",
|
|||||||
var node = memberListDiv.firstChild;
|
var node = memberListDiv.firstChild;
|
||||||
while (node) {
|
while (node) {
|
||||||
if (node.memberId === memberId) {
|
if (node.memberId === memberId) {
|
||||||
|
var count = parseInt(node.getAttribute('count'));
|
||||||
|
if (count>1){
|
||||||
|
node.setAttribute('count', count-1);
|
||||||
|
} else {
|
||||||
memberListDiv.removeChild(node);
|
memberListDiv.removeChild(node);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node = node.nextSibling;
|
node = node.nextSibling;
|
||||||
@ -120,8 +135,21 @@ define("webodf/editor/MemberListView",
|
|||||||
*/
|
*/
|
||||||
function addMember(memberId) {
|
function addMember(memberId) {
|
||||||
var member = editorSession.getMember(memberId),
|
var member = editorSession.getMember(memberId),
|
||||||
properties = member.getProperties();
|
properties = member.getProperties(),
|
||||||
|
node = memberListDiv.firstChild,
|
||||||
|
found = false;
|
||||||
|
while (node) {
|
||||||
|
if (node.getAttribute('uid') === properties.uid) {
|
||||||
|
var count = parseInt(node.getAttribute('count'));
|
||||||
|
node.setAttribute('count', count+1);
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
node = node.nextSibling;
|
||||||
|
}
|
||||||
|
if (!found){
|
||||||
createAvatarButton(memberId);
|
createAvatarButton(memberId);
|
||||||
|
}
|
||||||
updateAvatarButton(memberId, properties);
|
updateAvatarButton(memberId, properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user