authorcolor storage optimizations
parent
56031a5c14
commit
272c1007db
|
@ -382,23 +382,29 @@ define([
|
|||
|
||||
// get author marks
|
||||
var authormarks = [];
|
||||
var colorlist = [];
|
||||
editor.getAllMarks().forEach(function (mark) {
|
||||
var pos = mark.find();
|
||||
var css = mark.css;
|
||||
if (pos !== undefined && css !== undefined) {
|
||||
var color = css.replace("background-color:", "").trim();
|
||||
var colorIndex = colorlist.indexOf(color);
|
||||
if (colorIndex === -1) {
|
||||
colorlist.push(color);
|
||||
colorIndex = colorlist.length-1;
|
||||
}
|
||||
if (pos.from.line === pos.to.line) {
|
||||
if ((pos.from.ch + 1) === pos.to.ch) {
|
||||
authormarks.push([pos.from.line, pos.from.ch, color]);
|
||||
authormarks.push([colorIndex, pos.from.line, pos.from.ch]);
|
||||
} else {
|
||||
authormarks.push([pos.from.line, pos.from.ch, pos.to.ch, color]);
|
||||
authormarks.push([colorIndex, pos.from.line, pos.from.ch, pos.to.ch]);
|
||||
}
|
||||
} else {
|
||||
authormarks.push([pos.from.line, pos.from.ch, pos.to.line, pos.to.ch, color]);
|
||||
authormarks.push([colorIndex, pos.from.line, pos.from.ch, pos.to.line, pos.to.ch]);
|
||||
}
|
||||
}
|
||||
});
|
||||
content.authormarks = authormarks;
|
||||
content.authormarks = {marks: authormarks, colorlist: colorlist};
|
||||
authormarksLocal = authormarks.slice();
|
||||
|
||||
return content;
|
||||
|
@ -484,32 +490,31 @@ define([
|
|||
editor.getAllMarks().forEach(function (marker) {
|
||||
marker.clear();
|
||||
});
|
||||
authormarksUpdate.forEach(function (mark) {
|
||||
authormarksUpdate.marks.forEach(function (mark) {
|
||||
var from_line;
|
||||
var to_line;
|
||||
var from_ch;
|
||||
var to_ch;
|
||||
var mark_color;
|
||||
var colorIndex = mark[0];
|
||||
if (authormarksUpdate.colorlist === undefined || (authormarksUpdate.colorlist.length < (colorIndex+1))) { return; }
|
||||
var color = authormarksUpdate.colorlist[colorIndex];
|
||||
if (mark.length === 3) {
|
||||
from_line = mark[0];
|
||||
to_line = mark[0];
|
||||
from_ch = mark[1];
|
||||
to_ch = mark[1]+1;
|
||||
mark_color = mark[2];
|
||||
from_line = mark[1];
|
||||
to_line = mark[1];
|
||||
from_ch = mark[2];
|
||||
to_ch = mark[2]+1;
|
||||
} else if (mark.length === 4) {
|
||||
from_line = mark[0];
|
||||
to_line = mark[0];
|
||||
from_ch = mark[1];
|
||||
to_ch = mark[2];
|
||||
mark_color = mark[3];
|
||||
} else if (mark.length === 5) {
|
||||
from_line = mark[0];
|
||||
to_line = mark[2];
|
||||
from_ch = mark[1];
|
||||
from_line = mark[1];
|
||||
to_line = mark[1];
|
||||
from_ch = mark[2];
|
||||
to_ch = mark[3];
|
||||
mark_color = mark[4];
|
||||
} else if (mark.length === 5) {
|
||||
from_line = mark[1];
|
||||
to_line = mark[3];
|
||||
from_ch = mark[2];
|
||||
to_ch = mark[4];
|
||||
}
|
||||
editor.markText({line: from_line, ch: from_ch}, {line: to_line, ch: to_ch}, {css: "background-color: " + mark_color});
|
||||
editor.markText({line: from_line, ch: from_ch}, {line: to_line, ch: to_ch}, {css: "background-color: " + color});
|
||||
});
|
||||
}
|
||||
framework.localChange();
|
||||
|
|
Loading…
Reference in New Issue