106 lines
2.6 KiB
JavaScript
106 lines
2.6 KiB
JavaScript
|
|
|
|
function pagination_link(name, value){
|
|
let link_args = db_args;
|
|
if (name && value){
|
|
link_args[name] = value;
|
|
}
|
|
else if(name){
|
|
delete link_args[name];
|
|
}
|
|
return '?' + $.param( link_args );
|
|
}
|
|
$(".value_filter").change((e)=>{
|
|
window.location = pagination_link($(e.target).attr('name').substr('filter_'.length), $(e.target).val())
|
|
});
|
|
|
|
function enable_auto_refresh(){
|
|
setInterval( () => {
|
|
if($('#autoRefresh').prop('checked')){
|
|
$.get(
|
|
'/app/table/total' + pagination_link(),
|
|
(v) => {
|
|
if( v != db_total ){
|
|
window.location = pagination_link()
|
|
}
|
|
}
|
|
);
|
|
}
|
|
}, 1000);
|
|
sessionStorage.setItem('auto_refresh', $('#autoRefresh').prop('checked'));
|
|
}
|
|
$("#autoRefresh").click(enable_auto_refresh);
|
|
if(sessionStorage.hasOwnProperty('auto_refresh') && sessionStorage.getItem('auto_refresh') === 'true'){
|
|
$("#autoRefresh").prop('checked', true);
|
|
enable_auto_refresh()
|
|
}
|
|
|
|
function update_json_message(){
|
|
let message = JSON.parse(basic_message);
|
|
|
|
var store_values = {}
|
|
$(".message-attribute").each((_,v)=>{
|
|
let el = $(v);
|
|
let name = el.attr('name');
|
|
let val = el.attr("type") == "checkbox" ? el.prop('checked') : el.val();
|
|
|
|
store_values[name] = val;
|
|
|
|
let curr_msg = message;
|
|
let last_ob = {};
|
|
let last_name = "";
|
|
name.split('.').forEach((e)=>{
|
|
last_ob = curr_msg;
|
|
last_name = e;
|
|
curr_msg = curr_msg[e];
|
|
});
|
|
last_ob[last_name] = val;
|
|
});
|
|
localStorage.setItem("new_riddle", JSON.stringify(store_values))
|
|
|
|
$("#message_content").val(JSON.stringify(message, null, 2));
|
|
}
|
|
function load_last_values(){
|
|
if(localStorage.getItem("new_riddle") !== null){
|
|
var items = JSON.parse(localStorage.getItem("new_riddle"))
|
|
Object.keys(items).forEach((k)=>{
|
|
let el = $("[name='"+k+"']");
|
|
if(el.attr("type") == "checkbox"){
|
|
el.prop('checked', items[k]);
|
|
}
|
|
else{
|
|
el.val(items[k]);
|
|
}
|
|
});
|
|
|
|
update_json_message()
|
|
}
|
|
}
|
|
if(typeof basic_message != 'undefined'){
|
|
load_last_values();
|
|
}
|
|
$(".message-attribute").change(update_json_message);
|
|
$(".message-attribute[type=checkbox]").click(update_json_message);
|
|
|
|
function send_json_message(json_str){
|
|
$.ajax(
|
|
"/message",
|
|
{
|
|
contentType : 'application/json',
|
|
type : 'POST',
|
|
data: json_str,
|
|
},
|
|
).then((d) => {
|
|
$("#message_sent .modal-title").text("Message Sent");
|
|
$("#message_sent .modal-body").html('<pre>'+JSON.stringify(d, null, 2)+'</pre>');
|
|
new bootstrap.Modal('#message_sent').show();
|
|
});
|
|
}
|
|
$("#send_message").click(
|
|
() => send_json_message($("#message_content").val())
|
|
);
|
|
|
|
$(".send_message_again").click(
|
|
(e) => send_json_message( $("pre#row_message_raw_"+$(e.target).attr('idx')).text() )
|
|
);
|