Browse Source

TabCloseMenu cls

zhuth 7 years ago
parent
commit
bd337dbbef

+ 7 - 0
frontend/saas-web/app/Application.scss

@@ -484,4 +484,11 @@ div::-webkit-scrollbar-track {
 /** tab **/
 /** tab **/
 .x-tab-default.x-tab-active .x-tab-close-btn {
 .x-tab-default.x-tab-active .x-tab-close-btn {
   color: #34BAF6;
   color: #34BAF6;
+}
+
+/** tabclosemenu **/
+.x-menu.x-tab-close-menu {
+  & > div > div > div.x-box-inner.x-box-scroller-body-vertical.x-scroller > div > div > a > span {
+    margin-left: 28px;
+  }
 }
 }

+ 60 - 0
frontend/saas-web/overrides/ux/TabCloseMenu.js

@@ -0,0 +1,60 @@
+Ext.define('saas.override.ux.TabCloseMenu', {
+    override: 'Ext.ux.TabCloseMenu',
+
+    cls: 'x-tab-close-menu',
+
+    createMenu : function() {
+        var me = this;
+ 
+        if (!me.menu) {
+            var items = [{
+                itemId: 'close',
+                text: me.closeTabText,
+                scope: me,
+                handler: me.onClose
+            }];
+ 
+            if (me.showCloseAll || me.showCloseOthers) {
+                items.push('-');
+            }
+ 
+            if (me.showCloseOthers) {
+                items.push({
+                    itemId: 'closeOthers',
+                    text: me.closeOthersTabsText,
+                    scope: me,
+                    handler: me.onCloseOthers
+                });
+            }
+ 
+            if (me.showCloseAll) {
+                items.push({
+                    itemId: 'closeAll',
+                    text: me.closeAllTabsText,
+                    scope: me,
+                    handler: me.onCloseAll
+                });
+            }
+ 
+            if (me.extraItemsHead) {
+                items = me.extraItemsHead.concat(items);
+            }
+ 
+            if (me.extraItemsTail) {
+                items = items.concat(me.extraItemsTail);
+            }
+ 
+            me.menu = Ext.create('Ext.menu.Menu', {
+                cls: me.cls,
+                items: items,
+                listeners: {
+                    hide: me.onHideMenu,
+                    scope: me
+                }
+            });
+        }
+ 
+        return me.menu;
+    },
+
+});