// Visualize: Undo / Undo All / Redo JIVE actions + 'canUndo' and 'canRedo' events (5.6) visualize({ auth: { name: "superuser", password: "superuser" } }, function (v) { var chartComponent, report = v.report({ resource: "/public/Samples/Reports/1._Geographic_Results_by_Segment_Report", container: "#container", events: { canUndo: function (canUndo) { if (canUndo) { $("#undo, #undoAll").removeAttr("disabled"); } else { $("#undo, #undoAll").attr("disabled", "disabled"); } }, canRedo: function (canRedo) { if (canRedo) { $("#redo").removeAttr("disabled"); } else { $("#redo").attr("disabled", "disabled"); } } }, success: function (data) { chartComponent = data.components.pop(); $("option[value='" + chartComponent.chartType + "']").attr("selected", "selected"); } }); var chartTypeSelect = buildChartTypeSelect(report); chartTypeSelect.on("change", function () { report.updateComponent(chartComponent.id, { chartType: $(this).val() }) .done(function (component) { chartComponent = component; }) .fail(function (error) { console.log(error); alert(error); }); }); $("#undo").on("click", function () { report.undo().fail(function (err) { alert(err); }); }); $("#redo").on("click", function () { report.redo().fail(function (err) { alert(err); }); }); $("#undoAll").on("click", function () { report.undoAll().fail(function (err) { alert(err); }); }); }); function buildChartTypeSelect(report) { var chartTypes = report.schema("chart").properties.chartType.enum, chartTypeSelect = $("#chartType"); $.each(chartTypes, function (index, type) { chartTypeSelect.append("<option value='" + type + "'>" + type + "</option>"); }); return chartTypeSelect; }
<!-- Visualize: Undo / Undo All / Redo JIVE actions + 'canUndo' and 'canRedo' events (5.6) --> <script type='text/javascript' src="http://code.jquery.com/jquery-2.1.0.js"></script> <script src="http://localhost:8080/jasperserver-pro/client/visualize.js?_opt=true"></script> <select id="chartType"></select> <button id="undo" disabled="disabled">Undo</button> <button id="redo" disabled="disabled">Redo</button> <button id="undoAll" disabled="disabled">Undo All</button> <div id="container"></div>