add instances plugin
parent
8dcb2b4762
commit
6cbe53c9f5
@ -0,0 +1 @@
|
||||
Adds support for linking other tt-rss instances
|
@ -0,0 +1,169 @@
|
||||
function addInstance() {
|
||||
try {
|
||||
var query = "backend.php?op=dlg&method=addInstance";
|
||||
|
||||
if (dijit.byId("instanceAddDlg"))
|
||||
dijit.byId("instanceAddDlg").destroyRecursive();
|
||||
|
||||
dialog = new dijit.Dialog({
|
||||
id: "instanceAddDlg",
|
||||
title: __("Link Instance"),
|
||||
style: "width: 600px",
|
||||
regenKey: function() {
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: "?op=rpc&method=genHash",
|
||||
onComplete: function(transport) {
|
||||
var reply = JSON.parse(transport.responseText);
|
||||
if (reply)
|
||||
dijit.byId('instance_add_key').attr('value', reply.hash);
|
||||
|
||||
} });
|
||||
},
|
||||
execute: function() {
|
||||
if (this.validate()) {
|
||||
console.warn(dojo.objectToQuery(this.attr('value')));
|
||||
|
||||
notify_progress('Saving data...', true);
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: dojo.objectToQuery(this.attr('value')),
|
||||
onComplete: function(transport) {
|
||||
dialog.hide();
|
||||
notify('');
|
||||
updateInstanceList();
|
||||
} });
|
||||
}
|
||||
},
|
||||
href: query,
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
|
||||
} catch (e) {
|
||||
exception_error("addInstance", e);
|
||||
}
|
||||
}
|
||||
|
||||
// *** INS ***
|
||||
|
||||
function updateInstanceList(sort_key) {
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: "?op=pref-instances&sort=" + param_escape(sort_key),
|
||||
onComplete: function(transport) {
|
||||
dijit.byId('instanceConfigTab').attr('content', transport.responseText);
|
||||
selectTab("instanceConfig", true);
|
||||
notify("");
|
||||
} });
|
||||
}
|
||||
|
||||
function editInstance(id, event) {
|
||||
try {
|
||||
if (!event || !event.ctrlKey) {
|
||||
|
||||
selectTableRows('prefInstanceList', 'none');
|
||||
selectTableRowById('LIRR-'+id, 'LICHK-'+id, true);
|
||||
|
||||
var query = "backend.php?op=pref-instances&method=edit&id=" +
|
||||
param_escape(id);
|
||||
|
||||
if (dijit.byId("instanceEditDlg"))
|
||||
dijit.byId("instanceEditDlg").destroyRecursive();
|
||||
|
||||
dialog = new dijit.Dialog({
|
||||
id: "instanceEditDlg",
|
||||
title: __("Edit Instance"),
|
||||
style: "width: 600px",
|
||||
regenKey: function() {
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: "?op=rpc&method=genHash",
|
||||
onComplete: function(transport) {
|
||||
var reply = JSON.parse(transport.responseText);
|
||||
if (reply)
|
||||
dijit.byId('instance_edit_key').attr('value', reply.hash);
|
||||
|
||||
} });
|
||||
},
|
||||
execute: function() {
|
||||
if (this.validate()) {
|
||||
// console.warn(dojo.objectToQuery(this.attr('value')));
|
||||
|
||||
notify_progress('Saving data...', true);
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: dojo.objectToQuery(this.attr('value')),
|
||||
onComplete: function(transport) {
|
||||
dialog.hide();
|
||||
notify('');
|
||||
updateInstanceList();
|
||||
} });
|
||||
}
|
||||
},
|
||||
href: query,
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
|
||||
} else if (event.ctrlKey) {
|
||||
var cb = $('LICHK-' + id);
|
||||
cb.checked = !cb.checked;
|
||||
toggleSelectRow(cb);
|
||||
}
|
||||
|
||||
|
||||
} catch (e) {
|
||||
exception_error("editInstance", e);
|
||||
}
|
||||
}
|
||||
|
||||
function removeSelectedInstances() {
|
||||
try {
|
||||
var sel_rows = getSelectedInstances();
|
||||
|
||||
if (sel_rows.length > 0) {
|
||||
|
||||
var ok = confirm(__("Remove selected instances?"));
|
||||
|
||||
if (ok) {
|
||||
notify_progress("Removing selected instances...");
|
||||
|
||||
var query = "?op=pref-instances&method=remove&ids="+
|
||||
param_escape(sel_rows.toString());
|
||||
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: query,
|
||||
onComplete: function(transport) {
|
||||
notify('');
|
||||
updateInstanceList();
|
||||
} });
|
||||
}
|
||||
|
||||
} else {
|
||||
alert(__("No instances are selected."));
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
exception_error("removeInstance", e);
|
||||
}
|
||||
}
|
||||
|
||||
function editSelectedInstance() {
|
||||
var rows = getSelectedInstances();
|
||||
|
||||
if (rows.length == 0) {
|
||||
alert(__("No instances are selected."));
|
||||
return;
|
||||
}
|
||||
|
||||
if (rows.length > 1) {
|
||||
alert(__("Please select only one instance."));
|
||||
return;
|
||||
}
|
||||
|
||||
notify("");
|
||||
|
||||
editInstance(rows[0]);
|
||||
}
|
||||
|
||||
function getSelectedInstances() {
|
||||
return getSelectedTableRowIds("prefInstanceList");
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue