You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/08/10 19:32:47 UTC

svn commit: r1755806 - in /qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management: dashboard/DashboardWidget.js query/QueryWidget.js

Author: kwall
Date: Wed Aug 10 19:32:47 2016
New Revision: 1755806

URL: http://svn.apache.org/viewvc?rev=1755806&view=rev
Log:
QPID-7118: [Web Management Console] Enable dashboard clone and deletion.

Modified:
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/dashboard/DashboardWidget.js
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryWidget.js

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/dashboard/DashboardWidget.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/dashboard/DashboardWidget.js?rev=1755806&r1=1755805&r2=1755806&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/dashboard/DashboardWidget.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/dashboard/DashboardWidget.js Wed Aug 10 19:32:47 2016
@@ -36,6 +36,7 @@ define(["dojo/_base/declare",
         "dijit/_WidgetsInTemplateMixin",
         "dijit/form/Button",
         "dijit/Toolbar",
+        "dijit/Tooltip",
         "dijit/Dialog",
         "dijit/registry"],
     function (declare,
@@ -120,6 +121,9 @@ define(["dojo/_base/declare",
                 deleteButton: null,
                 addWidgetButton: null,
                 widgetContainer: null,
+                saveButtonTooltip: null,
+                cloneButtonTooltip: null,
+                deleteButtonTooltip: null,
 
                 // constructor mixed in fields
                 parentObject: null,
@@ -134,7 +138,20 @@ define(["dojo/_base/declare",
                 postCreate: function ()
                 {
                     this.inherited(arguments);
-                    this.deleteButton.set("disabled", true);
+
+                    var ownDashboard = !this.preference || !this.preference.owner
+                                       || this.preference.owner === this.management.getAuthenticatedUser();
+                    var _newDashboard = !this.preference || !this.preference.createdDate;
+                    this.saveButton.set("disabled", !ownDashboard);
+                    this.deleteButton.set("disabled", !ownDashboard || _newDashboard);
+
+                    if (!ownDashboard)
+                    {
+                        this.saveButtonTooltip.set("label", "The query belongs to another user.<br/>"
+                                                            + "Use clone if you wish to make your own copy.");
+                        this.deleteButtonTooltip.set("label", "This query belongs to another user.");
+                    }
+
                     this.saveButton.on("click", lang.hitch(this, this._onSaveButton));
                     this.cloneButton.on("click", lang.hitch(this, this._onCloneButton));
                     this.deleteButton.on("click", lang.hitch(this, this._onDeleteButton));
@@ -173,11 +190,29 @@ define(["dojo/_base/declare",
                 },
                 _onCloneButton: function ()
                 {
-                    this.emit("clone", {parentObject: this.parentObject});
+                    var preference = {id : generateRandomUuid(), type: this.preference.type, value: this.preference.value};
+                    this.emit("clone", {preference: preference, parentObject: this.parentObject});
                 },
                 _onDeleteButton: function ()
                 {
-                    this.emit("delete", {preference: this.getDashboardPreference(), parentObject: this.parentObject});
+                    var message = "Are you sure you want to delete this dashboard?";
+                    if (confirm(message))
+                    {
+                        if (this.preference.id)
+                        {
+                            var deletePromise = this.management.deletePreference(this.parentObject,
+                                this.preference.type,
+                                this.preference.name);
+                            deletePromise.then(lang.hitch(this, function (preference)
+                            {
+                                this.emit("delete");
+                            }));
+                        }
+                        else
+                        {
+                            this.emit("delete");
+                        }
+                    }
                 },
                 _onPreferenceSave: function (event)
                 {
@@ -188,6 +223,7 @@ define(["dojo/_base/declare",
                             this.preference = preference;
                             this._saveDashboardDialog.hide();
                             this.emit("save", {preference: this.preference});
+                            this.deleteButton.set("disabled", false);
                         }));
                 },
                 _onAddWidget: function ()

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryWidget.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryWidget.js?rev=1755806&r1=1755805&r2=1755806&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryWidget.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryWidget.js Wed Aug 10 19:32:47 2016
@@ -349,17 +349,14 @@ define(["dojo/_base/declare",
                     this._ownQuery = !this.preference
                                      || !this.preference.owner
                                      || this.preference.owner === this.management.getAuthenticatedUser();
+                    var newQuery = !this.preference || !this.preference.createdDate;
                     this.saveButton.set("disabled", !this._ownQuery);
-                    this.deleteButton.set("disabled", !this._ownQuery || !(this.preference  && this.preference.id));
+                    this.deleteButton.set("disabled", !this._ownQuery || newQuery);
 
                     if (!this._ownQuery)
                     {
-                        this.saveButtonTooltip.set("label", "Shared query owned by someone else cannot be saved!"
-                                                            + "<br/>"
-                                                            + "Please clone query to make your own one.");
-                        this.deleteButtonTooltip.set("label", "Shared query owned by someone else cannot be deleted!"
-                                                            + "<br/>"
-                                                            + "Please clone query to make your own one.");
+                        this.saveButtonTooltip.set("label", "The query belongs to another user.<br/>Use clone if you wish to make your own copy.");
+                        this.deleteButtonTooltip.set("label", "This query belongs to another user.");
                     }
 
                     // advanced mode widgets
@@ -1055,10 +1052,6 @@ define(["dojo/_base/declare",
                 _deleteQuery: function ()
                 {
                     var message = "Are you sure you want to delete the query?";
-                    if (this.preference.id)
-                    {
-                        message = message + "\nQuery information will be removed from preferences.";
-                    }
                     if (confirm(message))
                     {
                         if (this.preference.id)



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org