').confirm({
title : '確認',
body : '全ての閲覧履歴を削除しますか?',
closeToRemove : true,
labels : ['削除する', 'キャンセル'],
option: {
dialogClass : 'vote-delete-dialog',
}
})
.done(() => {
$.votesHistory.setData([]);
load();
});
});
function load() {
const DATA = $.votesHistory.getData();
let DATA_IDS = [];
let IS_THROW = {};
DATA.forEach((d) => {
let id = d[0];
let type = d[1];
let time = d[2];
if( ! IS_THROW.hasOwnProperty(id) ){
IS_THROW[id] = false;
DATA_IDS.push(id);
}
IS_THROW[id] = IS_THROW[id] || $.votesHistory.isTypeThrow(type);
});
// ----------------------------------
// make request params
function makeRequestParams(opt) {
const ids = DATA_IDS.slice(opt.start, opt.start + opt.size);
let params = {
histories : ids
};
return params;
}
// ----------------------------------
// event
LIST.on('votelistup', function(e, opt, items, lines) {
lines.forEach((li) => {
let item = li.data('item');
if( IS_THROW[item.id] ){
li.addClass('thrown');
}
});
});
// ----------------------------------
// list
if( DATA_IDS.length > 0 ){
LIST
.votesList({
autoLoad : true,
size : 20,
paramsSetting : makeRequestParams,
linkSetting : (opt, item) => item.url + '/result',
params : {
}
});
}else{
LIST.text('まだ履歴が保存されていません。投票を閲覧するとここに履歴が表示されます。');
}
}
// ----------------------------------
});