All Downloads are FREE. Search and download functionalities are using the official Maven repository.

resources.js.qpid.management.dashboard.widget.unavailable.js Maven / Gradle / Ivy

The newest version!
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 */

define(["dojo/_base/declare",
        "dojo/_base/lang",
        "dojo/json",
        "dojo/Deferred",
        "dojo/Evented",
        "dojox/widget/Portlet",
        "qpid/common/MessageDialog",
        "qpid/common/util"],
    function (declare,
              lang,
              json,
              Deferred,
              Evented,
              Portlet,
              MessageDialog,
              util)
    {

        return declare(Evented, {
            portlet : null,

            constructor: function (kwargs)
            {
                this.widgetSettings = kwargs.widgetSettings || {};
            },
            createPortlet: function ()
            {
                var portlet = new Portlet({
                    title: "Unvailable",
                    content: "This widget is currently not available",
                    open: !this.widgetSettings.hidden,
                    onClose: lang.hitch(this, function ()
                    {
                        MessageDialog.confirm({
                            title: "Remove widget?",
                            message: "Are you sure you want to remove the widget?"
                                     + "
" + "It might become available at a later point.", confirmationId: "dashboard.confirmation.widget.delete" }) .then(lang.hitch(this, function () { this.emit("close"); })); }) }); if (portlet.closeIcon) { portlet.closeIcon.title = "Remove this query from the dashboard."; util.stopEventPropagation(portlet.closeIcon, "mousedown"); } if (portlet.arrowNode) { portlet.arrowNode.title = "Maximise/minimise this widget."; util.stopEventPropagation(portlet.arrowNode, "mousedown"); } portlet.on("hide", lang.hitch(this, function(){ this.widgetSettings.hidden = true; this.emit("change"); })); portlet.on("show", lang.hitch(this, function(){ this.widgetSettings.hidden = false; this.emit("change"); })); this.portlet = portlet; var deferred = new Deferred(); deferred.resolve(portlet); return deferred.promise; }, destroy : function () { if (this.portlet) { this.portlet.destroyRecursive(); } }, getSettings: function () { return this.widgetSettings; }, activate: function () { // noop }, deactivate: function () { // noop } }); });




© 2015 - 2025 Weber Informatics LLC | Privacy Policy