i am using the browser-layout example for my application
im trying to add a two trees to it
what im trying to do here is define the twotrees in a separate file, my main file is the layout-browser.js and i need to add this (and others) in the tabs i have in it . feel free to ask me other questions if its not clair and please bare with me im really new to all this and cant get hold of it
the problem is that im using .net and the example is using php
so how can i make this work in .net
here is my code:
Ext.require(['*']);
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'get-nodes.php'
},
root: {
text: 'Ext JS',
id: 'src',
expanded: true
},
folderSort: true,
sorters: [{
property: 'text',
direction: 'ASC'
}]
});
var tree = Ext.create('Ext.tree.Panel', {
id: 'tree',
store: store,
width: 250,
height: 300,
columnWidth: 0.5,
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop',
appendOnly: true
}
}
// ,renderTo: document.body
});
var store2 = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'get-nodes.php'
},
root: {
text: 'Custom Ext JS',
id: 'src',
expanded: true,
children: []
},
folderSort: true,
sorters: [{
property: 'text',
direction: 'ASC'
}]
});
var tree2 = Ext.create('Ext.tree.Panel', {
id: 'tree2',
width: 250,
height: 300,
columnWidth: 0.5,
store: store2,
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop',
appendOnly: true
}
}
// ,renderTo: document.body
});
Ext.define("Ext.app.myTwoTrees",{
extend:"Ext.panel.Panel",
width : 600,
height: 350,
layout: 'column',
items: [
tree , tree2
]
});
i call it in my tab like this
Ext.create('Ext.app.myTwotrees')
here is the get-nodes.php
<?php
// from php manual page
function formatBytes($val, $digits = 3, $mode = 'SI', $bB = 'B'){ //$mode == 'SI'|'IEC', $bB == 'b'|'B'
$si = array('', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y');
$iec = array('', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi');
switch(strtoupper($mode)) {
case 'SI' : $factor = 1000; $symbols = $si; break;
case 'IEC' : $factor = 1024; $symbols = $iec; break;
default : $factor = 1000; $symbols = $si; break;
}
switch($bB) {
case 'b' : $val *= 8; break;
default : $bB = 'B'; break;
}
for($i=0;$i<count($symbols)-1 && $val>=$factor;$i++)
$val /= $factor;
$p = strpos($val, '.');
if($p !== false && $p > $digits) $val = round($val);
elseif($p !== false) $val = round($val, $digits-$p);
return round($val, $digits) . ' ' . $symbols[$i] . $bB;
}
// grab the custom params
$path = isset($_REQUEST['path'])&&$_REQUEST['path'] == 'extjs' ? '../../../' : '../../';
$node = isset($_REQUEST['node']) ? $_REQUEST['node'] : '';
$isXml = isset($_REQUEST['isXml']);
if(strpos($node, '..') !== false){
die('Nice try buddy.');
}
$nodes = array();
$directory = $path.$node;
if (is_dir($directory)){
$d = dir($directory);
while($f = $d->read()){
if($f == '.' || $f == '..' || substr($f, 0, 1) == '.') continue;
$filename = $directory . '/' . $f;
date_default_timezone_set('America/Los_Angeles');
$lastmod = date('M j, Y, g:i a', filemtime($filename));
if(is_dir($directory.'/'.$f)){
$qtip = 'Type: Folder<br />Last Modified: '.$lastmod;
$nodes[] = array(
'text' => $f,
'id' => $node.'/'.$f,
'cls' => 'folder'
);
} else {
$size = formatBytes(filesize($filename), 2);
$qtip = 'Type: JavaScript File<br />Last Modified: '.$lastmod.'<br />Size: '.$size;
$nodes[] = array(
'text' => $f,
'id' => $node.'/'.$f,
'leaf' => true,
'cls' => 'file'
);
}
}
$d->close();
}
if ($isXml) {
$xmlDoc = new DOMDocument();
$root = $xmlDoc->appendChild($xmlDoc->createElement("nodes"));
foreach ($nodes as $node) {
$xmlNode = $root->appendChild($xmlDoc->createElement("node"));
$xmlNode->appendChild($xmlDoc->createElement("text", $node['text']));
$xmlNode->appendChild($xmlDoc->createElement("id", $node['id']));
$xmlNode->appendChild($xmlDoc->createElement("cls", $node['cls']));
$xmlNode->appendChild($xmlDoc->createElement("leaf", isset($node['leaf'])));
}
header("Content-Type: text/xml");
$xmlDoc->formatOutput = true;
echo $xmlDoc->saveXml();
} else {
echo json_encode($nodes);
}
thanks a lot