partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

commit 85ceca1cebc1fea925f14f2cce6d7c8a71d46085
parent d20ceba18242bb780a2e2e12c6020edf26ebd286
Author: Felicitus <felicitus@felicitus.org>
Date:   Mon,  2 Nov 2015 20:20:41 +0100

Re-implemented disconnect action

Diffstat:
Asrc/PartKeepr/FrontendBundle/Resources/public/js/Actions/BaseAction.js | 3+++
Asrc/PartKeepr/FrontendBundle/Resources/public/js/Actions/LogoutAction.js | 14++++++++++++++
Msrc/PartKeepr/FrontendBundle/Resources/public/js/Components/MenuBar.js | 1+
Msrc/PartKeepr/FrontendBundle/Resources/public/js/PartKeepr.js | 11+++++++++--
Msrc/PartKeepr/FrontendBundle/Resources/views/index.html.twig | 2++
5 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Actions/BaseAction.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Actions/BaseAction.js @@ -0,0 +1,3 @@ +Ext.define("PartKeepr.Actions.BaseAction", { + execute: function () {} +}); diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Actions/LogoutAction.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Actions/LogoutAction.js @@ -0,0 +1,14 @@ +Ext.define("PartKeepr.Actions.LogoutAction", { + extend: "PartKeepr.Actions.BaseAction", + + execute: function () + { + PartKeepr.getApplication().getLoginManager().logout(); + }, + statics: { + iconCls: 'web-icon disconnect', + title: i18n('Disconnect'), + closable: true, + menuPath: [{text: i18n("System")}] + } +}); diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/MenuBar.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/MenuBar.js @@ -48,6 +48,7 @@ Ext.define('PartKeepr.MenuBar', { var menuItems = [ // System Menu "PartKeepr.UserPreferencePanel", + "PartKeepr.Actions.LogoutAction", // Edit Menu "PartKeepr.ProjectEditorComponent", diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/PartKeepr.js b/src/PartKeepr/FrontendBundle/Resources/public/js/PartKeepr.js @@ -50,6 +50,8 @@ Ext.application({ onAppMenuClick: function (item) { var target = item.target["$className"]; + targetClass = Ext.ClassManager.get(target); + var config = { title: item.target.title, closable: item.target.closable, @@ -57,8 +59,13 @@ Ext.application({ }; var j = Ext.create(target, config); - PartKeepr.getApplication().addItem(j); - j.show(); + + if (targetClass.superclass["$className"] == "PartKeepr.Actions.BaseAction") { + j.execute(); + } else { + PartKeepr.getApplication().addItem(j); + j.show(); + } }, getParameter: function (parameter) { diff --git a/src/PartKeepr/FrontendBundle/Resources/views/index.html.twig b/src/PartKeepr/FrontendBundle/Resources/views/index.html.twig @@ -108,6 +108,8 @@ '@PartKeeprFrontendBundle/Resources/public/js/ExtJS/Enhancements/Ext.tree.View-missingMethods.js' '@PartKeeprFrontendBundle/Resources/public/js/ExtJS/Enhancements/Ext.form.Basic-AssociationSupport.js' '@PartKeeprFrontendBundle/Resources/public/js/ExtJS/Enhancements/Ext.ux.TreePicker-setValueWithObject.js' + '@PartKeeprFrontendBundle/Resources/public/js/Actions/BaseAction.js' + '@PartKeeprFrontendBundle/Resources/public/js/Actions/LogoutAction.js' '@PartKeeprFrontendBundle/Resources/public/js/Components/Statusbar.js' '@PartKeeprFrontendBundle/Resources/public/js/Components/Auth/LoginDialog.js' '@PartKeeprFrontendBundle/Resources/public/js/Components/Part/PartImageDisplay.js'