3 день пишу модуль для админки по уроку с хабра. Пришлось её всю перелопатить т.к на 2.3.1 сразу не взлетело.
Еще и с Extjs знаком практически никак. В общем есть код:
brual.page.Home = function(config) {
config = config || {};
Ext.applyIf(config,{
components: [{
xtype: 'brual-panel-home',
renderTo: 'brual-main-div',
frame: true
}]
});
brual.page.Home.superclass.constructor.call(this,config);
};
Ext.extend(brual.page.Home, MODx.Component);
Ext.reg('brual-page-home', brual.page.Home);
Ext.onReady(function() {
MODx.load({ xtype: 'brual-page-home'});
});
brual.panel.Home = function(config) {
config = config || {};
Ext.apply(config,{
border: false,
baseCls: 'modx-formpanel',
frame : true,
items: [{
html: '',
border: false,
cls: 'modx-page-header'
},{
xtype: 'modx-tabs',
bodyStyle: 'padding: 10px',
defaults: { border: false, autoHeight: true },
border: true,
stateful: true,
stateId: 'brual-tabpanel',
stateEvents: ['tabchange'],
getState:function() {
return { activeTab:this.items.indexOf(this.getActiveTab()) };
},
items: [
{
title: 'Титл',
defaults: { autoHeight: true },
items: [
{
html: '',
border: false
},
{
xtype: 'brual-grid-users',
preventRender: true
}
]
}
]
}
]
});
brual.panel.Home.superclass.constructor.call(this,config);
};
/* Регистрируем панель, чтобы ее мог потом вызвать предыдущий скрипт */
Ext.extend(brual.panel.Home, MODx.Panel);
Ext.reg('brual-panel-home', brual.panel.Home);
brual.grid.users = function(config) {
config = config || {};
Ext.applyIf(config, {
id: 'brual-grid-users',
url: brual.config.connector_url,
baseParams: { action: 'mgr/users.grid' },
fields: [
{ name: 'daily', type: 'bool' },
{ name: 'specialreview', type: 'bool' },
{ name: 'tradingideas', type: 'bool' },
{ name: 'active', type: 'bool',}
],
columns: [
{
header: "Daily",
dataIndex: 'daily',
width: 'auto',
sortable: true,
editor: {
xtype: 'xcheckbox',
}
},
{
header: "Special Review",
dataIndex: 'specialreview',
width: 'auto',
sortable: true,
editor: {
xtype: 'checkbox',
}
},
{
header: "Trading Ideas",
dataIndex: 'tradingideas',
width: 'auto',
sortable: true,
editor: {
xtype: 'checkbox',
}
},
{
header: "Активен",
dataIndex: 'active',
editor: {
xtype: 'checkbox',
}
},
],
autoHeight: true,
loadMask: true,
paging: true,
autosave: false,
remoteSort: true,
anchor: '97%',
});
brual.grid.users.superclass.constructor.call(this, config);
};
Ext.extend(brual.grid.users, MODx.grid.Grid, {
});
Ext.reg('brual-grid-users', brual.grid.users);
И всё то хорошо, данные из бд вывелись в таблицу.
Но мне нужно сделать её редактируемой, и застрял я на том, что не могу сделать checkbox
Он то тоже работает, но выглядит это примерно так:
table\table\table
false\true\false
Как заставить его вывести сам чекбокс, а не true\false? Чекбокс появляется при клике по таблице, когда его надо переключить, и после опять пропадает. Причем появляется тоже кривовато (не полностью перекрывает таблицу)
Прошу помощи!