Broker.prototype.open = function()

in broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js [119:355]


        Broker.prototype.open = function (contentPane)
        {
            var that = this;
            this.contentPane = contentPane;
            {
                contentPane.containerNode.innerHTML = template;
                parser.parse(contentPane.containerNode)
                    .then(function (instances)
                    {
                        that.brokerUpdater = new BrokerUpdater(that);

                        var addProviderButton = query(".addAuthenticationProvider", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(addProviderButton), "onClick", function (evt)
                        {
                            addAuthenticationProvider.show(that.management, that.modelObj);
                        });

                        var deleteProviderButton = query(".deleteAuthenticationProvider", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(deleteProviderButton), "onClick", function (evt)
                        {
                            var warning = "";
                            var data = that.brokerUpdater.authenticationProvidersGrid.grid.selection.getSelected();
                            if (data.length && data.length > 0)
                            {
                                for (var i = 0; i < data.length; i++)
                                {
                                    if (data[i].type.indexOf("File") != -1)
                                    {
                                        warning =
                                            "NOTE: provider deletion will also remove the password file on disk.\n\n"
                                        break;
                                    }
                                }
                            }

                            util.deleteSelectedObjects(that.brokerUpdater.authenticationProvidersGrid.grid,
                                warning + "Are you sure you want to delete authentication provider",
                                that.management,
                                {
                                    type: "authenticationprovider",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);
                        });

                        var addVHNAndVHButton = query(".addVirtualHostNodeAndVirtualHostButton",
                            contentPane.containerNode)[0];
                        connect.connect(registry.byNode(addVHNAndVHButton), "onClick", function (evt)
                        {
                            addVirtualHostNodeAndVirtualHost.show(that.controller.management);
                        });

                        var addPortButton = query(".addPort", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(addPortButton), "onClick", function (evt)
                        {
                            addPort.show(that.management,
                                that.modelObj,
                                "AMQP",
                                that.brokerUpdater.brokerData.authenticationproviders,
                                that.brokerUpdater.brokerData.keystores,
                                that.brokerUpdater.brokerData.truststores);
                        });

                        var deletePort = query(".deletePort", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(deletePort), "onClick", function (evt)
                        {
                            util.deleteSelectedObjects(that.brokerUpdater.portsGrid.grid,
                                "Are you sure you want to delete port",
                                that.management,
                                {
                                    type: "port",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);

                        });

                        var editButton = query(".editBroker", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(editButton), "onClick", function (evt)
                        {
                            editBroker.show(that.management, that.brokerUpdater.brokerData);
                        });
                        var restartButton = query(".restartBroker", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(restartButton), "onClick", function (evt)
                        {
                            that.restartBroker();
                            event.stop(evt);
                        });

                        var brokerDiagnosticsMenu = registry.byNode(query(".brokerDiagnosticsMenu",
                                                                          contentPane.containerNode)[0]);

                        var hostMenuItems = brokerDiagnosticsMenu.dropDown.getChildren();
                        var downloadJvmThreadDumpButton = hostMenuItems[0];
                        downloadJvmThreadDumpButton.on("click", function (evt)
                        {
                            that.downloadJvmThreadDump();
                            event.stop(evt);
                        });

                        var addKeystoreButton = query(".addKeystore", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(addKeystoreButton), "onClick", function (evt)
                        {
                            addStore.setupTypeStore(that.management, "KeyStore", that.modelObj);
                            addStore.show();
                        });

                        var deleteKeystore = query(".deleteKeystore", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(deleteKeystore), "onClick", function (evt)
                        {
                            util.deleteSelectedObjects(that.brokerUpdater.keyStoresGrid.grid,
                                "Are you sure you want to delete key store",
                                that.management,
                                {
                                    type: "keystore",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);
                        });

                        var addTruststoreButton = query(".addTruststore", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(addTruststoreButton), "onClick", function (evt)
                        {
                            addStore.setupTypeStore(that.management, "TrustStore", that.modelObj);
                            addStore.show();
                        });

                        var deleteTruststore = query(".deleteTruststore", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(deleteTruststore), "onClick", function (evt)
                        {
                            util.deleteSelectedObjects(that.brokerUpdater.trustStoresGrid.grid,
                                "Are you sure you want to delete trust store",
                                that.management,
                                {
                                    type: "truststore",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);
                        });

                        var addGroupProviderButton = query(".addGroupProvider", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(addGroupProviderButton), "onClick", function (evt)
                        {
                            addGroupProvider.show(that.controller.management, that.modelObj);
                        });

                        var deleteGroupProvider = query(".deleteGroupProvider", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(deleteGroupProvider), "onClick", function (evt)
                        {
                            var warning = "";
                            var data = that.brokerUpdater.groupProvidersGrid.grid.selection.getSelected();
                            if (data.length && data.length > 0)
                            {
                                for (var i = 0; i < data.length; i++)
                                {
                                    if (data[i].type.indexOf("File") !== -1)
                                    {
                                        warning = "NOTE: provider deletion will also remove the group file on disk.\n\n"
                                        break;
                                    }
                                }
                            }

                            util.deleteSelectedObjects(that.brokerUpdater.groupProvidersGrid.grid,
                                warning + "Are you sure you want to delete group provider",
                                that.management,
                                {
                                    type: "groupprovider",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);
                        });

                        var addAccessControlButton = query(".addAccessControlProvider", contentPane.containerNode)[0];
                        connect.connect(registry.byNode(addAccessControlButton), "onClick", function (evt)
                        {
                            addAccessControlProvider.show(that.management, that.modelObj);
                        });

                        var deleteAccessControlProviderButton = query(".deleteAccessControlProvider",
                            contentPane.containerNode)[0];
                        connect.connect(registry.byNode(deleteAccessControlProviderButton), "onClick", function (evt)
                        {
                            util.deleteSelectedObjects(that.brokerUpdater.accessControlProvidersGrid.grid,
                                "Are you sure you want to delete access control provider",
                                that.management,
                                {
                                    type: "accesscontrolprovider",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);
                        });

                        var addLoggerButtonNode = query(".addBrokerLogger", contentPane.containerNode)[0];
                        var addLoggerButton = registry.byNode(addLoggerButtonNode);
                        addLoggerButton.on("click", function (evt)
                        {
                            addLogger.show(that.management, that.modelObj, "BrokerLogger");
                        });

                        var deleteLoggerButtonNode = query(".deleteBrokerLogger", contentPane.containerNode)[0];
                        var deleteLoggerButton = registry.byNode(deleteLoggerButtonNode);
                        deleteLoggerButton.on("click", function (evt)
                        {
                            util.deleteSelectedObjects(that.brokerUpdater.brokerLoggersGrid.grid,
                                "Are you sure you want to delete broker logger",
                                that.management,
                                {
                                    type: "brokerlogger",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);
                        });

                        const addConnectionLimitProviderButton = registry.byNode(
                            query(".addConnectionLimitProvider", contentPane.containerNode)[0]);
                        connect.connect(addConnectionLimitProviderButton, "onClick", function (evt)
                        {
                            addConnectionLimitProvider.show(that.management, that.modelObj);
                        });

                        const deleteConnectionLimitProviderButton = registry.byNode(
                            query(".deleteConnectionLimitProvider", contentPane.containerNode)[0]);
                        connect.connect(deleteConnectionLimitProviderButton, "onClick", function (evt)
                        {
                            util.deleteSelectedObjects(that.brokerUpdater.connectionLimitProvidersGrid.grid,
                                "Are you sure you want to delete connection limit provider",
                                that.management,
                                {
                                    type: "brokerconnectionlimitprovider",
                                    parent: that.modelObj
                                },
                                that.brokerUpdater);
                        });
                    });
            }
        };