mirror of
https://github.com/fspc/BikeShed-1.git
synced 2025-02-28 08:43:23 -05:00
Add lower tabs pane instead of splitting
This commit is contained in:
parent
966c36b563
commit
c73d5f955a
13
app/components/user_and_profiles_lower_tabs.rb
Normal file
13
app/components/user_and_profiles_lower_tabs.rb
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
class UserAndProfilesLowerTabs < Netzke::Basepack::TabPanel
|
||||||
|
component :user_profiles
|
||||||
|
component :user_logs
|
||||||
|
component :user_stats
|
||||||
|
|
||||||
|
def configure(c)
|
||||||
|
c.prevent_header = true
|
||||||
|
c.items = [ :user_logs,
|
||||||
|
{ netzke_component: :user_profiles, title: "User Profiles" },
|
||||||
|
{ netzke_component: :user_stats, title: "User Stats" }]
|
||||||
|
super
|
||||||
|
end
|
||||||
|
end
|
@ -40,7 +40,7 @@ class UserStats < Netzke::Base
|
|||||||
|
|
||||||
private
|
private
|
||||||
def user
|
def user
|
||||||
controller.current_user
|
User.find_by_id(session[:selected_user_id]) || controller.current_user
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -2,16 +2,14 @@ class UsersAndProfilesBorder < Netzke::Base
|
|||||||
# Remember regions collapse state and size
|
# Remember regions collapse state and size
|
||||||
include Netzke::Basepack::ItemPersistence
|
include Netzke::Basepack::ItemPersistence
|
||||||
component :users
|
component :users
|
||||||
component :user_profiles
|
component :user_and_profiles_lower_tabs
|
||||||
component :user_logs
|
|
||||||
|
|
||||||
def configure(c)
|
def configure(c)
|
||||||
super
|
super
|
||||||
c.header = false
|
c.header = false
|
||||||
c.items = [
|
c.items = [
|
||||||
{ netzke_component: :users, header: "Users", region: :center, width: 350, split: true },
|
{ netzke_component: :users, header: "Users", region: :center, width: 350, split: true },
|
||||||
{ netzke_component: :user_profiles, region: :south, height: 150, split: true},
|
{ netzke_component: :user_and_profiles_lower_tabs, region: :south, height: 300, split: true}
|
||||||
{ netzke_component: :user_logs, region: :east, split: true}
|
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -2,30 +2,48 @@
|
|||||||
initComponent: function(){
|
initComponent: function(){
|
||||||
// calling superclass's initComponent
|
// calling superclass's initComponent
|
||||||
this.callParent();
|
this.callParent();
|
||||||
var stats = this.getComponent('user_stats');
|
var stats = this.queryById('user_stats');
|
||||||
if (stats != undefined){
|
if (stats != undefined){
|
||||||
stats.updateStats();
|
stats.updateStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
if( this.queryById('user_profiles')){
|
if( this.queryById('user_profiles')){
|
||||||
this.queryById('user_profiles').disable();
|
this.queryById('user_profiles').disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
if( this.queryById('user_logs')){
|
if( this.queryById('user_logs')){
|
||||||
this.queryById('user_logs').disable();
|
this.queryById('user_logs').disable();
|
||||||
|
//update user stats
|
||||||
|
var store = this.queryById('user_logs').getStore()
|
||||||
|
store.on('load', function (store, records, operation, success){
|
||||||
|
if( this.queryById('user_stats') ){
|
||||||
|
this.queryById('user_stats').updateStats();
|
||||||
|
}
|
||||||
|
}, this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if( this.queryById('user_stats') ){
|
||||||
|
this.queryById('user_stats').disable();
|
||||||
|
}
|
||||||
|
|
||||||
// setting the 'rowclick' event
|
// setting the 'rowclick' event
|
||||||
var view = this.getComponent('users').getView();
|
var view = this.getComponent('users').getView();
|
||||||
view.on('itemclick', function(view, record){
|
view.on('itemclick', function(view, record){
|
||||||
// The beauty of using Ext.Direct: calling 3 endpoints in a row, which results in a single call to the server!
|
// The beauty of using Ext.Direct: calling 3 endpoints in a row, which results in a single call to the server!
|
||||||
this.selectUser({user_id: record.get('id')});
|
this.selectUser({user_id: record.get('id')});
|
||||||
this.getComponent('user_profiles').getStore().load();
|
|
||||||
this.getComponent('user_logs').getStore().load();
|
|
||||||
|
|
||||||
if( this.queryById('user_profiles')){
|
if( this.queryById('user_profiles')){
|
||||||
|
this.queryById('user_profiles').getStore().load();
|
||||||
this.queryById('user_profiles').enable();
|
this.queryById('user_profiles').enable();
|
||||||
}
|
}
|
||||||
if( this.queryById('user_logs')){
|
if( this.queryById('user_logs')){
|
||||||
|
this.queryById('user_logs').getStore().load();
|
||||||
this.queryById('user_logs').enable();
|
this.queryById('user_logs').enable();
|
||||||
}
|
}
|
||||||
|
if( this.queryById('user_stats') ){
|
||||||
|
this.queryById('user_stats').updateStats();
|
||||||
|
this.queryById('user_stats').enable();
|
||||||
|
}
|
||||||
}, this);
|
}, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user