nrao
Junior Member
Posts: 3
Registered: 9/17/2003
Member Is Offline
|
| posted on 9/17/2003 at 10:30 PM |
|
|
Expand All & Collapse All
Is it possible to add 'Expand All' or 'Collapse All' functionality to the menu?
I saw another posting with almost the same request but with no replies.
|
|
|
rock
Moderator
Posts: 687
Registered: 4/15/2003
Member Is Offline
|
| posted on 9/18/2003 at 10:53 AM |
|
|
Yes this is possible. You should call open(b_close) method for each item.
|
|
|
nrao
Junior Member
Posts: 3
Registered: 9/17/2003
Member Is Offline
|
| posted on 9/18/2003 at 03:29 PM |
|
|
How exactly would I do that? I have about 1000 entries in my tree. Is that through a javascript on the same page? If so, can you send me a sample
of the javascript code?
Thanks, all help would be much appreciated.
|
|
|
rock
Moderator
Posts: 687
Registered: 4/15/2003
Member Is Offline
|
| posted on 9/18/2003 at 03:52 PM |
|
|
There is a_index array in the tree object containing all items.
|
|
|
opus27
Newbie
Posts: 1
Registered: 11/2/2003
Member Is Offline
|
| posted on 11/2/2003 at 10:06 PM |
|
|
Try this :
function expand_all () {
for (var i = 1; i < trees[0].a_index.length; i++) {
var o_item = trees[0].a_index;
if (!o_item.b_opened) o_item.open(o_item.b_opened);
}
}
function collapse_all () {
for (var i = 1; i < trees[0].a_index.length; i++) {
var o_item = trees[0].a_index;
if (o_item.b_opened) o_item.open(o_item.b_opened);
}
}
|
|
|
pod
Newbie
Posts: 1
Registered: 5/28/2004
Member Is Offline
|
| posted on 6/11/2004 at 02:31 PM |
|
|
expand collapse
...just wanted to mention that there was a little typo in the last posted code:
the var i was missing from the following line
var o_item = trees[0].a_index[var];
...for some reason, the i between brackets doesn't show on the posting ???
I'm sure opus27 tryied posting it and didn't notice it got removed.
Just thought I would mentionned that.
By the way , Thank you opus27, I needed that code as well
:-D
|
|
|
doonee
Member
Posts: 10
Registered: 3/6/2005
Member Is Offline
|
| posted on 3/6/2005 at 12:53 AM |
|
|
could someone post that code again, working around the typo, say, by using [*i*] or something ?
thanks
d
|
|
|
youradds
Newbie
Posts: 1
Registered: 4/13/2005
Location: UK
Member Is Offline
|
| posted on 4/13/2005 at 11:32 AM |
|
|
Cant get it to work either :(
Hi,
I'm trying to get all my options to be "auto closed". Is this possible? I've tried this, but it won't work :(
| Code: | <script language="JavaScript">
<!--
new tree (TREE_ITEMS, tree_tpl);
collapse_all();
//-->
function expand_all () {
for (var i = 1; i < tree[0].a_index.length; i++) {
var o_item = tree[0].a_index[var];
if (!o_item.b_opened) o_item.open(o_item.b_opened);
}
}
function collapse_all () {
for (var i = 1; i < tree[0].a_index.length; i++) {
var o_item = tree[0].a_index[var];
if (o_item.b_opened) o_item.open(o_item.b_opened);
}
}
</script> |
TIA
|
|
|
rock
Moderator
Posts: 687
Registered: 4/15/2003
Member Is Offline
|
| posted on 4/14/2005 at 07:04 AM |
|
|
Do not use reserved words as variable names: var o_item = tree[0].a_index[var];
Example of expand/collapse all function:
| Code: |
function expand_or_collapse_all (o_tree, b_collapse) {
for (var i = 1; i < tree[0].a_index.length; i++) {
var o_item = tree[0].a_index[ i];
o_item.open(b_collapse);
}
}
|
Usage:
| Code: |
o_my_lemon_tree = new tree (TREE_ITEMS, tree_tpl);
expand_or_collapse_all (o_my_lemon_tree, true);
|
|
|
|
billgates
Junior Member
Posts: 3
Registered: 5/5/2005
Member Is Offline
|
| posted on 5/5/2005 at 12:33 PM |
|
|
THe code was wrong
This is the correct code to use:
| Code: |
function expand_or_collapse_all (o_tree, b_collapse) {
for (var i = 1; i < o_tree.a_index.length; i++) {
var o_item = o_tree.a_index;
o_item.open(b_collapse);
}
}
|
Usage:
| Code: |
my_tree = new tree (TREE_ITEMS, tree_tpl);
expand_or_collapse_all (my_tree, true);
|
|
|
|
rock
Moderator
Posts: 687
Registered: 4/15/2003
Member Is Offline
|
| posted on 5/5/2005 at 01:27 PM |
|
|
To billgates : Ok, thanks for your attention and assistance.
Example of expand/collapse all function:
| Code: |
function expand_or_collapse_all (o_tree, b_collapse) {
for (var i = 1; i < o_tree.a_index.length; i++) {
var o_item = o_tree.a_index[ i];
o_item.open(b_collapse);
}
}
|
Usage:
| Code: |
o_my_lemon_tree = new tree (TREE_ITEMS, tree_tpl);
expand_or_collapse_all (o_my_lemon_tree, true);
|
|
|
|
billgates
Junior Member
Posts: 3
Registered: 5/5/2005
Member Is Offline
|
| posted on 5/9/2005 at 08:16 AM |
|
|
Optimized tigra-tree
Hi, I added some features to the tigra tree code, you can find them in attachment.
// Improvements:
// - Root folder cannot be collapsed or selected (controlled by "norootclose" variable)
// - Only one folder may be open on the same level (if variable "onefolder" is true)
// - Removed caret if a link is focused (with onFocus=this.blur())
// - When closing a folder, all subfolders are closed recursively ("closesubs" variable)
// - Removed doubleclick to open subfolders
// - Added expand all and collapse all function
// - Activate selection on clicking '+'
Attachment: tigra111.txt (7.26kb)
This file has been downloaded 1255 times
|
|
|
billgates
Junior Member
Posts: 3
Registered: 5/5/2005
Member Is Offline
|
| posted on 5/9/2005 at 10:35 AM |
|
|
Simple ASP code to read structure from a DB
Attached to this message there's a sample of the ASP code needed to render a Tigra tree whose structure is stored in an Access database. Data is read
from the DB and the necessary JavaScript code is automatically inserted into the ASP page.
Maybe it's useful to you ;)
Attachment: TigraASP.txt (1.78kb)
This file has been downloaded 886 times
|
|
|
hadeelb
Newbie
Posts: 1
Registered: 9/25/2005
Location: Jordan
Member Is Offline
|
| posted on 9/25/2005 at 10:18 AM |
|
|
hi;
is there any method that can speed up expanding all items of the tree?
my tree have 6 levels and the tree items loaded dynamically from a database table.
i implemented two methods to expand the tree quickly, but it still slow to expand it using these methods.
i attached my file in this message to see my code.
any help will be appreciated.
Attachment: tree.js (10.51kb)
This file has been downloaded 849 times
|
|
|
mrpoge
Newbie
Posts: 1
Registered: 10/13/2005
Location: Florida
Member Is Offline
|
| posted on 10/13/2005 at 06:51 PM |
|
|
| Quote: | Originally posted by billgates
Hi, I added some features to the tigra tree code, you can find them in attachment.
|
I ran into a bug with your 1.11 version. When selecting an already open subfolder by clicking on the node node name, the subfolder is collapsed.
I've attached a fix.
Attachment: tree112.js.txt (8.65kb)
This file has been downloaded 814 times
|
|
|
Grommit
Newbie
Posts: 1
Registered: 10/22/2005
Member Is Offline
|
| posted on 10/22/2005 at 02:58 PM |
|
|
Could someone please give a "for dummies" explanation of how to add this function to the demo files...?
Experimenting with the files for "demo2" and the code posted by Rock, I added this to the end of tree.js:
| Code: |
function expand_or_collapse_all (o_tree, b_collapse) {
for (var i = 1; i < o_tree.a_index.length; i++) {
var o_item = o_tree.a_index[ i];
o_item.open(b_collapse);
}
}
|
Then removed this from Index.html...
new tree (TREE_ITEMS, TREE_TPL);
...and replaced it with this:
| Code: |
o_my_lemon_tree = new tree (TREE_ITEMS, tree_tpl);
expand_or_collapse_all (o_my_lemon_tree, true);
|
Am I even close to being on the right track?
|
|
|
bostondevin
Junior Member
Posts: 3
Registered: 10/31/2005
Member Is Offline
|
| posted on 11/1/2005 at 06:16 PM |
|
|
OK - all of these examples suck
But this one works just fine!
Here is the HTML to call the function (be sure "hcomp_tree" matches the name of the tree you are creating:
<p><a href="#" onclick="expand_all('hcomp_tree');">Open</a> | <a href="#" onclick="expand_all('hcomp_tree',
true);">Collapse</a></p>
Here is the code to call the tree:
<script language="JavaScript">
hcomp_tree = new tree (TREE_ITEMS, TREE_TPL);
</script>
Here is the javascript to do the work (put it in tree.js):
function expand_all(theTree, theDirective) {
for (var i = 1; i < eval(theTree + '.a_index.length'); i++) {
var o_item = eval(theTree + '.a_index[ i]');
o_item.open(theDirective);
}}
|
|
|
idlock
Newbie
Posts: 1
Registered: 5/24/2006
Location: Korea, Seoul
Member Is Offline
|
| posted on 5/24/2006 at 06:53 AM |
|
|
| Code: |
function collapse_all() {
var o_item;
for (var i = 1; i < trees[0].tm5.length; i++) {
o_item = trees[0].tm5;
o_item.tmE(true); // if u check opend, use o_item.tmF
}
}
function expand_all() {
for (var i = 1; i < trees[0].tm5.length; i++) {
var o_item = trees[0].tm5;
o_item.tmE(false);
}
}
|
|
|
|
rhxk
Newbie
Posts: 1
Registered: 8/16/2006
Member Is Offline
|
| posted on 8/16/2006 at 12:42 PM |
|
|
OK,
So I downloaded the tree.js version 1.11 modified by TFI available on this forum....thanx for this...
I'm still unable to get the expand_all or collapse_all to work.
Here's my .html portion of the code:
| Code: |
<script language="JavaScript" src="tree.js"></script>
<script language="JavaScript" src="tree_items.js"></script>
<script language="JavaScript" src="tree_tpl.js"></script>
<!-- Body -->
<table cellpadding="0" cellspacing="0" border="0" bgcolor="#4682B4">
<tr><td class="intd" bgcolor="#faebd7">
<p><a href="#" onclick="expand_or_collapse_all('hello_tree', false);">Open</a> | <a href="#"
onclick="expand_or_collapse_all('hello_tree', true);">Collapse</a></p>
</td></tr>
<tr><td class="intd" bgcolor="#faebd7">
<script language="JavaScript">
<!--
hello_tree = new tree (TREE_ITEMS, tree_tpl);
expand_or_collapse_all (hello_tree, true);
//-->
</script>
</td></tr>
</table>
<!-- /Body -->
|
And when I click on it, the IE javascript error window says "Error: 'a_index.length' is null or not an object"
Sorry as I'm new to this....how can I get this to work?
Thanx for any reply...
UPDATE: I got it to work.....apparently the call from onclick="expand_or_collapse_all('hello_tree', false);" .....the hello_tree is not supposed
to be in quotes. just have onclick="expand_or_collapse_all(hello_tree, false);"
|
|
|
lubosdz
Newbie
Posts: 1
Registered: 5/1/2007
Member Is Offline
|
| posted on 5/6/2007 at 08:14 PM |
|
|
dont use functions using *a_index* array anymore...
hi guyzz,
it looks like the code for TREE MENU has been rewritten from scratch, I tried to use almost all function in this thread, however always ended up with
error msg like "object index_a has no properties" or similar. Then I found out, that the code uses completely new function and names and object
arrays, and for current version of free TIGRA TREE MENU you cannot use previous routines from here.
This is function for expanding - collapsing all branches of tree menu (new re-written code):
function expand_or_collapse_all (o_tree) {
for (var i = 1; i < o_tree.tm5.length; i++) {
o_tree.tmB(i);
}
}
USAGE:
act_tree = new tree (TREE_ITEMS, TREE_TPL);
<a href="#" onclick="expand_or_collapse_all(act_tree);">» Open - Collapse all items «</a>
Regards & thanx for great code!
XL:-)
|
|
|
tigra
Administrator
Posts: 1868
Registered: 6/17/2002
Location: US, CO
Member Is Offline
|
| posted on 5/7/2007 at 02:01 AM |
|
|
The difference is in the tree.js that you use. We supply formatted version and compressed version. All the samples in this forum were for the
formatted version, yours looks like it's for compressed script.
|
|
|