Recent Questions
Q: We are registered users of the Deluxe Menu software. Today I tried to use the Javascript API, but there is something I do not understand and want to ask for support.
First, I set up a very simple menu:
var menuItems=[
['Menu 1'],
['|Submenu 1'],
['Menu 2'],
['|Submenu 2'],
];
This menu is built via dm_init().
Then, I inspect the menu (in Firebug):
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
Ok, there are three submenus. Now I am going to delete one of them:
>>> dm_ext_deleteItem(0, 0, 1)
"Menu 2" disappears on the screen, this works as expected. But now when I re-inspect the menu using the API, I find that the API reports exactly the same as before:
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
So, it seems the report function continues to know about the original menu structure and reflects it. Am I using the API in a wrong way?
The problem I want to solve is to remove the entire menu dinamico dhtml, in order to rebuild it dynamically. Because I did not see a function aimed to this functionality, my plan was to delete all main menu entries subsequently until the main menu inspector no longer reports an entry. Is there (a better) way to achieve this?
A: Unfortunately, dm_ext_deleteItem() only change visibility of theseitems.
It doesn't delete them completely.
We'll try to fix it in the next versions of Deluxe Menu.
Q: I am now running the newest version, all ok. A new client wants to have submenus openFor the left hand menu navigation that I purchased, can I choose what dhtml tree menus will be expanded or collapsed when the user first comes to the webpage for the first time?
For instance, right now, when the user first goes to the page ALL of the menus are collapsed. If I wanted the first and third tree menus to be expanded and the others to stay collapsed when a new user first went to the page, how would I accomplish that?
Thank you very much for your help. on mouse rollover as well as on mouse click. Is this possible with tree menu in XP style?
A: You can expand some items by default.
Add '+' sign before items text in that case:
["+Deluxe Tree: XP Style","", "deluxe-tree.files/xpicon1_s.gif", "", "", "XP Title Tip", "", "0", "", "", ],
["|Home","testlink.htm", "deluxe-tree.files/icon1_s.gif", "deluxe-tree.files/icon1_so.gif", "", "Home Page Tip", "", "", "", "data-new.js", ],
"Deluxe Tree: XP Style" item will be expanded by default in that case.
Use var texpanded=1; parameter to expand all menu items by default.
Use function dtreet_ext_expandItem (itemID, expand) API function to expand the specificmenu items dynamically:
http://deluxe-tree.com/functions-info.htmlQ: Is there a way to have the menu stay expanded in the same exact state when
I click on a menu item of the javascript tree view and go to a new page?
A: There is no need to write additional code on a server side to remember what items were expanded/collapsed.
DHTML Tree Menu can save items state automatically.
Please, see the example of the menu that works with cookies:
http://dhtml-menu.com/tree-examples/tree-menuxp-save-state.html
Set the following parameter:
var tsaveState = 1;
and the menu remembers its structure for each user who visit your page.
Try to expand/collapse items. Then reload the page and you'll see results.
Q: Thank you for your prompt reply. But i was wondering where should I paste this code? Can you please explain the working of the javascript toolbar menu function
dm_ext_changeItemVisibility (menuInd, submenuInd, itemInd, visibility)
I have 5 items in the javascript toolbar menu : Admin Options, Status Report, Remarks, Edit Profile, Data Entry.
I want to disable some fields for different users.
I have 3 role id's set in my database.
I want certain fields disabled for different users.
For eg : For Roleid =1 , i.e admin , I want all items to be visible.
For Roleid =2 , i dont want the Admin Options to be visible.
For Roleid=3 , I dont want Admin Options & Status reports.
Can you please elaborate on the working of the changeItemVisibility function. I was confused as there were no examples to demonstrate the code.
A: Notice also that you should set
var dynamic=1;
parameter to use API functions.