Плагин JQuery Dashboard - как сохранить изменение состояния - PullRequest
0 голосов
/ 02 марта 2011

Я начал использовать плагин для панели инструментов, который здесь демонстрируется - http://www.gxdeveloperweb.com/dashboardplugin/demo/dashboard.html

Я борюсь с документацией.В первую очередь о том, как сохранить конфигурации панели мониторинга, измененные конечным пользователем.

В документации рассказывается, как сделать "dashboardStateChange":

dashboard.element.trigger("dashboardStateChange",{"stateChange":"widgetAdded","widget":widget});

Но я не совсем понимаю, гдеэто делается в настройках панели мониторинга, и как вы используете это для сохранения изменений.Я думал, что смогу получить доступ к dashboardStateChange из DOM, когда что-то случится, но даже не смог понять, как это делается.

Кто-нибудь получил какие-либо советы по сохранению панели при каждом изменении ее состояния?Я хотел бы поговорить с php-скриптом, который сохраняет настройки панели управления.

К сожалению, нет хороших руководств по такого рода функциям.

Спасибо!

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Не знаю, интересен ли этот вопрос, но я уже давно пользуюсь этим плагином, и его довольно просто использовать.Практически весь ответ можно найти в примере, поставляемом с плагином, и по вашей проблеме вы, возможно, захотите взглянуть на следующий пример кода, который я использую, чтобы сделать текущий макет панели мониторинга постоянным на сервере.

Обратите внимание, что «saveID» - это идентификатор кнопки «Сохранить», а «saveConfiguration» - это URL-адрес, который сохраняет макет на сервере.

// binding for saving the current configuration
$("#saveID").bind("click", function () {
    var conf = $.parseJSON(dashboard.serialize()),
        // get the serialized configuration
        len = conf.data.length,
        // generate the new parameter to submit
        para = "lay=" + conf.layout + "&len=" + len,
        i = 0;
    for (i = 0; i < len; i += 1) {
        para = para + "&pid" + i + "=" + conf.data[i].id + "&col" + i + "=" + conf.data[i].column;
    }

    // Invoke the "saveConfiguration" on the server via AJAX
    $.ajax({
        url: "saveConfiguration",
        data: para,
        dataType: "json",
        success: function (jsonResponse) {
            if (jsonResponse.valid === true) {
                alert("Configuration has been saved");
            } else {
                alert("Error when trying to save the configuration\n" + jsonResponse.error);
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert(textStatus + " - " + errorThrown);
        }
    });
    return false;
});
0 голосов
/ 10 августа 2012

Вы можете использовать встроенную функцию панели инструментов, чтобы сохранить быстро и легко.На странице, где вы запускаете панель мониторинга, поместите это после функции initDashboard(), но до dashboard.init():

$("#savebutton_id").bind("click", function () {
    dashboard.element.trigger("dashboardStateChange",{"stateChange":"widgetMoved","widget":"w"});
    alert("Saved");
});

Затем вы помещаете кнопку или ссылку с идентификатором savebutton_id где-то в вашемHTML-код.Когда вы щелкнете по нему, приборная панель отправит сериализованную конфигурацию на предопределенную stateChangeUrl.

...