mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-22 01:36:29 -05:00
Merge branch 'master' into webpack-frontend
This commit is contained in:
commit
6b6b534866
2 changed files with 103 additions and 81 deletions
|
@ -285,7 +285,7 @@ module.exports = function (sequelize, DataTypes) {
|
|||
if (/^tags/gmi.test($(value).text())) {
|
||||
var codes = $(value).find("code");
|
||||
for (var i = 0; i < codes.length; i++) {
|
||||
var text = $(codes[i]).html().trim();
|
||||
var text = S($(codes[i]).text().trim()).stripTags().s;
|
||||
if (text) rawtags.push(text);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,7 +44,9 @@ var options = {
|
|||
</li>',
|
||||
page: 18,
|
||||
plugins: [
|
||||
ListPagination({})
|
||||
ListPagination({
|
||||
outerWindow: 1
|
||||
})
|
||||
]
|
||||
};
|
||||
var historyList = new List('history', options);
|
||||
|
@ -133,94 +135,110 @@ function parseHistoryCallback(list, notehistory) {
|
|||
}
|
||||
}
|
||||
});
|
||||
// parse filter tags
|
||||
var filtertags = [];
|
||||
$(".item").each(function (key, value) {
|
||||
var a = $(this).closest("a");
|
||||
var pin = $(this).find(".ui-history-pin");
|
||||
var id = a.siblings("span").html();
|
||||
var tagsEl = $(this).find(".tags");
|
||||
var item = historyList.get('id', id);
|
||||
if (item.length > 0 && item[0]) {
|
||||
var values = item[0].values();
|
||||
//parse pinned
|
||||
if (values.pinned) {
|
||||
pin.addClass('active');
|
||||
} else {
|
||||
pin.removeClass('active');
|
||||
}
|
||||
//parse link to element a
|
||||
a.attr('href', serverurl + '/' + values.id);
|
||||
//parse tags
|
||||
if (values.tags) {
|
||||
var tags = values.tags;
|
||||
if (tags.length > 0) {
|
||||
var labels = [];
|
||||
for (var j = 0; j < tags.length; j++) {
|
||||
//push info filtertags if not found
|
||||
var found = false;
|
||||
if (filtertags.indexOf(tags[j]) != -1)
|
||||
found = true;
|
||||
if (!found)
|
||||
filtertags.push(tags[j]);
|
||||
//push into the item label
|
||||
labels.push("<span class='label label-default'>" + tags[j] + "</span>");
|
||||
}
|
||||
tagsEl.html(labels.join(' '));
|
||||
}
|
||||
for (var i = 0, l = list.items.length; i < l; i++) {
|
||||
var tags = list.items[i]._values.tags;
|
||||
if (tags && tags.length > 0) {
|
||||
for (var j = 0; j < tags.length; j++) {
|
||||
//push info filtertags if not found
|
||||
var found = false;
|
||||
if (filtertags.indexOf(tags[j]) != -1)
|
||||
found = true;
|
||||
if (!found)
|
||||
filtertags.push(tags[j]);
|
||||
}
|
||||
}
|
||||
});
|
||||
$(".ui-history-close").click(function (e) {
|
||||
e.preventDefault();
|
||||
var id = $(this).closest("a").siblings("span").html();
|
||||
var value = list.get('id', id)[0].values();
|
||||
$('.ui-delete-modal-msg').text('Do you really want to delete below history?');
|
||||
$('.ui-delete-modal-item').html('<i class="fa fa-file-text"></i> ' + value.text + '<br><i class="fa fa-clock-o"></i> ' + value.time);
|
||||
clearHistory = false;
|
||||
deleteId = id;
|
||||
});
|
||||
$(".ui-history-pin").click(function (e) {
|
||||
e.preventDefault();
|
||||
var $this = $(this);
|
||||
var id = $this.closest("a").siblings("span").html();
|
||||
var item = list.get('id', id)[0];
|
||||
var values = item.values();
|
||||
var pinned = values.pinned;
|
||||
if (!values.pinned) {
|
||||
pinned = true;
|
||||
item._values.pinned = true;
|
||||
} else {
|
||||
pinned = false;
|
||||
item._values.pinned = false;
|
||||
}
|
||||
checkIfAuth(function () {
|
||||
postHistoryToServer(id, {
|
||||
pinned: pinned
|
||||
}, function (err, result) {
|
||||
if (!err) {
|
||||
if (pinned)
|
||||
$this.addClass('active');
|
||||
else
|
||||
$this.removeClass('active');
|
||||
}
|
||||
buildTagsFilter(filtertags);
|
||||
}
|
||||
|
||||
// update items whenever list updated
|
||||
historyList.on('updated', function (e) {
|
||||
for (var i = 0, l = e.items.length; i < l; i++) {
|
||||
var item = e.items[i];
|
||||
if (item.visible()) {
|
||||
var itemEl = $(item.elm);
|
||||
var values = item._values;
|
||||
var a = itemEl.find("a");
|
||||
var pin = itemEl.find(".ui-history-pin");
|
||||
var tagsEl = itemEl.find(".tags");
|
||||
//parse link to element a
|
||||
a.attr('href', serverurl + '/' + values.id);
|
||||
//parse pinned
|
||||
if (values.pinned) {
|
||||
pin.addClass('active');
|
||||
} else {
|
||||
pin.removeClass('active');
|
||||
}
|
||||
//parse tags
|
||||
var tags = values.tags;
|
||||
if (tags && tags.length > 0 && tagsEl.children().length <= 0) {
|
||||
var labels = [];
|
||||
for (var j = 0; j < tags.length; j++) {
|
||||
//push into the item label
|
||||
labels.push("<span class='label label-default'>" + tags[j] + "</span>");
|
||||
}
|
||||
});
|
||||
}, function () {
|
||||
getHistory(function (notehistory) {
|
||||
for(var i = 0; i < notehistory.length; i++) {
|
||||
if (notehistory[i].id == id) {
|
||||
notehistory[i].pinned = pinned;
|
||||
break;
|
||||
}
|
||||
}
|
||||
saveHistory(notehistory);
|
||||
tagsEl.html(labels.join(' '));
|
||||
}
|
||||
}
|
||||
}
|
||||
$(".ui-history-close").off('click');
|
||||
$(".ui-history-close").on('click', historyCloseClick);
|
||||
$(".ui-history-pin").off('click');
|
||||
$(".ui-history-pin").on('click', historyPinClick);
|
||||
});
|
||||
|
||||
function historyCloseClick(e) {
|
||||
e.preventDefault();
|
||||
var id = $(this).closest("a").siblings("span").html();
|
||||
var value = historyList.get('id', id)[0]._values;
|
||||
$('.ui-delete-modal-msg').text('Do you really want to delete below history?');
|
||||
$('.ui-delete-modal-item').html('<i class="fa fa-file-text"></i> ' + value.text + '<br><i class="fa fa-clock-o"></i> ' + value.time);
|
||||
clearHistory = false;
|
||||
deleteId = id;
|
||||
}
|
||||
|
||||
function historyPinClick(e) {
|
||||
e.preventDefault();
|
||||
var $this = $(this);
|
||||
var id = $this.closest("a").siblings("span").html();
|
||||
var item = historyList.get('id', id)[0];
|
||||
var values = item._values;
|
||||
var pinned = values.pinned;
|
||||
if (!values.pinned) {
|
||||
pinned = true;
|
||||
item._values.pinned = true;
|
||||
} else {
|
||||
pinned = false;
|
||||
item._values.pinned = false;
|
||||
}
|
||||
checkIfAuth(function () {
|
||||
postHistoryToServer(id, {
|
||||
pinned: pinned
|
||||
}, function (err, result) {
|
||||
if (!err) {
|
||||
if (pinned)
|
||||
$this.addClass('active');
|
||||
else
|
||||
$this.removeClass('active');
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
}, function () {
|
||||
getHistory(function (notehistory) {
|
||||
for(var i = 0; i < notehistory.length; i++) {
|
||||
if (notehistory[i].id == id) {
|
||||
notehistory[i].pinned = pinned;
|
||||
break;
|
||||
}
|
||||
}
|
||||
saveHistory(notehistory);
|
||||
if (pinned)
|
||||
$this.addClass('active');
|
||||
else
|
||||
$this.removeClass('active');
|
||||
});
|
||||
});
|
||||
buildTagsFilter(filtertags);
|
||||
}
|
||||
|
||||
//auto update item fromNow every minutes
|
||||
|
@ -328,6 +346,8 @@ $(".ui-refresh-history").click(function () {
|
|||
var lastKeyword = $('.search').val();
|
||||
$('.search').val('');
|
||||
historyList.search();
|
||||
$('#history-list').slideUp('fast');
|
||||
$('.pagination').slideUp('fast');
|
||||
|
||||
resetCheckAuth();
|
||||
historyList.clear();
|
||||
|
@ -338,6 +358,8 @@ $(".ui-refresh-history").click(function () {
|
|||
historyList.search(lastKeyword);
|
||||
$('.search').val(lastKeyword);
|
||||
checkHistoryList();
|
||||
$('#history-list').slideDown('fast');
|
||||
$('.pagination').slideDown('fast');
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue