Вот упрощенный вариант того, что я делаю:
html-страница:
<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title></title>
<link rel='stylesheet' type='text/css' href='/js/lib/extjs/resources/css/ext-all.css'>
<script type='text/javascript' src='/js/lib/extjs/bootstrap.js'></script>
<link rel='stylesheet' type='text/css' href='/js/lib/extjs/examples/ux/css/ItemSelector.css'>
<script type='text/javascript' src='/js/crm-project1.js'></script>
</head>
<body>
<div id='content'>
</div>
</body>
</html>
Скрипт:
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', '/js/lib/extjs/examples/ux');
Ext.require(['Ext.*', 'Ext.ux.*', 'Ext.ux.RowExpander', 'Ext.ux.form.ItemSelector', 'Ext.ux.form.MultiSelect', 'Ext.tab.*', 'Ext.tree.*', 'Ext.data.*', 'Ext.tip.*']);
Ext.onReady(function(){
Ext.QuickTips.init();
Ext.define('Task', {
extend: 'Ext.data.Model',
fields: [{
name: 'id',
type: 'int'
}, {
name: 'priority',
type: 'int'
}, {
name: 'text',
type: 'string'
}, {
name: 'description',
type: 'html'
}]
});
var store = Ext.create('Ext.data.TreeStore', {
model: 'Task',
proxy: {
type: 'ajax',
url: '/data.json'
},
folderSort: true,
sorters: [{
property: 'priority',
direction: 'DESC'
}]
});
templateHtml = '<div>{description}</div><div id="mypanel{id}"></div>';
var tree = Ext.create("Ext.tree.Panel", {
plugins: [{
ptype: 'rowexpander',
rowBodyTpl: [templateHtml]
}],
store: store,
collapsible: true,
rootVisible: false,
useArrows: true,
multiSelect: true,
singleExpand: false,
region: 'center',
columns: [{
xtype: 'treecolumn',
text: 'text',
dataIndex: 'text',
flex: 1,
enableSort: true,
ddAppendOnly: true
}, {
text: 'id',
flex: 1,
dataIndex: 'id',
}, {
text: 'priority',
flex: 1,
dataIndex: 'priority',
}],
});
var ProjectPanel = Ext.create("Ext.Viewport", {
id: 'project-panel',
renderTo: 'content',
layout: 'border',
items: [tree]
});
});
Вот. Мне нужно вместо дивов mypanel3 и т. д. вставить панели TreePanel, а у меня не получается