From 4429ffa4b9cb4d611462c027fb6f1926fc5da586 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Mon, 18 Oct 2010 19:25:33 +0000 Subject: [PATCH] add dhtmlxMenu as context menu for dhtmxTree --- .../dhtmlxMenu/codebase/dhtmlxcommon.js | 928 +++++++ .../dhtmlxMenu/codebase/dhtmlxmenu.js | 56 + .../dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js | 18 + .../imgs/dhxmenu_dhx_black/dhtmlxmenu_bg.gif | Bin 0 -> 195 bytes .../dhxmenu_dhx_black/dhtmlxmenu_chrd.gif | Bin 0 -> 372 bytes .../dhxmenu_dhx_black/dhtmlxmenu_loader.gif | Bin 0 -> 401 bytes .../dhxmenu_dhx_black/dhtmlxmenu_subar.gif | Bin 0 -> 111 bytes .../dhxmenu_dhx_black/dhtmlxmenu_subsepbg.gif | Bin 0 -> 56 bytes .../dhxmenu_dhx_black/dhtmlxmenu_upar.gif | Bin 0 -> 124 bytes .../imgs/dhxmenu_dhx_blue/dhtmlxmenu_bg.gif | Bin 0 -> 194 bytes .../imgs/dhxmenu_dhx_blue/dhtmlxmenu_chrd.gif | Bin 0 -> 372 bytes .../dhxmenu_dhx_blue/dhtmlxmenu_loader.gif | Bin 0 -> 401 bytes .../dhxmenu_dhx_blue/dhtmlxmenu_subar.gif | Bin 0 -> 119 bytes .../dhxmenu_dhx_blue/dhtmlxmenu_subsepbg.gif | Bin 0 -> 56 bytes .../imgs/dhxmenu_dhx_blue/dhtmlxmenu_upar.gif | Bin 0 -> 106 bytes .../dhxmenu_dhx_skyblue/dhtmlxmenu_chrd.gif | Bin 0 -> 372 bytes .../dhxmenu_dhx_skyblue/dhtmlxmenu_loader.gif | Bin 0 -> 401 bytes .../dhxmenu_dhx_skyblue/dhtmlxmenu_subar.gif | Bin 0 -> 119 bytes .../dhxmenu_dhx_skyblue/dhtmlxmenu_upar.gif | Bin 0 -> 106 bytes .../dhxmenu_bg_acccell.gif | Bin 0 -> 52 bytes .../dhxmenu_dhx_skyblue/dhxmenu_subselbg.gif | Bin 0 -> 164 bytes .../dhxmenu_dhx_skyblue/dhxmenu_subsepbg.gif | Bin 0 -> 56 bytes .../dhxmenu_dhx_skyblue/dhxmenu_topselbg.gif | Bin 0 -> 170 bytes .../dhxmenu_dhx_skyblue/dhxmenu_topsepbg.gif | Bin 0 -> 122 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_chrd.gif | Bin 0 -> 2509 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_loader.gif | Bin 0 -> 1683 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_subar.gif | Bin 0 -> 1188 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_subselbg.gif | Bin 0 -> 52 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_subsepbg.gif | Bin 0 -> 1094 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_topbg.gif | Bin 0 -> 66 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_topselbg.gif | Bin 0 -> 66 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_topsepbg.gif | Bin 0 -> 68 bytes .../imgs/dhxmenu_dhx_web/dhxmenu_upar.gif | Bin 0 -> 1930 bytes .../codebase/skins/dhtmlxmenu_dhx_black.css | 342 +++ .../codebase/skins/dhtmlxmenu_dhx_blue.css | 342 +++ .../codebase/skins/dhtmlxmenu_dhx_skyblue.css | 345 +++ .../codebase/skins/dhtmlxmenu_dhx_web.css | 364 +++ phpgwapi/js/dhtmlxtree/dhtmlxMenu/readme.txt | 3 + .../samples/01_init/01_init_from_xml.html | 87 + .../samples/01_init/03_init_from_script.html | 123 + .../samples/01_init/04_first_item_usual.html | 152 ++ .../samples/01_init/05_dynamic_loading.html | 83 + .../samples/01_init/06_api_simple.html | 83 + .../samples/01_init/07_api_ext.html | 205 ++ .../samples/01_init/08_skinning.html | 146 ++ .../samples/01_init/09_clearall.html | 108 + .../dhtmlxMenu/samples/01_init/10_unload.html | 141 ++ .../dhtmlxMenu/samples/01_init/index.html | 45 + .../samples/02_context/01_context.html | 90 + .../samples/02_context/02_context_api.html | 90 + .../samples/02_context/03_context_zones.html | 139 ++ .../02_context/04_context_dynamic.html | 86 + .../02_context/05_context_hide_all.html | 126 + .../02_context/06_context_first_item.html | 132 + .../02_context/07_context_on_body.html | 54 + .../samples/02_context/inc/context_body.html | 29 + .../dhtmlxMenu/samples/02_context/index.html | 45 + .../samples/03_features/01_open_mode.html | 118 + .../samples/03_features/02_overflow.html | 95 + .../samples/03_features/03_visible_area.html | 101 + .../samples/03_features/04_align.html | 92 + .../samples/03_features/05_toptext.html | 87 + .../samples/03_features/06_hrefs.html | 77 + .../dhtmlxMenu/samples/03_features/index.html | 45 + .../samples/04_items/01_iterator.html | 111 + .../samples/04_items/02_manipulations.html | 313 +++ .../samples/04_items/03_visibility.html | 142 ++ .../dhtmlxMenu/samples/04_items/04_state.html | 145 ++ .../dhtmlxMenu/samples/04_items/05_text.html | 144 ++ .../samples/04_items/06_position.html | 148 ++ .../samples/04_items/07_userdata.html | 156 ++ .../samples/04_items/08_images.html | 185 ++ .../dhtmlxMenu/samples/04_items/index.html | 45 + .../samples/05_events/01_events_single.html | 149 ++ .../samples/05_events/02_events_dynamic.html | 132 + .../samples/05_events/03_events_context.html | 171 ++ .../05_events/04_events_single_cas.html | 105 + .../05_events/05_events_context_cas.html | 113 + .../dhtmlxMenu/samples/05_events/index.html | 45 + .../06_radios_checks/01_radios_checks.html | 83 + .../samples/06_radios_checks/02_events.html | 106 + .../samples/06_radios_checks/index.html | 45 + .../dhtmlxMenu/samples/common/config.php | 16 + .../dhtmlxMenu/samples/common/css/style.css | 484 ++++ .../samples/common/dhtmlxmenu_dl.php | 45 + .../dhtmlxMenu/samples/common/dhxmenu.xml | 31 + .../dhtmlxMenu/samples/common/dhxmenu2.xml | 24 + .../samples/common/dhxmenu_links.xml | 27 + .../samples/common/dhxmenu_radios.xml | 41 + .../samples/common/dynamic_loading.sql | 78 + .../samples/common/icons/accordion.gif | Bin 0 -> 394 bytes .../dhtmlxMenu/samples/common/icons/ajax.gif | Bin 0 -> 371 bytes .../dhtmlxMenu/samples/common/icons/arrow.gif | Bin 0 -> 185 bytes .../samples/common/icons/bullet.gif | Bin 0 -> 51 bytes .../samples/common/icons/calendar.gif | Bin 0 -> 207 bytes .../dhtmlxMenu/samples/common/icons/chart.gif | Bin 0 -> 1671 bytes .../dhtmlxMenu/samples/common/icons/chm.gif | Bin 0 -> 671 bytes .../samples/common/icons/colorpicker.gif | Bin 0 -> 352 bytes .../dhtmlxMenu/samples/common/icons/combo.gif | Bin 0 -> 186 bytes .../samples/common/icons/connector.gif | Bin 0 -> 635 bytes .../samples/common/icons/dataprocessor.gif | Bin 0 -> 173 bytes .../samples/common/icons/dataview.gif | Bin 0 -> 222 bytes .../samples/common/icons/editor.gif | Bin 0 -> 280 bytes .../dhtmlxMenu/samples/common/icons/file.gif | Bin 0 -> 622 bytes .../samples/common/icons/file_link.gif | Bin 0 -> 1109 bytes .../samples/common/icons/folders.gif | Bin 0 -> 637 bytes .../dhtmlxMenu/samples/common/icons/form.gif | Bin 0 -> 153 bytes .../dhtmlxMenu/samples/common/icons/gantt.gif | Bin 0 -> 1010 bytes .../dhtmlxMenu/samples/common/icons/grid.gif | Bin 0 -> 191 bytes .../samples/common/icons/layout.gif | Bin 0 -> 635 bytes .../dhtmlxMenu/samples/common/icons/menu.gif | Bin 0 -> 270 bytes .../dhtmlxMenu/samples/common/icons/none.gif | Bin 0 -> 45 bytes .../dhtmlxMenu/samples/common/icons/old.gif | Bin 0 -> 388 bytes .../dhtmlxMenu/samples/common/icons/pdf.gif | Bin 0 -> 646 bytes .../samples/common/icons/scheduler.gif | Bin 0 -> 432 bytes .../samples/common/icons/slider.gif | Bin 0 -> 363 bytes .../samples/common/icons/source.gif | Bin 0 -> 333 bytes .../samples/common/icons/tabbar.gif | Bin 0 -> 258 bytes .../samples/common/icons/toolbar.gif | Bin 0 -> 243 bytes .../dhtmlxMenu/samples/common/icons/tree.gif | Bin 0 -> 261 bytes .../samples/common/icons/treegrid.gif | Bin 0 -> 322 bytes .../dhtmlxMenu/samples/common/icons/vault.gif | Bin 0 -> 262 bytes .../samples/common/icons/windows.gif | Bin 0 -> 267 bytes .../samples/common/img/6_IE_inside2.png | Bin 0 -> 1543 bytes .../dhtmlxMenu/samples/common/img/Thumbs.db | Bin 0 -> 71680 bytes .../dhtmlxMenu/samples/common/img/arrow.gif | Bin 0 -> 59 bytes .../samples/common/img/bookmark.gif | Bin 0 -> 1388 bytes .../samples/common/img/border-dotted-ccc.gif | Bin 0 -> 44 bytes .../samples/common/img/border-dotted.gif | Bin 0 -> 44 bytes .../dhtmlxMenu/samples/common/img/bullet.gif | Bin 0 -> 51 bytes .../samples/common/img/doc-button.png | Bin 0 -> 607 bytes .../samples/common/img/doc-button_inact.png | Bin 0 -> 916 bytes .../samples/common/img/footer-bg.gif | Bin 0 -> 43 bytes .../samples/common/img/footer-logo.gif | Bin 0 -> 501 bytes .../samples/common/img/grid-placeholder.gif | Bin 0 -> 15903 bytes .../dhtmlxMenu/samples/common/img/head_bg.png | Bin 0 -> 250 bytes .../dhtmlxMenu/samples/common/img/logo.png | Bin 0 -> 3549 bytes .../samples/common/img/logo_accordion.gif | Bin 0 -> 2621 bytes .../samples/common/img/logo_ajax.gif | Bin 0 -> 2672 bytes .../samples/common/img/logo_calendar.gif | Bin 0 -> 1122 bytes .../samples/common/img/logo_chart.gif | Bin 0 -> 2292 bytes .../samples/common/img/logo_colorpicker.gif | Bin 0 -> 1300 bytes .../samples/common/img/logo_combo.gif | Bin 0 -> 2031 bytes .../samples/common/img/logo_connector.gif | Bin 0 -> 3175 bytes .../samples/common/img/logo_dataview.gif | Bin 0 -> 4334 bytes .../samples/common/img/logo_editor.gif | Bin 0 -> 1766 bytes .../samples/common/img/logo_folders.gif | Bin 0 -> 3009 bytes .../samples/common/img/logo_form.gif | Bin 0 -> 1412 bytes .../samples/common/img/logo_gantt.gif | Bin 0 -> 2025 bytes .../samples/common/img/logo_grid.gif | Bin 0 -> 2038 bytes .../samples/common/img/logo_layout.gif | Bin 0 -> 2834 bytes .../samples/common/img/logo_menu.gif | Bin 0 -> 2120 bytes .../samples/common/img/logo_scheduler.gif | Bin 0 -> 2359 bytes .../samples/common/img/logo_slider.gif | Bin 0 -> 2698 bytes .../samples/common/img/logo_tabbar.gif | Bin 0 -> 1513 bytes .../samples/common/img/logo_toolbar.gif | Bin 0 -> 1954 bytes .../samples/common/img/logo_tree.gif | Bin 0 -> 1495 bytes .../samples/common/img/logo_treegrid.gif | Bin 0 -> 1600 bytes .../samples/common/img/logo_vault.gif | Bin 0 -> 1801 bytes .../samples/common/img/logo_windows.gif | Bin 0 -> 1190 bytes .../samples/common/img/samples-but.png | Bin 0 -> 525 bytes .../samples/common/img/samples-but_inact.png | Bin 0 -> 796 bytes .../samples/common/img/search-button.png | Bin 0 -> 730 bytes .../samples/common/img/search-field.png | Bin 0 -> 338 bytes .../samples/common/img/source-bg.gif | Bin 0 -> 43 bytes .../dhtmlxMenu/samples/common/img/source.gif | Bin 0 -> 270 bytes .../samples/common/img/toc-arrow.gif | Bin 0 -> 70 bytes .../samples/common/img/toolbar5.944_left2.png | Bin 0 -> 3099 bytes .../dhtmlxMenu/samples/common/imgs/about.gif | Bin 0 -> 626 bytes .../samples/common/imgs/about_dis.gif | Bin 0 -> 1465 bytes .../samples/common/imgs/bug_reporting.gif | Bin 0 -> 1015 bytes .../samples/common/imgs/bug_reporting_dis.gif | Bin 0 -> 1662 bytes .../dhtmlxMenu/samples/common/imgs/close.gif | Bin 0 -> 382 bytes .../samples/common/imgs/close_dis.gif | Bin 0 -> 1431 bytes .../dhtmlxMenu/samples/common/imgs/copy.gif | Bin 0 -> 598 bytes .../samples/common/imgs/copy_dis.gif | Bin 0 -> 1435 bytes .../dhtmlxMenu/samples/common/imgs/cut.gif | Bin 0 -> 608 bytes .../samples/common/imgs/cut_dis.gif | Bin 0 -> 1440 bytes .../dhtmlxMenu/samples/common/imgs/help.gif | Bin 0 -> 1076 bytes .../samples/common/imgs/help_dis.gif | Bin 0 -> 1716 bytes .../dhtmlxMenu/samples/common/imgs/new.gif | Bin 0 -> 586 bytes .../samples/common/imgs/new_dis.gif | Bin 0 -> 1418 bytes .../dhtmlxMenu/samples/common/imgs/open.gif | Bin 0 -> 628 bytes .../samples/common/imgs/open_dis.gif | Bin 0 -> 1463 bytes .../samples/common/imgs/page_setup.gif | Bin 0 -> 1659 bytes .../samples/common/imgs/page_setup_dis.gif | Bin 0 -> 597 bytes .../dhtmlxMenu/samples/common/imgs/paste.gif | Bin 0 -> 382 bytes .../samples/common/imgs/paste_dis.gif | Bin 0 -> 1427 bytes .../dhtmlxMenu/samples/common/imgs/print.gif | Bin 0 -> 387 bytes .../samples/common/imgs/print_dis.gif | Bin 0 -> 1437 bytes .../dhtmlxMenu/samples/common/imgs/redo.gif | Bin 0 -> 327 bytes .../samples/common/imgs/redo_dis.gif | Bin 0 -> 1377 bytes .../dhtmlxMenu/samples/common/imgs/save.gif | Bin 0 -> 391 bytes .../samples/common/imgs/save_as.gif | Bin 0 -> 1663 bytes .../samples/common/imgs/save_as_dis.gif | Bin 0 -> 404 bytes .../samples/common/imgs/save_dis.gif | Bin 0 -> 1441 bytes .../samples/common/imgs/select_all.gif | Bin 0 -> 605 bytes .../samples/common/imgs/select_all_dis.gif | Bin 0 -> 1655 bytes .../dhtmlxMenu/samples/common/imgs/undo.gif | Bin 0 -> 327 bytes .../samples/common/imgs/undo_dis.gif | Bin 0 -> 1377 bytes .../samples/common/imgs2/addons.gif | Bin 0 -> 614 bytes .../samples/common/imgs2/console.gif | Bin 0 -> 646 bytes .../samples/common/imgs2/downloads.gif | Bin 0 -> 384 bytes .../samples/common/imgs2/fullscreen_mode.gif | Bin 0 -> 243 bytes .../samples/common/imgs2/page_info.gif | Bin 0 -> 1076 bytes .../samples/common/imgs2/private_data.gif | Bin 0 -> 372 bytes .../samples/common/imgs2/reload.gif | Bin 0 -> 1027 bytes .../samples/common/imgs2/search.gif | Bin 0 -> 360 bytes .../samples/common/imgs2/source_code.gif | Bin 0 -> 1089 bytes .../samples/common/imgs2/zoom_100.gif | Bin 0 -> 583 bytes .../samples/common/imgs2/zoom_in.gif | Bin 0 -> 582 bytes .../samples/common/imgs2/zoom_out.gif | Bin 0 -> 573 bytes .../dhtmlxMenu/samples/common/imgs3/about.gif | Bin 0 -> 619 bytes .../samples/common/imgs3/bug_reporting.gif | Bin 0 -> 1009 bytes .../dhtmlxMenu/samples/common/imgs3/close.gif | Bin 0 -> 379 bytes .../dhtmlxMenu/samples/common/imgs3/copy.gif | Bin 0 -> 591 bytes .../dhtmlxMenu/samples/common/imgs3/cut.gif | Bin 0 -> 603 bytes .../dhtmlxMenu/samples/common/imgs3/help.gif | Bin 0 -> 1063 bytes .../dhtmlxMenu/samples/common/imgs3/new.gif | Bin 0 -> 580 bytes .../dhtmlxMenu/samples/common/imgs3/open.gif | Bin 0 -> 624 bytes .../samples/common/imgs3/page_setup_dis.gif | Bin 0 -> 604 bytes .../dhtmlxMenu/samples/common/imgs3/paste.gif | Bin 0 -> 376 bytes .../dhtmlxMenu/samples/common/imgs3/print.gif | Bin 0 -> 375 bytes .../dhtmlxMenu/samples/common/imgs3/redo.gif | Bin 0 -> 324 bytes .../dhtmlxMenu/samples/common/imgs3/save.gif | Bin 0 -> 387 bytes .../samples/common/imgs3/save_as_dis.gif | Bin 0 -> 388 bytes .../samples/common/imgs3/select_all.gif | Bin 0 -> 599 bytes .../dhtmlxMenu/samples/common/imgs3/undo.gif | Bin 0 -> 324 bytes .../dhtmlxtree/dhtmlxMenu/samples/index.html | 42 + .../dhtmlxMenu/sources/dhtmlxcommon.js | 928 +++++++ .../dhtmlxMenu/sources/dhtmlxmenu.js | 2190 +++++++++++++++++ .../dhtmlxMenu/sources/ext/dhtmlxmenu_ext.js | 998 ++++++++ .../dhtmlxTree/sources/dhtmlxtree.js | 3 +- .../docsExplorer/dhtmlxmenu/_media.txt | 7 + .../docsExplorer/dhtmlxmenu/_structure.xml | 1 + .../dhtmlxmenu/common___any_ed.gif | Bin 0 -> 143 bytes .../dhtmlxmenu___api_constructor.html | 161 ++ .../dhtmlxmenu___api_constructor_object.html | 218 ++ ...i_method_dhtmlxmenuobject_addcheckbox.html | 145 ++ ...ethod_dhtmlxmenuobject_addcontextzone.html | 147 ++ ...i_method_dhtmlxmenuobject_addnewchild.html | 145 ++ ...thod_dhtmlxmenuobject_addnewseparator.html | 135 + ...method_dhtmlxmenuobject_addnewsibling.html | 143 ++ ...ethod_dhtmlxmenuobject_addradiobutton.html | 147 ++ ...i_method_dhtmlxmenuobject_attachevent.html | 153 ++ ...pi_method_dhtmlxmenuobject_checkevent.html | 133 + ..._api_method_dhtmlxmenuobject_clearall.html | 128 + ...api_method_dhtmlxmenuobject_clearhref.html | 133 + ...ethod_dhtmlxmenuobject_clearitemimage.html | 133 + ...i_method_dhtmlxmenuobject_detachevent.html | 135 + ...dhtmlxmenuobject_enabledynamicloading.html | 135 + ...hod_dhtmlxmenuobject_getcheckboxstate.html | 133 + ...xmenuobject_getcontextmenuhideallmode.html | 128 + ...api_method_dhtmlxmenuobject_gethotkey.html | 133 + ..._method_dhtmlxmenuobject_getitemimage.html | 133 + ...thod_dhtmlxmenuobject_getitemposition.html | 133 + ...i_method_dhtmlxmenuobject_getitemtext.html | 133 + ...i_method_dhtmlxmenuobject_getitemtype.html | 133 + ...i_method_dhtmlxmenuobject_getparentid.html | 133 + ...thod_dhtmlxmenuobject_getradiochecked.html | 133 + ...pi_method_dhtmlxmenuobject_gettooltip.html | 133 + ...i_method_dhtmlxmenuobject_getuserdata.html | 135 + ...nu___api_method_dhtmlxmenuobject_hide.html | 128 + ...thod_dhtmlxmenuobject_hidecontextmenu.html | 128 + ..._api_method_dhtmlxmenuobject_hideitem.html | 133 + ...method_dhtmlxmenuobject_iscontextzone.html | 151 ++ ...method_dhtmlxmenuobject_isitemenabled.html | 133 + ..._method_dhtmlxmenuobject_isitemhidden.html | 133 + ..._method_dhtmlxmenuobject_loadfromhtml.html | 161 ++ ...__api_method_dhtmlxmenuobject_loadxml.html | 144 ++ ...method_dhtmlxmenuobject_loadxmlstring.html | 140 ++ ...od_dhtmlxmenuobject_removecontextzone.html | 133 + ...pi_method_dhtmlxmenuobject_removeitem.html | 133 + ..._dhtmlxmenuobject_renderascontextmenu.html | 128 + ..._api_method_dhtmlxmenuobject_setalign.html | 133 + ...thod_dhtmlxmenuobject_setautohidemode.html | 133 + ...thod_dhtmlxmenuobject_setautoshowmode.html | 133 + ...hod_dhtmlxmenuobject_setcheckboxstate.html | 135 + ...xmenuobject_setcontextmenuhideallmode.html | 133 + ...api_method_dhtmlxmenuobject_sethotkey.html | 135 + ...__api_method_dhtmlxmenuobject_sethref.html | 137 ++ ..._method_dhtmlxmenuobject_seticonspath.html | 133 + ..._method_dhtmlxmenuobject_setimagepath.html | 126 + ...thod_dhtmlxmenuobject_setitemdisabled.html | 133 + ...ethod_dhtmlxmenuobject_setitemenabled.html | 135 + ..._method_dhtmlxmenuobject_setitemimage.html | 137 ++ ...thod_dhtmlxmenuobject_setitemposition.html | 143 ++ ...i_method_dhtmlxmenuobject_setitemtext.html | 135 + ...i_method_dhtmlxmenuobject_setopenmode.html | 133 + ...od_dhtmlxmenuobject_setoverflowheight.html | 133 + ...thod_dhtmlxmenuobject_setradiochecked.html | 135 + ...___api_method_dhtmlxmenuobject_setrtl.html | 133 + ...__api_method_dhtmlxmenuobject_setskin.html | 133 + ...pi_method_dhtmlxmenuobject_settooltip.html | 135 + ...pi_method_dhtmlxmenuobject_settoptext.html | 133 + ...i_method_dhtmlxmenuobject_setuserdata.html | 137 ++ ...ethod_dhtmlxmenuobject_setvisiblearea.html | 135 + ...od_dhtmlxmenuobject_setwebmodetimeout.html | 133 + ...thod_dhtmlxmenuobject_showcontextmenu.html | 135 + ..._api_method_dhtmlxmenuobject_showitem.html | 133 + ...___api_method_dhtmlxmenuobject_unload.html | 132 + .../dhtmlxmenu___api_toc_alpha.html | 257 ++ .../dhtmlxmenu___api_toc_categories.html | 449 ++++ .../dhtmlxmenu/dhtmlxmenu___api_toc_ext.html | 265 ++ .../dhtmlxmenu___ddvbbsvw_7fsjpsffw_b.png | Bin 0 -> 34438 bytes ...mlxmenu___dhtmlxmenu_init_constructor.html | 283 +++ ...lxmenu___dhtmlxmenu_init_data_loading.html | 313 +++ ...u___dhtmlxmenu_init_global_parameters.html | 266 ++ ...dhtmlxmenu___dhtmlxmenu_init_skinning.html | 155 ++ .../dhtmlxmenu___dhxmenu_skin_dhx_black.png | Bin 0 -> 9057 bytes .../dhtmlxmenu___dhxmenu_skin_dhx_blue.png | Bin 0 -> 9151 bytes .../dhtmlxmenu___dhxmenu_skin_dhx_skyblue.png | Bin 0 -> 8270 bytes .../dhtmlxmenu___event_handling.html | 184 ++ ...dhtmlxmenu___event_onaftercontextmenu.html | 126 + ...htmlxmenu___event_onbeforecontextmenu.html | 134 + .../dhtmlxmenu___event_oncheckboxclick.html | 159 ++ .../dhtmlxmenu___event_onclick_ontouch.html | 160 ++ .../dhtmlxmenu___event_onradioclick.html | 161 ++ .../dhtmlxmenu/dhtmlxmenu___event_onxle.html | 127 + .../dhtmlxmenu/dhtmlxmenu___event_onxls.html | 127 + .../dhtmlxmenu___from_20_to_25.html | 211 ++ .../dhtmlxmenu___initializing_dhtmlxmenu.html | 131 + ...lxmenu___items_settings_manipulations.html | 520 ++++ .../dhtmlxmenu/dhtmlxmenu___used_terms.html | 143 ++ .../dhtmlxmenu___xml_format_template.html | 190 ++ .../docsExplorer/dhtmlxmenu/icons___file.gif | Bin 0 -> 622 bytes .../docsExplorer/dhtmlxmenu/icons___menu.gif | Bin 0 -> 270 bytes .../docsExplorer/dhtmlxmenu/index.html | 231 ++ .../others___supported_browsers.html | 130 + .../js/dhtmlxtree/docsExplorer/index.html | 3 +- .../js/dhtmlxtree/docsExplorer/samples.html | 3 +- 331 files changed, 25872 insertions(+), 3 deletions(-) create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxcommon.js create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxmenu.js create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_bg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_chrd.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_loader.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_subar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_subsepbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_upar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_bg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_chrd.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_loader.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_subar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_subsepbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_upar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_chrd.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_loader.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_subar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_upar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_bg_acccell.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_subselbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_subsepbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_topselbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_topsepbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_chrd.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_loader.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_subar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_subselbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_subsepbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_topbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_topselbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_topsepbg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_upar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_black.css create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_blue.css create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/readme.txt create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/01_init_from_xml.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/03_init_from_script.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/04_first_item_usual.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/05_dynamic_loading.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/06_api_simple.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/07_api_ext.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/08_skinning.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/09_clearall.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/10_unload.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/index.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/01_context.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/02_context_api.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/03_context_zones.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/04_context_dynamic.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/05_context_hide_all.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/06_context_first_item.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/07_context_on_body.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/inc/context_body.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/index.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/01_open_mode.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/02_overflow.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/03_visible_area.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/04_align.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/05_toptext.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/06_hrefs.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/index.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/01_iterator.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/02_manipulations.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/03_visibility.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/04_state.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/05_text.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/06_position.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/07_userdata.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/08_images.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/index.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/01_events_single.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/02_events_dynamic.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/03_events_context.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/04_events_single_cas.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/05_events_context_cas.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/index.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/01_radios_checks.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/02_events.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/index.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/config.php create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/css/style.css create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhtmlxmenu_dl.php create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu.xml create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu2.xml create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_links.xml create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_radios.xml create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dynamic_loading.sql create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/accordion.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/ajax.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/arrow.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/bullet.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/calendar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/chart.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/chm.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/colorpicker.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/combo.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/connector.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/dataprocessor.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/dataview.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/editor.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/file.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/file_link.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/folders.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/form.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/gantt.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/grid.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/layout.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/menu.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/none.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/old.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/pdf.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/scheduler.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/slider.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/source.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/tabbar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/toolbar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/tree.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/treegrid.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/vault.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/windows.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/6_IE_inside2.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/Thumbs.db create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/arrow.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/bookmark.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/border-dotted-ccc.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/border-dotted.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/bullet.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/doc-button.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/doc-button_inact.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/footer-bg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/footer-logo.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/grid-placeholder.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/head_bg.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_accordion.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_ajax.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_calendar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_chart.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_colorpicker.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_combo.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_connector.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_dataview.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_editor.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_folders.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_form.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_gantt.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_grid.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_layout.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_menu.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_scheduler.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_slider.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_tabbar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_toolbar.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_tree.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_treegrid.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_vault.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_windows.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/samples-but.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/samples-but_inact.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/search-button.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/search-field.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/source-bg.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/source.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/toc-arrow.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/toolbar5.944_left2.png create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/about.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/about_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/bug_reporting.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/bug_reporting_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/close.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/close_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/copy.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/copy_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/cut.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/cut_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/help.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/help_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/new.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/new_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/open.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/open_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/page_setup.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/page_setup_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/paste.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/paste_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/print.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/print_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/redo.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/redo_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save_as.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save_as_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/select_all.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/select_all_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/undo.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/undo_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/addons.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/console.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/downloads.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/fullscreen_mode.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/page_info.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/private_data.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/reload.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/search.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/source_code.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_100.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_in.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_out.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/about.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/bug_reporting.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/close.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/copy.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/cut.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/help.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/new.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/open.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/page_setup_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/paste.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/print.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/redo.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/save.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/save_as_dis.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/select_all.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/undo.gif create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/index.html create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxcommon.js create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxmenu.js create mode 100755 phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/ext/dhtmlxmenu_ext.js create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_media.txt create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_structure.xml create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/common___any_ed.gif create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_constructor.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_constructor_object.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcheckbox.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcontextzone.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewchild.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewseparator.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewsibling.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addradiobutton.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_attachevent.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_checkevent.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearall.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearhref.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearitemimage.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_detachevent.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_enabledynamicloading.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcheckboxstate.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcontextmenuhideallmode.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gethotkey.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemimage.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemposition.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtext.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtype.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getparentid.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getradiochecked.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gettooltip.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getuserdata.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hide.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hidecontextmenu.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hideitem.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_iscontextzone.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemenabled.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemhidden.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadfromhtml.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxml.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxmlstring.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removecontextzone.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removeitem.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_renderascontextmenu.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setalign.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautohidemode.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautoshowmode.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcheckboxstate.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcontextmenuhideallmode.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethotkey.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethref.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_seticonspath.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setimagepath.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemdisabled.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemenabled.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemimage.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemposition.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemtext.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setopenmode.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setoverflowheight.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setradiochecked.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setrtl.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setskin.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settooltip.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settoptext.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setuserdata.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setvisiblearea.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setwebmodetimeout.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showcontextmenu.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showitem.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_unload.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_alpha.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_categories.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_ext.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___ddvbbsvw_7fsjpsffw_b.png create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_constructor.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_data_loading.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_global_parameters.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_skinning.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhxmenu_skin_dhx_black.png create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhxmenu_skin_dhx_blue.png create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhxmenu_skin_dhx_skyblue.png create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_handling.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onaftercontextmenu.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onbeforecontextmenu.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_oncheckboxclick.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onclick_ontouch.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onradioclick.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxle.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxls.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___from_20_to_25.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___initializing_dhtmlxmenu.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___items_settings_manipulations.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___used_terms.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___xml_format_template.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/icons___file.gif create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/icons___menu.gif create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/index.html create mode 100755 phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/others___supported_browsers.html diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxcommon.js b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxcommon.js new file mode 100755 index 0000000000..e8144c718a --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxcommon.js @@ -0,0 +1,928 @@ +dhtmlx=function(obj){ + for (var a in obj) dhtmlx[a]=obj[a]; + return dhtmlx; //simple singleton +}; +dhtmlx.extend_api=function(name,map,ext){ + var t = window[name]; + if (!t) return; //component not defined + window[name]=function(obj){ + if (obj && typeof obj == "object" && !obj.tagName){ + var that = t.apply(this,(map._init?map._init(obj):arguments)); + //global settings + for (var a in dhtmlx) + if (map[a]) this[map[a]](dhtmlx[a]); + //local settings + for (var a in obj){ + if (map[a]) this[map[a]](obj[a]); + else if (a.indexOf("on")==0){ + this.attachEvent(a,obj[a]); + } + } + } else + var that = t.apply(this,arguments); + if (map._patch) map._patch(this); + return that||this; + }; + window[name].prototype=t.prototype; + if (ext) + dhtmlXHeir(window[name].prototype,ext); +}; + +dhtmlxAjax={ + get:function(url,callback){ + var t=new dtmlXMLLoaderObject(true); + t.async=(arguments.length<3); + t.waitCall=callback; + t.loadXML(url) + return t; + }, + post:function(url,post,callback){ + var t=new dtmlXMLLoaderObject(true); + t.async=(arguments.length<4); + t.waitCall=callback; + t.loadXML(url,true,post) + return t; + }, + getSync:function(url){ + return this.get(url,null,true) + }, + postSync:function(url,post){ + return this.post(url,post,null,true); + } +} + +/** + * @desc: xmlLoader object + * @type: private + * @param: funcObject - xml parser function + * @param: object - jsControl object + * @param: async - sync/async mode (async by default) + * @param: rSeed - enable/disable random seed ( prevent IE caching) + * @topic: 0 + */ +function dtmlXMLLoaderObject(funcObject, dhtmlObject, async, rSeed){ + this.xmlDoc=""; + + if (typeof (async) != "undefined") + this.async=async; + else + this.async=true; + + this.onloadAction=funcObject||null; + this.mainObject=dhtmlObject||null; + this.waitCall=null; + this.rSeed=rSeed||false; + return this; +}; +/** + * @desc: xml loading handler + * @type: private + * @param: dtmlObject - xmlLoader object + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){ + var once = true; + this.check=function (){ + if ((dhtmlObject)&&(dhtmlObject.onloadAction != null)){ + if ((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){ + if (!once) + return; + + once=false; //IE 5 fix + if (typeof dhtmlObject.onloadAction == "function") + dhtmlObject.onloadAction(dhtmlObject.mainObject, null, null, null, dhtmlObject); + + if (dhtmlObject.waitCall){ + dhtmlObject.waitCall.call(this,dhtmlObject); + dhtmlObject.waitCall=null; + } + } + } + }; + return this.check; +}; + +/** + * @desc: return XML top node + * @param: tagName - top XML node tag name (not used in IE, required for Safari and Mozilla) + * @type: private + * @returns: top XML node + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName, oldObj){ + if (this.xmlDoc.responseXML){ + var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName); + if(temp.length==0 && tagName.indexOf(":")!=-1) + var temp = this.xmlDoc.responseXML.getElementsByTagName((tagName.split(":"))[1]); + var z = temp[0]; + } else + var z = this.xmlDoc.documentElement; + + if (z){ + this._retry=false; + return z; + } + + if ((_isIE)&&(!this._retry)){ + //fall back to MS.XMLDOM + var xmlString = this.xmlDoc.responseText; + var oldObj = this.xmlDoc; + this._retry=true; + this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + this.xmlDoc.async=false; + this.xmlDoc["loadXM"+"L"](xmlString); + + return this.getXMLTopNode(tagName, oldObj); + } + dhtmlxError.throwError("LoadXML", "Incorrect XML", [ + (oldObj||this.xmlDoc), + this.mainObject + ]); + + return document.createElement("DIV"); +}; + +/** + * @desc: load XML from string + * @type: private + * @param: xmlString - xml string + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString){ + { + try{ + var parser = new DOMParser(); + this.xmlDoc=parser.parseFromString(xmlString, "text/xml"); + } + catch (e){ + this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + this.xmlDoc.async=this.async; + this.xmlDoc["loadXM"+"L"](xmlString); + } + } + + this.onloadAction(this.mainObject, null, null, null, this); + + if (this.waitCall){ + this.waitCall(); + this.waitCall=null; + } +} +/** + * @desc: load XML + * @type: private + * @param: filePath - xml file path + * @param: postMode - send POST request + * @param: postVars - list of vars for post request + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.loadXML=function(filePath, postMode, postVars, rpc){ + if (this.rSeed) + filePath+=((filePath.indexOf("?") != -1) ? "&" : "?")+"a_dhx_rSeed="+(new Date()).valueOf(); + this.filePath=filePath; + + if ((!_isIE)&&(window.XMLHttpRequest)) + this.xmlDoc=new XMLHttpRequest(); + else { + this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP"); + } + + if (this.async) + this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this); + this.xmlDoc.open(postMode ? "POST" : "GET", filePath, this.async); + + if (rpc){ + this.xmlDoc.setRequestHeader("User-Agent", "dhtmlxRPC v0.1 ("+navigator.userAgent+")"); + this.xmlDoc.setRequestHeader("Content-type", "text/xml"); + } + + else if (postMode) + this.xmlDoc.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + + this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest"); + this.xmlDoc.send(null||postVars); + + if (!this.async) + (new this.waitLoadFunction(this))(); +}; +/** + * @desc: destructor, cleans used memory + * @type: private + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.destructor=function(){ + this._filterXPath = null; + this._getAllNamedChilds = null; + this._retry = null; + this.async = null; + this.rSeed = null; + this.filePath = null; + this.onloadAction = null; + this.mainObject = null; + this.xmlDoc = null; + this.doXPath = null; + this.doXPathOpera = null; + this.doXSLTransToObject = null; + this.doXSLTransToString = null; + this.loadXML = null; + this.loadXMLString = null; + // this.waitLoadFunction = null; + this.doSerialization = null; + this.xmlNodeToJSON = null; + this.getXMLTopNode = null; + this.setXSLParamValue = null; + return null; +} + +dtmlXMLLoaderObject.prototype.xmlNodeToJSON = function(node){ + var t={}; + for (var i=0; i-1) + _isChrome=true; + +if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){ + var _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5)); + + if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+ + _isFF=true; + var _FFrv = 1.9; + } else + _isKHTML=true; +} else if (navigator.userAgent.indexOf('Opera') != -1){ + _isOpera=true; + _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3)); +} + + +else if (navigator.appName.indexOf("Microsoft") != -1){ + _isIE=true; + if (navigator.appVersion.indexOf("MSIE 8.0")!= -1 && document.compatMode != "BackCompat") _isIE=8; + if (navigator.appVersion.indexOf("MSIE 9.0")!= -1 && document.compatMode != "BackCompat") _isIE=8; +} else { + _isFF=true; + var _FFrv = parseFloat(navigator.userAgent.split("rv:")[1]) +} + + +//multibrowser Xpath processor +dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){ + if (_isKHTML || (!_isIE && !window.XPathResult)) + return this.doXPathOpera(xpathExp, docObj); + + if (_isIE){ //IE + if (!docObj) + if (!this.xmlDoc.nodeName) + docObj=this.xmlDoc.responseXML + else + docObj=this.xmlDoc; + + if (!docObj) + dhtmlxError.throwError("LoadXML", "Incorrect XML", [ + (docObj||this.xmlDoc), + this.mainObject + ]); + + if (namespace != null) + docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); // + + if (result_type == 'single'){ + return docObj.selectSingleNode(xpathExp); + } + else { + return docObj.selectNodes(xpathExp)||new Array(0); + } + } else { //Mozilla + var nodeObj = docObj; + + if (!docObj){ + if (!this.xmlDoc.nodeName){ + docObj=this.xmlDoc.responseXML + } + else { + docObj=this.xmlDoc; + } + } + + if (!docObj) + dhtmlxError.throwError("LoadXML", "Incorrect XML", [ + (docObj||this.xmlDoc), + this.mainObject + ]); + + if (docObj.nodeName.indexOf("document") != -1){ + nodeObj=docObj; + } + else { + nodeObj=docObj; + docObj=docObj.ownerDocument; + } + var retType = XPathResult.ANY_TYPE; + + if (result_type == 'single') + retType=XPathResult.FIRST_ORDERED_NODE_TYPE + var rowsCol = new Array(); + var col = docObj.evaluate(xpathExp, nodeObj, function(pref){ + return namespace + }, retType, null); + + if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){ + return col.singleNodeValue; + } + var thisColMemb = col.iterateNext(); + + while (thisColMemb){ + rowsCol[rowsCol.length]=thisColMemb; + thisColMemb=col.iterateNext(); + } + return rowsCol; + } +} + +function _dhtmlxError(type, name, params){ + if (!this.catches) + this.catches=new Array(); + + return this; +} + +_dhtmlxError.prototype.catchError=function(type, func_name){ + this.catches[type]=func_name; +} +_dhtmlxError.prototype.throwError=function(type, name, params){ + if (this.catches[type]) + return this.catches[type](type, name, params); + + if (this.catches["ALL"]) + return this.catches["ALL"](type, name, params); + + alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]); + return null; +} + +window.dhtmlxError=new _dhtmlxError(); + + +//opera fake, while 9.0 not released +//multibrowser Xpath processor +dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){ + //this is fake for Opera + var z = xpathExp.replace(/[\/]+/gi, "/").split('/'); + var obj = null; + var i = 1; + + if (!z.length) + return []; + + if (z[0] == ".") + obj=[docObj]; else if (z[0] == ""){ + obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, "")); + i++; + } else + return []; + + for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]); + + if (z[i-1].indexOf("[") != -1) + obj=this._filterXPath(obj, z[i-1]); + return obj; +} + +dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){ + var c = new Array(); + var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, ""); + + for (var i = 0; i < a.length; i++) + if (a[i].getAttribute(b)) + c[c.length]=a[i]; + + return c; +} +dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){ + var c = new Array(); + + if (_isKHTML) + b=b.toUpperCase(); + + for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){ + if (_isKHTML){ + if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b) + c[c.length]=a[i].childNodes[j]; + } + + else if (a[i].childNodes[j].tagName == b) + c[c.length]=a[i].childNodes[j]; + } + + return c; +} + +function dhtmlXHeir(a, b){ + for (var c in b) + if (typeof (b[c]) == "function") + a[c]=b[c]; + return a; +} + +function dhtmlxEvent(el, event, handler){ + if (el.addEventListener) + el.addEventListener(event, handler, false); + + else if (el.attachEvent) + el.attachEvent("on"+event, handler); +} + +//============= XSL Extension =================================== + +dtmlXMLLoaderObject.prototype.xslDoc=null; +dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){ + if (!xslDoc) + xslDoc=this.xslDoc + + if (xslDoc.responseXML) + xslDoc=xslDoc.responseXML; + var item = + this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc, + "http:/\/www.w3.org/1999/XSL/Transform", "single"); + + if (item != null) + item.firstChild.nodeValue=paramValue +} +dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){ + if (!xslDoc) + xslDoc=this.xslDoc; + + if (xslDoc.responseXML) + xslDoc=xslDoc.responseXML + + if (!xmlDoc) + xmlDoc=this.xmlDoc; + + if (xmlDoc.responseXML) + xmlDoc=xmlDoc.responseXML + + //MOzilla + if (!_isIE){ + if (!this.XSLProcessor){ + this.XSLProcessor=new XSLTProcessor(); + this.XSLProcessor.importStylesheet(xslDoc); + } + var result = this.XSLProcessor.transformToDocument(xmlDoc); + } else { + var result = new ActiveXObject("Msxml2.DOMDocument.3.0"); + try{ + xmlDoc.transformNodeToObject(xslDoc, result); + }catch(e){ + result = xmlDoc.transformNode(xslDoc); + } + } + return result; +} + +dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){ + var res = this.doXSLTransToObject(xslDoc, xmlDoc); + if(typeof(res)=="string") + return res; + return this.doSerialization(res); +} + +dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){ + if (!xmlDoc) + xmlDoc=this.xmlDoc; + if (xmlDoc.responseXML) + xmlDoc=xmlDoc.responseXML + if (!_isIE){ + var xmlSerializer = new XMLSerializer(); + return xmlSerializer.serializeToString(xmlDoc); + } else + return xmlDoc.xml; +} + +/** +* @desc: +* @type: private +*/ +dhtmlxEventable=function(obj){ + obj.attachEvent=function(name, catcher, callObj){ + name='ev_'+name.toLowerCase(); + if (!this[name]) + this[name]=new this.eventCatcher(callObj||this); + + return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID) + } + obj.callEvent=function(name, arg0){ + name='ev_'+name.toLowerCase(); + if (this[name]) + return this[name].apply(this, arg0); + return true; + } + obj.checkEvent=function(name){ + return (!!this['ev_'+name.toLowerCase()]) + } + obj.eventCatcher=function(obj){ + var dhx_catch = []; + var z = function(){ + var res = true; + for (var i = 0; i < dhx_catch.length; i++){ + if (dhx_catch[i] != null){ + var zr = dhx_catch[i].apply(obj, arguments); + res=res&&zr; + } + } + return res; + } + z.addEvent=function(ev){ + if (typeof (ev) != "function") + ev=eval(ev); + if (ev) + return dhx_catch.push(ev)-1; + return false; + } + z.removeEvent=function(id){ + dhx_catch[id]=null; + } + return z; + } + obj.detachEvent=function(id){ + if (id != false){ + var list = id.split(':'); //get EventName and ID + this[list[0]].removeEvent(list[1]); //remove event + } + } + obj.detachAllEvents = function(){ + for (var name in this){ + if (name.indexOf("ev_")==0) + delete this[name]; + } + } +} diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxmenu.js b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxmenu.js new file mode 100755 index 0000000000..f6d8e7542c --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/dhtmlxmenu.js @@ -0,0 +1,56 @@ +//v.2.6 build 100722 + +/* +Copyright DHTMLX LTD. http://www.dhtmlx.com +You allowed to use this component or parts of it under GPL terms +To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com +*/ + +function dhtmlXMenuObject(baseId, skin) {var main_self = this;this.addBaseIdAsContextZone = null;this.isDhtmlxMenuObject = true;this.skin = (skin!=null?skin:"dhx_skyblue");this.imagePath = "";this._isIE6 = false;if (_isIE)this._isIE6 = (window.XMLHttpRequest==null?true:false);if (baseId == null){this.base = document.body;}else {if (document.getElementById(baseId)!= null) {this.base = document.getElementById(baseId);while (this.base.childNodes.length > 0){this.base.removeChild(this.base.childNodes[0]);};this.base.className += " dhtmlxMenu_"+this.skin+"_Middle dir_left";this.base._autoSkinUpdate = true;if (this.base.oncontextmenu)this.base._oldContextMenuHandler = this.base.oncontextmenu;this.addBaseIdAsContextZone = baseId;this.base.onselectstart = function(e) {e = e || event;e.returnValue = false;return false;};this.base.oncontextmenu = function(e) {e = e || event;e.returnValue = false;return false;}}else {this.base = document.body;}};this.topId = "dhxWebMenuTopId";if (!this.extendedModule){var t = function(){alert(this.i18n.dhxmenuextalert);};var extMethods = new Array("setItemEnabled", "setItemDisabled", "isItemEnabled", "_changeItemState", "getItemText", "setItemText", + "loadFromHTML", "hideItem", "showItem", "isItemHidden", "_changeItemVisible", "setUserData", "getUserData", + "setOpenMode", "setWebModeTimeout", "enableDynamicLoading", "_updateLoaderIcon", "getItemImage", "setItemImage", + "clearItemImage", "setAutoShowMode", "setAutoHideMode", "setContextMenuHideAllMode", "getContextMenuHideAllMode", + "setVisibleArea", "setTooltip", "getTooltip", "setHotKey", "getHotKey", "setItemSelected", "setTopText", "setRTL", + "setAlign", "setHref", "clearHref", "getCircuit", "_clearAllSelectedSubItemsInPolygon", "_checkArrowsState", + "_addUpArrow", "_addDownArrow", "_removeUpArrow", "_removeDownArrow", "_isArrowExists", "_doScrollUp", "_doScrollDown", + "_countPolygonItems", "setOverflowHeight", "_getRadioImgObj", "_setRadioState", "_radioOnClickHandler", + "getRadioChecked", "setRadioChecked", "addRadioButton", "_getCheckboxState", "_setCheckboxState", "_readLevel", + "_updateCheckboxImage", "_checkboxOnClickHandler", "setCheckboxState", "getCheckboxState", "addCheckbox", "serialize");for (var q=0;q 0 && this.limit < itemCount){var auId = "arrowup_"+id;var adId = "arrowdown_"+id;if (this.idPull["arrowup_"+id] == null)this._addUpArrow(String(id).replace(this.idPrefix,""));if (this.idPull["arrowdown_"+id] == null)this._addDownArrow(String(id).replace(this.idPrefix,""));arrowUp = this.idPull["arrowup_"+id];arrowUp.style.visibility = "hidden";arrowUp.style.display = "";arrowUp.style.zIndex = this.zInd;arrUpH = arrowUp.offsetHeight;arrowDown = this.idPull["arrowdown_"+id];arrowDown.style.visibility = "hidden";arrowDown.style.display = "";arrowDown.style.zIndex = this.zInd;arrDownH = arrowDown.offsetHeight;};this.idPull[pId].style.visibility = "hidden";this.idPull[pId].style.left = "0px";this.idPull[pId].style.top = "0px";this.idPull[pId].style.display = "";this.idPull[pId].style.zIndex = this.zInd;if (this.limit > 0){if (this.limit < itemCount){this.idPull[pId].style.height = 24*this.limit+"px";this.idPull[pId].scrollTop = 0;}else {this.idPull[pId].style.height = "";}};this.zInd += this.zIndStep;if (this.itemPull[id] != null){var parPoly = "polygon_"+this.itemPull[id]["parent"];}else if (this.context){var parPoly = this.idPull[this.idPrefix+this.topId];};var srcX = (this.idPull[id].tagName != null ? getAbsoluteLeft(this.idPull[id]) : this.idPull[id][0]);var srcY = (this.idPull[id].tagName != null ? getAbsoluteTop(this.idPull[id]) : this.idPull[id][1]);var srcW = (this.idPull[id].tagName != null ? this.idPull[id].offsetWidth : 0);var srcH = (this.idPull[id].tagName != null ? this.idPull[id].offsetHeight + arrUpH + arrDownH : 0);var x = 0;var y = 0;var w = this.idPull[pId].offsetWidth;var h = this.idPull[pId].offsetHeight;if (openType == "bottom"){if (this._rtl){x = srcX + (srcW!=null?srcW:0) - w;}else {if (this._align == "right"){x = srcX + srcW - w;}else {x = srcX - 1 + (openType==this.dirTopLevel?this._topLevelRightMargin:0);}};y = srcY - 1 + srcH - arrUpH - arrDownH + this._topLevelBottomMargin;};if (openType == "right"){x = srcX + srcW - 1;y = srcY + 2;};if (openType == "left"){x = srcX - this.idPull[pId].offsetWidth + 2;y = srcY + 2;};if (openType == "top"){x = srcX - 1;y = srcY - h + 2;};if (this.fixedPosition){var mx = 65536;var my = 65536;}else {var mx = (this.menuX2!=null?this.menuX2:0);var my = (this.menuY2!=null?this.menuY2:0);if (mx == 0){if (window.innerWidth){mx = window.innerWidth;my = window.innerHeight;}else {mx = document.body.offsetWidth;my = document.body.scrollHeight;}}};if (x+w > mx && !this._rtl){x = srcX - w + 2;};if (x < this.menuX1 && this._rtl){x = srcX + srcW - 2;};if (x < 0){x = 0;};if (y+h > my && this.menuY2 != null){y = srcY + srcH - h + 2;if (this.itemPull[id] != null && !this.context){if (this.itemPull[id]["parent"] == this.idPrefix+this.topId)y = y - this.base.offsetHeight;}};this.idPull[pId].style.left = x+"px";this.idPull[pId].style.top = y+arrUpH+"px";if ((this.sxDacProc != null)&& (this.idPull["sxDac_" + id] != null)) {this.idPull["sxDac_"+id]._show();}else {this.idPull[pId].style.visibility = "";if (this.limit > 0 && this.limit < itemCount){arrowUp.style.left = x+"px";arrowUp.style.top = y+"px";arrowUp.style.width = w+this._arrowFFFix+"px";arrowUp.style.visibility = "";arrowDown.style.left = x+"px";arrowDown.style.top = y+arrUpH+h+"px";arrowDown.style.width = w+this._arrowFFFix+"px";arrowDown.style.visibility = "";this._checkArrowsState(id);};if (this._isIE6){var pIdIE6 = pId+"_ie6cover";if (this.idPull[pIdIE6] == null){var ifr = document.createElement("IFRAME");ifr.className = "dhtmlxMenu_IE6CoverFix_"+this.skin;ifr.frameBorder = 0;ifr.setAttribute("src", "javascript:false;");document.body.insertBefore(ifr, document.body.firstChild);this.idPull[pIdIE6] = ifr;};this.idPull[pIdIE6].style.left = this.idPull[pId].style.left;this.idPull[pIdIE6].style.top = this.idPull[pId].style.top;this.idPull[pIdIE6].style.width = this.idPull[pId].offsetWidth+"px";this.idPull[pIdIE6].style.height = this.idPull[pId].offsetHeight+"px";this.idPull[pIdIE6].style.zIndex = this.idPull[pId].style.zIndex-1;this.idPull[pIdIE6].style.display = "";};id = String(id).replace(this.idPrefix, "");if (id == this.topId)id = null;this.callEvent("onShow", [id]);}}};this._redistribSubLevelSelection = function(id, parentId) {while (this._openedPolygons.length > 0)this._openedPolygons.pop();var i = this._getSubItemToDeselectByPolygon(parentId);this._removeSubItemFromSelected(-1, -1);for (var q=0;q 0){m = j;}}};return m;};this._getMenuNodes = function(node) {var m = new Array;for (var a in this.itemPull){if (this.itemPull[a]["parent"] == node){m[m.length] = a;}};return m;};this._genStr = function(w) {var s = "";var z = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";for (var q=0;q 0){main_self._openedPolygons.pop();};for (var q=0;q0));if (this.dLoad && item["complex"]){item["loaded"] = "no";};this.itemPull[item["id"]] = item;for (var w=0;w 1){item._menuOpenTM = window.setTimeout(function(){main_self._showPolygon(pId, level);}, delay);isShow = true;}}};if (!isShow){main_self._showPolygon(pId, level);}};main_self.itemPull[main_self.idPrefix+parentId]["loaded"] = "yes";if (main_self.loaderIcon == true){main_self._updateLoaderIcon(main_self.idPrefix+parentId, false);}};this.destructor();main_self.callEvent("onXLE",[]);}else {var t = this.getXMLTopNode("menu");main_self._buildMenu(t, null);main_self.init();main_self.callEvent("onXLE",[]);main_self._doOnLoad();}};this._xmlLoader = new dtmlXMLLoaderObject(this._xmlParser, window);this._showSubLevelItem = function(id,back) {if (document.getElementById("arrow_" + this.idPrefix + id)!= null) {document.getElementById("arrow_" + this.idPrefix + id).style.display = (back?"none":"");};if (document.getElementById("image_" + this.idPrefix + id)!= null) {document.getElementById("image_" + this.idPrefix + id).style.display = (back?"none":"");};if (document.getElementById(this.idPrefix + id)!= null) {document.getElementById(this.idPrefix + id).style.display = (back?"":"none");}};this._hideSubLevelItem = function(id) {this._showSubLevelItem(id,true) + };this.idPrefix = this._genStr(12);this._bodyClick = function(e) {e = e||event;if (e.button == 2 || (_isOpera && e.ctrlKey == true)) return;if (main_self.context){if (main_self.contextAutoHide && (!_isOpera || (main_self._isContextMenuVisible()&& _isOpera))) main_self._hideContextMenu();}else {main_self._clearAndHide();}};this._bodyContext = function(e) {e = e||event;var t = (e.srcElement||e.target).className;if (t.search("dhtmlxMenu")!= -1 && t.search("SubLevelArea") != -1) return;var toHide = true;var testZone = e.target || e.srcElement;if (testZone.id != null)if (main_self.isContextZone(testZone.id)) toHide = false;if (testZone == document.body)toHide = false;if (toHide)main_self.hideContextMenu();};if (_isIE){document.body.attachEvent("onclick", this._bodyClick);document.body.attachEvent("oncontextmenu", this._bodyContext);}else {window.addEventListener("click", this._bodyClick, false);window.addEventListener("contextmenu", this._bodyContext, false);};this._UID = this._genStr(32);dhtmlxMenuObjectLiveInstances[this._UID] = this;dhtmlxEventable(this);return this;};dhtmlXMenuObject.prototype.init = function() {if (this._isInited == true)return;if (this.dLoad){this.callEvent("onXLS", []);this._xmlLoader.loadXML(this.dLoadUrl+this.dLoadSign+"action=loadMenu&etc="+new Date().getTime());}else {this._initTopLevelMenu();this._isInited = true;}};dhtmlXMenuObject.prototype._countVisiblePolygonItems = function(id) {var count = 0;for (var a in this.itemPull){var par = this.itemPull[a]["parent"];var tp = this.itemPull[a]["type"];if (this.idPull[a] != null){if (par == id && (tp == "item" || tp == "radio" || tp == "checkbox")&& this.idPull[a].style.display != "none") {count++;}}};return count;};dhtmlXMenuObject.prototype._redefineComplexState = function(id) {if (this.idPrefix+this.topId == id){return;};if ((this.idPull["polygon_"+id] != null)&& (this.idPull[id] != null)) {var u = this._countVisiblePolygonItems(id);if ((u > 0)&& (!this.itemPull[id]["complex"])) {this._updateItemComplexState(id, true, false);};if ((u == 0)&& (this.itemPull[id]["complex"])) {this._updateItemComplexState(id, false, false);}}};dhtmlXMenuObject.prototype._updateItemComplexState = function(id, state, over) {if ((!this.context)&& (this._getItemLevelType(id.replace(this.idPrefix,"")) == "TopLevel")) {this.itemPull[id]["complex"] = state;return;};if ((this.idPull[id] == null)|| (this.itemPull[id] == null)) {return;};this.itemPull[id]["complex"] = state;if (id == this.idPrefix+this.topId)return;var arrowObj = null;var item = this.idPull[id].childNodes[this._rtl?0:2];if (item.childNodes[0])if (String(item.childNodes[0].className).search("complex_arrow") === 0) arrowObj = item.childNodes[0];if (this.itemPull[id]["complex"]){if (arrowObj == null){arrowObj = document.createElement("DIV");arrowObj.className = "complex_arrow";arrowObj.id = "arrow_"+id;while (item.childNodes.length > 0)item.removeChild(item.childNodes[0]);item.appendChild(arrowObj);};if (this.dLoad && (this.itemPull[id]["loaded"] == "get")&& this.loaderIcon) {if (arrowObj.className != "complex_arrow_loading")arrowObj.className = "complex_arrow_loading";}else {arrowObj.className = "complex_arrow";};return;};if ((!this.itemPull[id]["complex"])&& (arrowObj!=null)) {item.removeChild(arrowObj);if (this.itemPull[id]["hotkey_backup"] != null && this.setHotKey){this.setHotKey(id.replace(this.idPrefix, ""), this.itemPull[id]["hotkey_backup"]);}}};dhtmlXMenuObject.prototype._getItemLevelType = function(id) {return (this.itemPull[this.idPrefix+id]["parent"]==this.idPrefix+this.topId?"TopLevel":"SubLevelArea");};dhtmlXMenuObject.prototype._redistribTopLevelSelection = function(id, parent) {var i = this._getSubItemToDeselectByPolygon("parent");this._removeSubItemFromSelected(-1, -1);for (var q=0;q 0)m.title = this.itemPull[id]["tip"];if ((this.itemPull[id]["imgen"]!="")||(this.itemPull[id]["imgdis"]!="")) {var imgTop=this.itemPull[id][(this.itemPull[id]["state"]=="enabled")?"imgen":"imgdis"];if (imgTop){var img = document.createElement("IMG");img.border = "0";img.id = "image_"+id;img.src= this.imagePath+imgTop;img.className = "dhtmlxMenu_TopLevel_Item_Icon";if (m.childNodes.length > 0 && !this._rtl)m.insertBefore(img, m.childNodes[0]);else m.appendChild(img);}};m.onselectstart = function(e) {e = e || event;e.returnValue = false;return false;};m.oncontextmenu = function(e) {e = e || event;e.returnValue = false;return false;};if (!this.cont){this.cont = document.createElement("DIV");this.cont.dir = "ltr";this.cont.className = (this._align=="right"?"align_right":"align_left");this.base.appendChild(this.cont);};if (pos != null){pos++;if (pos < 0)pos = 0;if (pos > this.cont.childNodes.length - 1)pos = null;};if (pos != null)this.cont.insertBefore(m, this.cont.childNodes[pos]);else this.cont.appendChild(m);this.idPull[m.id] = m;if (this.itemPull[id]["complex"] && (!this.dLoad)) this._addSubMenuPolygon(this.itemPull[id]["id"], this.itemPull[id]["id"]);m.onmouseover = function() {if (main_self.menuMode == "web"){window.clearTimeout(main_self.menuTimeoutHandler);};var i = main_self._getSubItemToDeselectByPolygon("parent");main_self._removeSubItemFromSelected(-1, -1);for (var q=0;q 0){if (imgObj != null){imgObj.src = this.imagePath+imgSrc;}else {if (isTopLevel){var imgObj = document.createElement("IMG");imgObj.className = "dhtmlxMenu_TopLevel_Item_Icon";imgObj.src = this.imagePath+imgSrc;imgObj.border = "0";imgObj.id = "image_"+id;if (!this._rtl && this.idPull[id].childNodes.length > 0)this.idPull[id].insertBefore(imgObj,this.idPull[id].childNodes[0]);else this.idPull[id].appendChild(imgObj);}else {var imgObj = document.createElement("IMG");imgObj.className = "sub_icon";imgObj.src = this.imagePath+imgSrc;imgObj.border = "0";imgObj.id = "image_"+id;var item = this.idPull[id].childNodes[this._rtl?2:0];while (item.childNodes.length > 0)item.removeChild(item.childNodes[0]);item.appendChild(imgObj);}}}else {if (imgObj != null)imgObj.parentNode.removeChild(imgObj);}};dhtmlXMenuObject.prototype.removeItem = function(id, _isTId, _recCall) {if (!_isTId)id = this.idPrefix + id;var pId = null;if (id != this.idPrefix+this.topId){if (this.itemPull[id] == null)return;var t = this.itemPull[id]["type"];if (t == "separator"){var item = this.idPull["separator_"+id];if (this.itemPull[id]["parent"] == this.idPrefix+this.topId){item.onclick = null;item.onselectstart = null;item.id = null;item.parentNode.removeChild(item);}else {item.childNodes[0].childNodes[0].onclick = null;item.childNodes[0].childNodes[0].onselectstart = null;item.childNodes[0].childNodes[0].id = null;item.childNodes[0].removeChild(item.childNodes[0].childNodes[0]);item.removeChild(item.childNodes[0]);item.parentNode.removeChild(item);};this.idPull["separator_"+id] = null;this.itemPull[id] = null;delete this.idPull["separator_"+id];delete this.itemPull[id];item = null;}else {pId = this.itemPull[id]["parent"];var item = this.idPull[id];item.onclick = null;item.oncontextmenu = null;item.onmouseover = null;item.onmouseout = null;item.onselectstart = null;item.id = null;while (item.childNodes.length > 0)item.removeChild(item.childNodes[0]);item.parentNode.removeChild(item);this.idPull[id] = null;this.itemPull[id] = null;delete this.idPull[id];delete this.itemPull[id];item = null;};t = null;};for (var a in this.itemPull)if (this.itemPull[a]["parent"] == id)this.removeItem(a, true, true);var p2 = new Array(id);if (pId != null && !_recCall){if (this.idPull["polygon_"+pId] != null){if (this.idPull["polygon_"+pId].tbd.childNodes.length == 0){p2.push(pId);this._updateItemComplexState(pId, false, false);}}};for (var q=0;q 0 && !this.itemPull[id]["complex"]){var t3t = document.createElement("DIV");t3t.className = "sub_item_hk";t3t.innerHTML = this.itemPull[id]["hotkey"];t3.appendChild(t3t);}else {t3.innerHTML = " ";}};tr.appendChild(this._rtl?t3:t1);tr.appendChild(t2);tr.appendChild(this._rtl?t1:t3);tr.id = this.itemPull[id]["id"];tr.parent = this.itemPull[id]["parent"];if (this.itemPull[id]["tip"].length > 0)tr.title = this.itemPull[id]["tip"];tr.onselectstart = function(e) {e = e || event;e.returnValue = false;return false;};tr.onmouseover = function() {if (main_self.menuMode == "web")window.clearTimeout(main_self.menuTimeoutHandler);main_self._redistribSubLevelSelection(this.id, this.parent);};if (main_self.menuMode == "web"){tr.onmouseout = function() {window.clearTimeout(main_self.menuTimeoutHandler);main_self.menuTimeoutHandler = window.setTimeout(function(){main_self._clearAndHide();}, main_self.menuTimeoutMsec, "JavaScript");}};tr.onclick = function(e) {if (!main_self.checkEvent("onClick")&& main_self.itemPull[this.id]["complex"]) return;e = e || event;e.cancelBubble = true;e.returnValue = false;tc = (main_self.itemPull[this.id]["complex"]?"c":"-");td = (main_self.itemPull[this.id]["state"]=="enabled"?"-":"d");var cas = {"ctrl": e.ctrlKey, "alt": e.altKey, "shift": e.shiftKey};switch (main_self.itemPull[this.id]["type"]) {case "checkbox": + main_self._checkboxOnClickHandler(this.id.replace(main_self.idPrefix, ""), tc+td+"n", cas);break;case "radio": + main_self._radioOnClickHandler(this.id.replace(main_self.idPrefix, ""), tc+td+"n", cas);break;case "item": + main_self._doOnClick(this.id.replace(main_self.idPrefix, ""), tc+td+"n", cas);break;};return false;};var polygon = this.idPull["polygon_"+this.itemPull[id]["parent"]];if (pos != null){pos++;if (pos < 0)pos = 0;if (pos > polygon.tbd.childNodes.length - 1)pos = null;};if (pos != null && polygon.tbd.childNodes[pos] != null)polygon.tbd.insertBefore(tr, polygon.tbd.childNodes[pos]);else polygon.tbd.appendChild(tr);this.idPull[tr.id] = tr;};dhtmlXMenuObject.prototype._renderSeparator = function(id, pos) {var level = (this.context?"SubLevelArea":(this.itemPull[id]["parent"]==this.idPrefix+this.topId?"TopLevel":"SubLevelArea"));if (level == "TopLevel" && this.context)return;var main_self = this;if (level != "TopLevel"){var tr = document.createElement("TR");tr.className = "sub_sep";var td = document.createElement("TD");td.colSpan = "3";tr.appendChild(td);};var k = document.createElement("DIV");k.id = "separator_"+id;k.className = (level=="TopLevel"?"top_sep":"sub_sep");k.onselectstart = function(e) {e = e || event;e.returnValue = false;};k.onclick = function(e) {e = e || event;e.cancelBubble = true;var cas = {"ctrl": e.ctrlKey, "alt": e.altKey, "shift": e.shiftKey};main_self._doOnClick(this.id.replace("separator_" + main_self.idPrefix, ""), "--s", cas);};if (level == "TopLevel"){if (pos != null){pos++;if (pos < 0){pos = 0;};if (this.cont.childNodes[pos] != null){this.cont.insertBefore(k, this.cont.childNodes[pos]);}else {this.cont.appendChild(k);}}else {var last = this.cont.childNodes[this.cont.childNodes.length-1];if (String(last).search("TopLevel_Text") == -1) {this.cont.appendChild(k);}else {this.cont.insertBefore(k, last);}};this.idPull[k.id] = k;}else {var polygon = this.idPull["polygon_"+this.itemPull[id]["parent"]];if (pos != null){pos++;if (pos < 0)pos = 0;if (pos > polygon.tbd.childNodes.length - 1)pos = null;};if (pos != null && polygon.tbd.childNodes[pos] != null)polygon.tbd.insertBefore(tr, polygon.tbd.childNodes[pos]);else polygon.tbd.appendChild(tr);td.appendChild(k);this.idPull[k.id] = tr;}};dhtmlXMenuObject.prototype.addNewSeparator = function(nextToId, itemId) {itemId = this.idPrefix+(itemId!=null?itemId:this._genStr(24));var parentId = this.idPrefix+this.getParentId(nextToId);this._addItemIntoGlobalStrorage(itemId, parentId, "", "separator", false, "", "");this._renderSeparator(itemId, this.getItemPosition(nextToId));};dhtmlXMenuObject.prototype.hide = function() {this._clearAndHide();};dhtmlXMenuObject.prototype.clearAll = function() {this.removeItem(this.idPrefix+this.topId, true);this._isInited = false;this.idPrefix = this._genStr(12);};dhtmlXMenuObject.prototype.unload = function() {if (_isIE){document.body.detachEvent("onclick", this._bodyClick);document.body.detachEvent("oncontextmenu", this._bodyContext);}else {window.removeEventListener("click", this._bodyClick, false);window.removeEventListener("contextmenu", this._bodyContext, false);};this._bodyClick = null;this._bodyContext = null;this.removeItem(this.idPrefix+this.topId, true);this.itemPull = null;this.idPull = null;if (this.context)for (var a in this.contextZones)this.removeContextZone(a);if (this.cont != null){this.cont.className = "";this.cont.parentNode.removeChild(this.cont);this.cont = null;};if (this.base != null){this.base.className = "";if (!this.context)this.base.oncontextmenu = (this.base._oldContextMenuHandler||null);this.base.onselectstart = null;this.base = null;};this.setSkin = null;this.detachAllEvents();if (this._xmlLoader){this._xmlLoader.destructor();this._xmlLoader = null;};this._align = null;this._arrowFFFix = null;this._isIE6 = null;this._isInited = null;this._rtl = null;this._scrollDownTMStep = null;this._scrollDownTMTime = null;this._scrollUpTMStep = null;this._scrollUpTMTime = null;this._topLevelBottomMargin = null;this._topLevelOffsetLeft = null;this._topLevelBottomMargin = null;this._topLevelRightMargin = null;this.addBaseIdAsContextZone = null;this.context = null;this.contextAutoHide = null;this.contextAutoShow = null;this.contextHideAllMode = null;this.contextMenuZoneId = null;this.dLoad = null;this.dLoadSign = null;this.dLoadUrl = null;this.loaderIcon = null;this.fixedPosition = null;this.dirSubLevel = null;this.dirTopLevel = null;this.limit = null;this.menuSelected = null;this.menuLastClicked = null;this.idPrefix = null;this.imagePath = null;this.menuMode = null;this.menuModeTopLevelTimeout = null;this.menuModeTopLevelTimeoutTime = null;this.menuTimeoutHandler = null;this.menuTimeoutMsec = null;this.menuTouched = null;this.isDhtmlxMenuObject = null;this.itemHotKeyTagName = null;this.itemHrefTagName = null;this.itemTagName = null;this.itemTextTagName = null;this.itemTipTagName = null;this.userDataTagName = null;this.skin = null;this.topId = null;this.dacCycles = null;this.dacCyclesIE = null;this.dacSpeed = null;this.dacSpeedIE = null;this.zInd = null;this.zIndInit = null;this.zIndStep = null;this._enableDacSupport = null;this._selectedSubItems = null;this._openedPolygons = null;this._addSubItemToSelected = null;this._removeSubItemFromSelected = null;this._getSubItemToDeselectByPolygon = null;this._hidePolygon = null;this._showPolygon = null;this._redistribSubLevelSelection = null;this._doOnClick = null;this._doOnTouchMenu = null;this._searchMenuNode = null;this._getMenuNodes = null;this._genStr = null;this._clearAndHide = null;this._doOnLoad = null;this.getItemType = null;this.forEachItem = null;this.init = null;this.loadXML = null;this.loadXMLString = null;this._buildMenu = null;this._xmlParser = null;this._showSubLevelItem = null;this._hideSubLevelItem = null;this._countVisiblePolygonItems = null;this._redefineComplexState = null;this._updateItemComplexState = null;this._getItemLevelType = null;this._redistribTopLevelSelection = null;this._initTopLevelMenu = null;this._renderToplevelItem = null;this.setImagePath = null;this.setIconsPath = null;this.setIconPath = null;this._updateItemImage = null;this.removeItem = null;this._getAllParents = null;this.renderAsContextMenu = null;this.addContextZone = null;this.removeContextZone = null;this.isContextZone = null;this._isContextMenuVisible = null;this._showContextMenu = null;this._doOnContextBeforeCall = null;this._autoDetectVisibleArea = null;this._addItemIntoGlobalStrorage = null;this._addSubMenuPolygon = null;this._renderSublevelPolygon = null;this._renderSublevelItem = null;this._renderSeparator = null;this._hideContextMenu = null;this.clearAll = null;this.getItemPosition = null;this.setItemPosition = null;this.getParentId = null;this.addNewSibling = null;this.addNewChild = null;this.addNewSeparator = null;this.attachEvent = null;this.callEvent = null;this.checkEvent = null;this.eventCatcher = null;this.detachEvent = null;this.dhx_Event = null;this.unload = null;this.items = null;this.radio = null;this.detachAllEvents = null;this.hide = null;this.showContextMenu = null;this.hideContextMenu = null;this._changeItemState = null;this._changeItemVisible = null;this._updateLoaderIcon = null;this._clearAllSelectedSubItemsInPolygon = null;this._checkArrowsState = null;this._addUpArrow = null;this._addDownArrow = null;this._removeUpArrow = null;this._removeDownArrow = null;this._isArrowExists = null;this._doScrollUp = null;this._doScrollDown = null;this._countPolygonItems = null;this._getRadioImgObj = null;this._setRadioState = null;this._radioOnClickHandler = null;this._getCheckboxState = null;this._setCheckboxState = null;this._readLevel = null;this._updateCheckboxImage = null;this._checkboxOnClickHandler = null;this._removeArrow = null;this.setItemEnabled = null;this.setItemDisabled = null;this.isItemEnabled = null;this.getItemText = null;this.setItemText = null;this.loadFromHTML = null;this.hideItem = null;this.showItem = null;this.isItemHidden = null;this.setUserData = null;this.getUserData = null;this.setOpenMode = null;this.setWebModeTimeout = null;this.enableDynamicLoading = null;this.getItemImage = null;this.setItemImage = null;this.clearItemImage = null;this.setAutoShowMode = null;this.setAutoHideMode = null;this.setContextMenuHideAllMode = null;this.getContextMenuHideAllMode = null;this.setVisibleArea = null;this.setTooltip = null;this.getTooltip = null;this.setHotKey = null;this.getHotKey = null;this.setItemSelected = null;this.setTopText = null;this.setRTL = null;this.setAlign = null;this.setHref = null;this.clearHref = null;this.getCircuit = null;this.contextZones = null;this.setOverflowHeight = null;this.userData = null;this.getRadioChecked = null;this.setRadioChecked = null;this.addRadioButton = null;this.setCheckboxState = null;this.getCheckboxState = null;this.addCheckbox = null;this.serialize = null;this.extendedModule = null;dhtmlxMenuObjectLiveInstances[this._UID] = null;try {delete dhtmlxMenuObjectLiveInstances[this._UID];}catch(e) {};this._UID = null;};var dhtmlxMenuObjectLiveInstances = {};dhtmlXMenuObject.prototype.i18n = {dhxmenuextalert: "dhtmlxmenu_ext.js required" +};(function(){dhtmlx.extend_api("dhtmlXMenuObject",{_init:function(obj){return [obj.parent, obj.skin];}, + align:"setAlign", + top_text:"setTopText", + context:"renderAsContextMenu", + icon_path:"setIconsPath", + open_mode:"setOpenMode", + rtl:"setRTL", + skin:"setSkin", + dynamic:"enableDynamicLoading", + xml:"loadXML", + items:"items", + overflow:"setOverflowHeight" + },{items:function(arr,parent){var pos = 100000;var lastItemId = null;for (var i=0;i < arr.length;i++){var item=arr[i];if (item.type == "separator"){this.addNewSeparator(lastItemId, pos, item.id);lastItemId = item.id;}else {this.addNewChild(parent, pos, item.id, item.text, item.disabled, item.img, item.img_disabled);lastItemId = item.id;if (item.items)this.items(item.items,item.id);}}}});})(); +//v.2.6 build 100722 + +/* +Copyright DHTMLX LTD. http://www.dhtmlx.com +You allowed to use this component or parts of it under GPL terms +To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com +*/ \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js new file mode 100755 index 0000000000..4037f74e7f --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js @@ -0,0 +1,18 @@ +//v.2.6 build 100722 + +/* +Copyright DHTMLX LTD. http://www.dhtmlx.com +You allowed to use this component or parts of it under GPL terms +To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com +*/ + + +dhtmlXMenuObject.prototype.extendedModule = "DHXMENUEXT";dhtmlXMenuObject.prototype.setItemEnabled = function(id) {this._changeItemState(id, "enabled", this._getItemLevelType(id));};dhtmlXMenuObject.prototype.setItemDisabled = function(id) {this._changeItemState(id, "disabled", this._getItemLevelType(id));};dhtmlXMenuObject.prototype.isItemEnabled = function(id) {return (this.itemPull[this.idPrefix+id]!=null?(this.itemPull[this.idPrefix+id]["state"]=="enabled"):false);};dhtmlXMenuObject.prototype._changeItemState = function(id, newState, levelType) {var t = false;var j = this.idPrefix + id;if ((this.itemPull[j] != null)&& (this.idPull[j] != null)) {if (this.itemPull[j]["state"] != newState){this.itemPull[j]["state"] = newState;if (this.itemPull[j]["parent"] == this.idPrefix+this.topId && !this.context){this.idPull[j].className = "dhtmlxMenu_"+this.skin+"_TopLevel_Item_"+(this.itemPull[j]["state"]=="enabled"?"Normal":"Disabled");}else {this.idPull[j].className = "sub_item"+(this.itemPull[j]["state"]=="enabled"?"":"_dis");};this._updateItemComplexState(this.idPrefix+id, this.itemPull[this.idPrefix+id]["complex"], false);this._updateItemImage(id, levelType);if ((this.idPrefix + this.menuLastClicked == j)&& (levelType != "TopLevel")) {this._redistribSubLevelSelection(j, this.itemPull[j]["parent"]);};if (levelType == "TopLevel" && !this.context){}}};return t;};dhtmlXMenuObject.prototype.getItemText = function(id) {return (this.itemPull[this.idPrefix+id]!=null?this.itemPull[this.idPrefix+id]["title"]:"");};dhtmlXMenuObject.prototype.setItemText = function(id, text) {id = this.idPrefix + id;if ((this.itemPull[id] != null)&& (this.idPull[id] != null)) {this._clearAndHide();this.itemPull[id]["title"] = text;if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.context){var tObj = null;for (var q=0;q 0)this.idPull[id].insertBefore(tObj,this.idPull[id].childNodes[0]);else this.idPull[id].appendChild(tObj);};tObj.innerHTML = this.itemPull[id]["title"];}}else {var tObj = null;for (var q=0;q= 0) return;var ind = (this._rtl?0:2);if (!this.idPull[id].childNodes[ind])return;if (!this.idPull[id].childNodes[ind].childNodes[0])return;var aNode = this.idPull[id].childNodes[ind].childNodes[0];if (String(aNode.className).search("complex_arrow") === 0) aNode.className = "complex_arrow"+(state?"_loading":"");};dhtmlXMenuObject.prototype.getItemImage = function(id) {var imgs = new Array(null, null);id = this.idPrefix+id;if (this.itemPull[id]["type"] == "item"){imgs[0] = this.itemPull[id]["imgen"];imgs[1] = this.itemPull[id]["imgdis"];};return imgs;};dhtmlXMenuObject.prototype.setItemImage = function(id, img, imgDis) {if (this.itemPull[this.idPrefix+id]["type"] != "item")return;this.itemPull[this.idPrefix+id]["imgen"] = img;this.itemPull[this.idPrefix+id]["imgdis"] = imgDis;this._updateItemImage(id, this._getItemLevelType(id));};dhtmlXMenuObject.prototype.clearItemImage = function(id) {this.setItemImage(id, "", "");};dhtmlXMenuObject.prototype.setAutoShowMode = function(mode) {this.contextAutoShow = (mode==true?true:false);};dhtmlXMenuObject.prototype.setAutoHideMode = function(mode) {this.contextAutoHide = (mode==true?true:false);};dhtmlXMenuObject.prototype.setContextMenuHideAllMode = function(mode) {this.contextHideAllMode = (mode==true?true:false);};dhtmlXMenuObject.prototype.getContextMenuHideAllMode = function() {return this.contextHideAllMode;};dhtmlXMenuObject.prototype.setVisibleArea = function(x1, x2, y1, y2) {this._isVisibleArea = true;this.menuX1 = x1;this.menuX2 = x2;this.menuY1 = y1;this.menuY2 = y2;};dhtmlXMenuObject.prototype.setTooltip = function(id, tip) {id = this.idPrefix+id;if (!(this.itemPull[id] != null && this.idPull[id] != null)) return;this.idPull[id].title = (tip.length > 0 ? tip : null);this.itemPull[id]["tip"] = tip;};dhtmlXMenuObject.prototype.getTooltip = function(id) {if (this.itemPull[this.idPrefix+id] == null)return null;return this.itemPull[this.idPrefix+id]["tip"];};dhtmlXMenuObject.prototype.setHotKey = function(id, hkey) {id = this.idPrefix+id;if (!(this.itemPull[id] != null && this.idPull[id] != null)) return;if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.context)return;if (this.itemPull[id]["complex"])return;if (this.itemPull[id]["type"] != "item")return;var hkObj = null;try {if (this.idPull[id].childNodes[this._rtl?0:2].childNodes[0].className == "sub_item_hk")hkObj = this.idPull[id].childNodes[this._rtl?0:2].childNodes[0];}catch(e){};if (hkey.length == 0){this.itemPull[id]["hotkey_backup"] = this.itemPull[id]["hotkey"];this.itemPull[id]["hotkey"] = "";if (hkObj != null)hkObj.parentNode.removeChild(hkObj);}else {this.itemPull[id]["hotkey"] = hkey;this.itemPull[id]["hotkey_backup"] = null;if (hkObj == null){hkObj = document.createElement("DIV");hkObj.className = "sub_item_hk";var item = this.idPull[id].childNodes[this._rtl?0:2];while (item.childNodes.length > 0)item.removeChild(item.childNodes[0]);item.appendChild(hkObj);};hkObj.innerHTML = hkey;}};dhtmlXMenuObject.prototype.getHotKey = function(id) {if (this.itemPull[this.idPrefix+id] == null)return null;return this.itemPull[this.idPrefix+id]["hotkey"];};dhtmlXMenuObject.prototype.setItemSelected = function(id) {if (this.itemPull[this.idPrefix+id] == null)return null;};dhtmlXMenuObject.prototype.setTopText = function(text) {if (this.context)return;if (this._topText == null){this._topText = document.createElement("DIV");this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this._rtl?"left":(this._align=="left"?"right":"left"));this.base.appendChild(this._topText);};this._topText.innerHTML = text;};dhtmlXMenuObject.prototype.setAlign = function(align) {if (this._align == align)return;if (align == "left" || align == "right"){this._align = align;if (this.cont)this.cont.className = (this._align=="right"?"align_right":"align_left");if (this._topText != null)this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this._align=="left"?"right":"left");}};dhtmlXMenuObject.prototype.setHref = function(itemId, href, target) {if (this.itemPull[this.idPrefix+itemId] == null)return;this.itemPull[this.idPrefix+itemId]["href_link"] = href;if (target != null)this.itemPull[this.idPrefix+itemId]["href_target"] = target;};dhtmlXMenuObject.prototype.clearHref = function(itemId) {if (this.itemPull[this.idPrefix+itemId] == null)return;delete this.itemPull[this.idPrefix+itemId]["href_link"];delete this.itemPull[this.idPrefix+itemId]["href_target"];};dhtmlXMenuObject.prototype.getCircuit = function(id) {var parents = new Array(id);while (this.getParentId(id)!= this.topId) {id = this.getParentId(id);parents[parents.length] = id;};return parents.reverse();};dhtmlXMenuObject.prototype._clearAllSelectedSubItemsInPolygon = function(polygon) {var subIds = this._getSubItemToDeselectByPolygon(polygon);for (var q=0;q
";arrow.style.display = "none";arrow.over = false;arrow.onselectstart = function(e) {e = e||event;e.returnValue = false;return false;};arrow.oncontextmenu = function(e) {e = e||event;e.returnValue = false;return false;};arrow.onmouseover = function() {if (main_self.menuMode == "web"){window.clearTimeout(main_self.menuTimeoutHandler);};main_self._clearAllSelectedSubItemsInPolygon(this.pId);if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Disabled")return;this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Over";this.over = true;main_self._canScrollUp = true;main_self._doScrollUp(this.pId, true);};arrow.onmouseout = function() {if (main_self.menuMode == "web"){window.clearTimeout(main_self.menuTimeoutHandler);main_self.menuTimeoutHandler = window.setTimeout(function(){main_self._clearAndHide();}, main_self.menuTimeoutMsec, "JavaScript");};this.over = false;main_self._canScrollUp = false;if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Disabled")return;this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp";window.clearTimeout(main_self._scrollUpTM);};arrow.onclick = function(e) {e = e||event;e.returnValue = false;e.cancelBubble = true;return false;};document.body.insertBefore(arrow, document.body.firstChild);this.idPull[arrow.id] = arrow;};dhtmlXMenuObject.prototype._addDownArrow = function(id) {var main_self = this;var arrow = document.createElement("DIV");arrow.pId = this.idPrefix+id;arrow.id = "arrowdown_"+this.idPrefix+id;arrow.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowDown";arrow.innerHTML = "
";arrow.style.display = "none";arrow.over = false;arrow.onselectstart = function(e) {e = e||event;e.returnValue = false;return false;};arrow.oncontextmenu = function(e) {e = e||event;e.returnValue = false;return false;};arrow.onmouseover = function() {if (main_self.menuMode == "web"){window.clearTimeout(main_self.menuTimeoutHandler);};main_self._clearAllSelectedSubItemsInPolygon(this.pId);if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Disabled")return;this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Over";this.over = true;main_self._canScrollDown = true;main_self._doScrollDown(this.pId, true);};arrow.onmouseout = function() {if (main_self.menuMode == "web"){window.clearTimeout(main_self.menuTimeoutHandler);main_self.menuTimeoutHandler = window.setTimeout(function(){main_self._clearAndHide();}, main_self.menuTimeoutMsec, "JavaScript");};this.over = false;main_self._canScrollDown = false;if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Disabled")return;this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown";window.clearTimeout(main_self._scrollDownTM);};arrow.onclick = function(e) {e = e||event;e.returnValue = false;e.cancelBubble = true;return false;};document.body.insertBefore(arrow, document.body.firstChild);this.idPull[arrow.id] = arrow;};dhtmlXMenuObject.prototype._removeUpArrow = function(id) {var fullId = "arrowup_"+this.idPrefix+id;this._removeArrow(fullId);};dhtmlXMenuObject.prototype._removeDownArrow = function(id) {var fullId = "arrowdown_"+this.idPrefix+id;this._removeArrow(fullId);};dhtmlXMenuObject.prototype._removeArrow = function(fullId) {var arrow = this.idPull[fullId];arrow.onselectstart = null;arrow.oncontextmenu = null;arrow.onmouseover = null;arrow.onmouseout = null;arrow.onclick = null;if (arrow.parentNode)arrow.parentNode.removeChild(arrow);arrow = null;this.idPull[fullId] = null;try {delete this.idPull[fullId];}catch(e) {}};dhtmlXMenuObject.prototype._isArrowExists = function(id) {if (this.idPull["arrowup_"+id] != null && this.idPull["arrowdown_"+id] != null)return true;return false;};dhtmlXMenuObject.prototype._doScrollUp = function(id, checkArrows) {var polygon = this.idPull["polygon_"+id];if (this._canScrollUp && polygon.scrollTop > 0){var theEnd = false;var nextScrollTop = polygon.scrollTop - this._scrollUpTMStep;if (nextScrollTop < 0){theEnd = true;nextScrollTop = 0;};polygon.scrollTop = nextScrollTop;if (!theEnd){var that = this;this._scrollUpTM = window.setTimeout(function() {that._doScrollUp(id, false);}, this._scrollUpTMTime);}}else {this._canScrollUp = false;this._checkArrowsState(id);};if (checkArrows){this._checkArrowsState(id);}};dhtmlXMenuObject.prototype._doScrollDown = function(id, checkArrows) {var polygon = this.idPull["polygon_"+id];if (this._canScrollDown && polygon.scrollTop + polygon.offsetHeight <= polygon.scrollHeight){var theEnd = false;var nextScrollTop = polygon.scrollTop + this._scrollDownTMStep;if (nextScrollTop + polygon.offsetHeight > polygon.scollHeight){theEnd = true;nextScrollTop = polygon.scollHeight - polygon.offsetHeight;};polygon.scrollTop = nextScrollTop;if (!theEnd){var that = this;this._scrollDownTM = window.setTimeout(function() {that._doScrollDown(id, false);}, this._scrollDownTMTime);}}else {this._canScrollDown + this._checkArrowsState(id);};if (checkArrows){this._checkArrowsState(id);}};dhtmlXMenuObject.prototype._countPolygonItems = function(id) {var count = 0;for (var a in this.itemPull){var par = this.itemPull[a]["parent"];var tp = this.itemPull[a]["type"];if (par == this.idPrefix+id && (tp == "item" || tp == "radio" || tp == "checkbox")) {count++;}};return count;};dhtmlXMenuObject.prototype.setOverflowHeight = function(itemsNum) {if (this.limit == 0 && itemsNum <= 0)return;this._clearAndHide();if (this.limit >= 0 && itemsNum > 0){this.limit = itemsNum;return;};if (this.limit > 0 && itemsNum <= 0){for (var a in this.itemPull){if (this._isArrowExists(a)) {var b = String(a).replace(this.idPrefix, "");this._removeUpArrow(b);this._removeDownArrow(b);this.idPull["polygon_"+a].style.height = "";}};this.limit = 0;return;}};dhtmlXMenuObject.prototype._getRadioImgObj = function(id) {try {var imgObj = this.idPull[this.idPrefix+id].childNodes[(this._rtl?2:0)].childNodes[0] }catch(e) {var imgObj = null;};return imgObj;};dhtmlXMenuObject.prototype._setRadioState = function(id, state) {var imgObj = this._getRadioImgObj(id);if (imgObj != null){var rObj = this.itemPull[this.idPrefix+id];rObj["checked"] = state;rObj["imgen"] = "rdbt_"+(rObj["checked"]?"1":"0");rObj["imgdis"] = rObj["imgen"];imgObj.className = "sub_icon "+rObj["imgen"];}};dhtmlXMenuObject.prototype._radioOnClickHandler = function(id, type, casState) {if (type.charAt(1)=="d" || this.itemPull[this.idPrefix+id]["group"]==null) return;var group = this.itemPull[this.idPrefix+id]["group"];if (this.checkEvent("onRadioClick")) {if (this.callEvent("onRadioClick", [group, this.getRadioChecked(group), id, this.contextMenuZoneId, casState])) {this.setRadioChecked(group, id);}}else {this.setRadioChecked(group, id);};if (this.checkEvent("onClick")) this.callEvent("onClick", [id]);};dhtmlXMenuObject.prototype.getRadioChecked = function(group) {var id = null;for (var q=0;q';};if (this.itemPull[a]["type"] == "separator"){itemType = ' type="separator"';}else {if (this.itemPull[a]["state"] == "disabled")itemState = ' enabled="false"';};if (this.itemPull[a]["type"] == "checkbox"){itemType = ' type="checkbox"'+(this.itemPull[a]["checked"]?' checked="true"':"");};if (this.itemPull[a]["type"] == "radio"){itemType = ' type="radio" group="'+this.itemPull[a]["group"]+'" '+(this.itemPull[a]["checked"]?' checked="true"':"");};xml += "";xml += hotKey;if (this.itemPull[a]["complex"])xml += this._readLevel(a);xml += "";}};return xml;};dhtmlXMenuObject.prototype.serialize = function() {var xml = ""+this._readLevel(this.idPrefix+this.topId)+"";return xml;}; +//v.2.6 build 100722 + +/* +Copyright DHTMLX LTD. http://www.dhtmlx.com +You allowed to use this component or parts of it under GPL terms +To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com +*/ \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_bg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..7ef0f85b3f48ae2871c2f51c4a617cbe9ecb678f GIT binary patch literal 195 zcmZ?wbhEHbWM(+QaD)K_Y;0_*s;VYTn2?s177-EQ<>lq*=;-h7udc4Hpr8;E5+WfX zVPRpRr>E!U<|ZH@U~Fv6!NHM~l$4#F9UB`9HUlT2_>%=JrvoBEb~3O!JW$|LNfmmr zBrNBlo`I6|mt^^h1?DwRtPivVIHpJ_dUOgM$g!G#VMU48+Nkw6)|8!oTebheh6*3O O+2>zusgh!1um%9|GBp7J literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_chrd.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_chrd.gif new file mode 100755 index 0000000000000000000000000000000000000000..f388995059394d081c2061100d43b8406a3c141d GIT binary patch literal 372 zcmV-)0gL`eNk%w1VUPe40HOr||NsB#=;$*uGmwywnVFg0>hAym00000A^8LW000F5 zEC2ui0FVF@000C3Si0Q)Fv>}*y*TU5yZ>M)j$~<`XsQit>kfkR&T%u(^6g4{)l_bOe!!aH5_@pl+s^ zj8mwat({PDuCI@>rjb&pshppjps#VWzDl&hb;O8oyvV(GkG0OFx5aF6$F9oO%EG|f zxvQ$j$gEJL*W}OLxP7~@%#GEx@!Qez-{7&t#meSr5;tf7!`TYB@Z3B=NcJcc6tG-D zgvku{n|P5qqdA8ML2hh^&tpd$dO(3e^5;q*m1JIKQb!Y}lA1JS;8dq`r_BdED+Hx5 SbV5-TNRujE%Csqp1OPi4g|uw| literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_loader.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_loader.gif new file mode 100755 index 0000000000000000000000000000000000000000..be51b648e9fddb23244da9e01e2b717926e34fd5 GIT binary patch literal 401 zcmZ?wbhEHb$MU}whwS0g SznodCFfI1JXJr5*gEau(hjbAD literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_subar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_subar.gif new file mode 100755 index 0000000000000000000000000000000000000000..7bf573d8a3c93cf4a6f12b76cfbdd127539b7b03 GIT binary patch literal 111 zcmZ?wbhEHblwgoxn8?KN|NsA)GiTm?^`3!&LGdRGBLf2ygAR}ll$8Lo9j5fJJpGn` z@tiHUxyfE?J@u{%}vz{DVwBF!&KKBv%KJGF<=1nfku5o%eFYK7tm%lT{ P!T8FmuU%)exEZVg!7D51 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_subsepbg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_black/dhtmlxmenu_subsepbg.gif new file mode 100755 index 0000000000000000000000000000000000000000..bd47a2823b717dbf84e52785df39e62793a7c4d5 GIT binary patch literal 56 zcmZ?wbhEHbWMp7uXkcXM>F)mj|G(ltLFb~>#FEq$h4Rdj3dqv(GXa7GP3Mnr%%=#v)B%I8#ntx$MiPzew^*7d(oqk)j T|G|a|AHCVhAym00000A^8LW000F5 zEC2ui0FVF@000C3Si0Q)Fv>}*y*TU5yZ>M)j$~<`XsQit>kfkR&T%u(^6g4{)l_bOe!!aH5_@pl+s^ zj8mwat({PDuCI@>rjb&pshppjps#VWzDl&hb;O8oyvV(GkG0OFx5aF6$F9oO%EG|f zxvQ$j$gEJL*W}OLxP7~@%#GEx@!Qez-{7&t#meSr5;tf7!`TYB@Z3B=NcJcc6tG-D zgvku{n|P5qqdA8ML2hh^&tpd$dO(3e^5;q*m1JIKQb!Y}lA1JS;8dq`r_BdED+Hx5 SbV5-TNRujE%Csqp1OPi4g|uw| literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_loader.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_loader.gif new file mode 100755 index 0000000000000000000000000000000000000000..be51b648e9fddb23244da9e01e2b717926e34fd5 GIT binary patch literal 401 zcmZ?wbhEHb$MU}whwS0g SznodCFfI1JXJr5*gEau(hjbAD literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_subar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_subar.gif new file mode 100755 index 0000000000000000000000000000000000000000..35dbd98843c65d408a447764efc3af9a05bdc4a8 GIT binary patch literal 119 zcmZ?wbhEHblwgoxn8?fk1poj4pE+~p-B<4wf3h$#FfcRdfJ8y^3``z#`d6NQ%fEQe zmRsGT7PmRh$}(M;c<=bsxdyYI99#6>;COz)aYnyS4hg?6wybGrGF%9y7#j(SOWlEf-oQe literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_subsepbg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_subsepbg.gif new file mode 100755 index 0000000000000000000000000000000000000000..9f070bb996b06591fd9e5333b52b1d4ad48a05d3 GIT binary patch literal 56 zcmZ?wbhEHbWMp7uXkcVGboI{v|Nj;L2|5?0CYGe8D3oWGWGJ|M`UWuQFaQBa83PlO I3nPOy02VV3UjP6A literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_upar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_blue/dhtmlxmenu_upar.gif new file mode 100755 index 0000000000000000000000000000000000000000..097d45d645eb65ade17236422f0dd5c9ef903c33 GIT binary patch literal 106 zcmZ?wbhEHbG-F_8n8?gvS2KCprtSa#|G)d{z2Z+6Mg|6E1|0?<0Le2jS-12r(iY%< zID`2@v>~s=Tuy_tBA!>S_s*zP3SSWs{bkp4rO738@9#aAS?Qn@`SRk$hAGVoCngJ+ K_Dx`7um%9#a47`< literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_chrd.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_chrd.gif new file mode 100755 index 0000000000000000000000000000000000000000..79bf3bd854b07adc5051414ce0126247af77d2b6 GIT binary patch literal 372 zcmV-)0gL`eNk%w1VUPe40KxzO|NsB#=;$*uGmwywnVFgY|NsC0|NsC0A^8LW000L7 zEC2ui0FVF@000C2c)HyFFv>}*y*TU5yZ>M)j$}EUXgUav>avaNwsI=j6;A0B-vYp( z5XKk?j{xFg5NJA|N(J*tjV_JB(+vyMMov#J1nd;Yki#DuXq{4>?KkwnJzAyf`@vlu z%L8|HNNssZEq_gMas+^Md1H@se|mg#YLP`~0s@9Hh>f0a1dN1hotZ(KX`z#cPNSBn zm`iM_s*0_lj7_7YmztNGs%);gMX$YZzk_PG!?<#au*smZz-Mg2sm0O7y}Q-4rlrEe zr%RvG-^$ptc($v@h|sX?*39kN+pOKJ)QOI+E!)Q}7C(dH-0c}+r(hp`-~bLJ77(99 zi5J5q6u3IkBD#4QF~+E~Y0D5jQuvhoqLNa%mn)0FeA!}Vxtca(KDb$dCk3AqfR-3a Sw5ZXeNRujE%Cu>R1OPk9^SJT= literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_loader.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_loader.gif new file mode 100755 index 0000000000000000000000000000000000000000..be51b648e9fddb23244da9e01e2b717926e34fd5 GIT binary patch literal 401 zcmZ?wbhEHb$MU}whwS0g SznodCFfI1JXJr5*gEau(hjbAD literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_subar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_subar.gif new file mode 100755 index 0000000000000000000000000000000000000000..35dbd98843c65d408a447764efc3af9a05bdc4a8 GIT binary patch literal 119 zcmZ?wbhEHblwgoxn8?fk1poj4pE+~p-B<4wf3h$#FfcRdfJ8y^3``z#`d6NQ%fEQe zmRsGT7PmRh$}(M;c<=bsxdyYI99#6>;COz)aYnyS4hg?6wybGrGF%9y7#j(SOWlEf-oQe literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_upar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_upar.gif new file mode 100755 index 0000000000000000000000000000000000000000..097d45d645eb65ade17236422f0dd5c9ef903c33 GIT binary patch literal 106 zcmZ?wbhEHbG-F_8n8?gvS2KCprtSa#|G)d{z2Z+6Mg|6E1|0?<0Le2jS-12r(iY%< zID`2@v>~s=Tuy_tBA!>S_s*zP3SSWs{bkp4rO738@9#aAS?Qn@`SRk$hAGVoCngJ+ K_Dx`7um%9#a47`< literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_bg_acccell.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_bg_acccell.gif new file mode 100755 index 0000000000000000000000000000000000000000..43640c5a2b43acf8ba7ebffdafc71786f1ec6fb7 GIT binary patch literal 52 zcmZ?wbhEHbWMq(JSjfb%WZ#w7uV4QM1I3>#j9d&%3_1)z0Fq~5V(sZ)$k literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_topselbg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_topselbg.gif new file mode 100755 index 0000000000000000000000000000000000000000..36e6acf14f1437ecbe9d96f3ff738235cef948de GIT binary patch literal 170 zcmZ?wbhEHbWMmLyXc1%hzcT3mvB3Yg`~KgV@c+)F|97YSzc=mwy&3=S&;I{l?*E7L z|36&x|Iw2FkC*>{vhx3v)&HNa`~Pgi|7V;2Ki~ZS`PTn0w*AKo6#of27o{eaq^2m8 zXO?6rxO@5rFev_HVdP?vXV75)0+2%(ScMV-0w;?&_Fp#Wo}|zoDA3H%!e9*muaRaZ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_topsepbg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_skyblue/dhxmenu_topsepbg.gif new file mode 100755 index 0000000000000000000000000000000000000000..5f258a2e1cb4683d64021b8d82887d038898a9ef GIT binary patch literal 122 zcmZ?wbhEHbWMq(Fc+Aak`P{jy7cbtpa^=?b>vwP6x_|f1!~6FiKYH}^>C=}lUc7$& z>NP4*{3qyKl$uzQnxasiS(2gP?&%xAp!k!8k&A(!L5BedKn63g2oC;TPz z#1x1gWF#0O9vy9JYPxvw;_~wH+qZ95S6AP!y_d(x$VgIBQdLzI1OgF>L@O&RYpZMW zkS)oUmX;(E$+B#DczC$GyL)h8aC&-LCX>z0&dtxw3x&e!>gvgf$@%&DrNyP5o}RI> zv97MJg@uKgnVG)6zTV#6)svX@xc+`!AP`JUOk`wa3=9l-dwW+@RFsvKwYIhn4Gnd6b`B2>r>3SZE-V%l z6!7_csZ^SkmG%7j^OlyDy1Kgh`ug15+~J|2`}gmoP^h%Dw6?Z3>5McbB_%U6bL8Df zO-)TnNr{7lLwkF>cvL(-K0Y})DHe-orL+D0{j;;P{{H?T2-R#wKx$IFe$ zx8?s5h;?;;FK@t&$R^6)jt3$bL{cb)4FpnxsWd0#^s_1?KqWgNk7K<+F9v}ULiLDb zQjSI*@gqfsk{rm$1I~bB1TG?s5k_GXfrzj(G!`zx2}vZ=11UK9Sh0*k0v{mkP$wi_ z@c~feB+!`@0BZ$Wl0aJ!uti&;t!?b=>?{Bbhz3z028G60qU~_j7#s)!9|I}R#v}*f zeBInX=915xkRfa~1BXI|hlg8*TU*hY!6>wRLlqhrjHMi5$vQ`46C*5XtQ{K)ZWI=Y zNoBC9bQ+*gBnHyYvYn7}r~fV?jPXg9#hKe9EP-rVqQPKv`%jc-MgE6Cnx*1;MUC>{Oi}UGBbWkPrG_0 zHRW=0(xr=u3Gs2UF+6Vc1P;qK@>76kQnf{ zQ{R1i^29g($B%vOchuL%`>P{fhrj&7)8ml)K{tXc-sOO^ljDAzgT0+C*2Wqm|Dmib zE%xo*W4?RWPO}|I1n}4G+f4tm)x_AyaEpPyp019zmZpZf+GbT1XoZ$=|5#8t6jU!=ksm|uJhn`a_`>F zxp)6g=EH(u55p2eyg``(zQlu9{OIwMa>Hj_xKX{4UgL{;c#iJt=9bqlg|hnG&E2>0gA^?s5{Vo0quC|(~U?ng+`dQ)+j}5nWya`wA@zlylNiYz~4+3DY<@Ql_CM} z#Js*ma3qUNpagD?$K~Vzp+KiD4sgi?eX4n!(_3%p|NuFpkAzMePOLT#$Xd@4udJ(`q8V`IC z)si}RD6t@8ANh@_(>lZzTFXT zIoK&93KNu?)%nH}{0va9r{n=L1p6s)XH}nk7i^5fmQh{4v-Qofq;0Ov54`&#EtHZ~ z{neS80#8jNtWB}c`51fjNo5@kZw^e$0EECz?D6sX1|6j?CK}s~5D3o+xQL}~93X`K zicf*Z>4J5_O|~79@1VQ2kera6cQ`Ia_6>{+8us~iq#!$9G0ZS%qJ#8f;aQ&9Is|Jv zP_2v2Kc=d`n+oEg$V7i3d@G1oO(*$>#Aw^TYsP2rYKwkL*JihGOVF=P*`<6k&s?N- z7$M2zV}gQ)42_J7qgD1959Hk1ZTbrY<$madFe5*DmT_ zrT*=aZ8ivR)6D*8P3KIgf%h$5Kg2OleJ{^nJDV2=Bzg>P)-lI7=(!WmaWphb&FRoD z?dQ2_MwQDD%_yUny*=l&i^BU3KQI)Z_uTHh>4a~H1PV_fNG>S*9>zBeBAWUmhOdNz z+;@R03nI8CKVW&Y=3&W&w_J;s4iX|r#(`@KX7@+_vKq&x<&HrIOes|Mwc;KJt%@gcJ-lkFV+WSynn%E0%s(R+pOmnWWRdjgRC Fe*oZCKL!8* literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_loader.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_loader.gif new file mode 100755 index 0000000000000000000000000000000000000000..9ef515f1e3e696287044739512d372b680994cf8 GIT binary patch literal 1683 zcmaJ>eOwcD7@vvY3!2t63$x?s#TMIcV`FYI6?dCZjRq_=Df8HF+coZGcQ=_3L?ILg zg+LSmMMM+@A`p@gF&u+{tf`r%wcg)fq_P)#vl}t&kG9|EbD#VDp8I~E@ALeg=bp`} zy0uCqiWkK@q2Sr=c89}JTwL7U-R*QbhlYllo14eS$A^c9D=I4b`uZj&CUSFgtE#Fx zIyx*C3y$OE<>g+lcW`hJ!?2o~n)deg($dn_*4Cz`rqR*S{QUf)qN2LGx}Kh%va+(u z%1W2Z+I}oYip~mttCm4VVJS8F{{;DP*Bj@+dDZq z+1S|F(9qD*(o$Gh*nWD77h=U;Sd^wUW@?fRTB!({JBNdDrfqry03$5Iy^}V$D8yt( zSs)v=VuTtzJ1_(Sm{|>OmFporr9o|2N*;}7=A{`;d3KZ13~pEtB)L>BoWfBS0bFl>31T-}yjRJBJBs4*Z5RfPlNfKlVg(4o1LJ~*} zNyQSWP@+&JNL3I7%q);oqs0Q7lFhK)@rCO*&aM$VK{Z3OF_EmS9BF>4;1uE_NZ5SR#S~ zDFuOgeRwF2&!QPN1HBmU|2k%jyD3zhfik3%HlZ9mE+9pzG&G8^ByA+goZu}QY$QuE zHj)A~nQ~w&MwrQ5W*V*6t5OMuMF? z&*5SB&})OQ4)h;-rSD+x%RSv)2Riq6w7>LX+Y8UPKG*VW^D|9PKh@Y!|76`0kJmm{ zQ(d*M^3g{s${*fa_Rxc+C3}h=xWDMW!h(DA^LD#(cR5*xc2FdN=h*MTY*q_uHf19_ z@7{6Oomt!O*tT`c?Z(WEbi-|F`de?gIW=XoP77-`C2!oYUY)c~#Z@~|E=!PdKa@xq zf0N+GH8)&;-L-LGEO5>0t5?Nbb>+${RxIaVe%Z36mo8Zxy=dWr`B9PcBIaJgjfU9s z5epXb6ukJrFbNDmUgT z%HWUm#UKKiEJEw)aD<~A0QgIY5skxO@JIV%b_!N4nD0HRr@~QuApaNvXYRA4`$1p5 zS+Hl`4(%ynSjy5k{(fR)o1-M%FY?7?3!;ZxN)4{^3rViZPPR-@vbR&Psj#ZZEyztR zNmQuF&B-gas<2f`Ovz75wF0t1!um=IU?nBlwn~m52?day&iO^D3Z{Any2%D+1`1|| zdWOa(=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0 zuU}qXu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~ zr2NtnTP2`NAzsKWfE$}vtOxdvUUGh}ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB z;NpiyW)Z+ZoqU2Pda%GTJ1y;^Qsfi`|MIrh5Ij~R+$jC3rFV4s>P;d@5RS3__ zOUW-U2CMeE=kNwPW5!LRRZeQ%gju%ayBtCH#BfDHg$2fFf?>=vovrqurzfu zaP^Az79*T`^?{Dj2SqDVG{b~|X$QoFCt4r}p6pZefN8x5n5Y^5|NHyr_phHn zzJL4r<@2YHAKt%v`{wnlmoJ__d-~+@qlXXf-@AL~_N|*Yu3x))1N{AbeZ0LqJ>1<~U7Vd99qjFFZLF;S;1CSOWlIB(CrP literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_subselbg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_subselbg.gif new file mode 100755 index 0000000000000000000000000000000000000000..6f9b96036c3df89b74610193e180072111e933fa GIT binary patch literal 52 zcmZ?wbhEHbWMq(GSjfb%=GKS*|Np-M1I3>#j9d&%3_1)z0Fq~5V&&;uxjK-+8UPM$ B5m^8L literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_subsepbg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_subsepbg.gif new file mode 100755 index 0000000000000000000000000000000000000000..50dffd218eefbc6ec693e71212071593aef668ad GIT binary patch literal 1094 zcmZ?wbhEHbWMW`uXkcVGaNxkhXa5!db4U0FD7Yk+Bm!w0`-+0ZIIg#cFVINM%8) zeo$(0erZv1Dp0vH$f^P>=c3falKi5O{QMkPCP(UIa|kjQ{`r{qy_R&mZ5vef{$J z)5j0*-@SeF`qj%9&!0Vg^7zri2lwyYy>t84%^TORUA=Po(!~qs&z(JU`qar2$B!L7 za`@1}1N-;w-Lrew&K=vgZQZhY)5ZeMTG_VdAT{+S(zE>X{jm6 zNr?&Zaj`McQIQehVWAmo_rKzE=rmCW>q^KY-Co3Z@B`F~;CMqH&FX#K^#)_>%=l VGBW5e00F4XU|?eINn~ZP1_0;@fbjqT literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_topbg.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_topbg.gif new file mode 100755 index 0000000000000000000000000000000000000000..68463e8a1bb405b8664d508c3f8d59deccc8c109 GIT binary patch literal 66 zcmZ?wbhEHbWMmLwXkcV`^XAR}|Nj;L2|5?0CYGe8D3oWGWGJ|M`UWs4{$yd~Vqj#@ SVE_V#FEq$h4Rdj31pDc`A42%pq U3_t)<&cMXh!#{C#IxB-U0JBOFY5)KL literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_upar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/codebase/imgs/dhxmenu_dhx_web/dhxmenu_upar.gif new file mode 100755 index 0000000000000000000000000000000000000000..e96db885000f5e4f40a9a533438ad91d29f7d368 GIT binary patch literal 1930 zcmbtUSwIt46rBJjAgLlEP}gxpQ6$MEY$k6~ZF_tB?c29&YHG^M%R4$c>g(%=hK5Q?N*+IcJUl$C z*Xy-f?ZCjmix)4($H(v7xl>nHS5;M2U0ppoI$B&@+||`JHa2EvW>#8S+SJq(9v&_h ziz6Z;$YgRwMMY0fPew*Yb93{RD_2reQ)6Ocy1TpY-@h*q2pSt3U%h(O+uKVd5=A1B zv9YmEr|awMd-Uj0TU%RBPL8jyZ)j*}TwL64ZPmoHytWo6~& z=C-u7*xTFxwQu;={m-#@!hExT0LbNIeEjXcS}EfTA`lD=Lw1Oz9?&nv~pmGFsp~4ga>JNe zAUvB~7|sgh`n<`7M;?#}!(=QPEh;LC8s$Vq0d2KWN&4q3hL{2r~*_%Q}SgrIu$mwGzs+g|8J;7 z@)oVY0+GM#{a0ZHZ;uS21tJP`w_JeW@Fj*+G8RXU@G(@*L(yH6yBHusF;pQ!Wgush z3m7Dp3ehOVYqY;V%TKDn_)-Dl$Mt}4K2d-OvyDEK_bI5a}l{X5)t~yQ3?3EVU~ExTDU$_>b>C# zr>+H_l1syjp&5?#AIChognP#@eQR1gcx!t^ihEs-o0>53$M3)W`f7aa<%{Q|BhQ`= z|MFyL@aM+^{f{0#_^I#5-ku-s-|OzWd#AIby{)yS`L_Q1rtcaX>g#TOTU&Fpx~j6G zysWgOxadaV^=nrPuH@%k{wDY9uP)_W%)apD7w6Aqoz-P#oJmhRotkng`Q(Y?pC8j6 zJ(84oIN{L2_yhYj>V0vsdt*L}{#3O`85Ox3Q^-G&p;F1Nh@E25j&MXM2;+x-ygg*w z*5EChgFgC@w<&OAzy}-r*RNaa=ex$oo6GTHd#--p!~H!LbCsK`i?b60|DmW9$CVB% zmfJ5|YPSSh3@%!@VE(+h@7mf}&#{_qIm=?^jCaW9)6Gmt#AznRMg#y@JZ^$NMS!E> zhB4gM0BIst1gJIp55&id_8m-2QYRcab|~S*$&;Go)YEAxX&LE9Gqo$778_m2zL;|f zT)I*{#}OhFT)lR^a6WU6+WR9nd$Kjjq^9=UTO=E=nOlG?wJpi~Y*vQaoKI_OKdqkk z;m6%N%LM_K`Y(o%ZO^J_umcN6u5Gkv{r>Q5t0kt>iPMOt^L=HW1Y@G8&^Ah}B|6YI zu$B6YT@YZCQK8#^&aXzQfq0=ZPj(z}Q7N;;2wIRcbDQP)5@j!mq`E3}9Dtq9?<14k zhkXO!xFnL*@Pkb&;@HzM&&0vdlz{~%i$=6|>>HzVW6g{$#*9UJO`Of_?BIllH_cg; zuQA^el ztaV<8ES(ch)HPmJTj~xj2lmCcY$ss-d34|i<1(9&P0tq^<%Vor=czkKFR~)r6&m-1 znx{03M0;w}P`wHCyOB+Ij6Tt;ObZMaS`gd|nmEoW6V9T + + + Initialization from XML + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Initialization from XML

+
+ + + + + + +
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime(), function() {
+        // menu.addNewSeparator("file");
+        });
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/03_init_from_script.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/03_init_from_script.html new file mode 100755 index 0000000000..b7f70648fd --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/03_init_from_script.html @@ -0,0 +1,123 @@ + + + + Initiazation using Script + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Initiazation using Script

+
+ + + + + + + + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js" type="text/javascript"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<script>
var menu = new dhtmlXMenuObject("menuObj");
+menu.setIconsPath("../common/imgs/");
+// initing;
+menu.addNewSibling(null, "file", "File", false);
+menu.addNewChild("file", 0, "new", "New", false, "new.gif");
+menu.addNewSeparator("new");
+menu.addNewChild("file", 2, "open", "Open", false, "open.gif");
+menu.addNewChild("file", 3, "save", "Save", false, "save.gif");
+menu.addNewChild("file", 4, "saveAs", "Save As...", true, null, "save_as_dis.gif");
+menu.addNewSeparator("saveAs");
+menu.addNewChild("file", 6, "print", "Print", false, "print.gif");
+menu.addNewChild("file", 7, "pageSetup", "Page Setup", true, null, "page_setup_dis.gif");
+menu.addNewSeparator("pageSetup");
+menu.addNewChild("file", 12, "close", "Close", false, "close.gif");
+menu.addNewSibling("file", "edit", "Edit", false);
+menu.addNewChild("edit", 0, "edit_undo", "Undo", false, "undo.gif");
+menu.addNewSibling("edit_undo", "edit_redo", "Redo", false, "redo.gif");
+menu.addNewSeparator("edit_redo", "sep_1");
+menu.addNewSibling("sep_1", "edit_select_all", "Select All", false, "select_all.gif");
+menu.addNewSeparator("edit_select_all", "sep_2");
+menu.addNewSibling("sep_2", "edit_cut", "Cut", false, "cut.gif");
+menu.addNewSibling("edit_cut", "edit_copy", "Copy", false, "copy.gif");
+menu.addNewSibling("edit_copy", "edit_paste", "Paste", false, "paste.gif");
+menu.addNewSibling("edit", "help", "Help", false);
+menu.addNewChild("help", 0, "about", "About...", false, "about.gif");
+menu.addNewChild("help", 1, "help2", "Help", false, "help.gif");
+menu.addNewChild("help", 2, "bugrep", "Bug Reporting", false, "bug_reporting.gif");
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/04_first_item_usual.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/04_first_item_usual.html new file mode 100755 index 0000000000..eae97bae89 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/04_first_item_usual.html @@ -0,0 +1,152 @@ + + + + Adding First Item + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Adding First Item

+
+ + + + + + + + + + + + +
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<table>
+    <tr>
+        <td width="300"><div style="height: 250px;"><div id="menuObj"></div></div></td>
+        <td width="300"><div style="height: 250px;"><div id="menuObj2"></div></div></td>
+    </tr>
+</table>
+ 
+<br>
+<script>
var menu;
+function doOnLoad() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.addNewSibling(null, "opts", "Options");
+    menu.addNewSibling("opts", "color", "Color");
+    menu.addNewSibling("color", "help", "Help", false);
+    menu.addCheckbox("child", "opts", 0, "ignore_case", "Ignore Case", true);
+    menu.addCheckbox("child", "opts", 1, "search_everywhere", "Search Everywhere");
+    menu.addRadioButton("child", "color", 0, "red", "Red", "color", true);
+    menu.addRadioButton("child", "color", 1, "green", "Green", "color");
+    menu.addRadioButton("child", "color", 2, "blue", "Blue", "color");
+    menu.addNewChild("help", 0, "about", "About...", false, "about.gif");
+    menu.addNewChild("help", 1, "help2", "Help", false, "help.gif");
+    menu.addNewChild("help", 2, "bugrep", "Bug Reporting", false, "bug_reporting.gif");
+ 
+    menu2 = new dhtmlXMenuObject("menuObj2");
+    menu2.setIconsPath("../common/imgs2/");
+    menu2.addNewChild(null, 0, "buddy", "Buddy List");
+    menu2.addNewChild(null, 1, "status", "Status");
+    menu2.addNewChild(null, 2, "tools", "Tools");
+    menu2.addCheckbox("child", "buddy", 0, "show_off_line", "Show Off-Line Buddies", true);
+    menu2.addCheckbox("child", "buddy", 1, "buddy_groups", "Buddy Groups", true);
+    menu2.addCheckbox("child", "buddy", 2, "protocol_icon", "Show Protocol Icons");
+    menu2.addRadioButton("child", "status", 0, "offline", "Off-Line", "status");
+    menu2.addNewSeparator("offline");
+    menu2.addRadioButton("child", "status", 2, "online", "On-Line", "status", true);
+    menu2.addRadioButton("child", "status", 3, "away", "Away", "status");
+    menu2.addRadioButton("child", "status", 4, "notavailable", "Not Available", "status");
+    menu2.addRadioButton("child", "status", 5, "invisible", "Invisible", "status");
+    menu2.addNewChild("tools", 0, "manage_accounts", "Manage Accounts", false, "private_data.gif");
+    menu2.addNewChild("tools", 1, "modules", "Modules", false, "addons.gif");
+    menu2.addNewChild("tools", 2, "files_transfer", "Files Transfer", false, "../imgs/cut.gif");
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/05_dynamic_loading.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/05_dynamic_loading.html new file mode 100755 index 0000000000..5fd9cf07cb --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/05_dynamic_loading.html @@ -0,0 +1,83 @@ + + + + Dynamic Loading + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Dynamic Loading

+
+ + + + + + + +
+ +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.enableDynamicLoading("../common/dhtmlxmenu_dl.php");
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/06_api_simple.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/06_api_simple.html new file mode 100755 index 0000000000..6cacad0f9c --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/06_api_simple.html @@ -0,0 +1,83 @@ + + + + Object API Init + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Object API Init

+
+ + + + + + +
+ + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<script>
var menu;
+function initMenu() {
+    var menuData = {
+        parent: "menuObj",
+        icon_path: "../common/imgs/",
+        xml: "../common/dhxmenu.xml";
+    };
+    menu = new dhtmlXMenuObject(menuData);
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/07_api_ext.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/07_api_ext.html new file mode 100755 index 0000000000..33820e2e63 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/07_api_ext.html @@ -0,0 +1,205 @@ + + + + Object API Extended Init + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Object API Extended Init

+
+ + + + + + + +
+ + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js" type="text/javascript"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<script>
var menu;
+function initMenu() {
+    var menuData = {
+        parent: "menuObj",
+        icon_path: "../common/imgs/",
+        items: [{
+            id: "file",
+            text: "File",
+            items: [{
+                id: "new",
+                text: "New",
+                img: "new.gif"
+            }, {
+                id: "sep0",
+                type: "separator"
+            }, {
+                id: "open",
+                text: "Open",
+                img: "open.gif"
+            }, {
+                id: "save",
+                text: "Save",
+                img: "save.gif"
+            }, {
+                id: "saveAs",
+                text: "Save As...",
+                disabled: true,
+                img_disabled: "save_as_dis.gif"
+            }, {
+                id: "sep1",
+                type: "separator"
+            }, {
+                id: "print",
+                text: "Print",
+                img: "print.gif"
+            }, {
+                id: "pageSetup",
+                text: "Page Setup",
+                disabled: true,
+                img_disabled: "page_setup_dis.gif"
+            }, {
+                id: "sep2",
+                type: "separator"
+            }, {
+                id: "close",
+                text: "Close",
+                img: "close.gif"
+            }]
+            }, {
+            id: "edit",
+            text: "Edit",
+            items: [{
+                id: "edit_undo",
+                text: "Undo",
+                img: "undo.gif"
+            }, {
+                id: "edit_redo",
+                text: "Redo",
+                img: "redo.gif"
+            }, {
+                id: "sep3",
+                type: "separator"
+            }, {
+                id: "edit_select_all",
+                text: "Select All",
+                img: "select_all.gif"
+            }, {
+                id: "sep4",
+                type: "separator"
+            }, {
+                id: "edit_cut",
+                text: "Cut",
+                img: "cut.gif"
+            }, {
+                id: "edit_copy",
+                text: "Copy",
+                img: "copy.gif"
+            }, {
+                id: "edit_paste",
+                text: "Paste",
+                img: "paste.gif"
+            }]
+            }, {
+            id: "help",
+            text: "Help",
+            items: [{
+                id: "about",
+                text: "About...",
+                img: "about.gif"
+            }, {
+                id: "help2",
+                text: "Help",
+                img: "help.gif"
+            }, {
+                id: "bugrep",
+                text: "Bug Reporting",
+                img: "bug_reporting.gif"
+            }]
+            }]
+        };
+    menu = new dhtmlXMenuObject(menuData);
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/08_skinning.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/08_skinning.html new file mode 100755 index 0000000000..1798e0c4d1 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/08_skinning.html @@ -0,0 +1,146 @@ + + + + Skinning + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Skinning

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
dhx_skyblue dhx_blue dhx_black dhx_web
+ + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_blue.css">
+<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_black.css">
+<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_web.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script>
var menu,
+menu2,
+menu3,
+menu4;
+function doOnLoad() {
+    // dhx_skyblue;
+    menu = new dhtmlXMenuObject("menuObj", "dhx_skyblue");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+    // dhx_blue;
+    menu2 = new dhtmlXMenuObject("menuObj2", "dhx_blue");
+    menu2.setIconsPath("../common/imgs/");
+    menu2.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+    // dhx_black;
+    menu3 = new dhtmlXMenuObject("menuObj3", "dhx_black");
+    menu3.setIconsPath("../common/imgs3/");
+    menu3.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+    // dhx_web;
+    menu4 = new dhtmlXMenuObject("menuObj4", "dhx_web");
+    menu4.setIconsPath("../common/imgs/");
+    menu4.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
</script> + +<table> + <th>dhx_skyblue</th> + <th> </th> + <th>dhx_blue</th> + <th> </th> + <th>dhx_black</th> + <th> </th> + <th><b>dhx_web</b></th> + <tr> + <td width="270"> <div style="height: 250px;"><div id="menuObj"></div></div> </td> + <td width="20"> </td> + <td width="270"> <div style="height: 250px;"><div id="menuObj2"></div></div> </td> + <td width="20"> </td> + <td width="270"> <div style="height: 250px;"><div id="menuObj3"></div></div> </td> + <td width="20"> </td> + <td width="270"> <div style="height: 250px;"><div id="menuObj4"></div></div> </td> + </tr> +</table>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/09_clearall.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/09_clearall.html new file mode 100755 index 0000000000..8f96cb8c91 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/09_clearall.html @@ -0,0 +1,108 @@ + + + + Clear All + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Clear All

+
+ + + + + + +
+ + + + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<input type="button" value="Load XML 1" onclick="loadXML('');">
+<input type="button" value="Load XML 2" onclick="loadXML('2');">
+ 
+<br>
+<script>
var menu;
+var menuBusy = true;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onXLE", function() {
+        menuBusy = false;
+    });
+    menu.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime());
+}
+function loadXML(v) {
+    if (menuBusy)
+        return;
+    menuBusy = true;
+    menu.clearAll();
+    menu.setIconsPath("../common/imgs" + v + "/");
+    menu.loadXML("../common/dhxmenu" + v + ".xml?etc=" + new Date().getTime());
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/10_unload.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/10_unload.html new file mode 100755 index 0000000000..a03e235cc1 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/10_unload.html @@ -0,0 +1,141 @@ + + + + Unload + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Unload

+
+ + + + + + + +
+ + +
+ + + + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 400px; position: relative;">
+<div id="menuObj"></div>
+<div id="contextArea" style="position: absolute; left: 100px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF; visibility: hidden;"></div>
+</div>
+<input type="button" value="Load Menu" onclick="load();">
+<input type="button" value="Unload Menu" onclick="unload();">
+<input type="button" value="Load Context Menu" onclick="load2();">
+<input type="button" value="Unload Context Menu" onclick="unload2();">
+<br>
+<script>
var menu,
+menu2;
+function load() {
+    if (menu)
+        return;
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime());
+}
+function unload() {
+    if (!menu)
+        return;
+    menu.unload();
+    menu = null;
+}
+function load2() {
+    if (menu2)
+        return;
+    document.getElementById("contextArea").style.visibility = "visible";
+    menu2 = new dhtmlXMenuObject("contextArea");
+    menu2.setIconsPath("../common/imgs/");
+    menu2.renderAsContextMenu();
+    menu2.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime());
+}
+function unload2() {
+    if (!menu2)
+        return;
+    menu2.unload();
+    menu2 = null;
+    document.getElementById("contextArea").style.visibility = "hidden";
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/index.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/index.html new file mode 100755 index 0000000000..5e5e7f7e59 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/01_init/index.html @@ -0,0 +1,45 @@ + + + + Init + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/01_context.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/01_context.html new file mode 100755 index 0000000000..ac3c1ab5d5 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/01_context.html @@ -0,0 +1,90 @@ + + + + Initialization of Context Menu + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Initialization of Context Menu

+
+ + + + + + + +
+
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script  src="../../codebase/dhtmlxcommon.js"></script>
+<script  src="../../codebase/dhtmlxmenu.js"></script>
+ 
+<div style="height: 400px; position: relative;">
+    <div id="contextArea" style="position: absolute; left: 100px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;"></div>
+</div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("contextArea");
+    menu.setIconsPath("../common/imgs/");
+    menu.renderAsContextMenu();
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/02_context_api.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/02_context_api.html new file mode 100755 index 0000000000..ef71483884 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/02_context_api.html @@ -0,0 +1,90 @@ + + + + Context Menu Object API Init + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Context Menu Object API Init

+
+ + + + + + + +
+
+
+ + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script  src="../../codebase/dhtmlxcommon.js"></script>
+<script  src="../../codebase/dhtmlxmenu.js"></script>
+ 
+<div style="height: 400px; position: relative;">
+    <div id="contextArea" style="position: absolute; left: 100px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;"></div>
+</div>
+<script>
var menu;
+function initMenu() {
+    var menuData = {
+        parent: "contextArea",
+        context: true,
+        icon_path: "../common/imgs/",
+        xml: "../common/dhxmenu.xml";
+    };
+    menu = new dhtmlXMenuObject(menuData);
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/03_context_zones.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/03_context_zones.html new file mode 100755 index 0000000000..44de806cd4 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/03_context_zones.html @@ -0,0 +1,139 @@ + + + + Context Menu Zones + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Context Menu Zones

+
+ + + + + + +
+
zone A
+
zone B
+
zone C
+
+
+ + + + +
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+ 
+<div style="height: 400px; position: relative;">
+    <div id="contextZone_A" style="position: absolute; left: 100px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">zone A</div>
+    <div id="contextZone_B" style="position: absolute; left: 220px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">zone B</div>
+    <div id="contextZone_C" style="position: absolute; left: 340px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">zone C</div>
+</div>
+<div>
+    <select id="sel">
+        <option value="contextZone_A">zone A</option>
+        <option value="contextZone_B">zone B</option>
+        <option value="contextZone_C">zone C</option>
+    </select>
+    <input type="button" value="Add Context Zone" onclick="add();">
+    <input type="button" value="Remove Context Zone" onclick="remove();">
+    <input type="button" value="Is Context Zone?" onclick="check();">
+</div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject();
+    menu.setIconsPath("../common/imgs/");
+    menu.renderAsContextMenu();
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
+var sel = document.getElementById("sel");
+function getId() {
+    return sel.options[sel.selectedIndex].value;
+}
+function add() {
+    menu.addContextZone(getId());
+}
+function remove() {
+    menu.removeContextZone(getId());
+}
+function check() {
+    alert(menu.isContextZone(getId()));
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/04_context_dynamic.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/04_context_dynamic.html new file mode 100755 index 0000000000..bfe30b13b4 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/04_context_dynamic.html @@ -0,0 +1,86 @@ + + + + Context Menu With Dynamical Loading + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Context Menu With Dynamical Loading

+
+ + + + + + + +
+
+
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 400px; position: relative;">
+    <div id="contextArea" style="position: absolute; left: 100px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;"></div>
+</div>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("contextArea");
+    menu.setIconsPath("../common/imgs/");
+    menu.renderAsContextMenu();
+    menu.enableDynamicLoading("../common/dhtmlxmenu_dl.php");
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/05_context_hide_all.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/05_context_hide_all.html new file mode 100755 index 0000000000..eae4b89fe4 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/05_context_hide_all.html @@ -0,0 +1,126 @@ + + + + Context Menu Hide All Mode + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Context Menu Hide All Mode

+
+ + + + + + + + +
+
+
+
Hide All contextual menu mode - hide all opened context menu polygons on mouseout (true by the default)
+
+
Hide All modeenabled
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+<style>
+    span.mode_en {
+        color: #009000;
+        margin-left: 7px;
+        font-weight: bold;
+    }
+    span.mode_dis {
+        color: #EE0000;
+        margin-left: 7px;
+        font-weight: bold;
+    }
+</style>
+ 
+<div style="height: 400px; position: relative;">
+    <div id="contextArea" style="position: absolute; left: 100px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;"></div>
+</div>
+<div>Hide All contextual menu mode - hide all opened context menu polygons on mouseout (true by the default)</div>
+<br>
+<div><input type="button" value="On/Off" onclick="onOff();"><span style="margin-left: 7px;"><b>Hide All</b> mode</span><span id="spmod" class="mode_en">enabled</span></div>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("contextArea");
+    menu.setIconsPath("../common/imgs/");
+    menu.renderAsContextMenu();
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
+function onOff() {
+    menu.setContextMenuHideAllMode(!menu.getContextMenuHideAllMode());
+    document.getElementById("spmod").className = (menu.getContextMenuHideAllMode() ? "mode_en": "mode_dis");
+    document.getElementById("spmod").innerHTML = (menu.getContextMenuHideAllMode() ? "enabled": "disabled");
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/06_context_first_item.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/06_context_first_item.html new file mode 100755 index 0000000000..b4aa9cfe68 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/06_context_first_item.html @@ -0,0 +1,132 @@ + + + + Adding First Item + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Adding First Item

+
+ + + + + + + +
+
Items
+
Checkboxes
+
Radios
+
+ + + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 400px; position: relative;">
+    <div id="contextZone_A" style="position: absolute; left: 100px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">Items</div>
+    <div id="contextZone_B" style="position: absolute; left: 220px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">Checkboxes</div>
+    <div id="contextZone_C" style="position: absolute; left: 340px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">Radios</div>
+</div>
+ 
+<br>
+<script>
var menu1,
+menu2,
+menu3;
+function doOnLoad() {
+    // items;
+    menu1 = new dhtmlXMenuObject();
+    menu1.renderAsContextMenu();
+    menu1.addContextZone("contextZone_A");
+    menu1.setIconsPath("../common/imgs/");
+    menu1.addNewChild(menu1.topId, 0, "open", "Open", false, "open.gif");
+    menu1.addNewChild(menu1.topId, 1, "save", "Save", false, "save.gif");
+    menu1.addNewChild(menu1.topId, 3, "close", "Close", false, "close.gif");
+    // checkboxes;
+    menu2 = new dhtmlXMenuObject();
+    menu2.renderAsContextMenu();
+    menu2.addContextZone("contextZone_B");
+    menu2.addCheckbox("child", menu2.topId, 0, "ignore_case", "Ignore Case", true);
+    menu2.addCheckbox("child", menu2.topId, 1, "search_everywhere", "Search Everywhere");
+    // radios;
+    menu3 = new dhtmlXMenuObject();
+    menu3.renderAsContextMenu();
+    menu3.addContextZone("contextZone_C");
+    menu3.addRadioButton("child", menu3.topId, 0, "red", "Red", "color", true);
+    menu3.addRadioButton("child", menu3.topId, 1, "green", "Green", "color");
+    menu3.addRadioButton("child", menu3.topId, 2, "blue", "Blue", "color");
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/07_context_on_body.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/07_context_on_body.html new file mode 100755 index 0000000000..20d627a0e9 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/07_context_on_body.html @@ -0,0 +1,54 @@ + + + + Context Menu on Body + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Context Menu on Body

+
+ + + + +
+
+
Source
+
+
<input type="button" value="Open Demo" onclick="window.open('inc/context_body.html');">
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/inc/context_body.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/inc/context_body.html new file mode 100755 index 0000000000..7157d7743b --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/inc/context_body.html @@ -0,0 +1,29 @@ + + + + Context Menu on Body + + + + + + + + + diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/index.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/index.html new file mode 100755 index 0000000000..3388976d53 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/02_context/index.html @@ -0,0 +1,45 @@ + + + + Contextual Menu + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/01_open_mode.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/01_open_mode.html new file mode 100755 index 0000000000..893a9ae802 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/01_open_mode.html @@ -0,0 +1,118 @@ + + + + Open Mode + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Open Mode

+
+ + + + + + + + + + + + + + + + +
Web Mode Win Mode
 
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<table border="0" cellspacing="0" cellpadding="0">
+<th>Web Mode</th>
+<th>&nbsp;</th>
+<th>Win Mode</th>
+<tr>
+    <td width="300"><div style="height: 250px;"><div id="menuWeb"></div></div></td>
+    <td width="20">&nbsp;</td>
+    <td width="300"><div style="height: 250px;"><div id="menuWin"></div></div></td>
+</tr>
+</table>
+ 
+<br>
+<script>
var menu1,
+menu2;
+function initMenu() {
+    // web mode;
+    menu1 = new dhtmlXMenuObject("menuWeb");
+    menu1.setIconsPath("../common/imgs/");
+    menu1.setOpenMode("web");
+    menu1.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+    // win mode;
+    menu2 = new dhtmlXMenuObject("menuWin");
+    menu2.setIconsPath("../common/imgs/");
+    menu2.setOpenMode("win");
+    menu2.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/02_overflow.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/02_overflow.html new file mode 100755 index 0000000000..a1689e9a95 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/02_overflow.html @@ -0,0 +1,95 @@ + + + + Overflow Control + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Overflow Control

+
+ + + + + + + +
+ + + +
+ + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<input type="text" value="4" id="overflowValue" size="2">
+<input type="button" value="set overflow" onclick="setOverflow(document.getElementById('overflowValue').value);">
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime());
+}
+function setOverflow(h) {
+    if (isNaN(h))
+        return;
+    menu.setOverflowHeight(h);
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/03_visible_area.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/03_visible_area.html new file mode 100755 index 0000000000..126eb9443c --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/03_visible_area.html @@ -0,0 +1,101 @@ + + + + Setting Visible Area + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Setting Visible Area

+
+ + + + + + + +
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div id="contextArea" style="position: relative; left: 20px; top: 20px; width: 600px; height: 400px; border: #C1C1C1 1px solid; background-color: #E7F4FF;"></div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    var pObj = document.getElementById("contextArea");
+    var x1 = getAbsoluteLeft(pObj);
+    var x2 = x1 + pObj.offsetWidth;
+    var y1 = getAbsoluteTop(pObj);
+    var y2 = y1 + pObj.offsetHeight;
+    //;
+    menu = new dhtmlXMenuObject("contextArea");
+    menu.setIconsPath("../common/imgs/");
+    menu.renderAsContextMenu(true);
+    menu.setVisibleArea(x1, x2, y1, y2);
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/04_align.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/04_align.html new file mode 100755 index 0000000000..4f8c775999 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/04_align.html @@ -0,0 +1,92 @@ + + + + Align + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Align

+
+ + + + + + + +
+ + +
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<input type="button" value="Left Align" onclick="menu.setAlign('left');">
+<input type="button" value="Right Align" onclick="menu.setAlign('right');">
+</div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime());
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/05_toptext.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/05_toptext.html new file mode 100755 index 0000000000..18d6112e66 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/05_toptext.html @@ -0,0 +1,87 @@ + + + + Top Text + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Top Text

+
+ + + + + + + +
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.setTopText("dhtmlxMenu");
+    menu.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime());
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/06_hrefs.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/06_hrefs.html new file mode 100755 index 0000000000..a895167ec8 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/06_hrefs.html @@ -0,0 +1,77 @@ + + + + Hrefs + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Hrefs

+
+ + + + + + + +
+ + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("");
+    menu.loadXML("../common/dhxmenu_links.xml?etc=" + new Date().getTime());
+}
</script> + +<div style="height: 250px;"><div id="menuObj"></div></div>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/index.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/index.html new file mode 100755 index 0000000000..a4e99be54e --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/03_features/index.html @@ -0,0 +1,45 @@ + + + + Features + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/01_iterator.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/01_iterator.html new file mode 100755 index 0000000000..ba6d1f0f08 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/01_iterator.html @@ -0,0 +1,111 @@ + + + + Iterator + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Iterator

+
+ + + + + + + +
+ + + + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<input type="button" value="Disable All Nested" onclick="disable();">
+<input type="button" value="Enable All Nested" onclick="enable();">
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?etc=" + new Date().getTime());
+}
+function disable() {
+    menu.forEachItem(function(id) {
+        if (menu.getItemType(id) != "separator" && menu._getItemLevelType(id) != "TopLevel")
+            menu.setItemDisabled(id);
+    });
+}
+function enable() {
+    menu.forEachItem(function(id) {
+        if (menu.getItemType(id) != "separator" && menu._getItemLevelType(id) != "TopLevel")
+            menu.setItemEnabled(id);
+    });
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/02_manipulations.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/02_manipulations.html new file mode 100755 index 0000000000..911b31a303 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/02_manipulations.html @@ -0,0 +1,313 @@ + + + + Menu Items Manipulations + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Menu Items Manipulations

+
+ + + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Add New Item
Item Type 
Parent 
(Click menu to select)
Item Text 
Item Has Icon  + + +
Icon Source  + + + + + + + + + +
  
+
  + + + + + + + + + + +
Remove Item
Item 
(Click menu to select)
+
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div>
+    <table border="0" cellspacing="0" cellpadding="0">
+        <tr>
+            <td valign="top">
+                <table border="0" cellspacing="0" cellpadding="0">
+                    <th colspan="3" style="padding-bottom: 10px;">Add New Item</th>
+                    <tr>
+                        <td>Item Type</td>
+                        <td width="10">&nbsp;</td>
+                        <td><select id="add_type"><option value="0">Child</option><option value="1">Sibling</option></select></td>
+                    </tr>
+                    <tr>
+                        <td>Parent</td>
+                        <td>&nbsp;</td>
+                        <td><div id="item_parent" style="font-weight: bold;">(Click menu to select)</div></td>
+                    </tr>
+                    <tr>
+                        <td>Item Text</td>
+                        <td>&nbsp;</td>
+                        <td><input id="item_text" type="text" value=""></td>
+                    </tr>
+                    <tr>
+                        <td>Item Has Icon</td>
+                        <td>&nbsp;</td>
+                        <td>
+                            <span><input id="icon_exists" type="checkbox" checked></span>
+                            <span><img id="icon_src" width="18" height="18" border="0" src="../common/imgs/copy.gif"></span>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>Icon Source</td>
+                        <td>&nbsp;</td>
+                        <td>
+                            <span><img onclick="changeIcon(this, 'copy');" width="18" height="18" border="0" src="../common/imgs/copy.gif"></span>
+                            <span><img onclick="changeIcon(this, 'cut');" width="18" height="18" border="0" src="../common/imgs/cut.gif"></span>
+                            <span><img onclick="changeIcon(this, 'new');" width="18" height="18" border="0" src="../common/imgs/new.gif"></span>
+                            <span><img onclick="changeIcon(this, 'paste');" width="18" height="18" border="0" src="../common/imgs/paste.gif"></span>
+                            <span><img onclick="changeIcon(this, 'print');" width="18" height="18" border="0" src="../common/imgs/print.gif"></span>
+                            <span><img onclick="changeIcon(this, 'redo');" width="18" height="18" border="0" src="../common/imgs/redo.gif"></span>
+                            <span><img onclick="changeIcon(this, 'undo');" width="18" height="18" border="0" src="../common/imgs/undo.gif"></span>
+                            <span><img onclick="changeIcon(this, 'save');" width="18" height="18" border="0" src="../common/imgs/save.gif"></span>
+                            <span><img onclick="changeIcon(this, 'select_all');" width="18" height="18" border="0" src="../common/imgs/select_all.gif"></span>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                        <td><input type="button" value="Add Item" style="margin-top: 10px;" onclick="addItem();"></td>
+                    </tr>
+                </table>
+            </td>
+            <td width="30">&nbsp;</td>
+            <td valign="top">
+                <table border="0" cellspacing="0" cellpadding="0">
+                    <th colspan="3" style="padding-bottom: 10px;">Remove Item</th>
+                    <tr>
+                        <td>Item</td>
+                        <td>&nbsp;</td>
+                        <td><div id="item_id" style="font-weight: bold;">(Click menu to select)</div></td>
+                    </tr>
+                    <tr>
+                        <td colspan="3" align="center"><input type="button" value="Remove Item" style="margin-top: 10px;" onclick="removeItem();"></td>
+                    </tr>
+                </table>
+            </td>
+        </tr>
+    </table>
+</div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onClick", changeParent);
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
+var itemImg = "copy";
+function changeIcon(obj, icon) {
+    document.getElementById("icon_src").src = obj.src;
+    itemImg = icon;
+}
+var parentId = null;
+function changeParent(id) {
+    parentId = id;
+    var text = menu.getItemText(id);
+    document.getElementById("item_parent").innerHTML = id + " (" + text + ")";
+    document.getElementById("item_id").innerHTML = id + " (" + text + ")";
+}
+var itemId = 0;
+function addItem() {
+    if (parentId == null) {
+        alert("Please select parentId");
+        return;
+    }
+    var itemText = document.getElementById("item_text").value;
+    if (itemText.length == 0) {
+        itemText = "New Item";
+    }
+    var img = "";
+    var imgDis = "";
+    if (document.getElementById("icon_exists").checked) {
+        img = itemImg + ".gif";
+        imgDis = itemImg + "_dis.gif";
+    }
+    var opts = document.getElementById("add_type");
+    if (opts.options[opts.selectedIndex].value == "0") {
+        menu.addNewChild(parentId, 0, "item_" + itemId, itemText, false, img, imgDis);
+    } else {
+        menu.addNewSibling(parentId, "item_" + itemId, itemText, false, img, imgDis);
+    }
+    itemId++;
+    parentId = null;
+    document.getElementById("item_parent").innerHTML = "(Click menu to select)";
+    document.getElementById("item_id").innerHTML = "(Click menu to select)";
+}
+function removeItem() {
+    if (parentId == null) {
+        alert("Please select itemId");
+        return;
+    }
+    menu.removeItem(parentId);
+    parentId = null;
+    document.getElementById("item_parent").innerHTML = "(Click menu to select)";
+    document.getElementById("item_id").innerHTML = "(Click menu to select)";
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/03_visibility.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/03_visibility.html new file mode 100755 index 0000000000..9a7c78119e --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/03_visibility.html @@ -0,0 +1,142 @@ + + + + Menu Items Visibility Control + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Menu Items Visibility Control

+
+ + + + + + + +
+
+ + + + + + + + +
Select Item  
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div>
+    <table border="0" cellspacing="0" cellpadding="0">
+        <tr>
+            <td>Select Item</td>
+            <td width="10">&nbsp;</td>
+            <td><select id="sel"></select></td>
+            <td width="10">&nbsp;</td>
+            <td><input type="button" value="Show" onclick="show();"> <input type="button" value="Hide" onclick="hide();"> <input type="button" value="Is Hidden?" onclick="isHidden();"></td>
+        </tr>
+    </table>
+</div>
+ 
+<br>
+<script>
var menu;
+var sel = document.getElementById("sel");
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime(), function() {
+        menu.forEachItem(function(itemId) {
+            if (menu.getItemType(itemId) != "separator")
+                sel.options.add(new Option(menu.getItemText(itemId), itemId));
+        });
+    });
+}
+function getId() {
+    return sel.options[sel.selectedIndex].value;
+}
+function show() {
+    menu.showItem(getId());
+}
+function hide() {
+    menu.hideItem(getId());
+}
+function isHidden() {
+    alert(menu.isItemHidden(getId()));
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/04_state.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/04_state.html new file mode 100755 index 0000000000..46c340922d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/04_state.html @@ -0,0 +1,145 @@ + + + + Menu Items State Manipulation + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Menu Items State Manipulation

+
+ + + + + + + +
+
+ + + + + + + + +
Select Item  
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div>
+    <table border="0" cellspacing="0" cellpadding="0">
+        <tr>
+            <td>Select Item</td>
+            <td width="10">&nbsp;</td>
+            <td><select id="sel"></select></td>
+            <td width="10">&nbsp;</td>
+            <td><input type="button" value="Enable" onclick="enable();"> <input type="button" value="Disable" onclick="disable();"> <input type="button" value="Is Enabled?" onclick="isEnabled();"></td>
+        </tr>
+    </table>
+</div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime(), function() {
+        var sel = document.getElementById("sel");
+        menu.forEachItem(function(id) {
+            if (menu.getItemType(id) != "separator") {
+                sel.options.add(new Option(menu.getItemText(id), id));
+            }
+        });
+    });
+}
+function getId() {
+    var sel = document.getElementById("sel");
+    var id = sel.options[sel.selectedIndex].value;
+    return id;
+}
+function enable() {
+    menu.setItemEnabled(getId());
+}
+function disable() {
+    menu.setItemDisabled(getId());
+}
+function isEnabled() {
+    alert(menu.isItemEnabled(getId()));
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/05_text.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/05_text.html new file mode 100755 index 0000000000..42a6e93d22 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/05_text.html @@ -0,0 +1,144 @@ + + + + Menu Items Text Manipulation + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Menu Items Text Manipulation

+
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + +
Select Item 
(Click menu item to select)
Current Item Text 
 
New Item Text 
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div>
+    <table border="0" cellspacing="0" cellpadding="0">
+        <tr>
+            <td>Select Item</td>
+            <td width="10">&nbsp;</td>
+            <td><div id="item">(Click menu item to select)</div></td>
+        </tr>
+        <tr>
+            <td>Current Item Text</td>
+            <td>&nbsp;</td>
+            <td><div id="item_text">&nbsp;</div></td>
+        </tr>
+        <tr>
+            <td>New Item Text</td>
+            <td>&nbsp;</td>
+            <td><input id="item_new_text" type="text" value="New Item Text"> <input type="button" value="Update" onclick="update();"></td>
+        </tr>
+    </table>
+</div>
+ 
+<br>
+<script>
var menu,
+mid;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onClick", menuClick);
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
+function menuClick(id) {
+    document.getElementById("item").innerHTML = id;
+    document.getElementById("item_text").innerHTML = menu.getItemText(id);
+    mid = id;
+}
+function update() {
+    var text = document.getElementById("item_new_text").value;
+    menu.setItemText(mid, text);
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/06_position.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/06_position.html new file mode 100755 index 0000000000..bed70dc20b --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/06_position.html @@ -0,0 +1,148 @@ + + + + Menu Items Position Control + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Menu Items Position Control

+
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + +
Select Item 
(Click menu item to select)
Current Item Position 
 
New Item Position 
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div>
+    <table border="0" cellspacing="0" cellpadding="0">
+        <tr>
+            <td>Select Item</td>
+            <td width="10">&nbsp;</td>
+            <td><div id="item">(Click menu item to select)</div></td>
+        </tr>
+        <tr>
+            <td>Current Item Position</td>
+            <td>&nbsp;</td>
+            <td><div id="item_pos">&nbsp;</div></td>
+        </tr>
+        <tr>
+            <td>New Item Position</td>
+            <td>&nbsp;</td>
+            <td><input id="item_new_pos" type="text" value="1" style="width: 30px;"> <input type="button" value="Update" onclick="update();"></td>
+        </tr>
+    </table>
+</div>
+ 
+<br>
+<script>
var menu,
+mid;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onClick", menuClick);
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
+function menuClick(id) {
+    document.getElementById("item").innerHTML = id + " (" + menu.getItemText(id) + ")";
+    document.getElementById("item_pos").innerHTML = menu.getItemPosition(id);
+    mid = id;
+}
+function update() {
+    var pos = Number(document.getElementById("item_new_pos").value);
+    if (isNaN(pos)) {
+        return;
+    }
+    menu.setItemPosition(mid, pos);
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/07_userdata.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/07_userdata.html new file mode 100755 index 0000000000..611e0a76ed --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/07_userdata.html @@ -0,0 +1,156 @@ + + + + Using UserData In Menu Items + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Using UserData In Menu Items

+
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + +
Select Item 
(Click menu item to select)
Current UserData ("data") 
UserData Name 
UserData Value 
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div>
+    <table border="0" cellspacing="2" cellpadding="2">
+        <tr>
+            <td>Select Item</td>
+            <td width="10">&nbsp;</td>
+            <td><div id="item">(Click menu item to select)</div></td>
+        </tr>
+        <tr>
+            <td>Current UserData ("data")</td>
+            <td>&nbsp;</td>
+            <td><input id="item_ud" type="text" value="" disabled="true"></td>
+        </tr>
+        <tr>
+            <td>UserData Name</td>
+            <td>&nbsp;</td>
+            <td><select disabled><option>data</option></select></td>
+        </tr>
+        <tr>
+            <td>UserData Value</td>
+            <td>&nbsp;</td>
+            <td><input id="item_new_ud" type="text" value=""> <input type="button" value="Update" onclick="update();"></td>
+        </tr>
+    </table>
+</div>
+ 
+<br>
+<script>
var menu,
+mid;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onClick", menuClick);
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+}
+function menuClick(id) {
+    document.getElementById("item").innerHTML = id + " (" + menu.getItemText(id) + ")";
+    var ud = menu.getUserData(id, "data");
+    document.getElementById("item_ud").value = (ud != null ? ud: "");
+    mid = id;
+}
+function update() {
+    var data = document.getElementById("item_new_ud").value;
+    menu.setUserData(mid, "data", data);
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/08_images.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/08_images.html new file mode 100755 index 0000000000..b1cfad637d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/08_images.html @@ -0,0 +1,185 @@ + + + + Menu Items Images Manipulation + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Menu Items Images Manipulation

+
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + +
Select Item 
(Click menu item to select)
Current Image 
Select New Image 
Remove Item Image 
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div>
+    <table border="0" cellspacing="0" cellpadding="0">
+        <tr>
+            <td>Select Item</td>
+            <td width="10">&nbsp;</td>
+            <td><div id="item">(Click menu item to select)</div></td>
+        </tr>
+        <tr>
+            <td>Current Image</td>
+            <td>&nbsp;</td>
+            <td><img id="imgcur" src="" width="18" height="18" style="border: #909090 1px solid;"></td>
+        </tr>
+        <tr>
+            <td>Select New Image</td>
+            <td>&nbsp;</td>
+            <td id="imgList"></td>
+        </tr>
+        <tr>
+            <td>Remove Item Image</td>
+            <td>&nbsp;</td>
+            <td><input type="button" value="Remove Image" onclick="update();"></td>
+        </tr>
+    </table>
+</div>
+ 
+<br>
+<script>
var menu,
+mid;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onClick", menuClick);
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime(), function() {
+        menu.forEachItem(function(id) {
+            var imgs = menu.getItemImage(id);
+            if (imgs[0] != null && imgs[0] != "") {
+                var text = '<span><img onclick="changeIcon(this, \'' + imgs[0] + '\');" width="18" height="18" border="0" src="../common/imgs/' + imgs[0] + '"></span> ';
+                document.getElementById("imgList").innerHTML += text;
+            }
+        });
+    });
+}
+function menuClick(id) {
+    var img = menu.getItemImage(id);
+    document.getElementById("item").innerHTML = id + " (" + menu.getItemText(id) + ")";
+    document.getElementById("imgcur").src = "../common/imgs/" + img[0];
+    //.replace(/^\.\.\//,"");
+    mid = id;
+}
+function changeIcon(obj, icon) {
+    if (mid == null) {
+        return;
+    }
+    document.getElementById("imgcur").src = obj.src;
+    menu.setItemImage(mid, icon);
+}
+function update() {
+    menu.clearItemImage(mid);
+    document.getElementById("imgcur").src = "../common/imgs/";
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/index.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/index.html new file mode 100755 index 0000000000..f40423cad9 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/04_items/index.html @@ -0,0 +1,45 @@ + + + + Items + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/01_events_single.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/01_events_single.html new file mode 100755 index 0000000000..e96f44322d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/01_events_single.html @@ -0,0 +1,149 @@ + + + + Event Handling In Case Of Single Loading + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Event Handling In Case Of Single Loading

+
+ + + + + + + +
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div id="ta" style="width: 500px; height: 160px; border: #909090 1px solid; overflow: auto; font-size: 10px; font-family: Tahoma;"></div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onXLS", menuXLS);
+    menu.attachEvent("onXLE", menuXLE);
+    menu.attachEvent("onClick", menuClick);
+    menu.attachEvent("onTouch", menuTouch);
+    menu.attachEvent("onShow", menuShow);
+    menu.attachEvent("onHide", menuHide);
+    menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime(), function() {
+        document.getElementById("ta").innerHTML += "<b>doOnLoad</b> onLoadFunction was called<br>";
+    });
+}
+function printLog(text) {
+    document.getElementById("ta").innerHTML = text + document.getElementById("ta").innerHTML;
+    document.getElementById("ta").scrollTop = 0;
+}
+function menuClick(id) {
+    printLog("<b>onClick</b> Item " + menu.getItemText(id) + " (id:" + id + ") was clicked<br>");
+    return true;
+}
+function menuTouch(id) {
+    printLog("<b>onTouch</b> Menu was touched at item " + menu.getItemText(id) + " (id:" + id + ")<br>");
+}
+function menuXLS() {
+    printLog("<b>onXLS</b> XML loading has started<br>");
+}
+function menuXLE() {
+    printLog("<b>onXLE</b> XML was loaded into menu<br>");
+}
+function menuShow(parentId) {
+    printLog("<b>onShow</b> Menu was shown, parentId <b>" + parentId + "</b><br>");
+}
+function menuHide(parentId) {
+    printLog("<b>onHide</b> Menu was hidden, parentId <b>" + parentId + "</b><br>");
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/02_events_dynamic.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/02_events_dynamic.html new file mode 100755 index 0000000000..36738e3e3e --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/02_events_dynamic.html @@ -0,0 +1,132 @@ + + + + Event Handling In Case Of Dynamical Loading + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Event Handling In Case Of Dynamical Loading

+
+ + + + + + + +
+ * This sample requires PHP to work. +
+ + + + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+* This sample requires PHP to work.
+<div id="ta" style="width: 500px; height: 160px; border: #909090 1px solid; overflow: auto; font-size: 10px; font-family: Tahoma;"></div>
+ 
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.setIconsPath("../common/imgs/");
+    menu.attachEvent("onXLS", menuXLS);
+    menu.attachEvent("onXLE", menuXLE);
+    menu.attachEvent("onClick", menuClick);
+    menu.attachEvent("onTouch", menuTouch);
+    menu.enableDynamicLoading("../common/dhtmlxmenu_dl.php");
+}
+function printLog(text) {
+    document.getElementById("ta").innerHTML = text + document.getElementById("ta").innerHTML;
+    document.getElementById("ta").scrollTop = 0;
+}
+function menuClick(id) {
+    printLog("<b>onClick</b> Item " + menu.getItemText(id) + " (id:" + id + ") was clicked<br>");
+}
+function menuTouch(id) {
+    printLog("<b>onTouch</b> Menu was touched at item " + menu.getItemText(id) + " (id:" + id + ")<br>");
+}
+function menuXLS() {
+    printLog("<b>onXLS</b> XML loading has started<br>");
+}
+function menuXLE() {
+    printLog("<b>onXLE</b> XML was loaded into menu<br>");
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/03_events_context.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/03_events_context.html new file mode 100755 index 0000000000..606bd4fd5d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/03_events_context.html @@ -0,0 +1,171 @@ + + + + Event Handling In Case Of Contextual Menu + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Event Handling In Case Of Contextual Menu

+
+ + + + + + + +
+
zoneA
+
zoneB
+
zoneC
+
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 380px; position: relative;">
+    <div id="zoneA" style="position: absolute; left:  50px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">zoneA</div>
+    <div id="zoneB" style="position: absolute; left: 170px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">zoneB</div>
+    <div id="zoneC" style="position: absolute; left: 290px; top: 100px; width: 100px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;">zoneC</div>
+</div>
+<div id="ta" style="width: 500px; height: 160px; border: #909090 1px solid; overflow: auto; font-size: 10px; font-family: Tahoma;"></div>
+ 
+<br>
+<script>
var menu = new dhtmlXMenuObject();
+menu.setIconsPath("../common/imgs/");
+menu.renderAsContextMenu();
+menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+menu.addContextZone("zoneA");
+menu.addContextZone("zoneB");
+menu.addContextZone("zoneC");
+//;
+menu.attachEvent("onBeforeContextMenu", function(zoneId) {
+    if (zoneId == "zoneA") {
+        printLog("<b>onBeforeContextMenu</b>: context menu will shown at <b>" + zoneId + "</b>; deny (return false)<br>");
+        return false;
+    }
+    printLog("<b>onBeforeContextMenu</b>: context menu will shown at <b>" + zoneId + "</b>; allow (return true)<br>");
+    return true;
+});
+menu.attachEvent("onAfterContextMenu", function(zoneId) {
+    printLog("<b>onAfterContextMenu</b>: context menu was shown at <b>" + zoneId + "</b><br>");
+});
+menu.attachEvent("onClick", function(id, zoneId) {
+    printLog("<b>onClick</b>: " + id + " was clicked, context menu at zone <b>" + zoneId + "</b><br>");
+});
+menu.attachEvent("onRadioClick", function(gruop, checked, clicked, zoneId) {
+    printLog("<b>onRadioClick</b>: " + clicked + " was clicked, context menu at zone <b>" + zoneId + "</b><br>");
+    return true;
+});
+menu.attachEvent("onCheckboxClick", function(id, state, zoneId) {
+    printLog("<b>onCheckboxClick</b>: " + id + " was clicked, context menu at zone <b>" + zoneId + "</b><br>");
+    return true;
+});
+menu.attachEvent("onShow", function(parentId) {
+    if (parentId == null)
+        parentId = "null";
+    printLog("<b>onShow</b>: menu was shown, parentId <b>" + parentId + "</b><br>");
+});
+// adding onHide event handler;
+menu.attachEvent("onHide", function(parentId) {
+    if (parentId == null)
+        parentId = "null";
+    printLog("<b>onHide</b>: menu was hidden, parentId <b>" + parentId + "</b><br>");
+});
+function printLog(text) {
+    document.getElementById("ta").innerHTML = text + document.getElementById("ta").innerHTML;
+    document.getElementById("ta").scrollTop = 0;
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/04_events_single_cas.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/04_events_single_cas.html new file mode 100755 index 0000000000..f468b03529 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/04_events_single_cas.html @@ -0,0 +1,105 @@ + + + + Event Handling: CAS State (Single Loading) + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Event Handling: CAS State (Single Loading)

+
+ + + + + + + +
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div id="ta" style="width: 500px; height: 160px; border: #909090 1px solid; overflow: auto; font-size: 10px; font-family: Tahoma;"></div>
+ 
+<br>
+<script>
var menu = new dhtmlXMenuObject("menuObj");
+menu.setIconsPath("../common/imgs/");
+menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+//;
+menu.attachEvent("onClick", function(id, zoneId, casState) {
+    document.getElementById("ta").innerHTML += "<b>onClick</b> '" + menu.getItemText(id) + "' was clicked, ctrl: " + (casState["ctrl"] ? "<b>true</b>": "false") + ", alt: " + (casState["alt"] ? "<b>true</b>": "false") + ", shift: " + (casState["shift"] ? "<b>true</b>": "false") + "<br>";
+});
+menu.attachEvent("onRadioClick", function(gruop, checked, clicked, zoneId, casState) {
+    document.getElementById("ta").innerHTML += "<b>onRadioClick</b> '" + menu.getItemText(clicked) + "' was clicked, ctrl: " + (casState["ctrl"] ? "<b>true</b>": "false") + ", alt: " + (casState["alt"] ? "<b>true</b>": "false") + ", shift: " + (casState["shift"] ? "<b>true</b>": "false") + "<br>";
+    return true;
+});
+menu.attachEvent("onCheckboxClick", function(id, state, zoneId, casState) {
+    document.getElementById("ta").innerHTML += "<b>onCheckboxClick</b> '" + menu.getItemText(id) + "' was clicked, ctrl: " + (casState["ctrl"] ? "<b>true</b>": "false") + ", alt: " + (casState["alt"] ? "<b>true</b>": "false") + ", shift: " + (casState["shift"] ? "<b>true</b>": "false") + "<br>";
+    return true;
+});
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/05_events_context_cas.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/05_events_context_cas.html new file mode 100755 index 0000000000..8b9738dfce --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/05_events_context_cas.html @@ -0,0 +1,113 @@ + + + + Event Handling: CAS State (Contextual Menu) + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Event Handling: CAS State (Contextual Menu)

+
+ + + + + + + +
+
+
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 380px; position: relative;">
+    <div id="zoneA" style="position: absolute; left:  50px; top: 100px; width: 200px; height: 60px; border: #C1C1C1 1px solid; background-color: #E7F4FF;"></div>
+</div>
+<div id="ta" style="width: 500px; height: 160px; border: #909090 1px solid; overflow: auto; font-size: 10px; font-family: Tahoma;"></div>
+ 
+<br>
+<script>
var menu = new dhtmlXMenuObject();
+menu.setIconsPath("../common/imgs/");
+menu.renderAsContextMenu();
+menu.loadXML("../common/dhxmenu.xml?e=" + new Date().getTime());
+menu.addContextZone("zoneA");
+//;
+menu.attachEvent("onClick", function(id, zoneId, casState) {
+    document.getElementById("ta").innerHTML += "<b>onClick</b> '" + menu.getItemText(id) + "' was clicked, ctrl: " + (casState["ctrl"] ? "<b>true</b>": "false") + ", alt: " + (casState["alt"] ? "<b>true</b>": "false") + ", shift: " + (casState["shift"] ? "<b>true</b>": "false") + "<br>";
+});
+menu.attachEvent("onRadioClick", function(gruop, checked, clicked, zoneId, casState) {
+    document.getElementById("ta").innerHTML += "<b>onRadioClick</b> '" + menu.getItemText(clicked) + "' was clicked, ctrl: " + (casState["ctrl"] ? "<b>true</b>": "false") + ", alt: " + (casState["alt"] ? "<b>true</b>": "false") + ", shift: " + (casState["shift"] ? "<b>true</b>": "false") + "<br>";
+    return true;
+});
+menu.attachEvent("onCheckboxClick", function(id, state, zoneId, casState) {
+    document.getElementById("ta").innerHTML += "<b>onCheckboxClick</b> '" + menu.getItemText(id) + "' was clicked, ctrl: " + (casState["ctrl"] ? "<b>true</b>": "false") + ", alt: " + (casState["alt"] ? "<b>true</b>": "false") + ", shift: " + (casState["shift"] ? "<b>true</b>": "false") + "<br>";
+    return true;
+});
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/index.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/index.html new file mode 100755 index 0000000000..fadd464f1b --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/05_events/index.html @@ -0,0 +1,45 @@ + + + + Events + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/01_radios_checks.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/01_radios_checks.html new file mode 100755 index 0000000000..acca5ac0d3 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/01_radios_checks.html @@ -0,0 +1,83 @@ + + + + Radio Buttons And Checkboxes Used As Menu Items + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Radio Buttons And Checkboxes Used As Menu Items

+
+ + + + + + + +
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.loadXML("../common/dhxmenu_radios.xml?e=" + new Date().getTime());
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/02_events.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/02_events.html new file mode 100755 index 0000000000..437eca8f92 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/02_events.html @@ -0,0 +1,106 @@ + + + + Radio Buttons And Checkboxes Event Handling + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+
+ +
+

Radio Buttons And Checkboxes Event Handling

+
+ + + + + + + +

Menu contains sub items with checkboxes and radio buttons. Try to change their states.

+
+
+ + +
+ + + + +
+
+
Source
+
+
<link rel="stylesheet" type="text/css" href="../../codebase/skins/dhtmlxmenu_dhx_skyblue.css">
+<script src="../../codebase/dhtmlxcommon.js"></script>
+<script src="../../codebase/dhtmlxmenu.js"></script>
+<script src="../../codebase/ext/dhtmlxmenu_ext.js"></script>
+ 
+<div style="height: 250px;"><div id="menuObj"></div></div>
+<div id="ta" style="width: 500px; height: 100px; border: #909090 1px solid; overflow: auto; font-size: 10px; font-family: Tahoma;"></div>
+ 
+<br>
+<script>
var menu;
+function initMenu() {
+    menu = new dhtmlXMenuObject("menuObj");
+    menu.attachEvent("onCheckboxClick", menuCheckboxClick);
+    menu.attachEvent("onRadioClick", menuRadioClick);
+    menu.loadXML("../common/dhxmenu_radios.xml?e=" + new Date().getTime());
+}
+function menuCheckboxClick(id, state) {
+    document.getElementById("ta").innerHTML += "Checkbox '" + menu.getItemText(id) + "' (id:" + id + ") was " + (state ? "unchecked": "checked") + "<br>";
+    return true;
+}
+function menuRadioClick(group, idChecked, idClicked) {
+    document.getElementById("ta").innerHTML += "Radiobutton '" + menu.getItemText(idClicked) + "' (id:" + idClicked + ") was checked<br>";
+    return true;
+}
</script>
+
+ + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/index.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/index.html new file mode 100755 index 0000000000..6b113da598 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/06_radios_checks/index.html @@ -0,0 +1,45 @@ + + + + Radios And Checkboxes + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ +
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/config.php b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/config.php new file mode 100755 index 0000000000..ea924aeb14 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/config.php @@ -0,0 +1,16 @@ + diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/css/style.css b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/css/style.css new file mode 100755 index 0000000000..28b4f6cc1c --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/css/style.css @@ -0,0 +1,484 @@ +/* MAIN STYLES */ + +html { + overflow-x:hidden; + border: none; +} + +body { + margin:1px; + color:#666; + font-family: Tahoma, Arial, Helvetica, Tahoma, serif; + font-size:12px; + overflow-x:hidden; +} + +h5 { + margin:0; + padding:0; +} + +a { + font-family: Tahoma, Arial, Helvetica, serif; + font-size:12px; + color: #058cb6; + text-decoration:none; +} + +a:hover { + text-decoration:underline; +} + +a.navigation img { + margin-bottom:-5px; + padding-right:5px; + border:none; +} + +p { + margin: 20px 0; +} + +ul { + padding-bottom:30px; +} + +h3 { + color:#000; + font-family: Tahoma, Arial, Helvetica, serif; + font-size:21px; + font-weight:normal; + padding-bottom:37px; + margin-top:35px; +} + +h4 { + display:inline-block; + width:100%; + color:#B5B5B5; + font-family: Arial, Helvetica, Tahoma, serif; + font-size:20px; + font-weight:normal; + padding-bottom:20px; +} + +h5 { + color:#666; + font-family: Tahoma, Arial, Helvetica, Tahoma, serif; + font-size:13px; + padding:4px 0 10px 0; + font-weight:bold; +} + +.column { + float:left; + width:24%; +} + + + +/* HEADER */ + +.header { + width:100%; + height: 100px; + background:url("../img/head_bg.png"); +} + +a.logo { + display:block; + margin-left:48px; + height:100px; + width:100px; + background-image:url("../img/logo.png"); + float:left; + outline:none; +} + +.tittle-dhtmlx { + padding: 29px 0 0 121px; + font-family:arial, serif; + font-size:16px; + color:white; + float:left; + cursor:default; +} + +/* Search */ + +.search-field { + position:absolute; + float:right; + right:67px; + top:30px; + min-width: 430px; +} + +.search-field input { + float:left; + width:351px; + height:20px; + background: white url("../img/search-field.png"); + border: none; +} + +.search-field input:hover { + background-position:0 -20px; +} + +input.button { + cursor:pointer; + margin-left:7px; + float:left; + width:70px; + height:20px; + background: white url("../img/search-button.png"); + border: 0; +} + +input.button:hover { + background-position:0 -20px; +} + + + +/* BUTTONS */ + +.buttons { + position:absolute; + width: 154px; + height: 24px; + left: 55px; + top:80px; +} + +.buttons a.doc { + display:block; + height:24px; + width:93px; + background-image:url("../img/doc-button.png"); + float:left; + outline:none; +} + +.buttons a.doc_inact { + display:block; + height:24px; + width:92px; + background-image:url("../img/doc-button_inact.png"); + float:left; + outline:none; +} + +.buttons a.doc_inact:hover { + background-position:0 -24px; +} + +.buttons a.sample { + display:block; + height:24px; + width:62px; + background-image:url("../img/samples-but.png"); + float:left; + outline:none; +} + +.buttons a.sample_inact { + display:block; + height:24px; + width:55px; + background-image:url("../img/samples-but_inact.png"); + float:left; + outline:none; +} + +.buttons a.sample_inact:hover { + background-position:0 -24px; +} + + +/* CONTENT */ + +.content { + margin: 30px 63px 0 63px; +} + +.content li { + list-style:none; + height:22px; +} + +li img { + margin-bottom:-5px; + padding-right: 7px; +} + +.line { + margin: 0; + padding: 1px; + background: url("../img/border-dotted.gif") repeat-x top; +} + + +/* NAVIGATION */ + +.navigation-div { + display:block; + height:35px; + width:100%; + margin-bottom:20px; +} + +a.navigation { + outline:none; + float:left; + display:block; + height:25px; + padding: 2px 10px 0 5px; + border: solid 1px #cccccc; +} + +a.navigation:hover { + background-color: #eaeff4; + border-color: #6699CC; + text-decoration:none; + outline:none; +} + +a.navigation img { + margin-bottom:-5px; + padding-right:5px; + border:none; +} + +.arrow { + float:left; + height:23px; + background:url("../img/arrow.gif"); + margin: 3px 3px; + width:8px; +} + +a.view-source { + border: dashed 1px #cccccc; +} + + +/* LOGOS */ + +.big_logo { + display:block; + width:200px; + height:54px; + overflow:hidden; + line-height:1000px; + margin: 40px 0 20px 0; +} + +.logo_grid{ + background:transparent url("../img/logo_grid.gif") no-repeat; +} +.logo_treegrid{ + background:transparent url("../img/logo_treegrid.gif") no-repeat; +} +.logo_tree{ + background:transparent url("../img/logo_tree.gif") no-repeat; +} +.logo_layout{ + background:transparent url("../img/logo_layout.gif") no-repeat; +} +.logo_menu{ + background:transparent url("../img/logo_menu.gif") no-repeat; +} +.logo_toolbar{ + background:transparent url("../img/logo_toolbar.gif") no-repeat; +} +.logo_windows{ + background:transparent url("../img/logo_windows.gif") no-repeat; +} +.logo_calendar{ + background:transparent url("../img/logo_calendar.gif") no-repeat; +} +.logo_slider{ + background:transparent url("../img/logo_slider.gif") no-repeat; +} +.logo_scheduler{ + background:transparent url("../img/logo_scheduler.gif") no-repeat; +} +.logo_colorpicker{ + background:transparent url("../img/logo_colorpicker.gif") no-repeat; +} +.logo_combo{ + background:transparent url("../img/logo_combo.gif") no-repeat; +} +.logo_tabbar{ + background:transparent url("../img/logo_tabbar.gif") no-repeat; +} +.logo_accordion{ + background:transparent url("../img/logo_accordion.gif") no-repeat; +} +.logo_folders{ + background:transparent url("../img/logo_folders.gif") no-repeat; +} +.logo_editor{ + background:transparent url("../img/logo_editor.gif") no-repeat; +} +.logo_ajax{ + background:transparent url("../img/logo_ajax.gif") no-repeat; +} +.logo_gantt{ + background:transparent url("../img/logo_gantt.gif") no-repeat; +} +.logo_chart{ + background:transparent url("../img/logo_chart.gif") no-repeat; +} +.logo_dataview{ + background:transparent url("../img/logo_dataview.gif") no-repeat; +} +.logo_form{ + background:transparent url("../img/logo_form.gif") no-repeat; +} + +/* Topics */ + +.topics li { + background:url("../icons/old.gif") no-repeat; + padding-left: 25px; + line-height:22px; +} + +.samples li { + background:url("../icons/file.gif") no-repeat; +} + +ul.list { + margin-left:40px; +} + +.list li { + list-style-image:url("../icons/bullet.gif"); +} + +.component-demo-placeholder { + width:602px; + height:252px; + background:url("../img/grid-placeholder.gif"); +} + + +/* FOOTER */ + +.footer { + display:block; + float:left; + width:100%; + height:64px; + background: white url("../img/border-dotted-ccc.gif") repeat-x; +} + +.footer-logo { + float:left; + width:55px; + height:24px; + background:url("../img/footer-logo.gif"); + margin: 20px 20px 20px 63px; +} + +.copyright { + float:left; + margin-top:18px; + font-size:11px; +} + +/* CODE */ + +.source { + width:100%; + background:url("../img/source-bg.gif"); + border-top: dashed 3px #ccc; + border-bottom: dotted 1px #ccc; + margin-top:20px; +} + +.code { + margin:20px 63px; +} + +.teg { + height:40px; + color:#ccc; + font-size:30px; + font-family: Tahoma, Arial, Helvetica, Tahoma, serif; + background:url("../img/source.gif") no-repeat 0 22px; + padding: 10px 0 0 63px; +} + +/*colorizer*/ + + +.hl-default { + color: Black; +} +.hl-code { + color: Gray; +} +.hl-brackets { + color: Olive; +} +.hl-comment { + color: Orange; +} +.hl-quotes { + color: Darkred; +} +.hl-string { + color: Red; +} + +.hl-identifier { + color: Blue; +} + +.hl-identifier a{ + font-family: "Courier New"; + font-size: 11px; + color: Blue; + text-decoration: underline; +} + +.hl-builtin { + color: Teal; +} +.hl-reserved { + color: Green; +} +.hl-inlinedoc { + color: Blue; +} +.hl-var { + color: Darkblue; +} +.hl-url { + color: Blue; +} +.hl-special { + color: Navy; +} +.hl-number { + color: Maroon; +} +.hl-inlinetags { + color: Blue; +} +.hl-main { + background: transparent; +} +.hl-gutter { + background-color: #999999; + color: White +} +.hl-table { + font-family: "Courier New"; + font-size: 12px; + border: solid 1px lightgray; +} \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhtmlxmenu_dl.php b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhtmlxmenu_dl.php new file mode 100755 index 0000000000..9f11b5a742 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhtmlxmenu_dl.php @@ -0,0 +1,45 @@ +'; + $parent_id = "topId"; + } else { + // sublevel + $xml = ''; + } + + $res = mysql_query("SELECT `a`.`itemId`, `a`.`itemText`, `a`.`itemType`, `a`.`itemEnabled`, `a`.`itemChecked`, `a`.`itemGroup`, `a`.`itemImage`, `a`.`itemImageDis`, COUNT(`b`.`itemId`) AS `itemComplex` FROM `dhtmlxmenu` AS `a` LEFT JOIN (`dhtmlxmenu` AS `b`) ON (`b`.`itemParentId`=`a`.`itemId`) WHERE `a`.`itemParentId`='".mysql_real_escape_string($parent_id)."' GROUP BY `a`.`itemId` ORDER BY `a`.`itemOrder`");// or die(mysql_error()); + while ($out = mysql_fetch_object($res)) { + $xml = $xml.'itemType)>0?' type="'.$out->itemType.'"':''). + ($out->itemEnabled=="0"?' enabled="false"':''). + ($out->itemChecked=="1"?' checked="true"':''). + (strlen($out->itemGroup)>0?' group="'.$out->itemGroup.'"':''). + (strlen($out->itemImage)>0?' img="'.$out->itemImage.'"':''). + (strlen($out->itemImageDis)>0?' imgdis="'.$out->itemImageDis.'"':''). + ($out->itemComplex>0?' complex="true"':''). + '/>'; + } + mysql_free_result($res); + // + $xml = $xml.''; + return $xml; +} + +switch(@$_GET["action"]) { + case "loadMenu": + echo get_menu_xml(@$_GET["parentId"], @$_GET["topId"]); + break; +} +mysql_close($link); +?> \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu.xml b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu.xml new file mode 100755 index 0000000000..0e78039df2 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu2.xml b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu2.xml new file mode 100755 index 0000000000..cd6df07c27 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu2.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_links.xml b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_links.xml new file mode 100755 index 0000000000..5301d6afbd --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_links.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_radios.xml b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_radios.xml new file mode 100755 index 0000000000..c57c894f98 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dhxmenu_radios.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dynamic_loading.sql b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dynamic_loading.sql new file mode 100755 index 0000000000..b136e78f4d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/dynamic_loading.sql @@ -0,0 +1,78 @@ +DROP TABLE IF EXISTS `dhtmlxmenu`; +CREATE TABLE IF NOT EXISTS `dhtmlxmenu` ( + `itemId` text collate utf8_bin NOT NULL, + `itemParentId` text collate utf8_bin NOT NULL, + `itemOrder` int(11) NOT NULL default '0', + `itemText` text collate utf8_bin NOT NULL, + `itemType` text collate utf8_bin NOT NULL, + `itemEnabled` int(11) NOT NULL default '0', + `itemChecked` int(11) NOT NULL default '0', + `itemGroup` text collate utf8_bin NOT NULL, + `itemImage` text collate utf8_bin NOT NULL, + `itemImageDis` text collate utf8_bin NOT NULL, + KEY `itemOrder` (`itemOrder`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + + +INSERT INTO `dhtmlxmenu` (`itemId`, `itemParentId`, `itemOrder`, `itemText`, `itemType`, `itemEnabled`, `itemChecked`, `itemGroup`, `itemImage`, `itemImageDis`) VALUES +(0x6d3131, 0x6d31, 0, 0x4e6577, '', 1, 0, '', 0x6e65772e676966, 0x6e65775f6469732e676966), +(0x6d7331, 0x6d31, 1, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x6d3132, 0x6d31, 2, 0x4f70656e, '', 1, 0, '', '', ''), +(0x6d3133, 0x6d31, 3, 0x53617665, '', 1, 0, '', 0x736176652e676966, 0x736176655f6469732e676966), +(0x6d3134, 0x6d31, 4, 0x536176652041732e2e2e, '', 0, 0, '', '', ''), +(0x6d7332, 0x6d31, 5, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x6d3135, 0x6d31, 6, 0x5072696e74, '', 1, 0, '', 0x7072696e742e676966, 0x7072696e745f6469732e676966), +(0x6d3136, 0x6d31, 7, 0x50616765205365747570, '', 0, 0, '', 0x706167655f73657475702e676966, 0x706167655f73657475705f6469732e676966), +(0x6d7333, 0x6d31, 8, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x6d3137, 0x6d31, 9, 0x436c6f7365, '', 1, 0, '', '', ''), +(0x6d31, 0x68, 10, 0x46696c65, '', 1, 0, '', '', ''), +(0x6d3231, 0x6d32, 11, 0x556e646f, '', 1, 0, '', 0x756e646f2e676966, 0x756e646f5f6469732e676966), +(0x6d3232, 0x6d32, 12, 0x5265646f, '', 1, 0, '', 0x7265646f2e676966, 0x7265646f5f6469732e676966), +(0x6d6131, 0x6d32, 13, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x6d3233, 0x6d32, 14, 0x53656c65637420416c6c, '', 1, 0, '', 0x73656c6563745f616c6c2e676966, 0x73656c6563745f616c6c5f6469732e676966), +(0x6d6132, 0x6d32, 15, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x6d3234, 0x6d32, 16, 0x437574, '', 1, 0, '', 0x6375742e676966, 0x6375745f6469732e676966), +(0x6d3235, 0x6d32, 17, 0x436f7079, '', 1, 0, '', 0x636f70792e676966, 0x636f70795f6469732e676966), +(0x6d3236, 0x6d32, 18, 0x5061737465, '', 1, 0, '', 0x70617374652e676966, 0x70617374655f6469732e676966), +(0x6d32, 0x68, 19, 0x45646974, '', 1, 0, '', '', ''), +(0x68, 0x6d, 20, 0x47656e6572616c, '', 1, 0, '', '', ''), +(0x703130, 0x7031, 21, 0x4c696e65204e756d626572696e67, 0x636865636b626f78, 0, 1, '', '', ''), +(0x703131, 0x7031, 22, 0x436f6c6f72697a652054657874, 0x636865636b626f78, 1, 1, '', '', ''), +(0x703132, 0x7031, 23, 0x49676e6f72652043617365, 0x636865636b626f78, 1, 0, '', '', ''), +(0x707331, 0x7031, 24, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x703133, 0x7031, 25, 0x53686f7720506f707570206f6e204572726f7273, 0x636865636b626f78, 1, 0, '', '', ''), +(0x707332, 0x7031, 26, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x703631, 0x703136, 27, 0x426c61636b, 0x726164696f, 1, 1, 0x666f6e74636f6c6f72, '', ''), +(0x703632, 0x703136, 28, 0x42726f776e, 0x726164696f, 1, 0, 0x666f6e74636f6c6f72, '', ''), +(0x703633, 0x703136, 29, 0x526564, 0x726164696f, 1, 0, 0x666f6e74636f6c6f72, '', ''), +(0x703634, 0x703136, 30, 0x426c7565, 0x726164696f, 1, 0, 0x666f6e74636f6c6f72, '', ''), +(0x703136, 0x7031, 31, 0x466f6e7420436f6c6f72, '', 1, 0, '', '', ''), +(0x703431, 0x703134, 32, 0x5472616e73706172656e74, 0x726164696f, 1, 1, 0x6267636f6c6f72, '', ''), +(0x707333, 0x703134, 33, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x703432, 0x703134, 34, 0x5768697465, 0x726164696f, 1, 0, 0x6267636f6c6f72, '', ''), +(0x703433, 0x703134, 35, 0x59656c6c6f77, 0x726164696f, 1, 0, 0x6267636f6c6f72, '', ''), +(0x703434, 0x703134, 36, 0x4379616e, 0x726164696f, 1, 0, 0x6267636f6c6f72, '', ''), +(0x703435, 0x703134, 37, 0x4d6167656e7461, 0x726164696f, 1, 0, 0x6267636f6c6f72, '', ''), +(0x703436, 0x703134, 38, 0x426c61636b, 0x726164696f, 1, 0, 0x6267636f6c6f72, '', ''), +(0x703134, 0x7031, 39, 0x4261636b67726f756e6420436f6c6f72, '', 1, 0, '', '', ''), +(0x707334, 0x7031, 40, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x703531, 0x703135, 41, 0x556e697820280a29, 0x726164696f, 0, 1, 0x656f6c, '', ''), +(0x703532, 0x703135, 42, 0x444f532f57696e646f777320280d0a29, 0x726164696f, 0, 0, 0x656f6c, '', ''), +(0x703533, 0x703135, 43, 0x4d61634f5320280d29, 0x726164696f, 0, 0, 0x656f6c, '', ''), +(0x703135, 0x7031, 44, 0x456e64204f66204c696e65, '', 1, 0, '', '', ''), +(0x703730, 0x703137, 45, 0x49676e6f7265, 0x726164696f, 1, 1, 0x686c6d, '', ''), +(0x707335, 0x703137, 46, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x703731, 0x703137, 47, 0x48544d4c2f4a53, 0x726164696f, 1, 0, 0x686c6d, '', ''), +(0x703732, 0x703137, 48, 0x5048502f4153502f4a5350, 0x726164696f, 1, 0, 0x686c6d, '', ''), +(0x703733, 0x703137, 49, 0x4a617661, 0x726164696f, 1, 0, 0x686c6d, '', ''), +(0x703137, 0x7031, 50, 0x53796e746178, '', 1, 0, '', '', ''), +(0x7031, 0x6d, 51, 0x53657474696e6773, '', 1, 0, '', '', ''), +(0x6d, 0x746f704964, 52, 0x4e617669676174696f6e, '', 1, 0, '', '', ''), +(0x6d3331, 0x6d33, 53, 0x41626f75742e2e2e, '', 1, 0, '', '', ''), +(0x6d3332, 0x6d33, 54, 0x48656c70, '', 1, 0, '', '', ''), +(0x6d3333, 0x6d33, 55, 0x427567205265706f7274696e67, '', 1, 0, '', '', ''), +(0x6d6b31, 0x6d33, 56, '', 0x736570617261746f72, 1, 0, '', '', ''), +(0x6d3334, 0x6d33, 57, 0x546970206f662074686520446179, 0x636865636b626f78, 0, 1, '', '', ''), +(0x6d33, 0x746f704964, 58, 0x48656c70, '', 1, 0, '', '', ''), +(0x746f704964, '', 59, '', '', 1, 0, '', '', ''); + diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/accordion.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/accordion.gif new file mode 100755 index 0000000000000000000000000000000000000000..e456fffb4441b772fcf722a700d176c12db2b951 GIT binary patch literal 394 zcmV;50d@XINk%w1VHN-u0M$MKdwYB9>+71v&~?k|)6>&syxX?6w)y$_|Ns9zp~WXB zC+PC@-rnBe?eO{h{POtu-72h z%;M+u`TDce+~Mx==JE5q+2H#8{rvs@uG z>h0j*;OX-9#NOn=+~Vr<^}pNU_xk(L<>~$Y{`UI&*68f5(b>n}<=E-%)#vN;`1$|; z{{R30A^8LW002G!EC2ui02Tli000K3K%WpmEE?Rxv$du3;5US9|ZHX;}u4-*m#5DgR+a!UvT zn3|No!X>B7aui;cm0#^>^kk&(IK?}CYmdw_x0+1ZB6}I~)X1(3Fy1RPD;NJ1~lF{bt>+FMwiN)sfm7ANO zrKQ-~*@nyH==J&1>-CnJn|gqO&Ck#J`ueuIy88P0&Ck%?@%O>R#nJ5b>g?;e;_vbK z`~Uy{A^8LW002J#EC2ui02Tli000J%z@KnPEE>m|Dg#aDF))ZSq1bE|A+QPq zhQvr>(x4m@%W9V!_!wSrf)x6^A`VfH5<3k9a93J`0We)sMF9w2h(AzE07#5R0FjMD z01B3u00$tIprN8f01XEUJOnN@Iwc+(ED#qM3!6WsH5@4f88{C%9W62yDl@f305=7q R%%GIZm!!7Q)6tDV06SOc%K88R literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/arrow.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/arrow.gif new file mode 100755 index 0000000000000000000000000000000000000000..00f11449511728eb8bc0c56794913e860dadcab4 GIT binary patch literal 185 zcmZ?wbhEHbE$2Rx1{@hc4T#TQ^xEv##>geao)-e)G2oCY7(c zbk}YAny}@2BBw6(n7OWG!-0+syBjY(|Ns9#0}(*+CkrD3gD`^*NG-@t23E5NDt#%L z^DAgdZ2H)}~ig`|k@d GSOWmhy**k0 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/bullet.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/bullet.gif new file mode 100755 index 0000000000000000000000000000000000000000..cf1706e03620fec434c13bc80e4fbe2cf71f05c6 GIT binary patch literal 51 zcmZ?wbhEHbWMg1sXkcJq?b-JK|9{1wEQ|~cj0`#qKmd|qVB&I-W6Q4Ol`rNHVXy`O DGw2E* literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/calendar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/calendar.gif new file mode 100755 index 0000000000000000000000000000000000000000..2a8bc0e63c4ffc2e7a8aaeec635f97477a7cd9d8 GIT binary patch literal 207 zcmV;=05JbYNk%w1VHN-u0J9GO|NsAMYinS{=+My6)z#IZp`nI`hIMsyZfI9DmNR_l`%^+MdlfPnC+c3TsZyYpNOu#6%`c|CQMkncI~=# z>l{m0%$+;e;l#_{%{LP!9b-8Bh+*|9hOJlP&%9ySbEj_ov4q}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i=|m zCgqow*eU^C3h_d20o>TUVm+{T^pf*)^(zt!^bPe4Kwg3=^!3HBG&dKny0|1L z72#g21{a4^7NqJ2r55Lx7A2F<7;)ua#$BaYaU{s}FRHJ}6p|q8TOxOgkVZJkbI<@MNEw2Tbclz(mdX|KHy~ zzkmJw@%`J^FP}es{P6zW+c&RYy?pWf+0!SFA3c0<|K8m@w{P9NasArWE0-@_ym0>9 z*)yk4ojh^;*wG`04;?(Pf8X9cyLau}v3=XtEt@xO+^~M#+BK_Jtz5Bu+0rG87cE>c zf8N|VvuDkmF@4(9DU&BnoY3Fb+tc0E+0owC+S1(A*ic_rTT@+CSy5hAT2fq8SdgEW zo0FZDnUS8Bnv$H9m=GTq8xtKB84(^98WJ277~t>c>*MX^>EZ6?>f-F==wNSWYh!I? zX<=?=YGP~z%usr|I@(&A8tQ7QD#}WV3i5KYGSX6#65?W_BEmv~0{ncuJltHI9PDhY zEX+)d3=E1tS%72;gAS<30hQJa?57%1nwnc$+uA!iySjUNCA$5iEFF7WIU}q&+xoi# zG~JSVg-o;sQ^LQ||{WIR(e!qgqwY*T_0{p3$6wPCNIxOt;gHm_}g?Llg^o)#oQWb?C zGp5jSLLd01&HeC>*$r+@$bd+YVd(J_pMU+*ntt~5ojc36Z~yi8@6zqt zk6pk1>f5)a5C5Nk@L7B)TMnjFoN+#@aD>n1rx)aLXx(J=6<8%FavXkmIw!fz$R9%ZU$jJ0fQ7(hXw;Hrw&Gk$*tn5sths) zB1cmhWaKg~urNII_M6*QB@wYJMCB}}aND{mTU;1?IRrA&rl@2*VC9q1Q+Z;wf}xR_ Nog+g>ur1SIhh=_>O)6?zk z?OR)0Rjt#o+3RX*YGPtytE;Pfdwb;M*<{QdCw`|9=j z0EE4N!QO_&;Q#;sA^8LW0018VEC2ui02Tli000Hu;3tk`X`X1RuBAdGLo5)IIthpq zA(mkTkq2U+Fi9eTf&##70uBYk19Bh@oy-aV<2)E5MUjJWP)wMcMk51gXqk{m^&@aR z9E-ws1ITn33=K^N5F-i_Pzz^F86JRwOa~7w77G^?6ipRckQWOi2@Vh!1p!G;3>*wh z79$A@0ssjJ1Ox%GTdAuPpCT3mOacZ>2?0(G8UO%L1p*KV3lZZg62bup0U#u(!J?qSg9t^0002A2S%_%> literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/combo.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/combo.gif new file mode 100755 index 0000000000000000000000000000000000000000..8dba9afe5b5a15d97a904e4cb7e9076932a82bff GIT binary patch literal 186 zcmZ?wbhEHb6k`x$*v!fB|NsB&?Ck35>b%mjt5>gHxNsri$cxj@KBOFd4wPcR0E$0Z z7#SEi8FWB0ATt#uVQ3V;0gF=x)4vewRJ zmmlWVG=Bg7J@wFotn8etSFdJf=VYxp`0LlN+B45GGc(gxAN=&`(}M>O)~{bbZ{EBY zFJ5$XbeubP?$)halO|1i{``4;ef{#~%iG%8+S}Xr@85s)*s(>67Cn3REH5u_-@bj{ zzI|J|bm`~MpJ&gWy=&L5sZ*y;o;uCBGM?a!Y-zkmO3X>HxHW5>Gn>u=w_eevSO znwpxvzP@G4mi6`bU%Pg#r>Cc@yZhn8hhM&Yxp)8m{Q2`2E?jv0`0?p8W^{ISO_(_G z&6_v7cJFR(Zk|4U`q86D&zw2a)YSC<|9^(T0Th3-FfuR%G3bDt1Bw#{_8SdBO-)P^ z9L*h_UCc5(tddG(XD6pBYog}qC(6itxJA#%P2Njh_hM&&iguH`0n@Dx8>@~$r^Az* zyp8QUlr1ODWwo_%)G=(9^L15t-4v9X)U?2@i9z3GNyR0_BYgfrPQ6;CUP0{A=4~8G zg_@U_g{@EGWok^Ba3pGZfn~E<#|cgsg=Sab1x_qVQ_nBD_}heU;(<_G*11b0N&C-!w6v0vl7u5KR;^mqGh^x?3nK#qH-ipH3}glaOH{#0&((V^UZ35~%B@lL_=O<%s;mbhI{ACHb|>6t zn$6bq@IQxR1H%H}sHVdSJ9*L^SmsT#^x)`p<19M0C2tXvYogCSG1JB^zn)G!>9^8i TRWR4YH){QL=kL2PFjxZsgXu@f literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/dataview.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/dataview.gif new file mode 100755 index 0000000000000000000000000000000000000000..43e2284ca41972eb7237ad28ca68019bacfbfa83 GIT binary patch literal 222 zcmZ?wbhEHb6k`x$*v!FDU0wa=&70S+UsqLCm7aN3dK!pcmYjb1|NnmmY(ViR3nK#q z2ZIhs5@ZGgOSiyD&((7knl0UqNvW|kZeU!RptNGwrk7olKCR#rdT=de1MimW2c9MG z>@vQp#{Qwf&gVs{*HxX!g>#;-+B`SoL{noy#5u1WDw6^PX1g!RUuluie?KnbmCFn1 zb+W$xF^wT@;$aeU7DCZI23m}nwnoLSRm$oG9#hh6C(ZDf-Q!$bG}CQa^XkCx_BKHV FYXJXcR?GkZ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/editor.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/editor.gif new file mode 100755 index 0000000000000000000000000000000000000000..ea3c1211957a096a080c1076eba86eaf644af888 GIT binary patch literal 280 zcmZ?wbhEHb6k`x$I3mjM|NsB0s;a!wvggmA&%g76xnfafX6DzgUk@HUxPSlt;`1M} z58ll_cqeklP1QNaZ~popvEydM_M6#>|<@;5%zk~)oio3ygi)nD*pTyo6ao2&c?@FBWh4qS>C|L$CuO@|L}JAVAjk00ND{rdg)@3rU8FF$#5=9~}-`;xt`pu_L?|=Th{^G^$H*c10-~QwG@26kBY(H^g|-^N3SK7IfG?f37`zka>>^5xIJf9v+|zxe3U zzkmO}{{H>v@84J7zkmPp=lG2qUw-}i`sdH9Z{I$A`?mhTfu-BGzy17q-}&?JzJ5Lb z;KAuTcWyp?`svrN4F?bY{P*wYpFhX0UkCb>VK4#3pDc_F3;_%}AV-1Xgn|8ZLqJn= zOKV$uM`u@es~2Pcgnri^2?u!_6+JdKVF|fzT@zC=Zgvh9UMAi7op$!_i z?{Vbp;xbc|y>m}oo~w)1KttlWKQpJAj^=_BEo^);PizYmoH=-fyYe_Z8k9U+1-VmS z>{#g0!oX-*=1|ad@gR?2S5S?}0>(C84s|0F&xIYV4YMtZHzgd|y!`z9047ETYXDZP B7QFxf literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/file_link.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/file_link.gif new file mode 100755 index 0000000000000000000000000000000000000000..47f7e849886319b6c683ffca03f54cafd96541b9 GIT binary patch literal 1109 zcmd^;k5k%p06;$o)-+QxbL?g;t*OneW^)U)>o7Z~lT!-LD`$3VwV`EmJ6*=nh3Fd5 zW>cGM4AUBtVkT@;JUJUE0-}O|0~K}1M9~2|0YUlot^FOn|KQ!dcRW8AgFO`w;(=EH zCKneW2x@F^pRriR^!kT3+nm+9>~!|aWDizXC0gyB(NRu+|KRxefLyLL8g(lxqRGj% z%}xElN(%&otllxMsjG&gq))iH7SY9ac>?hYp}JgS zHV;@;a~2Dg$9ub`*J^Y8HV+x?+istavsAo~NDM)nn9};Q-K!~|-nu#o(nvjI_I`;& zxd(sliQC>O6h<8?V@VvLP-u8+iE!PBc(d*yM7zo3f!EIPC6bg%eXB0oAA~>(xqn&$ zlBnOea=*F5gC&0@pPiK%41eFhPZN6R?cu*9D$ZX47WQb}zO(yF>E>$yB%Fj(>DmzP8o_Ec{?{xV&$Dz!lH^r~Uq zqS|Ca6*W2i5WezP!RV;R=iBgjvZ$iN7ezUZ2JkB7XhkkE3E(n~CNXX-NWYY^kYH1f=CZWfapqf__rFHP#XlgA6iHMGjjYQ=g7H0$GUaay* z=Pr%{5%n2m8TAv58J-Y#r50-fFjn%1cofLaQ8Yb^pOzvcU@$frX~!YM;8V}vI#7)& z$%uG8W-mDxsS(%d!gp8mn7F%=_Sn>W7ruilo@qHoicaF=%-M6;Bi9f&usQD5BlKA2e?ibS4$!G)uVKsPpy7t(bHZ4F&^Q{{rUvoV!{Q2|e@87?lIB{b4qYrQ2zTLBDPhnx< zg$ozfUw*J<%a)HHKOR4R+;7pzZQHhe`SRt^p+mbKzQ2F}{<(AK_V3^S`0?YSqN45F zx9{4u>-Fo`Z{EDQcJ11xO`F0u-#>EX$d4aCwr<_(Gw-P9wA~Zd?b!9;-PyBe4<0+()_~=|&8BaS2(FIH*?#H?v%tc*|wYjK%A@ol4G%eJPPV^BBcgq65=+&DzpYm-ze8cByMy?(swj{fk%^ z%j0e$>AoxW^-Yz))n<_#2i`Je`8y@p{A1gy(-@UowkSTq#H{=A4O7jjCEs8C7G|&p E0GCHUSpWb4 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/gantt.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/gantt.gif new file mode 100755 index 0000000000000000000000000000000000000000..343f4d5b1f867a8a534e84378bfadb70681d24f9 GIT binary patch literal 1010 zcmZ?wbhEHb6k`x$_|Cxa9}Eif^Ao!lfBO9S`HL4%pFjWb@#C*wzkdJz{o>`zjw82M zuUhrz&z~pHo-KUd)!5KbTU|YE%9Qix&K*2(;NAQ8pFVxcSseBI&!56o@!!9HZ*FQj zaq?tSL&J+#uTGyn{r3I)mq5muGx^J7pTB(h?fduKCDA8OoqGS_L*CMu{ADpktK$n+ z#ucoH&07|8>g37dH3>zl6W)FJuwniB$4{QTe*OCFnKLI(o=R9#oUpp+!-se4*Kc_8 zLROZq{$f(p|&&f@L!!5BmiJktHX% sSQez+J2P{cSEHzFj?CP^7WWn|`Bh>9g^vzi-;jKIp6~9mgAEMU0J16QEdT%j literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/grid.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/grid.gif new file mode 100755 index 0000000000000000000000000000000000000000..db0832caf1a199ed7310ff87351a80092fb89cce GIT binary patch literal 191 zcmZ?wbhEHb6k`x$*v!F@ot^#v|NrXh>VzXNE?l^9_3G7>qt8!2`v4SVzy=h5vM@3* za4_hABtd2{u;d7w^jy8y;{pPA`FU$7ax%l$)jyrFTJo@0b^5Wd{&%)MTx%>WG z|H()FCm(OW^Y-G4&v)K^OW1U+>G1vLL-+sx|G(<$%e(Ks9ew;^&V^?aPCoki=Wp2B z%Vm3SXK%mh4>I9t*XVpI2$JAxdB=SJ-A=BNyjop3X4ssmk zZw)xQ#6L~3;#QL2;pS1|{`K2tDYHVO3rn-QpGU`njD-jIyW)5xJ|sRm!Yi$^)LUdh zGK1s-3l;&%1nC9|RRsru8A48clcj`?h Kv8OZy7_0&8vgB9* literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/menu.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/menu.gif new file mode 100755 index 0000000000000000000000000000000000000000..2fbd60671c8ac23b0b3b5a94a2dd03135738f70f GIT binary patch literal 270 zcmZ?wbhEHb6k`x$I3mDMU0q#LQc`;Q)xCT79z1yP|NsBAw6xc+UvJyC?egWzKY#vw z_Uzf`&!2DJys56PZoBX(PyqueK=CIFBLjl~gAPa&$W8{M#X4~h23FJ7rh^tb9BxkvFJyeFb7W2QS{o$nzrdkm4inD<1BnT}V&V;K9}{AD zHZaULYjjoM;bO1#-~YSLs3NDixm=5(qqD1{o!PX%pP!+ZZ^FdMnhY${rnh&`?`2-J fc<~I4Oui*cmZ`IGtXj&Z%{ISNXZsFyMFwjC*PUSv literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/none.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/none.gif new file mode 100755 index 0000000000000000000000000000000000000000..f8a866519c08359ee3fb92e08727506d639dd798 GIT binary patch literal 45 ucmZ?wbhEHbWMmLyXkcJ?`0PIe1B2pE7Dgb&paUX6G7L;CE&VG47_0%?Hwd)= literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/old.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/old.gif new file mode 100755 index 0000000000000000000000000000000000000000..680e116e2badf6500bdc6b7338898b3938e45451 GIT binary patch literal 388 zcmZ?wbhEHb6k`x$xT?wU{qNtefBu|#@L>9~WmA?eJ#qW?{)-oPojJ2?$Bu2sk8e11 zXwBZek3W1kb?460ckfPIy?W{X{rhj*2XEg# zeE06q`SXV_TsVH^%K!iWk6pfe_tmQ>A3xrC`SRN1#~1G2J$3i)`8#(mKX`EJ`t^s; z{xeVv6o0ZXGB9W|=zvTD`H6vT;ejay9y(I}CzceQ%n{;lZQBx3z@^rhb1g7dj76j& zLgs;(jttfSNT8M= literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/pdf.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/pdf.gif new file mode 100755 index 0000000000000000000000000000000000000000..e315235a26bcb6ad08a840b4a1bf79e32e92f263 GIT binary patch literal 646 zcmV;10(t#MNk%w1VHN-u0OoxF0Xa>MpP$U#-QMf#)aB*%`T6|*{&Uy+q_wrR#>TkG z$>H+y;_mJF{QR-Q!=|^l3vZL1sj2n(`q}8|=kW0T{{H9j@aORH+3D%l=jQSD_Q286 zE|RwF^78!s{YR_MuD`!jxZJzU%*xx_DUGqc&dx27wb|(CnX0Ps_x6n7|N8v=zV840 z{{7i-98kJ{`=H>xqiQ@C~@A>%>cAClB+5usNciaCZiLGD5 z=ich;0Az^y{QC%OkUO8lJ)yFH?9@FIq)_5A$*|Nj6000000A^8LW004aeEC2ui z02Tli000N$fPI34goTEOh>41ehCBj~kdHfzBYbQ_Icp0GStA{YRYG`YQzj&Fdp86+ zJ#L?dAtW+w5Jot3TsCP4ygr8?NKZ8oL27SF00hbeN{4m;(9zKuO+Oi8iW_A|7$+PP zCleTX8;T_ZR|5lRFY0pxC5j?0V^UsZdR+`e3?hmO6f97{5=PDe3l}aZP?P}3mLgUT z9N=IgN{9rC9B6>DL literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/scheduler.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/scheduler.gif new file mode 100755 index 0000000000000000000000000000000000000000..ea6c9aadd14a0d4704643e63be83a7fe367c0c74 GIT binary patch literal 432 zcmZ?wbhEHb6k`x$xT?u;`^CEh2M)}hJ!j6z`?V|fRoB%1|NsBkqxY9yeBQEk+ssY- zfByOFx$tb(rfYhWk1jg@)N1C*X(u0rF24}8?ELl}JMP`Pw|)C|#+sd5w{G=Wd@gCi za>vfK{!7lO_aD;f-u>X=L$>-|j&n}NtUNE?va4{(UY6RO?De~irX1})cpGRD1I0k` zCkrD3gC>Ix$Rv=T7}(Apm{KrKE~rBG9cXRhzF4U+^oxUOZ3X?uiB$AG<#Y* z^ZW%1ndi=!FnbEa66gL|D^{#>l9E$Z*H}Jl11}FdH#?8wq6Mo2CE1R#u?i`z-O;Pb z$8q8khwPcD=hV2_(%HBbuB|+G;TY>N4&~yP#TC;v1!ayO6H-b0$|xb?!Yj%oHu4;(mf`t<2nUw>}iym{ZgeLsKx{P^)B&>{wE1I3>#j0_Aa3_2i#L4IOj z>u{J<;GrYce_~0|$sDWs=ME=$t&LjF{?PHj+p7Kd-Y7Wev2$c>nQ0R^fvsVOjDtcw zNAXVSxEH@)^YF9O)iLDBGO%@ZH#Bv3Gw`a2RTlPEOyy8fR1(Qf=PAt=5mr!to>8ZJuq2xL~s5fsi}K3<{Y^5{_F9l z?{B{SB0po_x8Hw`JbBl4;?9O!FGMEq`v3nw18sofPZmZ71|nTh(6hjyk zxO})38A6p9nPeD5dCOdxnW9-Z`kAVPrCp>17{u5-C$MtImH09WxvU6Uy=LvY^#P6y F)&NZ&Z)yMl literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/tabbar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/icons/tabbar.gif new file mode 100755 index 0000000000000000000000000000000000000000..8a35665af49d9636803bc47da1f12af0cb44b98b GIT binary patch literal 258 zcmZ?wbhEHb6k`x$I3mFC|NsB&?CiYKvV+Z^fkA*l2c!vPCj)D}f=XXX=Ddtm>yjSq)0bu_ ziDh?NXa2iE=x%Ts~%hM|b%5rOK8Jc(`@4kFH+58mNqc6rlK%g^__lfI$bO31lY&Yk`7FUrOe@j8*I2aP2A3 zIW6EI;JogAP23*y)7xY4gmPGxPHD{{R1M|C`Eu8;UA?`%YaVl34H5Lw0G95@}9tPVe0mo kGj<-$xOi#Tl3nL7u0HW#-6M`-0cM|lqMyuFc@ zm&@kxp{AzH&(FZa!=a_7t+BFzhKHxCtcsA3sjaS+nwyD?q;k3Z3=p{}&eA&o1lX*0TjK=|1Zh+N@PYvwkD|k%ToMf&*&G(j z%T!E@^o}`cXxMW#piBr zZs6eHW@cvX?d_MBmwkPG{QUfdg@yC;^V-_lfPjF4f`XKklU0b z-Ve#VZa;h+0~cp}IRy$L76@^KI0YCad5kv&3?zUT4VfGZoD&lo1p^%(5haNSs2K{Y RE*KjO45ciyw6!cD06S>xdbR)n literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/6_IE_inside2.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/6_IE_inside2.png new file mode 100755 index 0000000000000000000000000000000000000000..a0ecd45b96d8f78ddf8829b67addf1d1d69aa6ba GIT binary patch literal 1543 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 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/border-dotted-ccc.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/border-dotted-ccc.gif new file mode 100755 index 0000000000000000000000000000000000000000..a47b6c1eefe04567ae1f4f0e48f18709e7469bce GIT binary patch literal 44 wcmZ?wbhEHbWMW`qXkcVGbLPzd|Nj+#vM@3*Ff!;c00Bsbfr;5ifR(`-01rh8fB*mh literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/border-dotted.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/border-dotted.gif new file mode 100755 index 0000000000000000000000000000000000000000..565aeafebc1f0d8fec72707c64e9b75b61eacd1c GIT binary patch literal 44 wcmZ?wbhEHbWMW`qXkcVWOH2Fz|G(l-7DfgJMg|=QAOOiQFfscGurgQ!0P9)^P5=M^ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/bullet.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/bullet.gif new file mode 100755 index 0000000000000000000000000000000000000000..bd8f792a13f8b5a88425bd05fb0ce59b044af9c2 GIT binary patch literal 51 zcmZ?wbhEHbWMg1sXkcVu?b-JK|9{1wEQ|~cj0`#qKmd|qVB&I-W6Q4Ol`rNHVXy`O DG!P0P literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/doc-button.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/doc-button.png new file mode 100755 index 0000000000000000000000000000000000000000..9ede7a149294dfb4fed3583c8b4d5345333ba752 GIT binary patch literal 607 zcmV-l0-*hgP)T z{%2?$x=k5)c}^}=X*3R5H5OZ~{`WTsLgcGbg+qZ*9r`N-VaJq`1e0S`hEadb)FQas z;l9itWW4-+w33Yp+@cbfpoVCPbSQDNqa{L3$gwKJXjhtcU+#CgFLV3&;;;Dfu!rA` t_}z%U^yqsU8`g_wWBU=hV76}o1_0j)f}11Z1Z4mK002ovPDHLkV1i#83w;0p literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/doc-button_inact.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/doc-button_inact.png new file mode 100755 index 0000000000000000000000000000000000000000..c8642b872f96afaf5dc2887f6a652e7a402b389a GIT binary patch literal 916 zcmV;F18e+=P)Q;4EcOH%|s$njt zt4>$f)UEEWzK~+MT<&?Rwln>H-=iRdQWS+pK?bEPOOJwQif77ZL8;Yhh~OB4tiflH zs#SP$CHXb*Xt1;3o03<}fB}79xO1L&Qkasx;-iIb=ZOpx(&8;#;aG=|6 zx5wi#b`f)l9)%bQ#MA=`8{0Sk z6l0ssCh-CPm7uJ(d>W0$bUKZ#4!z1^1Oc>t+jx#P-@=BO0=^=c&1MAZ^*R>{3GdpO zqD|?yN}Ql&uFbb;{J+I~KKBwfuzW;aD88_83Dt$1V+ci|sVy7x22B~hZO~#4WGx@R z5PI`Z2c9XODO+4VJp>+1f|_Y^4nJrJ@^@k9wN zA1rF&jtJqwXRv7%UMrLQpym87-GlY)WS_K#lfs`=rW7Ye75m`!KH(>?KZ(1yeKW5B zLC)_M1^6JRW}JgNmr2WU*o~yy#~W=Tou0lqn&$DXeZr@GOcq(%ow$dYk~o-&@a*m9 zM>j9Q6EFZ0BH$9Dp&TV#8ym>GoCEJe6SOwwUeM-NN3tM5_u-9;&)#Lz2`6-3yK~GbOct1OdBTs3kT*0Pu1x;}5Q1Sc@N%>^M_`i4dd(2?D%$|IL_D zjJ<#DJn;eNI1`f?|8JtL_LQRrPQ3i^T?qG%zW~QZ34#E^e$sf3Hs3<9VWuQD+Iv^e zA$axiCxN?H&T^rU@a`)1B|QburZ_=xf|j{9-=?))EEbEyufM#C)q6@QD?d^E@S2j! zQ$Yv{MWLxJ8}kND8NO}MA`YmEHdydg>&s{XYF4GuQZlE|%=B%W&@hly(fX$YZ~o~Z qaZC1ASw8+d4zct4Pg`{RBftRO2p?+=+6Jot0000t&d$!Xw6xUJ)Y;kD*VotT>gv$Y(B|gm-{0Tj;^N)i z-O<})y&My=;-Lr&(Ful$K>SX z$;rw8|Nj6000000A^8LW0012TEC2ui05<>_000I5ARvyUxG+bj3Z$UEDq;mR-K4Op z)OAw+q(Py>8o6?v0pr07Jdl`4)6fB00hB{gbj%F^2uYKYWAY%Xt97wxA(H@uqZvrN zX1rUPWEczx6>3IrUjP;vO%X#04NVL$C0!i_2o!3PFNFXO5lt5z5S}oRNCgB}m@1kE zJ56Ra5*VXyrItXca7Gn$O$a%pZwOWf1jWV#Z6u()G#N<1rGkPTQM?gv&`7q@K&o_l z&$Mq_+$Aapjc0FF;z;D>BPy>v0NCw020#l43jF@>9TqSP;2_+fHwUcX(iA7bzyPs+ z-OHqq5D88X18|UdFvkW|7DW)a&_n_wN3%L|swki!14tx=PBdv?hd`4FIM|Ko;|Gwm zg(4J);bGy0h9(e(=!BPzB7>tmp1e39g$I?T+#HZwSYg1;4PNNjftSI~);A1V@gVSq rBo9U07C2CP7RiB5JT$B;5Q@izVHF54*r0U9#143P$XYk2NeBQtFNx$U literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/grid-placeholder.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/grid-placeholder.gif new file mode 100755 index 0000000000000000000000000000000000000000..fca1ef0fee5064b2f12139d833a516d278f9f079 GIT binary patch literal 15903 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 BZ#Mt{ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/head_bg.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/head_bg.png new file mode 100755 index 0000000000000000000000000000000000000000..056fc14c7cbd1f3c96035ba131287ae9632c5e1b GIT binary patch literal 250 zcmVY}mbOc$#)|6gbMr}*aQ%x4`t zpys|GxnI6Fw*UYD07*qoM6N<$f_tWE A3jhEB literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..9422ba3ab0f369bfa3967dcd53be230c2b3d927b GIT binary patch literal 3549 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 Av;Y7A literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_ajax.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_ajax.gif new file mode 100755 index 0000000000000000000000000000000000000000..2329a7ed3f1f602d0eb26e242cd7b03ea0401af2 GIT binary patch literal 2672 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 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_colorpicker.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_colorpicker.gif new file mode 100755 index 0000000000000000000000000000000000000000..3974fe601c21e492a8c596d068aebf788b5bf915 GIT binary patch literal 1300 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 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_editor.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_editor.gif new file mode 100755 index 0000000000000000000000000000000000000000..e8deaab02e1faffc6c4a97a72c54028a5d21b668 GIT binary patch literal 1766 zcmb`E={wsA0)T%cl9ZUbg4i(=ajbhtJ*HE1+(OaRK5b)5i*}UiYIRVx+YxaT$(TqS zbvDE~)hV596N)B5(B!FWWRq=FgoJj93_+dQXZCN{_rv?~{qlx|ho1f>F(2>-lmMXA zeA?PSOwY>hldaAEXDgrg{^01CBU2q~wJR$t0gSgMWbVf9!4v6fO-;>$dY3+}Onf2I z>>utP97&~8P)-Y`eqwTUtEi~x!qb@^@yFEERDy8v=vd3;a<{j)`}_M}zkdDwq&kf| zzjJW7zPrD=z4vD2_x+>ek2`y!b&W)|{a(GpT3DM~)6nU3-m*%vul;Rpi!vcseL7$= znVWkD{jxRthOzSUay(m-#+CATJcUA$(f@DioI)fLb#`{DRI1F(Of+pYmMswo1bM>6 z!Nv7~#r37l-NWPK?Sn(=obu@Sm^P;vRcz!5wEK5uf%5QV$sUpS0 zhY#^AaV$%6n=7S>lzDykxQa*i1W9M~F47d$D_&glA7bd+f>ZpCXUyK|=6{blM;Qz~CuwZ1f-5UM~N~-l60a z^s~#jdL@vo26O@4o){sXQapN1&k0Yio>d6z^U5WjNx>F!AL>sW%y)Zca@!`0`-WGt z<)c69#k2iWSher#e@ILJYe-ndW?c6w_W5-Z0;62I>=biDAk#+#<6molzh*bn1CFOGU3PSolmDm|0*PRCIL%JjWbAfyCD z>Gc8$0+1lBQu@U3gxEfN3ds$Xd~8Nj|GZ9;4sxR?=f%*@XPH;g}g zL_Vm?1;D|$t}RqU=v@xH3h_!V3gJh*uyOeIMdoZY>+=kIi;`M&HBnv4;9oPKZYLp^ z2cIDY`cWEY)tSv5)cIG!YvB0$fMBrM!F&QlnpO3ux4}4}ZT7cmoGwbAA+e=z+B|9< z89sLK5+Dn#|9OGI92}PydY%1xy+zyvQ}qeTzgqWAkO7cDjhcwE)W`_t-+;NpMuC=| zg`0jbIiMGK+M{IRnSpv=J3w4L>$8C(+$}Z^z{!q~K`H0CNK^vnEJQV#2hp=!M)7yy zr|Qsz%djoONyiWG7Iv6206MY(f5*6HM4aLr8ls_=SZjHD4Tf#aBMjIE>pqwo+V%4w zeh_dCURrRs6)0#ZK>z4Gcc$IOEgR=Uk1D%Auq7Wz35PCir*e+epW_1C{gDRdnHN;M3f zA>;Cl%Ag=?dL-0Gs&n!|CW=<(8;Yr(hNrS;s($N%cr)`OLWa=hzjhY6XV)5B{iJL8 cuCvYKQMfS4YU}ZMWILv2LYN$gHUfP93z)Q0WdHyG literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_folders.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_folders.gif new file mode 100755 index 0000000000000000000000000000000000000000..dd30c8f9bf9a47dba5b495f758bddecc0e2d36af GIT binary patch literal 3009 zcmV;y3qJHmNk%w1VUPee0QUd@O|sQ;a&oH4;f2cHg@uKayxQ93@+O0~{QUh>vD&h- zvvz@mgtXO8aB$@8^o zzA=Wm`1<`+n#E9cEH_aWo2n;Y0uEmqok)=v)!nvslC3w zoWtFFrnuAK?~c&p(9qF$tSP_<)7T>yS%-or>eN#@ZaCx=jiE1lEA^*+`+=d!NJ1%{Qk|( z(5|koW473q&)VYR+8P1!M)(|rO4px?d^@Z+2rKr;Njxj-re%_ z^z!obz|>*?z1 zo}Z%g^YiiX@%j1rk<;Yq>FMO==G)xdm(ktb-QCX5&(P4)%+1Zr&du=g@z~hfX{gNd z^z!xg_4fAl{QLZ7XJ@dmvbeaq;^g9UbabxI-QVKhhlq%3w%2O6*+I{{-{Fe4*O152n84fR<>TVu;>XC#=;`Rw)YN{NpU~6L z#ogl9*VpFc-OaoA46T`gGaDQ{gWoP5 zJa*-Ym#ZC5^fO<5uWvWdf|d--bKNEUlPpNh;H<@e2&mEP%lPXvwivSb!@pFyc2;@PQSOjsv0g&MA z&o#}uLgS4e6VO4pE6j2-1#6_fMh88RZ8iq5t9{f(xaum<7o5~c4na`N+w9+u`#`Ng z6MUZRH#NFKkmgxPZX*dm{1Zp?EC7kvKNASih5(@(v4SsLca3@n9S9OkFg+Xy0ut}mw)K`Xjuj?{Ia6h`<(5&qDF4~#Gb zeBgr#$7sS&w2(segW<+zSR)($O^3oN2q+AwG@#APh74TeK~P}1EFEBg2U(63DUb*& z3Ic>Z=m8=!Fo|A}uo~8=1S2L%Ni*7NA}>tZys|Zrra|F`JNyTh{PBu{Xf9OTh+70! z$;t@y$cQpbh})1iuL%V*ik2v32hL{%J^bMh$7sg~J|KcUEwr~&|SS^MIK>-UOKoAr-4T_ntA{IgThYVyu zm>;;pEpP$<4=un0A9SF@0|xqlXIdna0*P9X22wyg_33YO#8Wl@(Fcts>l!sGB|&~B z1XvnmVX=7PKc)uAf-I*UtIJ{$dhmyKxby>#AVNBN(1A(7ArK%4C_x{fhBH0{q5pWr zy!^n8S7gCP3;mk|G!_d#2*3|h^PxZz=Z{#}AbL^=pg$Ih&VpdnA8n9=^fY$>krHG% zALu|96KT&6SiuUDC`3BaA%12at$>A{thZeBj_4J}@paK%qYeEY|}E zaT_v<+Xf*pV7E}5#AjbR+PUgr3FuwI6+SQtdaQN~d~L!Je0rahEQbg^$N(aSd4+To zLI*ma0(ymUgB+xzz3)wcf)g;`zt-0w*Gou*uNUFX5FiKl%;zNHDu(n5gTTcAFcmhC z-~~7M!3sG9CHAq87wDk~|L6oIj=MPz$o&Nh6F zhtK=}xGXhReK$O9<^Vuw8Z zqXP&aMHtw?gMDXU26_+(DR_Vo3c!LAE9k)u;NXcTJOK?L=YYsL@Cc7Tp%t*6Xn@L9 zPLq7M1Od2ELK3LqjMPzq+9Mx%xId0^CD?>*E?-G2Do~W7Xy6&M*u@EgG3pQpnBEEq zdRgMJmKqej3r?5>0<@6|9S~y)Qii(JGou&+6g?UhC<8rm@ry}Z0RcOR`q(wI0uH3R z=o(N(D-fW70LXpru-OG3aAEbLbfE@apaS6Q`-eH0T?3Th^x|XF3nEPZ@|a(IKmY(c DjAazp literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_form.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_form.gif new file mode 100755 index 0000000000000000000000000000000000000000..1ecd103a0f0edf951fbd892ba6cff658241393af GIT binary patch literal 1412 zcmc(c{W}u~0Dw2lVl(DzK6aRmoKwlum3(vvCn>Hor7kxQS#?LkQ?BG08=HKM7VF5XeR zT3WxGUoart99!ESTia5pHEf=+UnnUqE@m%npz}F@%M|N7is^szD)q-rc?qL2qH&bT zWR})Fl1LsGb+TPxt zn3(9CSyU(#N~LmZYfGh4F&K>L>1kjZi%ceKG#bGF3QDf?U*F}6zdQkeH3V!Xk(8B9 zrsUks&C4$+q!tz5qunnlEqhR2QCU@8L$7_vsH<=Iz41}gfB=28hu0-%6iC<0#Em}Ft?g?#o_TCve+F=h zWZ{_|LLkuJwow*F2%O5At-)jI7Vi@kJXec=#a%Msd)r zJ$yg@SW4RtO&iu!VTcNnMgj&u*?S5)mFgX@eAPEI-ja1{ND4wiLM9M*a@(9l*k`w7ffqawy) zt4I@pOZo0mjp&-{`n|Td$#JW34cAYjV#><%u9T8Un6t=ar{MOg!fNm7*=THfBr5&3 zy_%@+%|L_rR;dztb-~2$&Hb3+8o4Lxz(K5CA{I1 zR2A-n+Z;K<7^Vz96-^>y1CS`rsDEyvKb-0VpTS8wo=<@jCa-WIs7{;?#)tdu*^9=L zIJ1awr|uk+GpV4Gb6)b;9{nRwkiX+85!2uF#J)+>P!|^Wc*ubCRMsi?Rjx^Zd30Tm zVS1>P2y>{S8HdVo%+T*NIw_+9u)~Y6O|pV?skNiB9-i(;eyw(%Z-=RaBhiHQIJ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_gantt.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_gantt.gif new file mode 100755 index 0000000000000000000000000000000000000000..72408baf8aad54edcb82ee316c921a1fb133542c GIT binary patch literal 2025 zcmd6k=~t5Z0)T(;;tQfEYH5(mi(6Qll@vjS$bBoH?x)RO10o|9$$;qKlv$Jz^Z{EB)l6bqfw|9E( zTj$tRXGaG`SRYs4uYEuBbof(FZtktN!MOT=6&Dw$HovK@sZo@dKkWNZUtez$S5vMX zYin=cce_pf?o;7dLjCLUu=1Y2rso7%w}g*gvT|BN<=yne#`9IZv9VmUE4A^d8Q&Hc zrB8>p=Bj<9DjtfKbiT8fJn~3?az5tL!IJ0aF2r1}?X%?9UErd+iHVk$mZYZF&wKmx zTVL6U8{|EseIGtYRA>Y8TLsyLd2J)zU0p$Co#6iu+5+x>QLcac?`?X^&LR=7&g`#6Z`rHUcMUadtnSed)_IR;Wb2aCo3z$r^%`5 zna`hePUgg6JoN4_GmRxVmVB+Cph-ZmSh<5f0%47Y?WaD@onrDJW7k}DL6I0uMK&i` zZ;K8!T}s)-+@MS(vE9i4E47e1KUkAE-R3DRN@?DoxCs^a{(a-&^gU8X0a%IjyWIA8JG) zD2O?Hly4NhqNge}iW>CDh}!=C@W0ChZREAP`!~=$gl#67H}{7vd%(*~q*yT!k8*&; zvux6TW`6AX$-ZkVKHrlsd3d5D&qH9j^VgW& zBZnv)0<$SCX6BDvhe*<4uhXxF&O%jWz@;tDlBRcxzzDHwwJB21w2E?Om-1$D=QsIuyyo9Vr!lFn@zqNkg-Nz z7ZA0_dfm$4Hi4JQ%%RqTVo zCIkXMIAe*7p-%G(`0ylRkJmzI?xwvi66ufAt%NLb3}uLBuI+zf=v~XPGZIcQSTIG- z2m7)_j=pv)*Af1lmXZUjFwSKq%vO=ofG#(O~tCJ<3$ z=!`+xO)|tdq8RfYgiKP-ln**2e!Be+8Iu;h)m3y9l<|dR<;BYa7o^2m-Re@ z6RVDMe=5Dm&o+*j*Z{grd-&I9G^t@D7oGi3C->b1C3(QY!W4InXE$GJV5iiYj?O%u z->5s|X>W!5*u3$(?}`1II%~|Px9CT8zOzFoINoLNye?(sz2x|v4R(+%WV44{vTnHl zHArD$mN3Q*QmKfeWh5oe6}5wq?I*1xQAFjOe5yf%#jV*|{CZ1NT%id@Zn3JBr}*V) zowen`wKTI_cd+_B%>f2{(zyZ%4|wy|3LX*;AR7V}_F|xOQzU(6hHvM!URUZGFJenIus)* z@t8?N5r(zq8A*kep1GuPamY>}%K1z6E<3O!AE~2B7jIv6C6uiKYhCJ0FWOc@*X3_L z-e%@zx67Qp4NI8@KxjWWxdo5kulEDOOMlyJn)$YQ2y#i;f< zUC1{%uMpUBlE>HUc&1#|o-(Pw^+1A$9-|+WvaByk3-g0wu;Nao^|Nn!`<$8L0 z0))N#{QdCw`?T8Y;PLm&=kj&R=_i=TpP-y?{!FpfRj=9d`TXeU=*7jxgUsU2=+9(0>E-3+z~Jw-+w8mE?ZV;j*6Z})@%Qri`?uWe@%j7B=kmzq@wBwG z=kxjT`1|_$`s(WI_WJz({{H>_{rLF!`T6sH@bK{I^!jSJ-s$S+I}PuF-LEaZIt*_4V{jveizq)=#q4A^8LV00000EC2ui z0C)g4000O7fEj{=goTEOh>41ejE#!?q z(6e_B6N?)Sn3SP#z{wFKONx9LNwTELlP8NTF>=Jo0SaZ9G`K;rqNNlaXxO08gUFK& zK!XY$O0;OvCq#NsutB3k3Y(ZxH1IIv01=~DvufQy z6DI`!Y*4u|){+YvP>>t}D#*@>zkmY^9!xkep0*o~Ab~=|Mcqm*l)yM(gl~zkeAcngS&G)dy21JvalSSuRAe7Xk^ zAwKZM!M}fu{{RLkV1WG<*dJmagaAT&W33?HeDx7R9e(<)l}8+X`0>JqdvLMghaYm` zA&4P*h{hjiz;OqH3Nn~U4yXx|10gP;1|y9z7BZtC^l@Mxg?G$0nL+ zy7^^=i12lYo`&!_hy+BocqAq8HRoWD9GEcYlp>h0B%I922}7L@y6K~Y_kp?A7+Xld zz#Me=z!#^Uf-34-Ll~fg5K|N|0AB$-@W2&UI1s@GAE@m-8T9yI28BYq*0i8ri&zE#(;+ZlI(!@M0A%p>008GokuI)lP*A4-Bv;z2 zC3Ez0YzV$R9&06<{$`*B1KeT&0beJlyz*KKyGlk4d_jzb6kbd~Zu!3rImh6KHZ9tH!4t$MX`ssWzTtgVL0>GCPU3_6h6zDbUvFno+^l8x~f9(mHhIn@-;K;56ixm7q(YXh2*%VeaV&_!yvT(AXkb^KHY?X zAE^t_5zBO@cq)H7t9;4N{1kk>9xDIH9d6A zYc#BY4ZjwYuth)sWz&iZ&BQ1aU@kf_asUZ{;D8M5U`9JoA_+*~fF10>i93+N6*J&~ zCIZ1VKmr+Lpp7}8;v0Y9f*(+k1cFeb742gk>_CnXegfnl z2NB2&q-Q<5o5TtlH3Ace00r_A1QRpB#3_n=HlWzniCq0<~HOi3?k%2)EDzg?> zrgD`5;EOY18O^ms%nP-%!YzSfgdT_{Iimo=6ukV%h z-9!J$QMbTFE_5NNB&0$WtAtT+UHM8_L^{%(?4&1ZIq6oAq7HGcupwZ^W=JK=N?d0?L^!ohV+}zLT^D>*s z&+7D-(&nn#>*)3R;PUw9^!VBC^~vY(-SGDK{QdU({n+mI>Gk=Ag@yL}{QUj?j?Uy^ zvextZ{LSg{>h}4N$>Qzz`tbPsh05aA?ey&T`cbRW%jog>{QY&q-onDdy1KgY`TNl7 z@_okO_51wy{QYsd+V%SU`ThOEl=5`uF?& z%gf7vgog6@{OI-hik6y#m73u3_psRNn9<|JT)a>(viHn=k z4_qqMoS&DGM<(uIzZi;@a=^g_4$pp{vNq$hzR{ z)9mxl>GFt=k?#2V#^&#CzuTLxw3DT)lbfA-dwcr&`kAY+dwhM*>hi+b;gqPZyW#DD zhlsY(*@&N}k-pAvqP3Hvr*NOIeSd(q-s_aDwU@NM>-PG*;qJcT?VFvRcd5IMs$i?LF@A&$^ASqWtE;QR&-{K*$WebTSP`Ivlq5$A_32CtilAGag~4$n14E7p3v@z8os#l|98WOxaN?$h zDKhATE#s1%w0^1b9L;Nv<$ox`?XPj~PKT{oWMu z(cl6K8$As1+i4a7;Ez85kVnCR=M}V904B_E6$xLkfded^@X?PM1HIGPG=pRzMjZ`U z5rPaZl(5266&Z*ic`hbc5CSU%(Zdu>!100?MTCNjEber6$3M_?W``@Ulp#tMBlsY~ z1vX$%mv<7y2;+e=62un8FPHaD)v&I7THzRtluR00+kZ>JJ2n{$t<)kGgt*KUWMC0|c_(5UD`7=4z`yxN0El zfe>K2!V_~?;R71|jG~8aJH(Pk8W{}aNHVmTkwz>#2%<+noQxpC6lsy1}6Y)umd45feKELfP*Ie5Hryo{lrnkZoTD@ z)2a=%s;oaZJUX&J<1I)sK?|o$ub>J9+$_Qe9$awE#Kzn31Vg~kfEQHslSTkU7j5*> zMi0}^82r4T7>Ypv$Kpe+DgXhl1Q{&Qt|$vM@(ltlZ1cShYCVwItqx>B02rVk0wU0H z*KK#*_w>U@8Cm%M@JClYn9vlwFB&8O0Q2Jfj}QmOAQ0ocO3G|ODz`whKVvJN zwm@sQEkZO=^n(mA^z2f=>8Pi!dI9_NGft94bWsNrbQB;s;aMsW!@bKgn!te@gpI5~ z0^nOv@&4p{Gv--qt~2LsyN!qz{gC6?Hy>oL{r23C(oZR_ctV9DeK$Zy4<+F4YT^gn z0DuN&FQ32_2MR&F@dP2SeEiEZy7@nybDI}J_o;4x;D88BU;=s34|8n8Gi1nv515by z45)8$l_E&u4yLjg1T0btpjScsR{ z&*+RKI6%fSnz4+M=uA1txQx!A!3SYD#03L3fI?j%aaV-gzwU=60o)OPR`f><4#%}B zl5hh8pa7!+_y;ePVG^bIq8~b=jtW@vl9M1pdfdnvcK}l`^0p9g$Av;I` z15&VrCLlo|DQE%%w4j77?0^ePfC3kc+5~|xAOlNC(?1fr(1ubE6CDVvSUZ3POvJ+& zV;$=y`k@MWoFWcZw|J0(zNX->-TFrcQlJDq z*b<&a2%RlhK-tQ+!c&3hMP(~HLqN!)6Tuh(8~SqyAOxT!2>{gl9HLjnUR4VWU_fC1 zan*nS@L&sDh%I6VqJ$Kz@Rnc5LLB@XmJqJ{rFh7LwN z;x_cd8CXa$_3A<55oe#gCtWkxBwjT;F&g@ffbv`1br_ti_T;ox0x@W#58_w^732g4 zH4K6h)))gA3_*oAOacvku!KDbafF_8NE-(cdtlAJ8K5HM*si- literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_menu.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_menu.gif new file mode 100755 index 0000000000000000000000000000000000000000..d25d5d6c86d10615a0fa813912d2582324c422f7 GIT binary patch literal 2120 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 kv^lnqcQY~$)tXb(uVBq?yTR~y_j;~R zz3YlzkLdgNdv1b*Yhh(|QFjY@eGHC|kdc0UfEAN}fQ1WGh){O|mJAjR4F#sBsHdb2 z78a4Ouat#{olOLbp%)MoyuH4^6c8Ax#Koi*eY04#Ot+v68WYmf)Ya7x3L3!Mz8V({ z2m*7=OLvwQ69E7T?CtLF2>=1<*7fz@72?a}NX``u4K{R;(P6`c0SP#8NXQUgyABg5 zAk(*x-xgd93J8o)kp%z;6A~;UBuK=(1_<*1ZQ6mLV+#fc3ao%BbBHqp7Bmjv2%`hY zZx4bB9ZHk|0SXfeFi`1|h5`=~7Q`^%!N7_GRf*ipxnXD16h0>aU_i9&&;kVJDGj$W z2UQOYVo31dVa43KHWwi%)s^Rqu;9!Jj*GOw#I`uz)_if-E?up9`FiaMl7a>Zm@{kM z3}JxU!(U}6K0!c_)Dn$FARdwW!)g-?@--DOf;NeplKr~ynPJ0*48Vg6AKqJ@!&{D_}EI*cYl zh;WghFmT!e1ptWGpMl;MW`!S+x#pylvgzh=NXCh02{0LO zmw0*7)#8%k?Y7x+aH)oxE(V|h(H0o$rXw&gUXIzR`(=lx z5kPFQq&+&>01o7<@4o!@>#qa8Ka3=Pv2)Z(wBaR|mxiAS1rz!yn&YpIckJ8%9 zQv~*P?6JpK*a|KVSNNgYFnE`%3@Yepb9C*gGnhQ*h6TR=hAlR~1B+bn4d^}i0e3Hc zfYpImX{o3LjmAyD+>P2Oo_ev(RTEYd@7yz_)pBe2;oTCPsSf`bDl0e@MN7b_3xFd9 z<(8iyz*53uTxgUTckQ$PR!3WC5f9TwTIuSPwrTd_r<0HX1p^G+fwvtbFaR$d05Fj6 z1Pt^+JRc0;D9>C?CMoO8ml=}cNT1$&1Qh7rCPD<%p8W*Wb58+#6Les_ta@bx>5oLF zF9v&RfdhN&BJ>_900TtyJVM1&&;e2$d@lk38}JtSo}rNraD)~=n8Hbx@;>;s%QW>R1!TfUdS1sXoM(MLB~4U@s4(Eg(GA!hbFqQ25A@x zA1*=2LK^arde8&{|Cm5UjD#eRj3gnvzzIeQfeUiTq$W4X#6?=tCh7|%kv>VvQkwFV Ps7$3QSINpGga80L4DGy) literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_toolbar.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_toolbar.gif new file mode 100755 index 0000000000000000000000000000000000000000..5bfd6ea1d20adcdba63e32026436b914ec2b5d7d GIT binary patch literal 1954 zcmV;T2VM9_Nk%w1VX6Q&0K@{ks1$*Hp zP-u;cKvc~hL<}P6;DLe(4zg?C&b_<$@8GjjO z0)dDlj$^@yC!(mxiY&I+qKYmGz`z5|jOCdLh#kOST^_Vkfj8>a)xZYzT|htsKqemKuq{2f2 zXn=qL>IHCtK@px2PNS&;N?ztqe>#e#Y zyeU?#B;h*G0(xC*z(O!xS}6mf65v~u-?RfD1h*kD69gM5T7W_TJTfMH^#r(RwyU8U zRk&u3>uR|lC?N94hKxM&2que+a>^^49IveN-uRiBcrGAvj5rEG( z%GP7sO#v80Q#UtdU>|;@dV?oU<=hs)g9v@Q@v0ub+Gfa3L7;#y3XCFx0w_yo0orFf zwRXuQu>FC&AknLWXzl={8ZbpasMPQos<$kgaiD0KrIU_hHZ^jz%} zBH(g8uGej&Om^I97bUm<+#$mq`rI(rEi($279fOa8f}gwMIklsKomHDl;~lq zK{ShMT*B0j=+S}yG<2##6+(+Q5U?A(B<6Aj)Lg4L=L9E;&jb)+kOB1Jhy}%G0RRYG zK=6~E+6jz+_|V5fq6A3&$j59LbmW8rP$4~0Ad$#X2O`8|K5(Am~&bz#&2~-~eCq)-op2 zk+PcgtQYwRKA%Vu6Tk#r+aN(o+vN}v%yg#12$@V{n$@ool&jh5smQ$O6o@#78P-Uw zViyaIXl5g%O+XhiNjd@yfTe6#6`KP>hSjTf0I*>3DFb?n%}q9f7N||FYGDD1aWXZa z{Y(Ki9r9Ya(snweRGae@Q5Z7M85+~OK{5}3Hft>(akI{e|e(2Z^%0>NA# o(DS+<*u8Fbx69q`diT5F4X=2|OWyLD_q^y$uX@)D-Vgu)J4=akmH+?% literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_tree.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_tree.gif new file mode 100755 index 0000000000000000000000000000000000000000..49c40747c8217545b70a93118eb6851df76e94f0 GIT binary patch literal 1495 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 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_vault.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_vault.gif new file mode 100755 index 0000000000000000000000000000000000000000..74556bd791faca7e58df2ab04039a249b1aef635 GIT binary patch literal 1801 zcmV+k2ln_!Nk%w1VSoTL0K@g(+C_xbMa?2FX)@$vC|e0|^H;o92T zrKP2toSeG4y8r+GA^8LV00000EC2ui0Du59000I5;3tk`X`X1Ru59bRa4gSsVBdJI z?>6oKKvS+lEE41ejE#(S0(}92lqzwC2?`mT84;YHprN9o2@H{bla;C@ zg9l>_nh~-DvbDCixVg8RrKhQ@tF49|ogN6s$jQpf%*!608Kwt*z`()`ogAthp3(=u z)sz9Q3<RT*y!Xfeitk zMYu;TAE0Xq`US|)p-n0tAa!tzD2pOEiz*KPXn=uHV+L&7|peG0}Nt6koA=~#p1P+)2fwRLheSob~yw_;Gxq42my}?_At0-$-^uH zj5(=Xz^`$J=u9hdfB|h0uAGZ_4WMy=3y>o*r<}3r?GKqNY`*H@^MeZo97YH|nu6)D z#tpMx!9Z<-68#x4&j%Ge003laK|mY-1`rqkL0BV5u$BPZz2(OP2(C5Y2pFC7)Bqav zMVv9c5%69CC_1FTF&?zoVsT>~x1S2KEdU{b3#e681qZ&>BWxlBXaI#G@aSKKuu2@fI$NjY!KQ2?!kv*0T;-J00mZt*#KdyO@mko0)#h0nrkue0S9kgFa~%> zejp@~9~{u*e;;tym;gDdb-@MKebAwKPnl3b1SV>^C6_89mfue+1Q2LZBG9>j2p9q| z<_LjqYNwh-?ujG-5I&~XjjTLro&p1yph1?8*6L6OtcoBIN%kPef}e((nkQ0*x{^ST zqTV@zkp}Py><6+%78iLM=~Tl12DH{{D*+jxMgm@iQMv-NZc<<&2^2{1z)%P#ODciF zatC3wg)T*{d4rA6K(^XG+9kK(@D;AFEEJ$t0ToDSfCM8P!0uZHs^zX)c=~$CE2Fc27QrtVVD18) z1{Cm|!5IQ@L5~zgzXZ;9`pb+5V^}yt&9~?=qSR!`}cv zpp*juv=4v;lOT}(FB3rEJ^}$S&_0ox6Gegm_G=#mK-Ri)6k{qV2tfCY<_Q&$Pe0~+ zfeogxF$x+gPt2LZN5(+{3$lU=O1U2FP*8ydl1vs3^qnd&umKHBVuS(UiUu060ri9> zh5_(a3`HAzy~zI0SXLc02C-l01VQA z0iY%T9q1hb;*uTzY?!A3_9@M10Q!hAlUquv->DV*@rh8Wt*`8#B_!VEEz}zxa`g ze)tPsHo$=%S|9_l0viJ)(1}rSA_A7|mn=GA3tn!*6AvJmD96}=4G8QmA7CZybdmuN zaDbIP)QJK81SHUlP`2g?aVVo565#-D=2BapK#>CyafdNTf{6$9 zK|-@LheI5OrJt8903sk^hKpwOB7-1=73Pot2Y^(U_9$p1tiT40p7aMeI6@&9;8G&8 z?Wdk7Xdjlqg`1932m26!IWho&cPIb?n=pkhbYN7VT*8dr%zy$cii)b9G^Gl41Rc0q rIIkuqp&i`=SH)@8vx1eQXc%f)+v?W0W}&7wrE55bfCMJ|AOrwAZ?PFk literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_windows.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/logo_windows.gif new file mode 100755 index 0000000000000000000000000000000000000000..c884dee4f737f7fad9bf90d0ec0bda8086b1fb30 GIT binary patch literal 1190 zcmV;X1X=q>Nk%w1VU_?k0K@awetD=`ThR8;P3qZ|Nj5~_4W1k`~Lg=|Nj2}hRWl2zuf!${q6Sq z{{8;_|Nj5}{{R2}A^8LV00000EC2ui0G0qY000I5ARvxpX`X1Ru59bRa4gSsZQppV z?|kq7z@TtQEE(8U+Lev~;#}b$3S#84(&Y5W)e)W_*g*iiCSM6A&a9 z-XjwoBM;#d6%ry959%fruNBfI-4^d9uO#jw6B-p0Ds*832m2>b#Nvj9K<28L;{z<_1T z1rbeb1F#2^(My~}Y*OlJ=nRby`H(E|0KkKh0ys$fg~6l404xz0m>?lSSg;Ozi7+q{ zL4c9NAY3J&U~O0fBBWIi;L#Rbyh05Tr9-N)VNyu}ELE%kA&rp=?7>Cw3o72N0J@gk zAb=$X3l-Wjcwn+60F@piJXpZ1A^?gAykYQ(fhNlg7DfiBx&Z8~z$0qe8cw`;0SCyB zCr9p}fa4im3v5v6mOz9He5C`x-1Q*`02^3F-as`B5<_KbDS`!*DuBWNN}9&HC=Rs3FackviV$r9&xjCRRS~Fp8lURy<&&3|Y;?~@4*)^WM&s;r&?4Zh3JG&)6En9=OVV@ATHhQs06zN+^Z^uz zU^CHym9g~KG>;AS*>}5&!@I literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/samples-but.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/samples-but.png new file mode 100755 index 0000000000000000000000000000000000000000..32e66bf3d6b240d58c600e4648dc9bad9e220609 GIT binary patch literal 525 zcmV+o0`mQdP)EaE&mM*gv##%tb3B42FYrMahy04Cy1bYkfn~QXy$4BJRUzg z4Fdpn_-L7C@O0F%jJ5e_31DpLmbs;aHS2n-)`_*=;t!sWYv3t=Oks4Qe0K0q`EG-j z1Oubfg|)3T9&A>>m)pA>xwoqI3|`LSP1wKFLg{O`LVjW>M5>mKEuT)tG3nl|%vbvW zld%931ViOeoFYQ;uR{%|h}GYyM=;!5$xd^F&R4P+#eiulzYr&LK_LSobKAp`iYnFh z&{^cYWhxkWJ6DSl6+{e}rt+yU(ooHn-8W&uK!$RA+3t01TF+0$2 z-m{%68R7y|FKQ?qJ}#;5Ex%9I|7+>+enH1doH9rp7oewA*E-!cJePm4HTg~lvxLR z8Ls=8Q%e&x{4ej?#{YitCAT5|#y>Se+ir;8;IE|Fx9NWv12gMJ`xamTE!m*F^s>}< P00000NkvXXu0mjfkUi?9 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/samples-but_inact.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/samples-but_inact.png new file mode 100755 index 0000000000000000000000000000000000000000..37a385d17af6bafca7d76b3fcb9511ca838a4eb1 GIT binary patch literal 796 zcmV+%1LOROP)lO+H!U8}OVysCNJZGRI!o+hXU@lv&7J_^}j~IZ+ zG?@#)-ExLT&Kc?`NR(psbGcl*-9`~`uqep`78Jpow<*YeiE3O~Faqc_iO*)UolXZa z01yq4Xmgp#WC(Y=U9352&L#B9ZIS05kQbu%PSor5B0nn9>2$Pif6qAV@3_m;NkI2b zj;Gxn4SvjS#p$K`{k{da;K5*EL6pPc(1IvOqmczs+VMJ@MHyX`?@xZlJjC@&bE!!# zPJg$!?ga~;X6Gkl>|eTY*rwpqwBlET*e`JNOEhpIL0iz+A3&7oShCE(tq{b zyE#wz&HgFYoJ2!17vTQVWp0Z+_kg?*b-7e;znn(Chu^(1AEDdzg^MW%&vE>W@J0++ zT#cu1b?AC9xvfSY*SI4!IPiL$p!MC?9|3Ls^i5~a?B@2b-rVBRCwC#SiMREK@h%^0}C5}O9M6* zHiG00tSo#13%h{9oJokHkXjTp#F&dQq!WAs@hxm@EG)It2o_36v*(;cChJ}}-Mt`j zaEs%cZ|8RRyPdn+8GE^LJ^lV{acQlw8E5M4=`y#@M$+2Jh2#4HdVF|bpl3Fb068Ej z(1ce84TOLs5g;MBND@4EDG(#{cj>rPBD`HF3}ittX3U`iNhn4)@Ji)!A)l9*BAc<+ z6z>%PIp(`0-;&Q}(JWUg#2`=@FahATuRn}~Br(4fcv;uQi2)Ew7y-o~Z zKlI*)=Z)_DzIECo6nI(<)+d|vL=^{Ozzq9D_$&B_ts8ijN#JdyQfG~ZY{CdKsW1S} zn@w4~G6?!BD=`T?%ePnd4zKoiZf|ZF{AU-F$<^YK`A2-%PY(jm`;cwL*c>R|IuV1ZTe0tEA1i3olL1pPm{vWIMpu0SbMOzNCG)dYjk{N_kdIF;X{A{077dFg{d2PO8@`> M07*qoM6N<$f=h($ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/search-field.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/search-field.png new file mode 100755 index 0000000000000000000000000000000000000000..b2e88f38b37a51e3145d2411e9f752b6666c7cf2 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0y~yV2lT{H8_}n-L1;Fyx1 zl&avFo0y&&l$w}QS$Hzl2B_$Zr;B4q#jQ7Y6!Q)nFtlB?*xYrk*Z-wp({<-Ja?7lp z{R38NJlFL6$Y)^Wy7+C^qO!Hi1)3){ZT#Ml`lp#+!eY-_GyQmZQHR8gTQe?SD4na@ z5ahLT8&kn#D~4ALE0`DXHDE9h692X9&WUTPIx{SdY5Q<@`}EKKKFn;|WA_4FDjB zXo?-iIZOsXfM6?52!WE&LIThv!BRnSGKvHPgc8tbRgwtGA-ipK ztQZ4hJFQj@CB+4~MGOvTO0zWl5K2!MI0ajI6MF>%ZWj#z1t1GaN`?|xT1sXZB@7sr zWoMKUbV_!36ALAvKx;~Ep@IyAd=#t}Q6&yUuO9~lFFO;24YrO9fx96FKN1Ngx*2!K URthDi(yv;;*P#L%&&Uw~JDw(SE&u=k literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/toc-arrow.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/toc-arrow.gif new file mode 100755 index 0000000000000000000000000000000000000000..5e0389e9f8da09d4442b1dbf8cdf0d4f562bc209 GIT binary patch literal 70 zcmZ?wbhEHb6krfwn8?fk1mAxC`TFDc|Ns9Lf3h$#FfcRdfJ8y^3{2v4`d6NQ%OBmr VVPm~vb3{%pqmt{iXFEk0tN|)o7eN33 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/toolbar5.944_left2.png b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/img/toolbar5.944_left2.png new file mode 100755 index 0000000000000000000000000000000000000000..dabcf312c547720ea4411b4ba545f2cc0771a751 GIT binary patch literal 3099 zcmeHJdoP9udbw10wJ!EE*i}4?T<4b-aMW zppT(Z{>1Pmv=so#m5%lY+z34)p3^bzDR}H)Hw-gy+x92z1P{4q;>eOq6k!VH-P4V) zP?$D3hKk|#6RG=E*1Tg*Y@-D+A778Vrt2^)lQ;5A^ea9-i=)&Qco$8}gFNc}TmUHA zKs{j5_NTxg11R}LgU}BhE78ELoDsV@zq3SQ1#g}_%tka}v1wJZuKKaDF&>YXU(4c+ zKYo08{l#DeYUpfrPJy3>~_P8+XnaWc%r%v-ugF4TaS6k zsC(pO8y`vN-capQv=^9m1u<=TwhzZACYqDzBRL{u#urEQ5ig~2*>wr#_Ipds@l+<0 zi9BCX3mf1#m1t?6458db#Y~T%X$bm0)VC8o;+(ss37G8S=%EBx3P{^5zv!xZA{cNKOC<+OC5>RR<)XLawHjBmLXbcCE$u`7t_1}labqM2`=QaU~ z)RS_kaSts${bmR*X#wHioN>ndTL&*2PG-gFXP1Y@Q$kJNm^K1pTZA2=gWJY3}B|EXlpZ6q!WM72|l>4t`cS0R8LB=c339^f`kD;j~z6 z($^T*yDes_)4V|gK)v_4(B>GynfCOq(G%t|IGnN6L?B{YHsZ}&XS>-$_qk)e_$m$*ZTb|9wslt8Zer(74xAAhmQkKzHH)|@)-be?oTbT3e@jq27owTFbkYo7nzX9*> zX6GNcX=S(PiG`l<8mBc=N^4HnXul0J%YRb|tBDURXc6Mk;NFR^aAebVgSG5`q z^{JNeLZ(MX9>>E#Knp}}C)0)5I)4%xjV2O_|1H0tBU^r9L-Na?GK-;khk~HO=Rr*F zn0k>+Cc_HuN^(RHDP0BafuE5-Qw65U{yX&Zdli{#xZG#g{K2gh;niX+yL0wfB>lP4 z!o(z8uB{wNrF=Dzpbfm!9#lVnk#in+YZ(Usq+e##123yZ<@~1K+RV(bkKs$ztV?N- z+gC0J;_r&J`sJz8SFa3vA$d2z+bP~)xyVdfNn(X+tK^q33NgHH&hWK9+c2Q(^YhUi zdQH4yb$pCSZN3S9b#yG(g?4w-!r&w7V3@~L{Hq8H8}fWhA$egwx|ViC`fluW`Fl=1 zJ5lF`1d`^csHlZ>MOl48xUg9L{`Ya^b|t2GG^yrJ0m@u${W`49E|y*G3^1`ZOLfVp zWCUwMTG7?j6~D*NsOn}Vixq{%UJt=|AVMDy#0Pt&2sLyz z>BL&Z8%POTY0QA_D8c5u7ZZ=2Es|rdT#xI;Y=5E0YZo)py=^$1#LeNE8X%7t{?uS@ z$ltr|7WUTrLQxQhdGrePH}~5LYh3Uo>ZO9IZmCXq=M3oZG5gja zcgnvt-?_3;`|a!c8wpo;4!tWOjAn0kNQB+$8}1btbc{$yC$9AO_C92>oE9c@D;6md zZ7gjQKsy%=Y}~l9frcSQM*dvIs;smQj`l*}9YR~J^*vK%`;Sxo+3BY|C$oUbQL`Ky z!q&CtSmos&rGF{vIY2m|cOf}B`Cn>c19Mo`p>>0;KEU-6CCRe5(|EW&&~5hZPS`*W zg%G#M2cp@glhQsgaIlm+_LRJi0fmf?j+P+?EycU#+J4YyV|jgjMo=7by;$}>q>SDQ zOzHwnlyCy%y`3}pRC%iTjOk#K`~b71!g@7y4_Vo}M>Kur^nr zPzZ6q?fjoEMPmRNl&~^q$+4``68e$wPZe1f{;47#HuG2a|2zDj7C+qfih2D##fQHl z6Axvdq@O@j!e$6o?+$|+1VuVM(XaKWH>6DA@^|iVkg3~Z6EmlXQVaj;nlP+``(s+# z#-deVm6KND+8exy{_3KFf^RJ{BGQ(gvG&#dd;R2N^PZ1NtdxN(qAy8x@s}&Q_?wJN hj+I+8Y43-tfb89LPoHDaTF`4BI39GiFSPZ&^auRx)_MQ{ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/about.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/about.gif new file mode 100755 index 0000000000000000000000000000000000000000..ed1d4440521c21ca52be62d8ceccaf3401c1395a GIT binary patch literal 626 zcmZ?wbhEHb6k-r!c$USmyhY&MX|0z#1wWk>y|(_t&{5i0r;qv93pD$T`ziWGZmfX2nJSS(#eY$LT@z%NjPnC{N7P@?K!>P$! zpFVv$aB}yRdsi=UhyjxVuZHPi9UKH;;o#CJ|s+`h>7`(3BgQ@Kyg5_p#2%KCf@b7KLr_1J7SBiW%DSu|Zz?FGC+ov16IH>URf!F&p#>ZwW{kjiFamHYiP_|$ZvYqw9o`t+ND zGNAaAg^__Fi$Mou3@A<**v~g)H8r=iwzWvAs7SWAnTQAoh-CH(De}ujdiZ)s*9cora#U zl$5ZAYKwj}M_62l77ynW&cM)?*fa+t78V}qcPy#FYAt-0K}^4;6@D`rCs-(4VPxo+ zV`gi}m{4#)f`WUMp<7_0#+ZVgHR literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/about_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/about_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..a8d6c176526ac38cecb99c1bb8e2d16a3459b489 GIT binary patch literal 1465 zcmZ?wbhEHb6k-r!xN6EUZ{ED!yLWHev}x_ywQJU_S-yPv)~#Dtu3Wil)vBF4cdl5m zV#kght5>f+e*F0V|Nl2{-n?($zKt6C>mnmMuGSX zJb3Wdty_Ed?md0_^zGZXPo6ya_wV1|zkk1Y@#5~?yWhWmKYaM`_3PKSZQFM2*s(*0 z4jnjf;OyD6|Ni}Z{`~o_UArz^xNzyxrS03dFJ8R({Q2`2FJ1&%%77Or{^ySH4N!1N zEJ*~?Hue<-iOJciB??KY>6v-9O7C~?S5nAKu~iB;^)>J6!V;*iRMRQ;gT;{4L0J^^2{qPNz6-5^>ndS0_xYx%uKNYhODKDrK^*L zk)^qzp^KZP0g!NWva~R9Hgz>~GK1-L$xklLP0cHT=}kfCb;hX|ln`ti4*$!dV9LNIy>6iT3ec%8XM~CYHO;iDl5v% zN=u513Jdb{a&xk?GBeWCQd5$X5)DCA|t}XLPLUs0t5X0e0{vVJU!gqTwR=< z93AZKY;CNqEG^8QsJFK@c?A1|-kyVV7 zvs`Loz05RZp0CvkQ@vKL{Dm1kTPm^^`FXE)pK@`|oC`~*Y@4T7sMWHe(0Z=PtTi)A z_g82ZtJ-h3(yi0VTIj2srck{pLaSVD^R4}kn{72R)f~24oqO=$;I)fWSN7S?u&n5b zS1(lYY4p>G*XTRk8Zj-Zf5(j6#ewc?oh=udtT{hLy+BzrPi5|bDe3ck*BswDWyieS zgL#{8ADFhkdB(xkiTlbk)+XsyYQ-*a>DiMTzuiA6o3@tgc4{ieC@7aG#LRap+mz6>KIh=oiz=Clbz5SZR(8$Y*I9R{=-A_{ z77LAa`!(#QTjaK-%-q-3zGgyXnp5P;pyCzbMm@SobKF(4l@eyTB`pb$nICJ=scpZ` zx@U7`|B^s4k;&-AXnGVjpi^-e2oSDl#Nw!3HQ{yw+$POTdY zE#?`AEb?jC8W+1cws=u?{(`LAFW)hY0&+t@@h1x-1H&{19gqQ_Ji)+mg+Z57#$&^R zgH3WZ5lq1^7C4wQZ~UT=;yBUSTV0F8<${WUFt3&jn?~Zvi_C1Mw^WigK2+$`HCdwY zi;1~!qATYg2Z0|gT?g1gm!$|Ms`W|Om2&(uJkoe*qVuFVJPHOYE{a;Rs_$(~arR|o zjA^(t^Rr@CPgBzyk&i)Ym-;0=ZuGn;ILvTR)Tv2eqf(;NJol+l3pQ+NQ&6@^lwn}n zsNOt@*+%A@;^fCYe7fFW7z`YbC-x``Y9ulgB)W^UX2>`loT%2)-OWB($Aj_qgBjvm Ki=(+X7_0#fLn<2p literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/bug_reporting_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/bug_reporting_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..26e489ac322f4132c23aaefdea1319e6902a5956 GIT binary patch literal 1662 zcmZ?wbhEHb6k-r!c;?Eme*OAQn>MXoyLQ#8RqNKRn>cae;lqcQEn7Bu^5oU4SD!j{ z>g36jJ9g~YzJ2?N6DJNFIB@Xb!P&EC@7c3w-n@CsmoMM9Z{PXz=O;~?v~lCcY15{y zS+nNi#fuLfJlMH&=ZY08Hf-21Wy+K}bLQ;byLax~xyO$mU%YtnwQJX&K7G1v+qRyb zo|P+CPM9!Z_wL=@-QDx&&%bfwMt^_*y?ghjPMx}S>()z`E^Xet`TqU;&z?P7x^(H? zyLZo>J9qQu&9i6E9yxMk#*7(DmMrP*?Y(^Y^30htXU&@R{Q2|$|Nk=#DWLeDJHj_W z!6mUI5lGwER}>^BXQ!4ZB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3j zDm&RSMakYy!KT8hBDWwnwIorYA~z?m*s8)-DKRBKDb)(d1_|pcDS(xfWZNn^f+Q3` zb~@)5r7D=}8R#Y(m>DRT8R{7to0yxM>nIo*7#ips80i}t=^C0_85>y{7$`u26417y zlr*a#7dNO~K%T8qMoCG5mA-y?dAVM>v0i>ry1t>Mr6tG=BO_g)3fZE`@j@w*YQzUa=n7J9^3ax%w4}1^R}11|ToN z6#Dw&SDKp(S6y5Zl!|aKR)dQ}DhpEegHnt0ON)|Ify$LZRuxz|7o{eaQ#zd*q`*i<1rGcP5-ycn$7*VoE3uec;JFFDoI#a0QZUoSH=#md#x)zQ+? z*v!Jn(#+7%#m&jm#LU9k(#62c)Y;O~$pEI;B|o_|H#M&WrZ)wl*Bqx_P(sKp0NU)5 zT9jFqn&MWJpQ`}&uvI2*x0v8G52`l>w_8kc>eUB2MjsTdNYM-v0;U}h6P{>+9C)%% z%>$zB`;K7M%r?(Lh`uU@`*{_N?K$B!O9xPR~No!hr= z-nf44>XplvE?zi)?(CVz2)%Hf~tIZta@Y zt5&X9zHI4|#fug$m_KjsoY}Kx&X_)J>XgZoCQj(@>+R|8>g;H5Yi((6YHX;ltF5W7 zs;nq4D=jH5DlEv)%gxEo%FIYlOHD~mN=%54i;annii`*k3k?Yl3Jmb~^Y!ue^7L?b zb9Hfca&)k_v$e6dva~QaGc_?b0%j;ZT^(&LO$~K5RTX6=MFn{|Ss7_5NeOW=Q4wJw zK>>a~ULI~PP7Zc9Ru*O^Mg|7OpDaMql|ctoo`Fhh2KIvuu1(D?t!=FghOX93?M>>< zOakVPQhlxrCQU31qN?n+eT)n9SF9IdqhnNq~b#z>uktDNv!pLqVa*wUJ4j$3p1=vuiUCtH=z83r)?7 c**Lfk{3v`Gz^R}XE#|e+Y1vt&Mg|6J02HG-lK=n! literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/close.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/close.gif new file mode 100755 index 0000000000000000000000000000000000000000..deae43bc85902e3c846612db8a9191a46ad563a8 GIT binary patch literal 382 zcmZ?wbhEHb6k-r!xT?$We^tlLU0eURB>kUW`oGZsV~Ei?Rp!6Rj^Cmz9vwY!Nt6Bm z{M!G0IsX&ve#YDW&v5%6WpT?y=&ByiljDc~PcFQ@XZ!!9&5s@B|EIa!-M{Pl_DwI` zRd4Rxa__*Nx65bVvy!;6WAo!Z%-uucQ7zhgs0*_a&`G8_;OaaYyg;bCBC(NOi2m1gQ=l9u(< zl@u4z))o<$^i-B-U|Gn*Ag}B$D#*akFDSU0K~U6{QHX(;SBP=Tc7~lUTnqvNTry5F jT!$FATy)sf*%Vw9&avsZYN|-NNvUW~zW>0@k--`OF6n^J literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/close_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/close_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..cfb6ecabdfd718c6054f0841d76905ddceae9d47 GIT binary patch literal 1431 zcmZ?wbhEHb6k-r!xT?x<=gysD$Bx~-d-utcC#O%JK79D_{rmTqEn9Z$)~(BzFP}JZ z;_1_;D^{$yapT6pg9k5MxUg^Ez9UDDtXj2d-MV$xu3bBM^5pU3#~(a+@bKZoB}^nUk#C56lsTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTcyO5{G?PXAR8pCucQE0Qj%?}|N*N_31y=g{<>lpi<;HsXMd|v6mX?+vGmMOMfhu&1EAvVcD|GXUm0>2h zq!uR^WfqiV=I1GZOiWD5FD$Tv3bRMVDIQ9=jZBIBo^o!>KTB%1XJki zi(hGOE?jkSNl+@ny;uz{4yi0i)elN7&Mz%WP6aAg23b{L$o&6x?nx#;I2y=oo!av?4__ObD2EKuma|1#;lYJ~a=R z){B6Nn(_a?zkh!J`uXGgx36D5fBN|0{kyksUcY+z;`y_uPaZ#d_~8D%yLWEix_RUJ zwX0VyU%GhV{JFDdPMZ`!zF{kpYlR+RD81r>mo_rKzE=rmCW>q^KY-Co3Z@B`F~;CMqH&FX#K^#)_>%=lsxs(+${SE=$G|r0z@!2X9jX2k3y*Iy(9@Zxq{P5s z($1a5;HbkO&~V7X;zJYnk;cUr87$bc7=Fj9IBJM6urM8P_HdVx;^bstXpxfflu+dF z<5!gMR25fN0OmGjaZfgB29|{^4AN}wY{Cp&T*AVu8HAU)FbRb+3NdYA4B6qr!yqWg n!{o%obC7|@MV?)j{fINuS$26>QAq|j21(J$_wKtnGFSru@lW}2 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/copy.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/copy.gif new file mode 100755 index 0000000000000000000000000000000000000000..7b2a79c509dc789c905dfd34b39e147ed77c4012 GIT binary patch literal 598 zcmZ?wbhEHb6k-r!c*ej`J8j0Z4(`R4TmS$6 zfAr$DFTZ|0{PgL^@88#+KY#J|C8bNPY8cV51H{N>BffB$A|+_L}L z&G$clt~zr3%*}gW|NMFP0A?dQ+`{rk7!)Y+Y9&z`;iIK8cX-{s5QOO_wIb?f%a zcML-TDE?$&WMJ@M&;dCX6ekSqn;Sfunp;}inl+ibx=q@fg>ioDJ0`Mk0%v**rV=xRStM!UsPm}SpePV>0}DlM{h ztjFi^^BN!5({IrhWxKRT#_5urVvC9h$Gyt}R`+<6TlAIqUf$O;dMT{Yq9`T)<(18s z1pyCRSe=v|4*Ur3XB1=*P!@1n$Z*1`LAb|a(*g%Z4qhb=sS**!MV^y|j8_6pVz34P D`Y-oO literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/copy_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/copy_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..734e9f8fdc67b91e95c25427d7ee4b02526585a7 GIT binary patch literal 1435 zcmZ?wbhEHb6k-r!xT?kQ`Sa%=KYslF{d?E0U4Q@ny>sWz&!0d4{Q2|k+qduEzrTO~ z{@l59|Ni}Z@ZiD!|NjpiI`sAH*Eet8eERh1)~#E&Z{Pm)>(}+`*Uz6nf8fA@ckkX^ zzI^%AsZ-CNKfiI~#@VxHuU@@+^XAQq7cU+=cI@%v#}6MqT(@rB>C>lQym;~U?c4kJ z?*q+bpbRMf=Z^3VP;f~sNd(e1_7w$*$=RtT3Q4KynR&KK?|1K4QpilPRSGxtHSjHP zPR+>ls47YguJQ{>uF6ifOi{A8Q?RM9s>m(KO)W`OsL0L9E4HezRZ2|BPfE1{vO&W7 zN(x{lCE2!0jvxsIke$x?MX3s=dIq}524)5dW`=r(#wOnqF1_laHpait7C?(A*$i)q67m#PGlu=SrV5P5LUS6(OZmgGIl&)`RX=w>E!^lV% zs6w~6GOr}DLN~8i8D@e@YH@N=W?$S+WE4mMQ?&&*57FE0kG_Vu;$%quQQ%u7!7bg@+e z>etK6OtEsYFn6-FFm|*svNSU^baAsZaWr)`b#*f`a&&SwF|vT^b;(aI%}vcKf$2>_ z=yk%W7nBfk3xGDeq!wkCrKY$Q<>xAZJ#3YU+btG2&4cPq!R;1HoO<VgsyL#pFrHdENpF4Zz^r@34jvqUEVojbN~ z+qz}*ri~lcuUorj^{SOCmM>enWbvYf3+B(8J7@N+nKPzOn>uCkq=^&y`+9r2yE;4C z+ge+in;IMH>uPJNt12tX%Sua%iwXi?qaq{1!$L!X zg8~Em{d|4Ay*xeK-CSLqog5wP?QCtVtt>6f%}h;V~xOjJZzNKk;EkC%s=i<5($jg^I&iIIUp@h1zA)MC&96)>REj)85S!_)!~ z9jW%-rlLwKKFuZu7KO|J3%{#Nniw>c6ppiW$HciU=_x-bCb%#tYw^N=UOGo|zf1cq z+`}O6BFn^Cox`mbDAo4AV<3)7s50>X1d7f8zl+?y{cBa3&q}yR^PSwh^O!q7-=)h({UpxbzkfdR Jv5O;vH2}MqAkzQ< literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/cut.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/cut.gif new file mode 100755 index 0000000000000000000000000000000000000000..04d6fd7e928b3bd0e710256a2e54397f0e1176e6 GIT binary patch literal 608 zcmZ?wbhEHb6k-r!c*ej`HD%iN3zz@@|Nr6Jw>MwDy!-m~`Nxl+zJLGy_wW5TZ@&Ea zar4ECAHRQJefI3CeY*MVg|){|Z9RAK(dW;9{{4IU<;&_L$CvFt^zZ-wGdJ&Edhqns_wQf-{0W_V z^X&a6mUX)j6Ku)Vq#)yTDlbcuCkx9n2%{hp5-U43X^)YQ?#>}hd zFO(J#Ym*IT-@0a@fNYzRCD;CK3*?pBBt`j89GI^t*{00FbMfT75al)p1-@ICSiSYU z+Wf>h9^Yn;k2Lpb4O0<%%VTP&sS|DzS0Hdnse#FkJ)rJK$AJJ35hq<1kt5$-n%hL9 o%Oo6~UbMO}s^~R11T6HNs+_>}lHtH6Rc|@lT^6%4H3S%}0i5e5MF0Q* literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/cut_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/cut_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..6f1706b1c724fd0e5b677df4b40b897740033c5b GIT binary patch literal 1440 zcmZ?wbhEHb6k-r!xN5=hC*t2M%oAy7lwt&%1W*x^d&i<;#~ZUAlDS$dP^f z_C0_8{K}Op=g*(Nc=6(c2M^BXQ!4ZB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zob zswg$M$}c3jDm&RSMakYy!KT8hBDWwnwIorYA~z?m*s8)-DKRBKDb)(d1_|pcDS(xf zWZNn^f+Q3`b~@)5r7D=}8R#Y(m>DRT8R{7to0yxM>nIo*7#ips80i}t=^C0_85>y{ z7$`u26417ylr*a#7dNO~K%T8qMoCG5mA-y?dAVM>v0i>ry1t>Mr6tG=BO_g)3fZE`@j@w*YQzUa=n7J9^3ax%w4} z1^R}11|ToN6#Dw&SDKp(S6y5Zl!|aKR)dQ}DhpEegHnt0ON)|Ify$LZRuxz|7o{ea zQ#zd*q`*i<1rGcP5-ycn$7*VoE3uec;JFFDoI#a0QZUoSH= z#mdFd+|||C$;iUU(#+7%#m&jg(Z$8l(9y-h)ydS@!~&+*B|o_|H#M&WrZ)wl*BGZ> zP(sKp0NU)5T9jFqn&MWJpQ`}&uvI2*w;13w52`l>w_6Nx>eUB2MjsTdNYM-v0;U}h z6P{>+9C)%%%>$zB`;K7M%r?(Lh`uU@`*{_N?K$B!O9 zxPR~No!hr=-nf44>XplvE?zi)?(CVz2)% zHf~tIZta@Yt5&X9zHI4|#fug$m_KjsoY}Kx&X_)J>XgZoCQj(@>+R|8>g;H5Yi((6 zYHX;ltF5W7s;nq4D=jH5DlEv)%gxEo%FIYlOHD~mN=%54i;annii`*k3k?Yl3Jmb~ z^Y!ue^7L?bb9Hfca&)k_v$e6dva~QaGc_?b0%j;ZT^(&LO$~K5RTX6=MFn{|Ss7_5 zNeOW=Q4wJwK>>a~ULI~PP7Zc9Ru*O^Mg|7OpDaMqf&rOVl zm!T$GS(H zFjEwA5#iX#BEuxff7nRHMUZ1JBcr~OlBkM^p|*>}$-NsHMHLNXTqW2ZK6+?wY~uIA I&5^+x0D)UMr2qf` literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/help.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/help.gif new file mode 100755 index 0000000000000000000000000000000000000000..22b3ca35194ec8fdbdc87179dca1c3a6188bcbce GIT binary patch literal 1076 zcmZ?wbhEHb6k-r!_};@%*V17WbI~H@!L3`bb%GCHdG!30zWV?F|FdV$Y;)gT zxckr`^6ad|%V*44q#d~5JLjxR!e+mewUcJgJAeDZ+V#749X+vi|KT%d&b)f{YRBPY zvBf*h!*|YGwo1i&_wC!ag^Z_~r#vd{xe!%);`H@9HsNcg&tJ4@&;DIUPj1<{d)A_* zsWk_duG<(_dHT+s+wPg?S8dtRIqlfm?Ypg`_pIB#Yx#!Ft2S=AcI}B?=n-}At*6hO zcSt@td;XFYtJgWDoYD>6fB5j>g9i_vI&*f?%-M!f=hp52+|z|g~>12P_zCm1;XGe~mEcx+hU*vK7lVMSmwTNf+4r0j+S zXZJQ1P9u(ui4PqPGOK@6S)t6t#3GowV2Q=U!Ub(24N)nYUyl0BQPqu6xM(opkgT;b z$63v$1sU^=mG`tPRQTXDOEc?}$xf#_@nrvLh;(di zbr5Y#E4cab2&asB4cpTSW9AO7Mm2*1hvsI6Mt=Dz5_U%vyEq$V*W?%oE%?;TK9yPG zmcWu`2T7kTDvl}+4UEi7S^pfk?A+!c6nn&Fg^}CAOjfQAmmkJ0M;s)AZcX_h(8Sm* zAm{bsA!BnwBO71dkqHb;EiDpFGA0@c1xyWG%!l{|S1=?vxwx@1tcXAVchB!eMn(o} E0Cu%_{gZQHg>moDwzy?g7{ts6IP+_h`hty{Ma95}Fl|NgUQ&mKR1 z{K%0buU@@+_wL>6*RQW$y}Ew=`WG)=tX;cy-MV$hjvd>yY19Az{~tbl`1tYTuV25O zJbCi%+qZl7?md0_^!4l4&!0d4;lqc62M=DjaADP|Rp-u~J9OyK(W6H{fBt;`{{4#= zFP=DY;?0{k4<0J<;&NuUE98W`<5+RR;*ZY>eQ(lH*Nskz%Vp{;(zW4-v9-d#F9iHZDU_i zkeHmETB4AYnx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ2 z3ag6Tg51=SM1_jnoV;SI3R|Vbl>DSrDrlU}Ruupl@KLZ)l`zXl`X}WMyEW00l}w+lo@stb$zJpmqUy zwn`Z#B?VUc`sL;2dgaD?`9*7iAWd zWaj57fJ{tG$}cUkRRX#c;)UD-xUqS~dSLJ9CFkerS0onb8|oQ=yaZF|>x*A$ZZ2GP zaY;}r!o64xE)Jh49S0l>G8yuxejlE6=>*lEl2^R8JRMC7^!2%*+%kXGbSX6H^ll3nNQ2Lqiug zO9N*ECnG}>Q&$&fb8{mjm|mCsATTyHM z;rzL?XHK6wdE)r7qel)OI(T6JzP)>P@7lRz`?jrHHgDRvVg0(bYgVsXxnlXUrArns zTDV~Tyt#8`&zd=7`n0K2CQq6;p}()Ur@O1OqrI)QrMaoGp}wxRrn;)KqP(oMq`0WC zAU`iRCp#-MBRwrOB{?ZEAwDiPCORrIB0MZKBseHAz~9f;$J@)(!`%%Smrjlj_I9>5 z)>f7l=4PfQ#zw#lrKhW-t);1EF>tv&&SKd&Be*V z&c@2Z%*4pRp!kyoNIEg-fC@HHY0bd?y}_xexuvzONsx_EMTL<~u-!?TO-Wo`K|x(d ziA}mynx9|6QHzyTOOAKpyk=c~ZFWO>#%@)19&6oZK~8NME=~!t!)$6Yg0d5wkUwnmBnlM3&jIaElun+i~b{Hi<|)W)M(jk}$Ei6kxFsX?h~SAt0<~ zkf5Nbz{tTS#&N0P;FX4UAr%{$4~rTYd7CmA6%RNzH1J5;aLrht=*Zw`;B-a7K;a1E z1a`hX3I&QRJ&u|pcP1#TcVcB!R=KfYLem6hRyCQD6%P)%w({}#XcQ!@U}<3B-DJkW Wu)sw{k&mH6*8A(~n~seP4AuaIpjx;9 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/new.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/new.gif new file mode 100755 index 0000000000000000000000000000000000000000..b2d720a068776348512939c7bf80ae58ad2739d3 GIT binary patch literal 586 zcmZ?wbhEHb6k-r!c*ej`HD%hDA3r{Q|Ni0Iw>MwDY`<{%-Pf=G|Nnpf@#D8&zkdAw zegDmy-+%x9{PXALix*d)J$v}+)1SY8mu%ho^vjpO|Nc!{y>9c_3s;^#{rCU>f}MMo z?LRbY^VZgR3*Z0zx%T*}6IX9;J$LcXzki>9{n~o)=-h2PFFknr==0|vfBr1qvwy{* zBj0}i{`c?SufKm+A35GWd)}FwcQ>3ov+eltv-h7&T)pn+zkgqT{n~i?+<|L1zyJC3 z>DRAw51xGe{rlDT?`Q8nK6Lr=t8d@F{`qtJ$Z zP0cN>ZRV_{n80lV;cc`u0RwjzP#nhyC?WLP89V9DKmYBjRL`P}s!A U?ySdC&Z(7cV}1`0)Aj=MNq{02;_ZRiOBvJHj_W!6mUI z5lGwER}>^BXQ!4ZB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RS zMakYy!KT8hBDWwnwIorYA~z?m*s8)-DKRBKDb)(d1_|pcDS(xfWZNn^f+Q3`b~@)5 zr7D=}8R#Y(m>DRT8R{7to0yxM>nIo*7#ips80i}t=^C0_85>y{7$`u26417ylr*a# z7dNO~K%T8qMoCG5mA-y?dAVM>v0i>ry1t>Mr6tG=BO_g)3fZE`@j@w*YQzUa=n7J9^3ax%w4}1^R}11|ToN6#Dw& zSDKp(S6y5Zl!|aKR)dQ}DhpEegHnt0ON)|Ify$LZRuxz|7o{eaQ#zd*q`*i<1rGcP5-ycn$7*VoE3uec;JFFDoI#a0QZUoSH=#md>(#lXbCz}Ujb z(#+7%#m&jm)X3S$%);2w*}}}k&=RKCB|o_|H#M&WrZ)wl*950tP(sKp0NU)5T9jFq zn&MWJpQ`}&uvI2*w;19y52`l>w_A*G>eUB2MjsTdNYM-v0;U}h6P{>+9C)%%%>$zB`;K7M%r?(Lh`uU@`*{_N?K$B!O9xPR~No!hr=-nf44 z>XplvE?zi)?(CVz2)%Hf~tIZta@Yt5&X9 zzHI4|#fug$m_KjsoY}Kx&X_)J>XgZoCQj(@>+R|8>g;H5Yi((6YHX;ltF5W7s;nq4 zD=jH5DlEv)%gxEo%FIYlOHD~mN=%54i;annii`*k3k?Yl3Jmb~^Y!ue^7L?bb9Hfc za&)k_v$e6dva~QaGc_?b0%j;ZT^(&LO$~K5RTX6=MFn{|Ss7_5NeOW=Q4wJwK>>a~ zULI~PP7Zc9Ru*O^Mg|7OpDaL9l|cto-hfIw2DaV7|`h8 zF=v^f@=QG$9yZsBl9HN}TEt~C{d=aZ`1OI;S?8F)h{1YiJ2z=YHinvPQE4}ECgzs5 z5_WMn1t!Mc)?yX~H^r&b`mz`l-DG*^O|M~-b(31QyiZ8VO@eD3<9r5Y2{&P`txW5g b^IiG(ZCy8y-;JO3?78!&{4TjVGFSru9~ccO literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/open.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/open.gif new file mode 100755 index 0000000000000000000000000000000000000000..b77e253ab5b68dce3c249e220e69c073dd3a1a9b GIT binary patch literal 628 zcmV-)0*n1eNk%w1VG;lm0OkMy+rWPL!$F}hTF!5)3du4n*^$N3*7V$!LCOC7=%en=h5z-jzMfh6f z|M0B-@2k$y#Qp84{qL#y<)HoQrts2<%-P-U$6?pj!tvFO^xKp7;+wvaGVITV+Q571 z%7ESL>+Rc`{pzK=n^n%QX7bmN?$3qr(TM5Ff4QlD_T87dx~lo*l&^y*&7eN-(1*j8 zHP@;|{qCvMx_H;*=(>z9@z8RlhC|ik=PtJN_~MZL{{GwP?f?J)A^8LW004dfEC2ui z01^Na000NkfPR95goTD30Evo=9fl%q8d(}WBm|Z_B8DJKQB-_*L{<_KP#}gDbOQrq zBt=GJIa3yf44H(euIg&zq8+zE0Q z7iVmJAB7M;EiGI$UMnj?HA4`EAr2E04tHjCU|(BeAqv4z!GM8^BN;L*Sdaz>j6xeQ z%$R`zhzuDKBB0r`p-_V>VbsKV6C;KK1tuD_DO7>S4;?0)c<>;gW`z`nkUS~VB#)t= Of~2fT0<@^nKma?wJ6**9 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/open_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/open_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..538aaf298fd278ca8276b60af3245c137de4fb6c GIT binary patch literal 1463 zcmZ?wbhEHb6k-r!xN6C8?%cV@j~`#VcJ0ocJ6En;dGO%Do;`b>Jb7~C#*L>>pI*Lv z`S$JGCr+HWe*OC0yLZo=IkR=^){7S}-n)12?Af#H)~$Q==+TiQN3LGIdi3bgTeogK zfByW^rAx<-9XoaE)XkeWA3l6||Ni~cr%$h0v*z&O!z)&-c=qhs!Gi~vFJFH0Gvx-`~G~zh%po z|Ns9pU;xGc+!4M33NDEyi9p)MzM>#8IXksPAt^OIGtXA({qFrr3YjUkO5vuy2EGN( zsTr9bRYj@6RemAKRoTgwDN6Qs3N{s16}bhusU?XD6}dTi#a0!zN{K1?NvT#qHb_`s zNdc^+B->WW5hS4iveP-gC{@8!&po2Tt~skz|cV7z)0WFNY~KZ z%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE%ggo3jrH=2()A53EiFN27#ZmT zRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$AbT4JjNbScCOxdm`z^NRJr-qB0W z&(*I;EYLU9GXQxBrqI_HztY@Xxa#7Ppj3o=u^L<)Qdy9yACy|0Us{x$3RJEPvZ}z! zxhOTUB)=#mKR*W+iUAqAE^d~_W{xh#<}M}{2F_;2ZU!*DF8Rr&xv6<2Fuf@V zy{-^T+pZU%!0*^zp;{cW>Xke)aOj^Jh<= zJbv`>!To!8@7%t1^TzdSSFc>Ybn(LZb7#+-K6UcM@nc7i96ogL!2W%E_w3%abI0~= zTeoc9v~k1wb!*qGUbS+?@?}exEMBy5!Tfo1=ggipbH?;(Q>RRxG;umQ)5GYU2RQuRb@qaS!qdeQDH%TUT#iyR%S+eT53viQer}UTx?8qRAfYWSZGLa zP+)++pRbR%m#2rjo2!enlcR&Zovn?vm8FHbnW>4f5impP>FQ`}X=5k4QD0hGNS?<{i&dzX)k0H~SwTzQRYHMzmV$|=B%iK?s~Df8BsYs8KR*YznV72@ zH^*8fWm#cyIde5vZ8;_;IUODzE-qdfZC5r978VW_85u!ACOtM+0bVX?UKI_E^GpJQ jw+w_28mp^|yc1w{V_`FrP;&d>#42|4=f8iB3=Gx)+tf7| literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/page_setup.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/page_setup.gif new file mode 100755 index 0000000000000000000000000000000000000000..d8ea3b66b9857a21110032fff089a7785c149b18 GIT binary patch literal 1659 zcmZ?wbhEHb6k-r!coxgB;n?y2|Np=F^5xyvug^bzOsc5-@a^0EH*Y?D|NiaQubVGk zeEIR?_us!i|NOc7?AedszaM`3^!-`olC4`CrcVF!_wPR-`2T;&u03lG9=`JQ>7&n| zyXG%kzGq)SYx{z2JHGw?{o~J{{QAbHU%sq6a_sw`KhxH%TeW`uq0JuOzkh%C>c*`b zyOwX*{J)`L<^F@)jvqg~#q-ac|$a!070?o3}oCxcle7 ze@`FnnYCf#i>Le6%yrnHt$lo3!>+RzzW(`B6cc;s^5umSC+?jw`{d2LYvwsHFfjc3 z`}fqXd+X;pC50=mo$L7i=g<51cmDr!^VGs6r*Gf8adrEbU%!BUc=i4Jm3#N@-rU`{ zWZCCmzm9J80)`1tI~{=Hf9?q100o!Cl0+bFV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTcyO5 z{G?PXAR8pCucQE0Qj%?}|N*N_31y=g{<>lpi<;HsXMd|v6 zmX?+vGmMOMfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5FD$T zv3bRMVDIQ9=jZBIBo^o!>KTB%1XJkii(hGOE?jkSNl+@ny;uz{4yi0i)elN7&Mz%W zP6aAg23b{Lti4*$! zdV9LNIy>6iT3ec%8XM~CYHO;iDl5v%N=u513Jdb{a&xk?GBeWCQd5$X5)DC zA|t}XLPLUs0t5X0e0{vVJU!gqTwR=<93AZKY;CNqEG^8?Y*TYfYnvlOXIE!%Ta&Vrf4GvAfPjm#cb`Nw6AL>RpQIk6gnOHADD%7pd_wDm z+hpX~R?lB3DIn7(uEMc(%|Ze3HaP|E{o58u$+cN{ah^CZU&+-ZsKthd|KiDc5r#VU zEvg2*cP=ppsA)L6wU~zSJilwHE@-aZ8YL$3`Hpp*i-XeP3vCRde@tH_DmU?qO7r+~ wG)!>f(i5B$@Ka!Q0DBjs4nyZ56>bh$S)Nvn1DhNssToJL6}VguP++hI0EoztN&o-= literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/page_setup_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/page_setup_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..c5f5f6cf0bc8310e5413cf4b7104bf28b682ce4b GIT binary patch literal 597 zcmZ?wbhEHb6k-r!c*el+`}gl3KYo1q^5yT}zZY)Y{`T$LuV25ufB(LA>-PWu|G$6# z{?DI3|Ni~^^y$-^H*e0KJ^T9g>nm5TtX;cy_o1WLA3xu`d*8)-kM7^Uzir#LlNYb- zKYr@WmFw4@ynOZQ)%NY%FF$y)Y1iI!*KVG^eC_;=+YcT*IDYB+vGW&i-n_YN%{m}R zOG|tD^y!NiFAknKwR7+O6PK>7+OTQz)M?iqJ%9J^-NBP*9zA+=_UetJXD_T?xBl?y za~rm7J8}8?j(rDi+_>@h@#DL9@1D4D`ONj(^A|6@eCNT56DMxJe8(`PfZ|UUMg|5~ z1|5*AL2<&szNx{rskx=K&6%aMt5c+{NtuC>m5Fz%xN>isBHLsxJ^@)T3fZ(taefzD^FhGz5G!w+nhJwO q0-GbJJ;M&IkVHiXC8nSW5e5sI6a_e(lmY~qTRjB&f~2@u7_0%+ujw%W literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/paste.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/paste.gif new file mode 100755 index 0000000000000000000000000000000000000000..da1af49338c9b5938e449d194bc6ff3e62909f29 GIT binary patch literal 382 zcmV-^0fGKUNk%w1VG;lm0M!5hWiv41^Yiri`Lu97=J4?F_V(H6=-un<>+|#5+}z>q z?fCoqqhc_fT`-?tFzfdA|NsB{{r%|m_4xe!$ko}|m15=e^!5AugiA1yRWO!REU&q| z$H&sl+1-mzFmO9Cv4mfKMljmi+^BJr4m{~BnbwY4eQ=wrnl~*u_ zO)&2G`04rinp-fn!Nthyzkk1e{rV3dKD>GJ zX5qqxZ{NOMx^(HcZ{Le#VkhYlUuxpU{XZQJ(l-3wI4KnhU&&mG|#px}~Nk_e=2>?;Zqle1Gx6p~WY zGxKbf-tXS8q>!0ns}yePYv5bpoSKp8QB{;0T;&&%T$P<{nWAKGr(jcIRgqhen_7~n zP?4LHS8P>btCX0MpOk6^WP^nDl@!2AO0sR096=HaAUmD&i&7O#^$c{A4a^J_%nbDm zjZMtW&2GK4GRy>*)Z*l#%z~24{5%DaiHS-1 zr6smXK$k+ikXryZHm_I@>>a)2{9OHt!~%UoJp+)JUEg{v+u2}(t{7puX= zA(aKG`a!A1`K3k4sX*n*AgcnUy@&(kzb(T9Bir(o|%`D zUtSDW?dxmhnO9trn3tUD>0+w{)UTJBnPTN=;bQ7!Y-nU*WNBt-=;G#N?qcd{Xkq5$ zX5{GNyn>bnwy$e0@Is<&})oSFDN18765H_NiE7OOHFYr%Fk5*d)O)yw_6Nw zng`XJg4->IIQ8lS9itD5R-|Z#2?5g%hzU=$Kn^_Fr{)3EdJ!;DGyebg_s{QNKYx7x z_Vvr>Pai+LfA{vy>sK#dJb(7|$>T>4AKbrp_s;EGH*Z|OcJ<2TOBXMkKX>-b=~E|9 z96xsS$l*f=5A5H!chBx!J9li~wsp(qO&d3?U$=J6>QyUOEMK;C$>K!|7tEhGch2lt zGiOYnHg(G6NfRgZ_x1L4cXf8Ox3#u3H#IiY*VWckS5;P&mz9WynFZVw3%mSp85a$^Z&2E z{y%*9uwm2FmoHx~TC`}}uH9{IZH>*X&1>RNQ<+3eY~8#X^H zSbS~q#s7yM{O>>Xb=BqHn{WQV{qh|H(LnJh3nK%AA%hM`2gpwhYzq#|DDcpcO4b)! z6S`8R&t-aom9N5rL&uVK`*N(iFg3|0Oz~WROTyW>=1u_yM=P$V)MVr1caq`ZVPKs%e;&hZ87Fb(_U+prJb3Wo!-vzSPd|P7^!DxBKr0xi3KaiyNB9OPxFnV& z0%;rjih{)C?9>v4q}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyv zDB0U7*i=|m)9WTXpJp<7&;SCUwvn^&w1Gr=Xb zIJqdZpd>RtPXT0NVp4u-iLDaQr4TRV7Ql_oE7k*hM=v=)SHB{$K;KZ$0OTc@LSJ9} zN^^7Js*6j4QW5UOYH)E#WkITbP-=00X;E@2P`NV5ssbzLqSVBa{GyQj{2W*)24v)y zt$x9SXmmFo0%ILx>*=m zni(3pxLG=xIy$-L5`VR~KilS^|`^GaZPQ{Z}y3~=fNC4}4ppv^9+MVV!( zDQ-pixe8zpTV>*QiwjQkpn6kqy2a2Hr(S)aWAs7MiWJQ-Az<18G2w|8$bl#O)I4BX zF9IfN#{d8R{`vju=a28-zJB@q>Enm@@7}(7{p#h5=g*!#dHm?%gZuaH-no72=8fyu zu3ou(>Eea+=gyuved^?i(;JWy=vu( z<;#{XS-fcBg8B32&Y3-H=8WmnrcRkWY2t+bzTTehuFj73w$_&BrpAW)y4srRs>+J; zveJ^`qQZjwyxg4Ztjvt`wA7U3q{M{yxY(HJsK|)$u+Wg;puhlsKVKhjFHaA5H&+*D zCr1Z+J6juTD@zM=GgA{|BVdNo)78<|($r8_Q&mw`QdE$ala-N{l9Uh^6BQ8_5)|O) z8I<^(*@fdmE-(q_J9Fmdat4TUi?PYbu!(VtMm%+PWUvMRxXcH^ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/redo.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/redo.gif new file mode 100755 index 0000000000000000000000000000000000000000..639beec12172e5ba945a60b220deb4a5673537d7 GIT binary patch literal 327 zcmZ?wbhEHb6k-r!xT?nxx;wPvT}Ro5`m#G^bx-Q77Fgw9$(L`HcVFwi^6U=dna1g7 z(}Q*dC2dM?dDS9VE+|?p>bu$3ak*pC@g%QVemawMHeTHyu_9KrTebb*1oOG(+io2x zIZ|1EygL49{E9Q%W7j4{?vE@ySQ@%3v|(3g%%Pag*ALn+wU?}y%sijD<;LOlm-psg z&Ruh1*X@_@7)S?-KUo+V81xu)Kw3e5Vqi;gm|ozaBh~Mb#C{-0t+l7Y}STV0PaB+fxkJPdyOiwmxh;a)_#_MT|%JGP|=&7hHN_6Y8 gGq88-X-J85a|#G>wlMMYGj%gD$xmAu@5o>c07i{$!2kdN literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/redo_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/redo_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..000b4ddfd5a9e69a979841e17651f3305c126ca0 GIT binary patch literal 1377 zcmZ?wbhEHb6k-r!xT?jlW5H*wrvLv95{ab_`Q4gZr{Fr>(;H^yLTTtbZFnceVaFLo;r2voH=t&o;-Q<=+QlU z_Wb|nkaMm6T-LDmj8A6hL-5=NF|anCcnmCL5R;D3}@Q85*0Io15z>7#SEE=o=X68ye{v znp+tgSs558K!Fm_wxX0Ys~{IQs9ivwtx`rwNr9EVetCJhUb(Seeo?xx^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr>m4GgVcpr(Amuerq?AuximL5uLPzy z1)nJ0o7b;izIguZ z>66Eg9zM8#@9v%3w{G6Je(ma&%a<-*IDhW!nbW6Eo;ZH&=#j&R4j$OQZ||PnyLRr_ zzHRH4&6_rESif%Vn$@dTu2{Zo>5|2Z7A}}SZ|F(<6 zXm4w6X>Mw4sIRN7sjjN5C@(85DK083$j{5o$mNlr>kh>weniH?el2oDPl z2@VPj@b~le@%HlcaCdWcadvWau(z|dv9_|bFgG(bF*X8bC_P;rZ7od=bv0ELWhF%g zc{y1bX(>qwaWPR5VIe^Qem-6vZZ1v^b~aWPW+p}k2F0H&KvIiA2UNg-N;?L&6o;t= z9y(I}9!abRa@1No8cZ%&+JyFsTU-18|Nkc+|Nr>&|J}F$X=!P9-~B&)_;6-sW_fveZf@?D zEnDv1y?gocWov8eRjXEYbaa@Snl?5zo_Y4asHn)(({s|KNg*L25fKrNj*dqj{f~`} z?d|PtZtrMnYMME7W=2MarKP2-tE;=ayT8AGbaeFoGdB|w5_aDC@8#vS=Gy<1l$3=R z{@d8tgolSun>NkN%q%uBY2)tw8}}Tz{qh|HA)xq^g^_{5gh2#LJAH6iyn0lVsh&0)ym4scRzku+1L~m6v)cTT3A`FUAsFzIYm`XZTt4U zX6ELaT3W}B9k;Nsu(7inR^|NsAI7=l3YKX-(0fPzb6Ng|N8v9BmdOwLX%QAkQn&&;z` zdcS+Wl0s&Rtx~wDuYqrYb81GWM^#a3aFt(3a#eP+Wr~u$oq|n;RYh(=ZfZ%QLPc&) zUa?h$tx{r2ep0FxkPQ;nS5g2gDap1~as){zfb4Y6FG^J~)icmdHZU_#Ff-IMG&V6e zH`h@xGB7mIH!#vSG}1LRw=y=eGB8kp0wthrMJZ`kK`w4kyMR1frHqo20xNy}^73-M za$~*xqI7*jOG`_T8Ae9BKoz>hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83mzLNn z0bL65LT&-v*t}vruy^#5^Kf+_U%#ji9s7p}UvBq$Z(UaSTehg24% z>IbD3=a&{GrvjBLgRCmBaxO|uEXgkl$Mv>2~2MaLaz}{y`Y4UTL84#CABECEH%ZgC_h&L>|v`+oNjS)!)YE= zZwhX=7~s^a4|I$^C|Z%C872fwJ0K=J(E>T}WS^P`OzTC!M9ujB-`_vKfBpRN{oB_s zpFe&4@c!M~H?Lp4eDVC*(TITuzuazHLF*xT(NxF(j|)*EnF~v-rPB}XU&{3 zecIG1lP67_(BIeF)7{nC(caeD(%jV8P+wPDQ(aYAQC?PBQe0G6ke`>Elbw~Bk)D>C zlAM&75FZyC6CD*95gryA5*!p5;P2<_Vr&G= zPT0Sg%1Vj~@^Z2=(o&KV;$osA!a{-q{CvDT++3U->};$o%uI|742nNl zfTS~n4yaTEmDUXGhZ>xlnp;}ink5w&yL%WFB-=%J_*kb-<>L`)7w6|?nLnSGU%XvL zNSJBmN?{?Hc112h=FOW0xfGi^drXa0REz`|4vFeEO`0-|b%rIofV#GF)0}w=SQc@} z$#ZDPHZ5DRifN67G>4X^RMUn{TbQ?5N$994i8bkp9{PD$kCW}6QX^GEXAO3gW-wW&f=FmA2%>CA7+&Q_$;y_afQ18GiTDb&)b`i MEu3x6%*bF30B3X=Bme*a literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save_as_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save_as_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..21a05c21b59cbf20822bff5337238b7cef56d82e GIT binary patch literal 404 zcmV;F0c-w8Nk%w1VG;lm0M$4E`}_OJ$;r33xBmYA`1ttw`T5)9=Buo%(9qD%&d$5L zyS~N8(b3VgxVioP{ng^<|NsBg)YR_o?zOqP=jZ3RxVYuz<*>7~%gf8QyS%Zqw(INb z&CSiWy1TBhvAMaqx4XT-$I0X4At?cyu7@_ z#m1|xuEfmGtE;QW(9_i5?DMC_IRs&ct0s<8YCPG|ZU;ttY z8y^ZN8bW4hY6NT*6bdUC7ea7ybOm+-7Azzq9zrP`g1Lh(3kSY6LM9lE#EuCw56KTI yLK*=d8z(23o1I1%0SXi)BBiIPMll{X76Kx%vmVSvG%p7W@V&kbGDr6IK>$11`NIeR literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/save_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..4704c5c9780975247d114037e14ccb23baafc0bb GIT binary patch literal 1441 zcmZ?wbhEHb6k-r!xN69-Y15`(zkdDy|Nrmbzu&)qU$SJ$vSrI|-@g6z>(|$>Uq5~N zbltjjmoHyFd-m+gl`FfuyLax~IcLtCg$oz<_4Uo0H*d?9Ej>Lw2M-?n@ZrPb$B$>t znzeiP?!$)M1`}Xa- zdiCn$$&(*Ec<}b^+v(G%FIcdkqoV`p7zUz&;(zW4-v9-d#F9iHZDU_ikeHmETB4AY znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23ag6Tg51=S zM1_jnoV;SI3R|Vbl>DSrDrlU}Ruupl@KLZ)l`zXl`X}WMyEW00l}w+lo@stb$zJpmqUywn`Z#B?VUc z`sL;2dgaD?`9*7iAWdWaj57fJ{tG z$}cUkRRX#c;)UD-xUqS~dSLJ9CFkerS0onb8|oQ=yaZF|>x*A$ZZ2GPaY;}r!o64x zE)Jh49S0 zl>G8yuxejlE6=>*lEl2^R8JRMC7^!2%*+%kGZ!NhM^j@r3nNQ2LqiugOD9)1OII^D zBS%L=BNsC#m|mCsIxnujbty?y4+PGo;y0vRouUffc`Ld-;7B5=3VE(+h zb7s$)Ib-^?sZ%CTnmD1queYbWtFxoMt+l1Osj;EHuC}JSsEZKEj1-MDKQ~FE;c4QDl#HGEHorIC@{d^&)3J>%hSW%&DF)($-d-zoJTr?P_PMbbe z!$pmoo1JsPLiV|8F2eF`T>Si8YuB>L3%iK%39@Tzv+vp^$S3Ba#HPw4BEob0xGI~H ni0l`H(LvaVYEeB7b}0;1e}{091-FJ5{$GFSruq)QwC literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/select_all.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/select_all.gif new file mode 100755 index 0000000000000000000000000000000000000000..fcdf93090b4a88e9708f1662c91258889e4965ec GIT binary patch literal 605 zcmZ?wbhEHb6k-r!coxU-@Bja8=Px-v5Bl)`|I-g29=v(;>htHXKY!kN_3Fd7Z@>Tk z-E!{Yr~m(Zm#uvC?%lWl|9}1e|L6bzHOEeFI(@Eo+RW!4KmPy!|I7dX{VP^Q%um)? zV|VZMYwdYfKmPpr@&EtZFJD$3I=bQHnVFlne){oa|FxSDyR*7it1t6-kUd}uhWj+xYM#^nZhEIU1u)D?<~9Y-?(i5p;w=NGteF={$ycfV2EST0a*o#69)EO4RKA)Ev;?s9UVH1Ju02e z!Q2cCV%+_4p2C7$5)3vyjD4+^iURDiTnxUGr?%P)$#E*P3u;8oVGwRHRN!Zm=M;!> zS-w)SIXqUJMU+iWjc?NyA-g79Egn`r7JeiB{Rb5^o86c>q*=v7tj@4mXq&b;Dm~-z zH@kJm-8{54nwNQkfn|8Y@g7A3lMD^V4z^aEF9HS!loli%Rceo6$Wb`bHAz^;LdTJ% Xg-OIwcZthR7meo0JUYUxObpflq8)zkdDw`}fYBJNx(V|NQy$yLa#Y{Q2|y_wOG+eth`w z;n}liix)5c`t|FB2M=!FzWwpz$LG(VZ``=?{rmTa4<9~r=FHKfM|bVowPC}CbLY-o zyLRp7&6`)RUj6dr%g>)bckbM|bm`Lb=g&WS^l0J2g*R^8IDPu`iWMuqef#$R|Nkpj zu3Wlw>BWl|pFVw>GiT2H`STYnSg?2R-U9~?oIQJX(V|6ZxN)4{^3rViZPPR-@vbR&Psj#ZZ zEyztRNmQuF&B-gas<2f`Ovz75wF0t1!um=IU?nBlwn~m52?day&iO^D3Z{Any2%D+ z1`1||dWOa(=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^ zQc_^0uU}qXu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY z0?5R~r2NtnTP2`NAzsKWfE$}vtOxdvUUGh}ennz|zM-B0$V)JVzP|XC=H|jx7ncO3 zBHWAB;NpiyW)Z+ZoqU2Pda%GTJ1y;^Qsfi`|MIrh5Ij~R+$jC3rFV4s>P;d@5 zRS3__OUW-U2CMeE=kNwPW5!LRRZeQ%gju%GBa^8G<9)vv@o(XGcP^Az7E7FZ^?{Dj2SqDVG{b~|X$QoFCt4r}p6pZefN8x5n5Y^5|NHyr z_phHnzJL4r<@2YHAKt%v`{wnlmoJ__d-~+@qlXXf-@AL~_N|*Yu3x))1N{AbeZ0LqJ>1<~U7Vd99qjFFZLF;< zEzHeKO^l6z8A?xAM_Wr%LtRZ(MOjHvL0(Q)Mp{ZzLR?H#L|8~rfS-?-hntI&gPo0) zg_((wfkE*n3y^eV&;gZgpwgOweOH5HQ*%peTYE=`HggYOXR{zb1A_*CzoVcu1Ctno zOb>HktDp)KBRdm==;W!b+)_-Oa*PaitaBKoTTC?BdDS_Y>~)r}RB2Yy;$W5KWwH_2 zv_*=$$x4xfOMsQ#PcpVfhTa;9vamd@=y2B%C(aI;nXrN=U zyx{nnxnRVah`%Hb;Gxo*gb8PTZV2 J!mLaT)&MK`Pk#Ua literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/undo.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs/undo.gif new file mode 100755 index 0000000000000000000000000000000000000000..3b050d5c6b2c76c593f3221b8d5da523068dd007 GIT binary patch literal 327 zcmZ?wbhEHb6k-r!xT?nxx;wPvT}Ro5`m#G^bx-Q77Fgw9$(L`HcVFwi^6U=dna1g7 z(}Q*dC2dM?dDS9VE+|?p>bu$3ak*pC@g%QVemawMHeTHyu_9KrTebb*1oOG(+io2x zIZ|1EygL49{E9Q%W7j4{?vE@ySQ@%3v|(3g%%Pag*ALn+wU?}y%sijD<;LOlm-psg z&Ruh1*X@_@7)S?-KUo+V81xu)Kw3e5Vqi;gm|ozaBh`OGIpO3Rl~$Rs1gQj@)H*wrvLv95{ab_`Q4gZr{Fr>(;H^yLTTtbZFnceVaFLo;r2voH=t&o;-Q<=+QlU z_Wb|nkaMm6T-LDmj8A6hL-5=NF|anCcnmCL5R;D3}@Q85*0Io15z>7#SEE=o=X68ye{v znp+tgSs558K!Fm_wxX0Ys~{IQs9ivwtx`rwNr9EVetCJhUb(Seeo?xx^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr>m4GgVcpnJ0o7b;izIguZ z>66Eg9zM8#@9v%3w{G6Je(ma&%a<-*IDhW!nbW6Eo;ZH&=#j&R4j$OQZ||PnyLRr_ zzHRH4&6_rESif%Vn$@dTu2{Zo>5|2Z7A}}SZ|F(<6 zXm4w6X>Mw4sIRN7sjjN5C@(85DK083$j{5o$mNlr>kh>weniH?el2oDPl z2@VPj@b~le@%HlcaCdWcadvWau(z|dv9_|bFgG(bF*X8bC_P;rZ7od=bv0ELWhF%g zc{y1bX(>qwaWPR5VIe^Qem-6vZZ1v^b~aWPW+p}k2F0H&KvIiA2UNg-N;?L&6o;t= z9y(I}CzKOTu2E@i_e+p+uxVZ7oM2QKW81@!c%~vvrSYJG=>!#B?mnlF5e#xCCm&A8 zs0oqg^;F?dmQo0JQd1Pv=yVcb5RmBC5)@aRs>RC5$vTTkM1*M;E7Ou$D?1$-tN|zn B`lkQ@ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/addons.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/addons.gif new file mode 100755 index 0000000000000000000000000000000000000000..04bdd5dae09f421ca93b91b850bc7adec594e65c GIT binary patch literal 614 zcmZ?wbhEHb6k-r!cvi@u*<_%z-d^yklHeI7!GlUBdt5CKdI>I6YF^i`HACNaXJGTj z37XYRZr+z;bQV|(uTjxiY@=1BuQS(5akY`=Tyvf64!+moy_9;wHATufDf zPbRimT2fNlRM5va$Reyg&CbO*JUEe^-9O^AOnkGsxQ3XPw~4H5t_~+>oI|s-xMsSp zy1|ql$3stfXNX&}B{DEFG0!$K6FB0yp{c>usQu1@!~jJ^0EG#%UI5RUdEiElFGBQ_JS2s5|J3Bj7RaGP;BwAWp zjF_PyARs6xD7Cu5K0ZD}LqkPHMN(2yH8nLvL`1s4#avumOG`^mPEJ`_Suij#gO8h) zqOHEd$YN}Fzr)G#ySSXBuAHj1R8&-}vbkz?fvdK@DJdzTsj{rHy3fzgn5MCxtG94{ ziH?_{R#sMynxu4pjpyp^;;k2pm7#lwm8`hGcZ89(!pK`&TW4~9oT;_;+1goTEOh>? ztgWtWaDpZT6%zs^1{Vq#4+94YAyk580v&Wu8V(H}5D^pw1PDEXAH_Rb$;-{p(M*DI z3d&w#+t3xaC_I8X12}JFSLOn_5(_CUf>{g&D+IO%2I^rLFkplfK{@XH)3tyXhy!90 zWQZb21_}uZ7W6vsivfcYA}jY+dYJB_>rDF6Tf literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/downloads.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/downloads.gif new file mode 100755 index 0000000000000000000000000000000000000000..7e9764536485eb3f70b1676979999534954fe989 GIT binary patch literal 384 zcmZ?wbhEHb6k-r!xN5<0Wntc|Eb~kAbFM8en3-mLeop4~C52y4PCGL{@8+`N&qpVH zJk)=CMd|v6fK$^`4)jK?D0AM|AANUK#hGk)z=eKw|9gb>W`UR8GUeL#r7Q1OuD`r@^Yw!%r&3m& z*&cNus{DBM&bud8pWnIt_R+Ep^;s9PJl1)*O!1g;X`#hDi`y^XG2j4-KUo+V7{nQL zK=L3v8CVM*sP?5~&RcPVLC0a6gR_vU;>;l52?q;VID-~_SLRe>YGqJ#Qt4-!^zf4b z!!q&J4=38{vIz#JZ19+QK4TJdfM6&?-(^0h+p(`ESodFK?rO8IabxxJQTF3v4O9+e Z5K|M=iBJ+@p2n;)omnJvZn`3aH2{}iQmOy| literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/page_info.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/page_info.gif new file mode 100755 index 0000000000000000000000000000000000000000..2d9ecfc8d745315ce75782d1f925bf7a4c0319c6 GIT binary patch literal 1076 zcmZ?wbhEHb6k-r!_};-_6mwB0_^?IFgX>RU{r~^})~(k8MK_*3d#3Ka)i(E?LF8E# z_jT*G@7i_r#PSWBS8d$VF=4Vx!e;l(^J};7-n3```P&aVryW!A-fbPdN62{U+V#7a zuG{$N(IdZEjxEl znmzCB+qW0)KHR$h@U?4C{EM#7p1uU4(>h+oH$E<&`q?!0d|bo*rEAtJyRJET@`8rXHizVsP8pY@YVIFAczEaTJyRAQ zSMykJpa1T_fdft{r-DkZ8b+P#nttHSnbW7voL#Ycoo?{{Oh!zsYf&U=Wl@6HEirw83ShVK|=^f*Bi?7ddd4q@7v7cyQ0}CPqdEYXH$Va+Ux9 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/private_data.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/private_data.gif new file mode 100755 index 0000000000000000000000000000000000000000..0aab61dc89b03905f35f6648ce2b01ad847d6d47 GIT binary patch literal 372 zcmV-)0gL`eNk%w1VG;lm0M$MK|Nq_HssO5Y0RQND|Knu2h5-NVj{o+x|M8;En*jg$ z#m18W|NYb4x;(FZ0Ktv`|Ms@-&QYv+0JVYu|K3lse*nTD9?7b4%v^~<$vhBqz?9pn~ zx@ywEcfXMo=gMR2xd+#;GPaaF|Jpm*wmjI?vj69F?9*?`w|DK-Z_%$j+o%B7tt8v& z?f?J)A^8LW002G!EC2ui01^Na000J&K%a0(EEM zmjnR>oSZToMIJ`OjgF%HB& S5=t5p%RVQn0@2n)K>$0|rK1Y~ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/reload.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/reload.gif new file mode 100755 index 0000000000000000000000000000000000000000..5cb9feb8dc8449256eed324ff194606a5a574e41 GIT binary patch literal 1027 zcmZ?wbhEHb6k-r!_}CeaZak{n^V)O5S>Fk#OiDJYtaz8Y>FJq=Z_hk>7f?C>#M4jR z7e7ro`L=)i)v80E+V?$=S$6m0%h>$1 zZ_|ZEXJ2_wId|^Ct0mhH@4EiVbk~o@120#cemei)?Yz0i+@@bFSaN>(nP+S7e#}~Q z@zjGi1zTS02f7b3-IoqGlI{4t&?dMa@yz9L1F@MKPt!+QH-}|!o$ldgfPeT{opL6kb%-##g@0%Wkf{^ToMk@0RlqHTL}Ny7JR{#fxK4KDD0xn7`qE;)bUMJ6^22^D%b%slr8P z8n!(+@!;+C=kFT#zMOpEan*)9b;mw#yZ1S5%X5#7Z@RAj*?s@x^nG`-7MyL{|2%B< z!@M;&N_W3ZTy*)>r{4^tfCeF;_>+Z^fuWZ{2V^!VPcU#iV36jN@z}87U^54+8^eJK zi7mEj1|KY6xE`3q$b5j~LVySFL~eF_l?Rtv1DGsBm=-1)E_%SHz+-bDv4GW0NW}fd z5>Cep{h~q*Ts@i>UUbW8$Ot@C*l~=HUm!}xLcpTgPhPT~!)t<(i<7c?G@F^n#ubbQ zIekNXBvu>_P-ZD*QB$|7e`u!41xO9jWJfFnyh;LcN1Y*xnRNB$xTjHb2>LY`6p$s{^3SOWm7{C^4n literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/search.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/search.gif new file mode 100755 index 0000000000000000000000000000000000000000..70af07f9a5f648ae751d61e6735112bf67257444 GIT binary patch literal 360 zcmZ?wbhEHb6k-r!xN5>M^UVMHO;7*-|Ic8YW}G$?2%4Ll(|};+|H?K0(`KGIc<0CD z=`&WYTzTf{{}(S_965X8$B!RZuU=iVVbk~T-#6{vUsF@__3PJzr_OHOcc@|W|Lyw@ z-nnz<-Me>7mo9B@Z$EM3#G+-(J9>H#9XfR8%$bENR?k29f7O-$xqYjA>Ng#G^sjB_ z|E1^uAH4gse$)TGH-DNZb{u>7clX`@vF+<_zkJ6)2q^w!VPs%1VbB371o?@9t<_;x zfrpNi;$){pCPOiE-adx|nK^TudfFE;DF})1vq?`nk`f&3By>nhiJ_P6W3R-9Y1|3? z1#9)hB6t*Z)%o~z^c8p_B<1v9l|Qva7HfFLGsP kWMo$2nx}{OU?Z_sK5r(@l!>g{uy_fXF%tBK z3Hlv{bOpWk!g^ic_<7L5d}`frBM9z0eO34^M~{2G(j}Cq^=ZtmYZC9E+I@pJbE;&x zU9^7ohtZ1XhOtFdsmHUQt}8)2qsyFLBO6|X;%`b6dfe!Q&6`L{ADq^{HVqQ-Evw9K z%jNr^(uAemHL#kObBBqs6|~@yNo(0n?=UeM^D*dapxIhbOOb(6t70$#O*}b7n7lhfjq3Qw9 z;X<5ltWE9f{Rd+AsEhax>MeQy{7zZtoEye_=eBirk4%RqHz?0lYGBO!hsHMv;w9}W z;R2M|ZP8iX1p|%?zmBs;y{w+~w8qJM^S%l`sL-PVwdW_kwdr49;a|3v{)H)!Xwmqx z+KdH!hg6Fe4igFkzG{Oq+f6wSjFjKNuda*7R?)bdl82%d+B0a{OlT~-9+XJsDpJ~v zJ20+uz&kK8ZN&3hr?x$4Y_WiPL*#TLr33b?Iz`SiD~%)HbYm)zSh8*a|L;Yi0e%25 z0YtyneEkW47L1`q5W&6WNgFPqGj&mEB{+|YaL|Z#hdp5AlFN5Zn z&`gcJL-a@k_8qQzmmSq&tPlMVh#+ZQM@W0cd8t>mFWBr`2NPR@9RA{3a(Kky{QUDr zOZ?fi-w(;QW42W9fNZ?g8j-a(&d+?Gt<6JH<_ZDHT0F_f{!D9y_l;5P5W# zGZ-eKy`7YP?31_-^4+)(3dp=GVT`&%q#*{YgC5n;Rat)IHVTf1b*FyU*jg${n2W9| zoC*-n1*UxbX7B|Xk6rSH_+$zvq&3-+92EBG%LqnOH6xnZmJ-35C39*+jxC0eE^>qR qXP0Jt6IsV4S5{?5R+HW@f2eKr+sbJw-(m!Y9Dlse_SwM@;LLwJ#5~Uc literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_100.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_100.gif new file mode 100755 index 0000000000000000000000000000000000000000..c6a0d3fd4b4af4dc34e2864a9a55b0875eb0bed4 GIT binary patch literal 583 zcmZ?wbhEHb6k-r!coxI(;p?xvFF#ww98mY%@%Ho26F1*(JoeHlao4*qKPRnutK+xn z{nuajUw^TT+*&j3)sd?&bK1^UOu7_O^5W&&@5PheWOqMSa#^e4x#q{OKbsFd+kffp zhTZ#j?AWtx!kX8pb^cbep=B<(P1+WAdJ<8=h}Fd|~&=HwUl2OzU_vVa9BiwC8W$|J-!!<&h(2N~&ug zzx^6tdu_+z<8iguE?&GFkbigi?&s@{Ji2x3)!7@LwjO_3R#U&>=%YO+&NO!RELyW+ z+leQgi*CI7^qYZRK=CIFBLhPWgAT|-P@FKZFKLKrYHn$5Yh~pWaTeiZZEt21wU<)V zmJ?;0!0+qM!@C~an569O;v_pMVdsgB$;TZStN}gG@_hgR literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_in.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_in.gif new file mode 100755 index 0000000000000000000000000000000000000000..20cbee5d6819e1956b2a35f101115438c86d4232 GIT binary patch literal 582 zcmZ?wbhEHb6k-r!c$UQQ;p;CIx7BxFet!A!`}qg&PTYL^@b#A?S6^C2Zhiat=lid} zYNow<^ybT?HE*2~cWHR8shD)>$FDyjB`-D}dzsUAws_K;?C!^__dVWu;%4#nmKpbhAn4rem;ET<>cA(0`l)3zVfDH@}9<7SNEJabL!^D z_4}@DJMm=Enhm#Zy*hj2)5{Ov=Wcy<{prVThc9e6`sn8KPiY-*sv25c(w?tB`nwXV3miZ`&7MkE^|Q@aoHTM;^WU^qYY;K=CIFBLhPcgAT}eP@FKZFK$R` zYHn$5Yh~pX4He~OZEqG9Q;wDK3=k8Zz#gxtWzN9N77@kXE)eHr%b?G|6KE~a&X>r- z#A(CH#A3zQ&Y!@^e4Mk@g@<@et;PQW9pm zZ3fP68rpuEjz%u3Z6S95=I{nyNany;As3HxcFFmON*Jw#zQPhiVD#? NBJP}+n5@8H4FEDI1m*w$ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_out.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs2/zoom_out.gif new file mode 100755 index 0000000000000000000000000000000000000000..309223a86055da9a0b00cead4e327b4c0937c226 GIT binary patch literal 573 zcmZ?wbhEHb6k-r!coxO*=*^eAFF&iet^V-!*TdIe&OdnPl(=isnztuzzSZztV;Q+M zr|oRTq)XY|k3&jcY&`a|c+#7iX|Il4efj?DuRG5_$JbuF_ww_E8MAjBKECI~nH@X! ztl759J@ryt?X{O5zOOs-=;Fn@2d}<7a^%di4O=!GeU#SmX4;$ujkB)aeE#YB(~s-- zU1{v>dHU|FOWN~}$$Ltx>)IDyZ=G}P)~#2kZhky_^K)rU{n;CzHXnbo{^;{-Pd?7w z`s(P-*9R`XSb6a2>V1!&zWwHrey*gtcKPn-0r__)&76DU)|<{nHx6HUGj+rBvYPr0 zyZ29?J#W#P4ciW1*mmN{)K#xe-FY*4*4&*ZUhlv3)-mB&RYS|cvlkEFcsX&|^AlHY zy!!N;fxbZTCkrD3LllD!$XZaGFtE>Rh-zwXX>DueU>8soVCQIW=I8YY7BRNs<)0uV zYa77Az`$Z5D%8$n5N^3}p{5&8JDWT!_-gqgjGzq3gZ^@x`$y&Cqs0Id2uQC z|9f%1-u8cQSl!>xJH3^ms!;UxQR5AZ*}{V?S9CG>dOKw0Grv6|5a4IOqKDzkGWJu; zScClSKAn=^JePGz2lMaKg1@dhE$?FZd_wNQUeyQNxc^^JTR)BA|J}$dYdHR2G5CDe z^y@{d{}&XtPGzXcmpZYQ_3w52CkM3uU)KMB%l-L5rAa*u|F7yz>}EK(hX28K-d|T; z|KD;=%;4C!g!Rcmo!gs*{@+jiebx5HHktnq(l<|Hcy&ne!)c4z%`AHsF#Nw0aB@A@ z!-KkK*Gnd4ve)KG9A3;ir7IyCX>n=pOf@trBlg11RcA?ApL0fYEK zMh%A<5+aXI_A;{avJWc!$ExgAI%mjU3fV0z?v>C-IAF)mUs&Y*H~3zcxq0 V@X?VO-1_X11)q*KEpcG51^`|g>W2UT literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/bug_reporting.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/bug_reporting.gif new file mode 100755 index 0000000000000000000000000000000000000000..72150990a15d7ccfd90a96ffaf5e1b59e328518f GIT binary patch literal 1009 zcmZ?wbhEHb6krfw_&$|EB}38C(?LB~sb@=t{ZdQ2wU#bP&RL86Vi!6Vuk}x!>u%Vq zW7MM?GS4?_p|90kW7iNDtr!hkUmNRHW^)fr(QDPRUTCTqC+8VrtJkdAy0NfjLxDq{ zty!>%{aj0jejC#;6Ps1$6+Q7bE6s~ngxjn((<{_!TAwrHV5{9?%j!)L&gqT~TjLHr zUZ1oiyzg+UQ?C8eGrhW`aQ^?yr)f*tE5L&G{*I!TJ^pjVJCapSiEicA2G%zqZ|Ui;T5NG4q|QqAeV@TlH+N z)Gk-IU1w3W#?O0=Ys-d0%V2YhdB#@DOafvZlIFN8#K`6^%m`?)Qp;1e-)?2lsa>$j zSFcj5Zc9wnvQn!RrdrV&>IKRg#VR|lFR@%|Vv=X*9pJ8-trVT@w(7)m%TSBRl|h!Z zW_GJBix*{2-QTB@si;-17Q5Ife3_p@q^!+qbBjsFA&Y!;`!(z~S=jVjsO2c-E)JZz zuhTTi$fDfTa-oS!qLXulL;5^l-8wDhGzE)UCXuTGZ5Ep=$0@`va0#C8tz4pzzaVSn z=~-o)5~l5Mc5`!M7zGrBfZ|UUMh1qd3_2h)KzV|J;~axFr%c4k?nWnKxzmaJrR+l3x6B?BFu5T#ZTx%9XXKQE>=PUk9A;Mn4n z(9SP9dD4l3Mwf(noK`kBIu0r|&UKyiEJecT0{=uUr$a7|1?;Sx${q6zBv-uf?brAI z7QnPbAwbqR^&iKT#Y;LCyEF48TomX$*6XFfQj{RDq*0jNblHK2kJ=t7c!>DP+)_y6 tWl)gSSjM>6wU3h_M8)KkP{Sex#u6dd1t)e1&E#Ght$$>4a-su+H2^C?1ET-{ literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/close.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/close.gif new file mode 100755 index 0000000000000000000000000000000000000000..56d5277aacab66268d847ec99e8775d285454083 GIT binary patch literal 379 zcmZ?wbhEHb6krfwxT?$We^p13x6`*Mi~rM0y1O?LbkV)VZ+=YN9T|CXfx^K1VX z`u~rzxTMMcGu}4K!ThQo&;Ja!TP8wXrYfB#%Edk||Ccr|3U&TJxv;>)KEu|e(91F3 z&F+7w@moKgdsY%J+*M0_T{G>?{#Qrly4qyenf_06De-g7akk2Kv^=B4@Yqp)ahR){ zn;QdJK=CIFBLjmjgAPbH$WIJxGY(8E@X+ClTsHY*N)oR=tAnBok1MzMLgoZU3#~(^ zw!Ic$W8q?T5U^mr^yc9)0|^EmHix?#G}CO@*%=rbw33JM9WWDwGH<`-b#;1J;7w3T7I6E6b~53iDw67K;9UMFD| bSr%0n)iW%@&LUb;ZcYiIZD!-qFtzQpF`ef<9Y?(5g@zkdDl`v3ob zdwcsIzkfgc^y$m5UoXCWyY~F~*WbS_yu5z@`J-=b9hIGJYik>mlk@Y>pI?9fIyyRT zJAVA@pFjWp|M!lGdHnfva7v0tWaOdCmjjcM-u?LD7a#xU-#?eo(D0O$KY#!J{P*wE zuU}#5>FISq{$@;B`E#qS~Y&!G3Osyu&$d zxh7>vj$7yXjc@TOHmR!dJiV=A^;A&3Nls7r!!vCYNr?~-0g*+{U9}%&L>LcDXj&l5 gl_&E=+_6KIlS`zeAdzW-gSUu8m&nV2Km`VC015`r1poj5 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/cut.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/cut.gif new file mode 100755 index 0000000000000000000000000000000000000000..ced535b7f5c948df61caa0c6693f0d106f6a8210 GIT binary patch literal 603 zcmZ?wbhEHb6krfwc*ejGo0q3;Yy0l&*AL&mz4`Lx|NsBbKYslE_wT3g-|xS9bMwWE zFF$^K`}OPRpFcl-|9<%C)759smTcV`cK-jLzkmHgLjL^w7nYtLk&zLUoc!)y${=%|h}$OS;V$-t~x# z)XHCF9}r+uv%}5Jje(Xx@h1x-149CX4#*NvoG`HOXh=x#XJ~C}6=~{9kkYl(mX+b> z_mS%CR@Y%+vjxanmt!QaE)fSxGnRFIrEhH#k<9VI5w@E$1m2crpLW! z^IRFVZV45hqkHGbN_5M!^PM|3+e5zFU6l9wc_yRasBQ~6_6IkZ!y-JryJA#@U-3Dc zn`pQNIyf~MaHXucexOrGR!HdF3#Aj@jE!HD8W;joPWOvPvRti*SkThW#qLq_@ZyoS TMcRx(t9(3D+PNGX85pbqeG>Zu literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/help.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/help.gif new file mode 100755 index 0000000000000000000000000000000000000000..05d04c6651c759541344e7a1f4f405dcfe0f4fd0 GIT binary patch literal 1063 zcmZ?wbhEHb6krfw_}o}QjQK0dCl zuFsx5v(0_y;o;$(bGEj&*3{J0I(pBmSFhC7)nkiyo;h>I*w|P*aDQ}kw1a~~=d@!^ zPEK)^r&YXnn}_ez)6?@yS!-h_9D45AH8rcYM+MYkHwa`d5C`3fNcLamX<0-1+n87c5v{5^>1C=(>IWI~DhJ-rhcE z&YbR=e&FK8+ZCOAZ8INDoH)fO>a=nA{+PP^D|Wt7^V)p={KdG2``4~LDeSuLkbE+} z@v*x1R`1-45mmPXif-83+uyixBdFx+l!eFF?f-QC{H+5A4ir!QY#w=_d)}3toV=)# zeH~NxuV263DdVzH=)P;$9_t40KX~wPV)LW(=Px{Y@_6xv>-X>9udAzDy?S+Zb#+eP z+o+oR>vlgeia0iF)|`zSH`*l}2@el9jXi(v+!YO+hxLLTY;k;s)-vmt&1qOMU)IA*!53vO_ zYS$l_;V9&Api3euWW|P!%Q{*$d^nC4C>=N;$l1B;gyR!6ZULS6RUQ`-6S!xBp6vZxkNk~SUN5kC@@$90B-b0m;e9( literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/new.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/new.gif new file mode 100755 index 0000000000000000000000000000000000000000..88b6ccbdfc1fe1ccb67a18a27859059e79b63af3 GIT binary patch literal 580 zcmZ?wbhEHb6krfwc*ek>ZEO4C+qXAgzI^)r{oU8Ev3Yr4e*F0V|NpmNzn*{m_~ZBQ z-+%w!fAi+&pFcNWymRDM`dHU4E&CM-5JUS=m-@ktW z2?=58=`p#vzHxEhF){!C|M!TD{Ql?9t8d@79Y6l_-@i}4enq6Dy!!q+Z^fx&@62jmG*oG`F2Y;bTeXKih3m2c{D(6yGf zP!i$ix6$qF))ZypbA6FnLSrPXpMchoDAcNIrG%`<+^o@m^ZDQ$FI{Z zCc(C6^IQ?JZYdRxqkHElNp)*;bDcXj+gQ6>Pm%Zf`4!T7-TDgL4{mHS)9*Gk5PbP? zkEmg{2D{d$S4V9%y47SZ9M_j==j`_5v0-3#>0nhcxMHz!1xrJ>gz+>15e^1x0FdOs ACjbBd literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/open.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/open.gif new file mode 100755 index 0000000000000000000000000000000000000000..2245a18174f6c3b45c72e252ec0436a63467e4da GIT binary patch literal 624 zcmV-$0+0PiNk%w1VGsZi0OkMyjcO*1Y9)+mBSAqy_TQNQ@~-^pr1|5W`{tp2TNXq_ zMD*K~)wgxw&5!%&qkCa4UP&K}X(aH|itx{d@YIX)){fV{eCo@9^4O4yXCTtHbBbmk zie(=8<(}xsd^|in(6n!eWF7O=ciF*#a8eZB$%^#al8a~}?a+t(>!yonA^z~I>&=4q z;hX;Jr|rvvgkTxl#)kIZm+sDm?)CMtgedpmn(e??UQ#)3R3YTIQ0dBl{pzJb$^QN7 zrp~Ws!B@la&xKS=I`rI?|Mjum>+5=3AJ?iyzL7Guh%35`F8Sr4P)0NM z-Ish?6~3BM{qCtoMMVDZtMAZ<>du4i$6@Txgil0ELE!4}yXLP9kX{Zz~0pSOJQ90di(jNJ%$7E-rAEiV9&4Gne%0IEpGQ3)w9|BO_2@ zb1I4%G8h;_Xj~Q+ZgDgjiW?>r6eeCjcy(%bSsRKR6;Pn4&_#oW3m5YA;Gigk1QskL z)Bpj(gNG_?LMVbEh02aIK^QQ2@nQlDFp40wp)+H`5E3L3$b|6W(i$y9#)!GZ^O6-N KIeH2T1OPjXx-(V) literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/page_setup_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/page_setup_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..17583040b49b2718411ab36b114257c65bfa8718 GIT binary patch literal 604 zcmZ?wbhEHb6krfwc*ejGo0s?h|NrM7KWf|BzWe(1&6h8qzJLGl?c4n~Z@&Hdb@RoG zFF$_#{`>dmpFdZhJ$v}+)AwhUKYsuI^Y`zPty^Pqa~&NW9UL5-ot>{defsbJ|B%#F zzmO37fPjdMjIi`{6F0Yi|NcGw@+CSa=f|Hv-+uqLva)*g`Lmvtm0NiD*FS&0|M~Ol z@89Fw8eV<>{_fR{b>iZy*02Ba>zA9ZuC1-DcTCKYEne?`{!BA9%?u0s`R`v)tmn4l z$Jftudh~F2P;&B`xekXmd)&IQYwcXeIAh}*SGTX3=kWL6zyDuuUb%PA+|eL1D=Q!& zA=%se^RHh|AMNpti~HZuaCEDe9ngg-DS!U`n=T}Dc#EgGgTsrb`+S3gLp(*lfB$~y z@?{1FhPyX+dqhUwzrWMX%?-$<5m5Ze!pOjo$e;r<9~37H>^mD06N4FA+ghcYx)Mb+ z&2$yj`1xZ*I=hv8S(!Mv_#~_ul_I;n3|VH+$e71YApWoCFz;>|=|_a`++0a#V?rk;|(oN^Yhv0 z==Aydg+UJg|Nl!%OY8Rb{r~^_{r!YM4(0UpKtMpx&)D(#`A0@YX)F$HFAkY=YU%m; zIyyS;`1nIZLv=zNU?mQEI1YO@4XkK2JRBHsF%D)b4u3ojK|w+2_4Rx^4&UG8+S=TK zKMwf({8AeZOiWC7Hx9XVLdVC_bTkh2`}^6IVuFK(s;aDzkdmICp{1p#n3$SyXn@6%qLVei155AubDth=(pAOEEPFkdcrzF-tTS z2AP_f7BovG9Rs4Hq8%km84m=jtg8$1Yx2z)o literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/print.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/print.gif new file mode 100755 index 0000000000000000000000000000000000000000..2c4095d326845c25f571bb0a55ade996a6e17300 GIT binary patch literal 375 zcmZ?wbhEHb6krfwxN5+#YSpT{@BRb9&6_vN%gfK4Ib&>WynFZVw3%mSp85a$^Z&2E z{!g4Z@!`XV4V#|6eEIUsv;T#Kh5h~gi;g^-K7IPTckdQ0TC`%t3Ktibix)4>o;|y( zt83cs2W@R_jm@nKmana^uRneI^xU~~S8d)saq7&XMHgGv-7G07iECL^u=v`c2mf1E zUEF;0|Kf}P`wx9>*!;}R&5eN+p!k!8k%7U0K?kG>iRp#OEbSBq4!KL|Cch@wurM&IafVtkG&VKLiYf|; z@$*Zu_xANlvGI#3@$xdT&YU%qVVaT%^TI`o7mM&nHm_`w%g2r5Jc9OqOJ49&{oi`7t7lMxn{QB&3Mc4V*y05{c^ZU6uP literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/redo.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/redo.gif new file mode 100755 index 0000000000000000000000000000000000000000..54258e443de0a2dc75b18929bdc2966c390c3750 GIT binary patch literal 324 zcmZ?wbhEHb6krfwxT?nxx;wPvU59qOcHNV@vO8r~3#{_58P7Df?X*olo9@2W z-FLHZ%c~Z_a>1Y-LGrEgqSc~~%N>pDja9on&ThK_CySsaNc{MgRuDSNVsi|q_o&UYPy|J;e zGiT0>j*eb<;s2Ru|6N^O6A}`RJo=xJkr5FQ5fTy-9v(hz+O(pgqWx!Xrlh3U*w{>( zG|AJ`)6&w?-{0TN%*?{V!pX_W&CQL02%z|rg^_{5m_Y}m7UU-ewgm@f7I^4zsdJoH zRsL1uGP9fAP;iw+of&a zo%AL6Sv$Kr`6cw7L>VSco-#?)Nr9W2jce{awpj{Jf*Q)4yu6&NRw-);I%)H(vFYlv zZQriOukEDAA;Kps%Xj362#21Nkq|Er2M5o^i@dBt&Vs!B++qR(V%+?^28M1=T^t## E0Rl;bjsO4v literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/save_as_dis.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/save_as_dis.gif new file mode 100755 index 0000000000000000000000000000000000000000..1c442ecc1a666b9a34fd00223f0217a503eaf40c GIT binary patch literal 388 zcmZ?wbhEHb6krfwxXQqgo}M0?m-qMIzh_^+KKtOTl zCW3;3r>eL#SQhK7NGiGY9rCnu+yn;QcvQ2fcl$iQI5 zpaT*H`H6vTp~KvO7Y;0aCm0SHiYOWIH-`K=pfGFKIo6;TWs1}J%7j)5oO|w-()2Vy zs<~p1<3o{&Tc>+HjbQkvDCr*<%oNJQ#jUNZ5)~82n!u(Y#-`4bl9s`eWg^F>qb8qM zP{dqfE~TlfBrT~}zp=rRlYN`8iXk`Gp3ZKI2p$G81r3cU(|97}8QA1F_2w^>k1&!p Ymf|v4wMIHZ%#5A$@z!mU5snPj04Z5~%m4rY literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/select_all.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/select_all.gif new file mode 100755 index 0000000000000000000000000000000000000000..2f67147d5e9d6254766eeda1f7f06a495b9b053d GIT binary patch literal 599 zcmZ?wbhEHb6krfwcoxC%@BjbUyu1(p|2sYpdivqRoma13eg6FW@81vKzCC#J=IhU& zpZ@><^Z)<1|Nnpe|8M2v6P=Uu=-s>LA3xrE{n{@iBqAf@|Ns9{+1X$I|Mw0I^a>0N zO-tjgll<}jzm1fuUt%dxko^Ne?o$EntICVV!zBx znHVLX*w`oU-`jY4@^#2vdh$eIwhI3=Wm_kwly{|O*4BIz<(_}|5S*8H@68+j35qgR z>SylX*J`lxOi4+suC@sa^9>I64ho7WF7^ou;!6^G_31amKmf&`EQ|~c5ezyY%RzC% zz`ms+qN%y1wXI2nu}itVSp+C1CeRxZEY8C&$6(sU*wY*)%EzU`&Y(4Ma42Jxm4HC{F)4nA}HrOQPlq%0*^gxF+51vhMxmb9?r<`iV%_43}kUrj1Pn~7DJ zQ^LmN6q~iPf0Mq(W9|T_>o;B8Jem#pnS%VD2%ShsYIf}s@nt#4!Kf0~$m+=EF~wqW jz{EQKl7a^p9vyC%YwK%~U^&Fv;nm_7W2vYiz+epk0qn)> literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/undo.gif b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/common/imgs3/undo.gif new file mode 100755 index 0000000000000000000000000000000000000000..bd800b0386e0b89cc1842825252825bcb6aca8f2 GIT binary patch literal 324 zcmZ?wbhEHb6krfwxT?nxx;wPvU59qOcHNV@vO8r~3#{_58P7Df?X*olo9@2W z-FLHZ%c~Z_a>1Y-LGrEgqSc~~%N>pDja9o!tYq5q8h~Jtf;6Z6Ufubw6G{sz+ISMLQFE$Nkm*xy4?wAm`<;rs=C5t YJ$6As_8Clkd`vS$nHJ3mb!4yx0F;|oegFUf literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/index.html b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/index.html new file mode 100755 index 0000000000..19b29a69e3 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/samples/index.html @@ -0,0 +1,42 @@ + + + + dhtmlxMenu Samples + + + + + + + + + + +
+ +
DHTMLX Docs & Samples Explorer
+
+ + +
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxcommon.js b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxcommon.js new file mode 100755 index 0000000000..e8144c718a --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxcommon.js @@ -0,0 +1,928 @@ +dhtmlx=function(obj){ + for (var a in obj) dhtmlx[a]=obj[a]; + return dhtmlx; //simple singleton +}; +dhtmlx.extend_api=function(name,map,ext){ + var t = window[name]; + if (!t) return; //component not defined + window[name]=function(obj){ + if (obj && typeof obj == "object" && !obj.tagName){ + var that = t.apply(this,(map._init?map._init(obj):arguments)); + //global settings + for (var a in dhtmlx) + if (map[a]) this[map[a]](dhtmlx[a]); + //local settings + for (var a in obj){ + if (map[a]) this[map[a]](obj[a]); + else if (a.indexOf("on")==0){ + this.attachEvent(a,obj[a]); + } + } + } else + var that = t.apply(this,arguments); + if (map._patch) map._patch(this); + return that||this; + }; + window[name].prototype=t.prototype; + if (ext) + dhtmlXHeir(window[name].prototype,ext); +}; + +dhtmlxAjax={ + get:function(url,callback){ + var t=new dtmlXMLLoaderObject(true); + t.async=(arguments.length<3); + t.waitCall=callback; + t.loadXML(url) + return t; + }, + post:function(url,post,callback){ + var t=new dtmlXMLLoaderObject(true); + t.async=(arguments.length<4); + t.waitCall=callback; + t.loadXML(url,true,post) + return t; + }, + getSync:function(url){ + return this.get(url,null,true) + }, + postSync:function(url,post){ + return this.post(url,post,null,true); + } +} + +/** + * @desc: xmlLoader object + * @type: private + * @param: funcObject - xml parser function + * @param: object - jsControl object + * @param: async - sync/async mode (async by default) + * @param: rSeed - enable/disable random seed ( prevent IE caching) + * @topic: 0 + */ +function dtmlXMLLoaderObject(funcObject, dhtmlObject, async, rSeed){ + this.xmlDoc=""; + + if (typeof (async) != "undefined") + this.async=async; + else + this.async=true; + + this.onloadAction=funcObject||null; + this.mainObject=dhtmlObject||null; + this.waitCall=null; + this.rSeed=rSeed||false; + return this; +}; +/** + * @desc: xml loading handler + * @type: private + * @param: dtmlObject - xmlLoader object + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){ + var once = true; + this.check=function (){ + if ((dhtmlObject)&&(dhtmlObject.onloadAction != null)){ + if ((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){ + if (!once) + return; + + once=false; //IE 5 fix + if (typeof dhtmlObject.onloadAction == "function") + dhtmlObject.onloadAction(dhtmlObject.mainObject, null, null, null, dhtmlObject); + + if (dhtmlObject.waitCall){ + dhtmlObject.waitCall.call(this,dhtmlObject); + dhtmlObject.waitCall=null; + } + } + } + }; + return this.check; +}; + +/** + * @desc: return XML top node + * @param: tagName - top XML node tag name (not used in IE, required for Safari and Mozilla) + * @type: private + * @returns: top XML node + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName, oldObj){ + if (this.xmlDoc.responseXML){ + var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName); + if(temp.length==0 && tagName.indexOf(":")!=-1) + var temp = this.xmlDoc.responseXML.getElementsByTagName((tagName.split(":"))[1]); + var z = temp[0]; + } else + var z = this.xmlDoc.documentElement; + + if (z){ + this._retry=false; + return z; + } + + if ((_isIE)&&(!this._retry)){ + //fall back to MS.XMLDOM + var xmlString = this.xmlDoc.responseText; + var oldObj = this.xmlDoc; + this._retry=true; + this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + this.xmlDoc.async=false; + this.xmlDoc["loadXM"+"L"](xmlString); + + return this.getXMLTopNode(tagName, oldObj); + } + dhtmlxError.throwError("LoadXML", "Incorrect XML", [ + (oldObj||this.xmlDoc), + this.mainObject + ]); + + return document.createElement("DIV"); +}; + +/** + * @desc: load XML from string + * @type: private + * @param: xmlString - xml string + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString){ + { + try{ + var parser = new DOMParser(); + this.xmlDoc=parser.parseFromString(xmlString, "text/xml"); + } + catch (e){ + this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + this.xmlDoc.async=this.async; + this.xmlDoc["loadXM"+"L"](xmlString); + } + } + + this.onloadAction(this.mainObject, null, null, null, this); + + if (this.waitCall){ + this.waitCall(); + this.waitCall=null; + } +} +/** + * @desc: load XML + * @type: private + * @param: filePath - xml file path + * @param: postMode - send POST request + * @param: postVars - list of vars for post request + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.loadXML=function(filePath, postMode, postVars, rpc){ + if (this.rSeed) + filePath+=((filePath.indexOf("?") != -1) ? "&" : "?")+"a_dhx_rSeed="+(new Date()).valueOf(); + this.filePath=filePath; + + if ((!_isIE)&&(window.XMLHttpRequest)) + this.xmlDoc=new XMLHttpRequest(); + else { + this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP"); + } + + if (this.async) + this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this); + this.xmlDoc.open(postMode ? "POST" : "GET", filePath, this.async); + + if (rpc){ + this.xmlDoc.setRequestHeader("User-Agent", "dhtmlxRPC v0.1 ("+navigator.userAgent+")"); + this.xmlDoc.setRequestHeader("Content-type", "text/xml"); + } + + else if (postMode) + this.xmlDoc.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + + this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest"); + this.xmlDoc.send(null||postVars); + + if (!this.async) + (new this.waitLoadFunction(this))(); +}; +/** + * @desc: destructor, cleans used memory + * @type: private + * @topic: 0 + */ +dtmlXMLLoaderObject.prototype.destructor=function(){ + this._filterXPath = null; + this._getAllNamedChilds = null; + this._retry = null; + this.async = null; + this.rSeed = null; + this.filePath = null; + this.onloadAction = null; + this.mainObject = null; + this.xmlDoc = null; + this.doXPath = null; + this.doXPathOpera = null; + this.doXSLTransToObject = null; + this.doXSLTransToString = null; + this.loadXML = null; + this.loadXMLString = null; + // this.waitLoadFunction = null; + this.doSerialization = null; + this.xmlNodeToJSON = null; + this.getXMLTopNode = null; + this.setXSLParamValue = null; + return null; +} + +dtmlXMLLoaderObject.prototype.xmlNodeToJSON = function(node){ + var t={}; + for (var i=0; i-1) + _isChrome=true; + +if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){ + var _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5)); + + if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+ + _isFF=true; + var _FFrv = 1.9; + } else + _isKHTML=true; +} else if (navigator.userAgent.indexOf('Opera') != -1){ + _isOpera=true; + _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3)); +} + + +else if (navigator.appName.indexOf("Microsoft") != -1){ + _isIE=true; + if (navigator.appVersion.indexOf("MSIE 8.0")!= -1 && document.compatMode != "BackCompat") _isIE=8; + if (navigator.appVersion.indexOf("MSIE 9.0")!= -1 && document.compatMode != "BackCompat") _isIE=8; +} else { + _isFF=true; + var _FFrv = parseFloat(navigator.userAgent.split("rv:")[1]) +} + + +//multibrowser Xpath processor +dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){ + if (_isKHTML || (!_isIE && !window.XPathResult)) + return this.doXPathOpera(xpathExp, docObj); + + if (_isIE){ //IE + if (!docObj) + if (!this.xmlDoc.nodeName) + docObj=this.xmlDoc.responseXML + else + docObj=this.xmlDoc; + + if (!docObj) + dhtmlxError.throwError("LoadXML", "Incorrect XML", [ + (docObj||this.xmlDoc), + this.mainObject + ]); + + if (namespace != null) + docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); // + + if (result_type == 'single'){ + return docObj.selectSingleNode(xpathExp); + } + else { + return docObj.selectNodes(xpathExp)||new Array(0); + } + } else { //Mozilla + var nodeObj = docObj; + + if (!docObj){ + if (!this.xmlDoc.nodeName){ + docObj=this.xmlDoc.responseXML + } + else { + docObj=this.xmlDoc; + } + } + + if (!docObj) + dhtmlxError.throwError("LoadXML", "Incorrect XML", [ + (docObj||this.xmlDoc), + this.mainObject + ]); + + if (docObj.nodeName.indexOf("document") != -1){ + nodeObj=docObj; + } + else { + nodeObj=docObj; + docObj=docObj.ownerDocument; + } + var retType = XPathResult.ANY_TYPE; + + if (result_type == 'single') + retType=XPathResult.FIRST_ORDERED_NODE_TYPE + var rowsCol = new Array(); + var col = docObj.evaluate(xpathExp, nodeObj, function(pref){ + return namespace + }, retType, null); + + if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){ + return col.singleNodeValue; + } + var thisColMemb = col.iterateNext(); + + while (thisColMemb){ + rowsCol[rowsCol.length]=thisColMemb; + thisColMemb=col.iterateNext(); + } + return rowsCol; + } +} + +function _dhtmlxError(type, name, params){ + if (!this.catches) + this.catches=new Array(); + + return this; +} + +_dhtmlxError.prototype.catchError=function(type, func_name){ + this.catches[type]=func_name; +} +_dhtmlxError.prototype.throwError=function(type, name, params){ + if (this.catches[type]) + return this.catches[type](type, name, params); + + if (this.catches["ALL"]) + return this.catches["ALL"](type, name, params); + + alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]); + return null; +} + +window.dhtmlxError=new _dhtmlxError(); + + +//opera fake, while 9.0 not released +//multibrowser Xpath processor +dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){ + //this is fake for Opera + var z = xpathExp.replace(/[\/]+/gi, "/").split('/'); + var obj = null; + var i = 1; + + if (!z.length) + return []; + + if (z[0] == ".") + obj=[docObj]; else if (z[0] == ""){ + obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, "")); + i++; + } else + return []; + + for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]); + + if (z[i-1].indexOf("[") != -1) + obj=this._filterXPath(obj, z[i-1]); + return obj; +} + +dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){ + var c = new Array(); + var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, ""); + + for (var i = 0; i < a.length; i++) + if (a[i].getAttribute(b)) + c[c.length]=a[i]; + + return c; +} +dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){ + var c = new Array(); + + if (_isKHTML) + b=b.toUpperCase(); + + for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){ + if (_isKHTML){ + if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b) + c[c.length]=a[i].childNodes[j]; + } + + else if (a[i].childNodes[j].tagName == b) + c[c.length]=a[i].childNodes[j]; + } + + return c; +} + +function dhtmlXHeir(a, b){ + for (var c in b) + if (typeof (b[c]) == "function") + a[c]=b[c]; + return a; +} + +function dhtmlxEvent(el, event, handler){ + if (el.addEventListener) + el.addEventListener(event, handler, false); + + else if (el.attachEvent) + el.attachEvent("on"+event, handler); +} + +//============= XSL Extension =================================== + +dtmlXMLLoaderObject.prototype.xslDoc=null; +dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){ + if (!xslDoc) + xslDoc=this.xslDoc + + if (xslDoc.responseXML) + xslDoc=xslDoc.responseXML; + var item = + this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc, + "http:/\/www.w3.org/1999/XSL/Transform", "single"); + + if (item != null) + item.firstChild.nodeValue=paramValue +} +dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){ + if (!xslDoc) + xslDoc=this.xslDoc; + + if (xslDoc.responseXML) + xslDoc=xslDoc.responseXML + + if (!xmlDoc) + xmlDoc=this.xmlDoc; + + if (xmlDoc.responseXML) + xmlDoc=xmlDoc.responseXML + + //MOzilla + if (!_isIE){ + if (!this.XSLProcessor){ + this.XSLProcessor=new XSLTProcessor(); + this.XSLProcessor.importStylesheet(xslDoc); + } + var result = this.XSLProcessor.transformToDocument(xmlDoc); + } else { + var result = new ActiveXObject("Msxml2.DOMDocument.3.0"); + try{ + xmlDoc.transformNodeToObject(xslDoc, result); + }catch(e){ + result = xmlDoc.transformNode(xslDoc); + } + } + return result; +} + +dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){ + var res = this.doXSLTransToObject(xslDoc, xmlDoc); + if(typeof(res)=="string") + return res; + return this.doSerialization(res); +} + +dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){ + if (!xmlDoc) + xmlDoc=this.xmlDoc; + if (xmlDoc.responseXML) + xmlDoc=xmlDoc.responseXML + if (!_isIE){ + var xmlSerializer = new XMLSerializer(); + return xmlSerializer.serializeToString(xmlDoc); + } else + return xmlDoc.xml; +} + +/** +* @desc: +* @type: private +*/ +dhtmlxEventable=function(obj){ + obj.attachEvent=function(name, catcher, callObj){ + name='ev_'+name.toLowerCase(); + if (!this[name]) + this[name]=new this.eventCatcher(callObj||this); + + return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID) + } + obj.callEvent=function(name, arg0){ + name='ev_'+name.toLowerCase(); + if (this[name]) + return this[name].apply(this, arg0); + return true; + } + obj.checkEvent=function(name){ + return (!!this['ev_'+name.toLowerCase()]) + } + obj.eventCatcher=function(obj){ + var dhx_catch = []; + var z = function(){ + var res = true; + for (var i = 0; i < dhx_catch.length; i++){ + if (dhx_catch[i] != null){ + var zr = dhx_catch[i].apply(obj, arguments); + res=res&&zr; + } + } + return res; + } + z.addEvent=function(ev){ + if (typeof (ev) != "function") + ev=eval(ev); + if (ev) + return dhx_catch.push(ev)-1; + return false; + } + z.removeEvent=function(id){ + dhx_catch[id]=null; + } + return z; + } + obj.detachEvent=function(id){ + if (id != false){ + var list = id.split(':'); //get EventName and ID + this[list[0]].removeEvent(list[1]); //remove event + } + } + obj.detachAllEvents = function(){ + for (var name in this){ + if (name.indexOf("ev_")==0) + delete this[name]; + } + } +} diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxmenu.js b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxmenu.js new file mode 100755 index 0000000000..85a88233e2 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/dhtmlxMenu/sources/dhtmlxmenu.js @@ -0,0 +1,2190 @@ +//v.2.6 build 100722 + +/* +Copyright DHTMLX LTD. http://www.dhtmlx.com +You allowed to use this component or parts of it under GPL terms +To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com +*/ +/** +* @desc: a constructor, creates a new dhtmlxMenu object, baseId defines a base object for the top menu level +* @param: baseId - id of the html element to which a menu will be attached, in case of a contextual menu - if specified, will used as a contextual zone +* @type: public +*/ +function dhtmlXMenuObject(baseId, skin) { + var main_self = this; + + this.addBaseIdAsContextZone = null; + + this.isDhtmlxMenuObject = true; + + // skin settings + this.skin = (skin!=null?skin:"dhx_skyblue"); + this.imagePath = ""; + + // iframe + this._isIE6 = false; + if (_isIE) this._isIE6 = (window.XMLHttpRequest==null?true:false); + + if (baseId == null) { + this.base = document.body; + } else { + if (document.getElementById(baseId) != null) { + this.base = document.getElementById(baseId); + while (this.base.childNodes.length > 0) { this.base.removeChild(this.base.childNodes[0]); } + this.base.className += " dhtmlxMenu_"+this.skin+"_Middle dir_left"; + this.base._autoSkinUpdate = true; + // preserv default oncontextmenu for future restorin in case of context menu + if (this.base.oncontextmenu) this.base._oldContextMenuHandler = this.base.oncontextmenu; + // + this.addBaseIdAsContextZone = baseId; + this.base.onselectstart = function(e) { e = e || event; e.returnValue = false; return false; } + this.base.oncontextmenu = function(e) { e = e || event; e.returnValue = false; return false; } + } else { + this.base = document.body; + } + } + // this.topId = topId; + this.topId = "dhxWebMenuTopId"; + + // + if (!this.extendedModule) { + // add notify for menu + var t = function(){alert(this.i18n.dhxmenuextalert);}; + var extMethods = new Array("setItemEnabled", "setItemDisabled", "isItemEnabled", "_changeItemState", "getItemText", "setItemText", + "loadFromHTML", "hideItem", "showItem", "isItemHidden", "_changeItemVisible", "setUserData", "getUserData", + "setOpenMode", "setWebModeTimeout", "enableDynamicLoading", "_updateLoaderIcon", "getItemImage", "setItemImage", + "clearItemImage", "setAutoShowMode", "setAutoHideMode", "setContextMenuHideAllMode", "getContextMenuHideAllMode", + "setVisibleArea", "setTooltip", "getTooltip", "setHotKey", "getHotKey", "setItemSelected", "setTopText", "setRTL", + "setAlign", "setHref", "clearHref", "getCircuit", "_clearAllSelectedSubItemsInPolygon", "_checkArrowsState", + "_addUpArrow", "_addDownArrow", "_removeUpArrow", "_removeDownArrow", "_isArrowExists", "_doScrollUp", "_doScrollDown", + "_countPolygonItems", "setOverflowHeight", "_getRadioImgObj", "_setRadioState", "_radioOnClickHandler", + "getRadioChecked", "setRadioChecked", "addRadioButton", "_getCheckboxState", "_setCheckboxState", "_readLevel", + "_updateCheckboxImage", "_checkboxOnClickHandler", "setCheckboxState", "getCheckboxState", "addCheckbox", "serialize"); + for (var q=0; q
"; + arrow.style.display = "none"; + arrow.over = false; + arrow.onselectstart = function(e) { e = e||event; e.returnValue = false; return false; } + arrow.oncontextmenu = function(e) { e = e||event; e.returnValue = false; return false; } + // actions + arrow.onmouseover = function() { + if (main_self.menuMode == "web") { window.clearTimeout(main_self.menuTimeoutHandler); } + main_self._clearAllSelectedSubItemsInPolygon(this.pId); + if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Disabled") return; + this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Over"; + this.over = true; + main_self._canScrollUp = true; + main_self._doScrollUp(this.pId, true); + } + arrow.onmouseout = function() { + if (main_self.menuMode == "web") { + window.clearTimeout(main_self.menuTimeoutHandler); + main_self.menuTimeoutHandler = window.setTimeout(function(){main_self._clearAndHide();}, main_self.menuTimeoutMsec, "JavaScript"); + } + this.over = false; + main_self._canScrollUp = false; + if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Disabled") return; + this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp"; + window.clearTimeout(main_self._scrollUpTM); + } + arrow.onclick = function(e) { + e = e||event; + e.returnValue = false; + e.cancelBubble = true; + return false; + } + // + // var polygon = this.idPull["polygon_"+this.idPrefix+id]; + // polygon.insertBefore(arrow, polygon.childNodes[0]); + document.body.insertBefore(arrow, document.body.firstChild); + this.idPull[arrow.id] = arrow; +} +dhtmlXMenuObject.prototype._addDownArrow = function(id) { + var main_self = this; + var arrow = document.createElement("DIV"); + arrow.pId = this.idPrefix+id; + arrow.id = "arrowdown_"+this.idPrefix+id; + arrow.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowDown"; + arrow.innerHTML = "
"; + arrow.style.display = "none"; + arrow.over = false; + arrow.onselectstart = function(e) { e = e||event; e.returnValue = false; return false; } + arrow.oncontextmenu = function(e) { e = e||event; e.returnValue = false; return false; } + // actions + arrow.onmouseover = function() { + if (main_self.menuMode == "web") { window.clearTimeout(main_self.menuTimeoutHandler); } + main_self._clearAllSelectedSubItemsInPolygon(this.pId); + if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Disabled") return; + this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Over"; + this.over = true; + main_self._canScrollDown = true; + main_self._doScrollDown(this.pId, true); + } + arrow.onmouseout = function() { + if (main_self.menuMode == "web") { + window.clearTimeout(main_self.menuTimeoutHandler); + main_self.menuTimeoutHandler = window.setTimeout(function(){main_self._clearAndHide();}, main_self.menuTimeoutMsec, "JavaScript"); + } + this.over = false; + main_self._canScrollDown = false; + if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Disabled") return; + this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown"; + window.clearTimeout(main_self._scrollDownTM); + } + arrow.onclick = function(e) { + e = e||event; + e.returnValue = false; + e.cancelBubble = true; + return false; + } + document.body.insertBefore(arrow, document.body.firstChild); + this.idPull[arrow.id] = arrow; +} +dhtmlXMenuObject.prototype._removeUpArrow = function(id) { + var fullId = "arrowup_"+this.idPrefix+id; + this._removeArrow(fullId); +} +dhtmlXMenuObject.prototype._removeDownArrow = function(id) { + var fullId = "arrowdown_"+this.idPrefix+id; + this._removeArrow(fullId); +} +dhtmlXMenuObject.prototype._removeArrow = function(fullId) { + var arrow = this.idPull[fullId]; + arrow.onselectstart = null; + arrow.oncontextmenu = null; + arrow.onmouseover = null; + arrow.onmouseout = null; + arrow.onclick = null; + if (arrow.parentNode) arrow.parentNode.removeChild(arrow); + arrow = null; + this.idPull[fullId] = null; + try { delete this.idPull[fullId]; } catch(e) {} +} +dhtmlXMenuObject.prototype._isArrowExists = function(id) { + if (this.idPull["arrowup_"+id] != null && this.idPull["arrowdown_"+id] != null) return true; + return false; +} +/* scroll down */ +dhtmlXMenuObject.prototype._doScrollUp = function(id, checkArrows) { + var polygon = this.idPull["polygon_"+id]; + if (this._canScrollUp && polygon.scrollTop > 0) { + var theEnd = false; + var nextScrollTop = polygon.scrollTop - this._scrollUpTMStep; + if (nextScrollTop < 0) { + theEnd = true; + nextScrollTop = 0; + } + polygon.scrollTop = nextScrollTop; + if (!theEnd) { + var that = this; + this._scrollUpTM = window.setTimeout(function() { that._doScrollUp(id, false); }, this._scrollUpTMTime); + } + } else { + this._canScrollUp = false; + this._checkArrowsState(id); + } + if (checkArrows) { + this._checkArrowsState(id); + } +} +dhtmlXMenuObject.prototype._doScrollDown = function(id, checkArrows) { + var polygon = this.idPull["polygon_"+id]; + if (this._canScrollDown && polygon.scrollTop + polygon.offsetHeight <= polygon.scrollHeight) { + var theEnd = false; + var nextScrollTop = polygon.scrollTop + this._scrollDownTMStep; + if (nextScrollTop + polygon.offsetHeight > polygon.scollHeight) { + theEnd = true; + nextScrollTop = polygon.scollHeight - polygon.offsetHeight; + } + polygon.scrollTop = nextScrollTop; + if (!theEnd) { + var that = this; + this._scrollDownTM = window.setTimeout(function() { that._doScrollDown(id, false); }, this._scrollDownTMTime); + } + } else { + this._canScrollDown + this._checkArrowsState(id); + } + if (checkArrows) { + this._checkArrowsState(id); + } +} +// +dhtmlXMenuObject.prototype._countPolygonItems = function(id) { + var count = 0; + for (var a in this.itemPull) { + var par = this.itemPull[a]["parent"]; + var tp = this.itemPull[a]["type"]; + if (par == this.idPrefix+id && (tp == "item" || tp == "radio" || tp == "checkbox")) { count++; } + } + return count; +} +/* limit maximum items on single polygon, default - 0 = no limit */ +/** +* @desc: limits the maximum number of visible items in polygons +* @param: itemsNum - count of the maximum number of visible items +* @type: public +*/ +dhtmlXMenuObject.prototype.setOverflowHeight = function(itemsNum) { + + // no existing limitation, now new limitation + if (this.limit == 0 && itemsNum <= 0) return; + + // hide menu to prevent visible changes + this._clearAndHide(); + + // redefine existing limitation, arrows will added automatically with showPlygon + if (this.limit >= 0 && itemsNum > 0) { + this.limit = itemsNum; + return; + } + + // remove existing limitation + if (this.limit > 0 && itemsNum <= 0) { + for (var a in this.itemPull) { + if (this._isArrowExists(a)) { + var b = String(a).replace(this.idPrefix, ""); + this._removeUpArrow(b); + this._removeDownArrow(b); + // remove polygon's height + this.idPull["polygon_"+a].style.height = ""; + } + } + this.limit = 0; + return; + } +} +//#} +/****************************************************************************************************************************************************/ +/* RADIOBUTTONS */ +//#menu_radio:06062008{ +dhtmlXMenuObject.prototype._getRadioImgObj = function(id) { + try { var imgObj = this.idPull[this.idPrefix+id].childNodes[(this._rtl?2:0)].childNodes[0] } catch(e) { var imgObj = null; } + return imgObj; +} +dhtmlXMenuObject.prototype._setRadioState = function(id, state) { + // if (this.itemPull[this.idPrefix+id]["state"] != "enabled") return; + var imgObj = this._getRadioImgObj(id); + if (imgObj != null) { + // fix, added in 0.4 + var rObj = this.itemPull[this.idPrefix+id]; + rObj["checked"] = state; + rObj["imgen"] = "rdbt_"+(rObj["checked"]?"1":"0"); + rObj["imgdis"] = rObj["imgen"]; + imgObj.className = "sub_icon "+rObj["imgen"]; + } +} +dhtmlXMenuObject.prototype._radioOnClickHandler = function(id, type, casState) { + if (type.charAt(1)=="d" || this.itemPull[this.idPrefix+id]["group"]==null) return; + // deselect all from the same group + var group = this.itemPull[this.idPrefix+id]["group"]; + if (this.checkEvent("onRadioClick")) { + if (this.callEvent("onRadioClick", [group, this.getRadioChecked(group), id, this.contextMenuZoneId, casState])) { + this.setRadioChecked(group, id); + } + } else { + this.setRadioChecked(group, id); + } + // call onClick if exists + if (this.checkEvent("onClick")) this.callEvent("onClick", [id]); +} +/** +* @desc: returns a checked radio button in the group +* @param: group - radio button group +* @type: public +*/ +dhtmlXMenuObject.prototype.getRadioChecked = function(group) { + var id = null; + for (var q=0; q'; + } + if (this.itemPull[a]["type"] == "separator") { + itemType = ' type="separator"'; + } else { + if (this.itemPull[a]["state"] == "disabled") itemState = ' enabled="false"'; + } + if (this.itemPull[a]["type"] == "checkbox") { + itemType = ' type="checkbox"'+(this.itemPull[a]["checked"]?' checked="true"':""); + } + if (this.itemPull[a]["type"] == "radio") { + itemType = ' type="radio" group="'+this.itemPull[a]["group"]+'" '+(this.itemPull[a]["checked"]?' checked="true"':""); + } + xml += ""; + xml += hotKey; + if (this.itemPull[a]["complex"]) xml += this._readLevel(a); + xml += ""; + } + } + return xml; +} +/** +* @desc: serialize menu to xml +* @type: public +*/ +dhtmlXMenuObject.prototype.serialize = function() { + var xml = ""+this._readLevel(this.idPrefix+this.topId)+""; + return xml; +} +/****************************************************************************************************************************************************/ diff --git a/phpgwapi/js/dhtmlxtree/dhtmlxTree/sources/dhtmlxtree.js b/phpgwapi/js/dhtmlxtree/dhtmlxTree/sources/dhtmlxtree.js index aed3f5d95b..4c3c6f6ba3 100755 --- a/phpgwapi/js/dhtmlxtree/dhtmlxTree/sources/dhtmlxtree.js +++ b/phpgwapi/js/dhtmlxtree/dhtmlxTree/sources/dhtmlxtree.js @@ -127,7 +127,8 @@ function dhtmlXTreeObject(htmlObject, width, height, rootId){ var self=this; this.allTree.onselectstart=new Function("return false;"); if (_isMacOS) - this.allTree.oncontextmenu = function(e){ return self._doContClick(e||window.event); }; + this.allTree.oncontextmenu = function(e){ return self._doContClick(e||window.event); }; +else // chrom on Mac does NOT work otherwise this.allTree.onmousedown = function(e){ return self._doContClick(e||window.event); }; this.XMLLoader=new dtmlXMLLoaderObject(this._parseXMLTree,this,true,this.no_cashe); diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_media.txt b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_media.txt new file mode 100755 index 0000000000..79a681a993 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_media.txt @@ -0,0 +1,7 @@ +icons___file.gif +icons___menu.gif +common___any_ed.gif +dhtmlxmenu___ddvbbsvw_7fsjpsffw_b.png +dhtmlxmenu___dhxmenu_skin_dhx_skyblue.png +dhtmlxmenu___dhxmenu_skin_dhx_blue.png +dhtmlxmenu___dhxmenu_skin_dhx_black.png diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_structure.xml b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_structure.xml new file mode 100755 index 0000000000..0efeff54dd --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/_structure.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/common___any_ed.gif b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/common___any_ed.gif new file mode 100755 index 0000000000000000000000000000000000000000..ce8101728664c35094165df573763ff37910f41f GIT binary patch literal 143 zcmV;A0C4|DNk%w1VMzcG0Du4h0L%dY|NkNR1OyZS{{Soi0000<01yBG0%nAdsmtvT zqnxzbi?iOmuMl_;7+xfppeV4e9f`SVdB~m`o@GlLw$94wcCcXafeZSC%NdNPj3$*( x + + + dhtmlxmenu:api_constructor [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

Constructor of dhtmlxMenu

+
+
        var menu = new dhtmlXMenuObject(parent, skin)
+

+where +

+
    +
  • parent - id of HTML element which will be used as parent (or object itself)
    +
  • +
  • skin - name of skin, optional (string)
    +
  • +
+
      <div id='my_menu_here' style="width: 500px;"> </div>
+      <script>
+          // common init code
+          var menu = new dhtmlXMenuObject("my_menu_here");
+      </script>
+

+dhtmlxLayout, dhtmlxWindow, dhtmlxAccordion and dhtmlxTabbar can create a menu inside their cells by using the following syntax: +

+
      // attach to dhtmlxLayout
+      dhxLayout.attachMenu();
+      dhxLayout.cells(id).attachMenu();
+      // attach to dhtmlxWindow
+      dhxWins.window(id).attachMenu();
+      // attach to dhtmlxAccordion
+      dhxAcc.cells(id).attachMenu();
+      // attach to dhtmlxTabbar
+      dhxTabbar.cells(id).attachMenu();
+

+Starting from 2.5 version, menu can be initialized by object notation +

+
      var menu = new dhtmlXMenuObject({
+          some_option1: some_value_1,
+          some_option2: some_value_2,
+          ...
+          some_optionN: some_value_N,
+      })
+

+List of supported options +

+
	menu = new dhtmlXMenuObject({
+		parent:"a_menu",
+		image_path:"codebase/imgs/",
+		onClick:function(){
+			alert("Menu item was clicked");	
+		}
+	});
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_constructor_object.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_constructor_object.html new file mode 100755 index 0000000000..3b216314e8 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_constructor_object.html @@ -0,0 +1,218 @@ + + + + dhtmlxmenu:api_constructor_object [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + + + + +

+

+ +

+ +

List of initialization properties

+
+ +
+
+

Common initialization options

+
+
    +
  • parent - string or object, id of container, where tree will be initialized, mandatory
    +
  • +
  • image_path - string, path to image folder, which will be used for icons in tree
    +
  • +
  • skin - {string} changes menu skin(setSkin)
    +
  • +
+
    +
  • align - {string} set top level menu align(setAlign)
    +
  • +
  • auto_hide - {boolean} sets to false to prevent hiding a contextual menu by a click(setAutoHideMode)
    +
  • +
  • auto_show - {boolean} sets to false to prevent showing a contextual menu by a click(setAutoShowMode)
    +
  • +
  • caption - {string} set top level additional text (in case of usual menubar)(setTopText)
    +
  • +
  • context - {boolean} renders menu as contextual(renderAsContextMenu)
    +
  • +
  • dynamic - {string} enables dynamic loading of sublevels(enableDynamicLoading)
    +
  • +
  • icon_path - {string} defines an url where necessary user embedded icons are located(setIconsPath)
    +
  • +
  • open_mode - {string} sets open mode for the menu(setOpenMode)
    +
  • +
  • rtl - {boolean} set right-to-left mode(setRTL)
    +
  • +
  • xml - {string}, url of data xml file
    +
  • +
+ +
+
+

Menu's items

+
+ +

+menu items can be defined through items collection + +

+
menu = new dhtmlXMenuObject({
+		parent:"a_menu",
+		items:[
+                   {id:"t1", text:"Top 1", items:[
+                         {id:"ch1", text:"child 1"},
+                         {id:"ch2", text:"child 2"}
+                   ]}
+                ]
+	});
+

+Each item can have next attributes +

+
    +
  • id - {string} id of menu item
    +
  • +
  • text - {string} caption of menu item
    +
  • +
  • img - {sting} url of image related to menu item
    +
  • +
  • disabled - {boolean} disabled state
    +
  • +
  • img_disabled - {sting} url which will be used for item in disabled state
    +
  • +
+ +
+
+

Events

+
+ +

+any event can be assigned by using property equal to event name +

+
	menu = new dhtmlXMenuObject({
+		parent:"a_menu",
+		onClick:function(){
+			alert("Item was clicked");	
+		}
+	});
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcheckbox.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcheckbox.html new file mode 100755 index 0000000000..3bb64b61dc --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcheckbox.html @@ -0,0 +1,145 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_addcheckbox [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

addCheckbox(mode, nextToId, pos, itemId, itemText, state, disabled)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+adds a new checkbox, sibling|child mode + +

+
    +
  • mode - (string) sibling|child
    +
  • +
  • nextToId - the item after which the checkbox will be added in the “sibling” mode or parent item's id in the “child” mode
    +
  • +
  • pos - item's position in the child mode (null for sibling)
    +
  • +
  • itemId - id of a new checkbox
    +
  • +
  • itemText - text of a new checkbox
    +
  • +
  • state - checked|unchecked
    +
  • +
  • disabled - enabled|disabled
    +
  • +
+
    menu.addCheckbox(mode, nextToId, pos, itemId, itemText, state, disabled);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcontextzone.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcontextzone.html new file mode 100755 index 0000000000..8cd06e0e68 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addcontextzone.html @@ -0,0 +1,147 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_addcontextzone [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

addContextZone(zoneId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+adds a contextual zone to a contextual menu + +

+
    +
  • zoneId - id of the object on page to render as a contextual zone
    +
  • +
+ +

+ +any html object can be used as context zone for menu +

+
    <body>
+        <div id="myMenu"> </div>
+    </body>
+

+adding context zone to menu +

+
    var menu = new dhtmlXMenuObject();
+    menu.renderAsContextMenu();
+    // adding context zone
+    menu.addContextZone("myMenu");
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewchild.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewchild.html new file mode 100755 index 0000000000..0141a6aef8 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewchild.html @@ -0,0 +1,145 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_addnewchild [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

addNewChild(parentId, pos, itemId, itemText, disabled, imgEnabled, imgDisabled)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+adds a new child item + +

+
    +
  • parentId - the item which will contain a new item in the sublevel
    +
  • +
  • position - the position of a new item
    +
  • +
  • itemId - id of a new item
    +
  • +
  • itemText - text of a new item
    +
  • +
  • disabled - true|false, whether the item is disabled or not
    +
  • +
  • img - image for the enabled item
    +
  • +
  • imgDis - image for the disabled item
    +
  • +
+
    menu.addNewChild(parentId, pos, itemId, itemText, disabled, imgEnabled, imgDisabled);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewseparator.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewseparator.html new file mode 100755 index 0000000000..117d17979a --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewseparator.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_addnewseparator [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

addNewSeparator(nextToId, itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+add a new separator + +

+
    +
  • nextToId - id of the element after which a new separator will be inserted
    +
  • +
  • itemId - id of a new separator
    +
  • +
+
    menu.addNewSeparator(nextToId, itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewsibling.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewsibling.html new file mode 100755 index 0000000000..47b866be8e --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addnewsibling.html @@ -0,0 +1,143 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_addnewsibling [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

addNewSibling(nextToId, itemId, itemText, disabled, imgEnabled, imgDisabled)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+adds a new sibling item + +

+
    +
  • nextToId - id of the element after which a new one will be inserted
    +
  • +
  • itemId - id of a new item
    +
  • +
  • itemText - text of a new item
    +
  • +
  • disabled - true|false, whether the item is disabled or not
    +
  • +
  • img - image for the enabled item
    +
  • +
  • imgDis - image for the disabled item
    +
  • +
+
    menu.addNewSibling(nextToId, itemId, itemText, disabled, imgEnabled, imgDisabled);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addradiobutton.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addradiobutton.html new file mode 100755 index 0000000000..5bd499ed65 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_addradiobutton.html @@ -0,0 +1,147 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_addradiobutton [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

addRadioButton(mode, nextToId, pos, itemId, itemText, group, state, disabled)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+adds a new radio button, sibling|child mode + +

+
    +
  • mode - (string) sibling|child
    +
  • +
  • nextToId - the item after which the radio button will be added in the “sibling” mode or parent item's id in the “child” mode
    +
  • +
  • pos - the item's position in the child mode (null for sibling)
    +
  • +
  • itemId - id of a new radio button
    +
  • +
  • itemText - text of a new radio button
    +
  • +
  • group - radiogroup's id
    +
  • +
  • state - checked|unchecked
    +
  • +
  • disabled - enabled|disabled
    +
  • +
+
    menu.addRadioButton(mode, nextToId, pos, itemId, itemText, group, state, disabled);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_attachevent.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_attachevent.html new file mode 100755 index 0000000000..68e331e4fc --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_attachevent.html @@ -0,0 +1,153 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_attachevent [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

attachEvent(original, catcher, CallObj)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+attaches an event handler + +

+
    +
  • original - event's original name;
    +
  • +
  • catcher - event handler;
    +
  • +
  • CallObj - object that will call the event.
    +
  • +
+ +

+ +Several handlers can be attached to one and the same event, and all of them will be executed. +

+ +

+Note: the names of the events are case-insensitive. +

+
    menu.attachEvent("onClick", function(id){
+        // code here
+    });
+    // or
+    function doOnClick(){
+        // code here
+    }
+    menu.attachEvent("onClick", doOnClick);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_checkevent.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_checkevent.html new file mode 100755 index 0000000000..a1d531ae5b --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_checkevent.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_checkevent [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

checkEvent(name)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+returns true if the event exists + +

+
    +
  • name - event's name
    +
  • +
+
    var isEventExists = menu.checkEvent("onClick"); // returns true/false
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearall.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearall.html new file mode 100755 index 0000000000..87d18cf8b6 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearall.html @@ -0,0 +1,128 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_clearall [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

clearAll()

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+clear all loaded items +

+
    menu.clearAll();
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearhref.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearhref.html new file mode 100755 index 0000000000..eaeb5b064a --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearhref.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_clearhref [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

clearHref(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+clears item href and back item to default onClick behavior + +

+
    +
  • itemId
    +
  • +
+
    menu.clearHref(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearitemimage.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearitemimage.html new file mode 100755 index 0000000000..a1b26b78d8 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_clearitemimage.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_clearitemimage [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

clearItemImage(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+removes both enabled and disabled item images + +

+
    +
  • itemId - the item id
    +
  • +
+
    menu.clearItemImage(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_detachevent.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_detachevent.html new file mode 100755 index 0000000000..d9aad34009 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_detachevent.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_detachevent [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

detachEvent(id)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+removes an event handler + +

+
    +
  • id - event's id
    +
  • +
+
    var id = menu.attachEvent("onClick", function(){});
+    // detaching event
+    menu.detachEvent(id);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_enabledynamicloading.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_enabledynamicloading.html new file mode 100755 index 0000000000..2eb9e0a50c --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_enabledynamicloading.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_enabledynamicloading [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

enableDynamicLoading(url, icon)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+enables dynamic loading of sublevels + +

+
    +
  • url - server-side script, transmitted params are action=loadMenu and parentId
    +
  • +
  • icon - true|false, replaces elemet's arrow with loading image while loading
    +
  • +
+
    menu.enableDynamicLoading("server.php", true);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcheckboxstate.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcheckboxstate.html new file mode 100755 index 0000000000..5d276f4364 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcheckboxstate.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getcheckboxstate [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getCheckboxState(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns true if checkbox checked + +

+
    +
  • id - item id
    +
  • +
+
    var isChecked = menu.getCheckboxState(itemId); // returns true/false
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcontextmenuhideallmode.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcontextmenuhideallmode.html new file mode 100755 index 0000000000..f55e482f26 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getcontextmenuhideallmode.html @@ -0,0 +1,128 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getcontextmenuhideallmode [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getContextMenuHideAllMode()

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+retutn true if “hide all” contextual menu mode enabled +

+
    var isHideAllModeEnabled = menu.getContextMenuHideAllMode(); // returns true/false
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gethotkey.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gethotkey.html new file mode 100755 index 0000000000..3293191f1d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gethotkey.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_gethotkey [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getHotKey(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns item's hot-key (just text label) + +

+
    +
  • itemId - menu item's id
    +
  • +
+
    var hkText = menu.getHotKey(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemimage.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemimage.html new file mode 100755 index 0000000000..e7f1e5b702 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemimage.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getitemimage [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getItemImage(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns item's image - array(img, imgDis) + +

+
    +
  • itemId - the item
    +
  • +
+
    var imgs = menu.getItemImage(itemId); // returns [img, imgDis]
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemposition.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemposition.html new file mode 100755 index 0000000000..7c31f7ffd0 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemposition.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getitemposition [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getItemPosition(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+returns item's position in the current polygon + +

+
    +
  • itemId - the item's id
    +
  • +
+
    var pos = menu.getItemPosition(itemId); // returns number
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtext.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtext.html new file mode 100755 index 0000000000..848b8a53a2 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtext.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getitemtext [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getItemText(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns item's text + +

+
    +
  • itemId - the item's id
    +
  • +
+
    var text = menu.getItemText(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtype.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtype.html new file mode 100755 index 0000000000..a1ab7015f2 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getitemtype.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getitemtype [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getItemType(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+return item type by id (string) + +

+
    +
  • itemId - the item's id
    +
  • +
+
    var type = menu.getItemType(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getparentid.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getparentid.html new file mode 100755 index 0000000000..3a65d6ab2c --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getparentid.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getparentid [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getParentId(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+returns parent's id + +

+
    +
  • itemId - the item's id
    +
  • +
+
    var parentId = menu.getParentId(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getradiochecked.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getradiochecked.html new file mode 100755 index 0000000000..86a35f5c38 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getradiochecked.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getradiochecked [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getRadioChecked(group)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns a checked radio button id in the group + +

+
    +
  • group - radio button group name
    +
  • +
+
    var checkedId = menu.getRadioChecked(group);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gettooltip.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gettooltip.html new file mode 100755 index 0000000000..5d1d314875 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_gettooltip.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_gettooltip [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getTooltip(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns tooltip of a menu item + +

+
    +
  • itemId - menu item's id
    +
  • +
+
    var tip = menu.getTooltip(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getuserdata.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getuserdata.html new file mode 100755 index 0000000000..51063e97f7 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_getuserdata.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_getuserdata [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

getUserData(itemId, name)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns item's userdata + +

+
    +
  • itemId - the item's id
    +
  • +
  • name - the name of userdata (string)
    +
  • +
+
    var userData = menu.getUserData(itemId, name);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hide.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hide.html new file mode 100755 index 0000000000..4247f3be87 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hide.html @@ -0,0 +1,128 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_hide [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

hide()

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+hides any open menu polygons +

+
    menu.hide();
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hidecontextmenu.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hidecontextmenu.html new file mode 100755 index 0000000000..5a1164231e --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hidecontextmenu.html @@ -0,0 +1,128 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_hidecontextmenu [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

hideContextMenu()

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+usercall to hide a contextual menu +

+
    menu.hideContextMenu();
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hideitem.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hideitem.html new file mode 100755 index 0000000000..c261d6ca7b --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_hideitem.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_hideitem [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

hideItem(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+hides an item + +

+
    +
  • id - the item's id to hide
    +
  • +
+
    menu.hideItem(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_iscontextzone.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_iscontextzone.html new file mode 100755 index 0000000000..c580e18370 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_iscontextzone.html @@ -0,0 +1,151 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_iscontextzone [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

isContextZone(zoneId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+returns true if an object is used as a contextual zone for the menu + +

+
    +
  • zoneId - id of the object to check
    +
  • +
+ +

+ +for example body contain div which will used as context zone +

+
    <body>
+        <div id="myMenu"> </menu>
+    </body>
+

+now check if it context zone, add it as context zone and check again +

+
    var menu = new dhtmlXMenuObject();
+    menu.renderAsContextMenu();
+    // check if <div id="myMenu"> is context zone
+    var isZone = menu.isContextZone("myMenu"); // return false, not assigned yet
+    // add context zone
+    menu.addCOntextZone("myMenu");
+    // check again
+    var isZone2 = menu.isContextZone("myMenu"); // return true
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemenabled.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemenabled.html new file mode 100755 index 0000000000..48dc0ff2a2 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemenabled.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_isitemenabled [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

isItemEnabled(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns true if the item is enabled + +

+
    +
  • itemId - the item's id to check
    +
  • +
+
    var isEnabled = menu.isItemEnabled(itemId); // returns true/false
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemhidden.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemhidden.html new file mode 100755 index 0000000000..979e615354 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_isitemhidden.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_isitemhidden [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

isItemHidden(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+returns true if the item is hidden + +

+
    +
  • itemId - the item's id to check
    +
  • +
+
    var isHidden = menu.isItemHidden(itemId); // returns true/false
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadfromhtml.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadfromhtml.html new file mode 100755 index 0000000000..a136b559de --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadfromhtml.html @@ -0,0 +1,161 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_loadfromhtml [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

loadFromHTML(objId, clearAfterAdd, onLoadFunction)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+loads menu data from an html and calls onLoadFunction when loading is done + +

+
    +
  • object - html data container
    +
  • +
  • clearAfterAdd - true|false, removes the container object after the data is loaded
    +
  • +
  • onLoadFunction - is called after the data is loaded (but before clearing html content if clear is set to true)
    +
  • +
+ +

+ +for example, div on the page +

+
    <body> 
+        <div id="menuData" style="display: none;">  
+            <div id="m1" text="File"> // the first top menu item
+               <div id="m11" text="New" <hotkey>Ctrl+N</hotkey></div>// the first child item
+               <div id="ms1" type="separator"></div> // a separator	
+               <div id="m12" text="Open"><hotkey>Ctrl+O</hotkey></div> // the second child item  
+            </div>    
+        </div>
+    </body>
+

+initing menu +

+
    <script>
+        menu.loadFromHTML("menuData", true, function(){});
+        // od
+        function doOnLoad(){
+            // code here
+        }
+        menu.loadFromHTML("menuData", true, doOnLoad);
+    </script>
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxml.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxml.html new file mode 100755 index 0000000000..f1fabc4a8b --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxml.html @@ -0,0 +1,144 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_loadxml [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

loadXML(xmlFile, onLoadFunction)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+loads menu data from an xml file and calls onLoadFunction when loading is done + +

+
    +
  • xmlFile - an xml file with webmenu data
    +
  • +
  • onLoadFunction - a function that is called after loading is done
    +
  • +
+
    <script>
+        menu.loadXML("path/to/file/file.xml", function(){
+            // will called if specified after menu will completely loaded
+        });
+        // or
+        onLoadFunction = function(){
+            // will called if specified after menu will completely loaded
+        }
+        menu.loadXML("path/to/file/file.xml", onLoadFunction);
+    </script>
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxmlstring.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxmlstring.html new file mode 100755 index 0000000000..dd4fe34977 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_loadxmlstring.html @@ -0,0 +1,140 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_loadxmlstring [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

loadXMLString(xmlString, onLoadFunction)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+loads menu data from an xml string and calls onLoadFunction when loading is done + +

+
    +
  • xmlFile - an xml string with webmenu data
    +
  • +
  • onLoadFunction - function that is called after loading is done
    +
  • +
+
    <script>
+        onLoadFunction = function(){
+            // will be called if specified
+        }
+        menu.loadXMLString("<menu><item....>", onLoadFunction);
+    </script>
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removecontextzone.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removecontextzone.html new file mode 100755 index 0000000000..3549426a9d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removecontextzone.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_removecontextzone [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

removeContextZone(zoneId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+removes an object from contextual zones list + +

+
    +
  • zoneId - id of a contextual zone
    +
  • +
+
    menu.removeContextZone(zoneId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removeitem.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removeitem.html new file mode 100755 index 0000000000..d0cf35e788 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_removeitem.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_removeitem [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

removeItem(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+removes an item from the menu with all nested sublevels + +

+
    +
  • id - id of the item for removing
    +
  • +
+
    menu.removeItem(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_renderascontextmenu.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_renderascontextmenu.html new file mode 100755 index 0000000000..2b5b6d4e65 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_renderascontextmenu.html @@ -0,0 +1,128 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_renderascontextmenu [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

renderAsContextMenu()

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+renders menu as contextual +

+
    menu.renderAsContextMenu();
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setalign.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setalign.html new file mode 100755 index 0000000000..c26568e2a0 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setalign.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setalign [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setAlign(align)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+set top level menu align + +

+
    +
  • align - left|right
    +
  • +
+
    menu.setAlign("right");
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautohidemode.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautohidemode.html new file mode 100755 index 0000000000..e903a627e9 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautohidemode.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setautohidemode [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setAutoHideMode(mode)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets to false to prevent hiding a contextual menu by a click + +

+
    +
  • mode - true/false
    +
  • +
+
    menu.setAutoHideMode(mode);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautoshowmode.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautoshowmode.html new file mode 100755 index 0000000000..5cba1699e0 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setautoshowmode.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setautoshowmode [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setAutoShowMode(mode)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets to false to prevent showing a contextual menu by a click + +

+
    +
  • mode - true/false
    +
  • +
+
    menu.setAutoShowMode(mode);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcheckboxstate.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcheckboxstate.html new file mode 100755 index 0000000000..bef8af1ca3 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcheckboxstate.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setcheckboxstate [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setCheckboxState(itemId, state)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets checkbox's state (checked/unchecked) + +

+
    +
  • itemId - the item's id
    +
  • +
  • state - a new state (true|false)
    +
  • +
+
    menu.setCheckboxState(itemId, state);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcontextmenuhideallmode.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcontextmenuhideallmode.html new file mode 100755 index 0000000000..3988839946 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setcontextmenuhideallmode.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setcontextmenuhideallmode [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setContextMenuHideAllMode(mode)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets to true will hide all opened contextual menu polygons on mouseout + +

+
    +
  • mode - true/false
    +
  • +
+
    menu.setContextMenuHideAllMode(mode);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethotkey.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethotkey.html new file mode 100755 index 0000000000..5208dfa649 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethotkey.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_sethotkey [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setHotKey(itemId, hkey)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets menu hot-key (just text label) + +

+
    +
  • itemId - menu item's id
    +
  • +
  • hkey - hot-key text (string)
    +
  • +
+
    menu.setHotKey(itemId, hkey);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethref.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethref.html new file mode 100755 index 0000000000..1ed14a7cdc --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_sethref.html @@ -0,0 +1,137 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_sethref [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setHref(itemId, href, target)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+set href to item, overwrite old if exists + +

+
    +
  • itemId
    +
  • +
  • href - url to open instead of onClik event handling
    +
  • +
  • target - target attribute
    +
  • +
+
    menu.setHref(itemId, "www://dhtmlx.com", "blank");
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_seticonspath.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_seticonspath.html new file mode 100755 index 0000000000..490973088d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_seticonspath.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_seticonspath [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setIconsPath(path)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+defines an url where necessary user embedded icons are located + +

+
    +
  • path - path on harddrive to items' icons
    +
  • +
+
    menu.setIconsPath("path/to/icons/folder/");
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setimagepath.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setimagepath.html new file mode 100755 index 0000000000..fce6fb00cb --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setimagepath.html @@ -0,0 +1,126 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setimagepath [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setImagePath()

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+depricated, now more used from version 2.1, 90226 +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemdisabled.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemdisabled.html new file mode 100755 index 0000000000..a4995fc2bb --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemdisabled.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setitemdisabled [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setItemDisabled(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+disables an item + +

+
    +
  • itemId - item's id to disable
    +
  • +
+
    menu.setItemDisabled(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemenabled.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemenabled.html new file mode 100755 index 0000000000..259a24e164 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemenabled.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setitemenabled [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setItemEnabled(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+enables an item + +

+
    +
  • itemId - item's id to enable
    +
  • +
  • state - true|false
    +
  • +
+
    menu.setItemEnabled(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemimage.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemimage.html new file mode 100755 index 0000000000..55982c6593 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemimage.html @@ -0,0 +1,137 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setitemimage [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setItemImage(itemId, img, imgDis)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets an image for the item + +

+
    +
  • itemId - the item's id
    +
  • +
  • img - the image for the enabled item (empty string for none)
    +
  • +
  • imgDis - the image for the disabled item (empty string for none)
    +
  • +
+
    menu.setItemImage(itemId, img, imgDis);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemposition.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemposition.html new file mode 100755 index 0000000000..ac8e690665 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemposition.html @@ -0,0 +1,143 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setitemposition [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setItemPosition(itemId, pos)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+sets new item's position in the current polygon (moves an item inside the single level) + +

+
    +
  • itemId - the item
    +
  • +
  • pos - the position (int)
    +
  • +
+ +

+ +<code javascript> +

+
  menu.setItemPosition(pos);
+ +

+</cope> +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemtext.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemtext.html new file mode 100755 index 0000000000..54704c7745 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setitemtext.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setitemtext [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setItemText(itemId, text)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets text for the item + +

+
    +
  • itemId - the item's id
    +
  • +
  • text - a new text
    +
  • +
+
    menu.setItemText(itemId, text);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setopenmode.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setopenmode.html new file mode 100755 index 0000000000..e3df069537 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setopenmode.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setopenmode [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setOpenMode(mode)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets open mode for the menu + +

+
    +
  • mode - win|web, the default mode is web, in the win mode a user should click anywhere to hide the menu, in the web mode - just put the mouse pointer out of the menu area (string)
    +
  • +
+
    menu.setOpenMode("win"); // or "web"
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setoverflowheight.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setoverflowheight.html new file mode 100755 index 0000000000..ac96ba0952 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setoverflowheight.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setoverflowheight [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setOverflowHeight(itemsNum)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+limits the maximum number of visible items in polygons + +

+
    +
  • itemsNum - count of the maximum number of visible items
    +
  • +
+
    menu.setOverflowHeight(itemsNum);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setradiochecked.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setradiochecked.html new file mode 100755 index 0000000000..11517f00fd --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setradiochecked.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setradiochecked [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setRadioChecked(group, itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+checks a radio button inside the group + +

+
    +
  • group - radio button group name
    +
  • +
  • itemId - radio button's id
    +
  • +
+
    menu.setRadioChecked(group, itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setrtl.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setrtl.html new file mode 100755 index 0000000000..01d13dcfcd --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setrtl.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setrtl [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setRTL(state)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+set right-to-left mode + +

+
    +
  • state - true|false
    +
  • +
+
    menu.setRTL(true);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setskin.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setskin.html new file mode 100755 index 0000000000..a55460d617 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setskin.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setskin [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setSkin(skin)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+changes menu skin + +

+
    +
  • skin - skin name (string)
    +
  • +
+
    menu.setSkin(skin);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settooltip.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settooltip.html new file mode 100755 index 0000000000..2a6bad73dd --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settooltip.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_settooltip [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setTooltip(itemId, tip)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets tooltip for a menu item + +

+
    +
  • itemId - menu item's id
    +
  • +
  • tip - tooltip
    +
  • +
+
    menu.setTooltip(itemId, tip);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settoptext.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settoptext.html new file mode 100755 index 0000000000..87d4cf0e69 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_settoptext.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_settoptext [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setTopText(text)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+set top level additional text (in case of usual menubar) + +

+
    +
  • text - text
    +
  • +
+
    menu.setTopText(text);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setuserdata.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setuserdata.html new file mode 100755 index 0000000000..3a2a39fa2d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setuserdata.html @@ -0,0 +1,137 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setuserdata [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setUserData(itemId, name, value)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets userdata for an item + +

+
    +
  • itemId - the item's id
    +
  • +
  • name - the name of userdata (string)
    +
  • +
  • value - the value of userdata (usually string)
    +
  • +
+
    menu.setUserData(itemId, name, value);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setvisiblearea.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setvisiblearea.html new file mode 100755 index 0000000000..fed6cf1a9b --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setvisiblearea.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setvisiblearea [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setVisibleArea(x1, x2, y1, y2)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets the area in which the menu can appear, if the area is not set, the menu will occupy all available visible space + +

+
    +
  • x1, x2 - int, leftmost and rightmost coordinates by x axis
    +
  • +
  • y1, y2 - int, topmost and bottommost coordinates by y axis
    +
  • +
+
    menu.setVisibleArea(x1, x2, y1, y2);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setwebmodetimeout.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setwebmodetimeout.html new file mode 100755 index 0000000000..1ab5d85e38 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_setwebmodetimeout.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_setwebmodetimeout [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

setWebModeTimeout(tm)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+sets hide menu timeout (web mode only) + +

+
    +
  • tm - timeout, ms, 400 default
    +
  • +
+
    menu.setWebModeTimeout(tm);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showcontextmenu.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showcontextmenu.html new file mode 100755 index 0000000000..abb8410ea4 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showcontextmenu.html @@ -0,0 +1,135 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_showcontextmenu [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

showContextMenu(x, y)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+usercall to show a contextual menu + +

+
    +
  • x - position of the menu on x axis
    +
  • +
  • y - position of the menu on y axis
    +
  • +
+
    menu.showContextMenu(x, y);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showitem.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showitem.html new file mode 100755 index 0000000000..250f151936 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_showitem.html @@ -0,0 +1,133 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_showitem [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

showItem(itemId)

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu_ext.js +

+ +

+shows an item + +

+
    +
  • itemId - the item's id to show
    +
  • +
+
    menu.showItem(itemId);
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_unload.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_unload.html new file mode 100755 index 0000000000..d1903709b5 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_method_dhtmlxmenuobject_unload.html @@ -0,0 +1,132 @@ + + + + dhtmlxmenu:api_method_dhtmlxmenuobject_unload [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

unload()

+
+ +

+ +Required library edition: This method works with any edition of DHTMLX library
+ Required library file: dhtmlxmenu.js +

+ +

+unloads menu from page (destructor) +

+
    var menu = new dhtmlXMenuObject();
+    ...
+    // unloading menu
+    menu.unload();
+    menu = null;
+ + +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_alpha.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_alpha.html new file mode 100755 index 0000000000..8ec928542a --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_alpha.html @@ -0,0 +1,257 @@ + + + + dhtmlxmenu:api_toc_alpha [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

dhtmlxMenu API Methods

+
+ +
+ +

dhtmlXMenuObject Object

+
+ + +

+ +Methods marked with * require dhtmlxmenu_ext.js file + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_categories.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_categories.html new file mode 100755 index 0000000000..ae26814056 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_categories.html @@ -0,0 +1,449 @@ + + + + dhtmlxmenu:api_toc_categories [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +
+
Table of Contents
+ +
+ + +

+

+ +

+ +

dhtmlxMenu API Methods

+
+ +
+
+

Init

+
+ +
+ +

Constructor/Destructor

+
+ + +
+ +

Loading Data

+
+
    +
  • loadXML loads menu data from an xml file and calls onLoadFunction when loading is done
    +
  • +
  • loadXMLString loads menu data from an xml string and calls onLoadFunction when loading is done
    +
  • +
  • loadFromHTML loads menu data from an html and calls onLoadFunction when loading is done
    +
  • +
  • enableDynamicLoading enables dynamic loading of sublevels
    +
  • +
+ +
+ +

Icons/Skin

+
+
    +
  • setIconPath alias for setIconsPath
    +
  • +
  • setIconsPath defines an url where necessary user embedded icons are located
    +
  • +
  • setImagePath deprecated, not more used from version 2.1, 90226
    +
  • +
  • setSkin changes menu skin
    +
  • +
+ +
+ +

Hide/Clear

+
+
    +
  • hide hides any open menu polygons
    +
  • +
  • clearAll clears all loaded items
    +
  • +
+ +
+ +

Common

+
+
    +
  • setOverflowHeight limits the maximum number of visible items in polygons
    +
  • +
  • setTopText sets top level additional text (in case of usual menubar)
    +
  • +
  • setVisibleArea sets the area in which the menu can appear, if the area is not set, the menu will occupy all available visible space
    +
  • +
  • setAlign sets top level menu align
    +
  • +
  • setRTL sets right-to-left mode
    +
  • +
  • setOpenMode sets open mode for the menu
    +
  • +
  • setWebModeTimeout sets hide menu timeout (web mode only)
    +
  • +
+ +
+
+

Context Menu

+
+ +
+ +

Init

+
+ + +
+ +

Context Menu Zones

+
+ + +
+ +

Show/Hide

+
+ + +
+ +

Autohide

+
+
    +
  • setAutoHideMode sets to false to prevent hiding a contextual menu by a click
    +
  • +
  • setAutoShowMode sets to false to prevent showing a contextual menu by a click
    +
  • +
+ +
+ +

Hide All Mode

+
+ + +
+
+

Events

+
+ + +
+
+

Items

+
+ +
+ +

Add/Remove

+
+ + +
+ +

Checkboxes

+
+ + +
+ +

Radiobuttons

+
+ + +
+ +

Common

+
+ + +
+ +

State

+
+ + +
+ +

Visibility

+
+ + +
+ +

Position

+
+
    +
  • setItemPosition sets new item's position in the current polygon (moves an item inside the single level)
    +
  • +
  • getItemPosition returns item's position in the current polygon
    +
  • +
+ +
+ +

Text

+
+ + +
+ +

Icons

+
+ + +
+ +

Tooltips

+
+ + +
+ +

Hrefs

+
+
    +
  • setHref sets href to item, overwrite old if exists
    +
  • +
  • clearHref clears item href and back item to default onClick behavior
    +
  • +
+ +
+ +

UserData

+
+ + +
+ +

HotKeys

+
+
    +
  • setHotKey sets menu hot-key (just text label)
    +
  • +
  • getHotKey returns item's hot-key (just text label)
    +
  • +
+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_ext.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_ext.html new file mode 100755 index 0000000000..e275170c56 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___api_toc_ext.html @@ -0,0 +1,265 @@ + + + + dhtmlxmenu:api_toc_ext [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

dhtmlxMenu API Methods

+
+ +
+ +

dhtmlXMenuObject Object :: Common

+
+ + +
+ +

dhtmlXMenuObject Object :: Extension

+
+ + +
+ +

dhtmlXMenuObject Object :: Deprecated

+
+
    +
  • setImagePath deprecated, not more used from version 2.1, 90226
    +
  • +
+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___ddvbbsvw_7fsjpsffw_b.png b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___ddvbbsvw_7fsjpsffw_b.png new file mode 100755 index 0000000000000000000000000000000000000000..d3de7b782dea8ef686465e3add1aa4b0939c2de8 GIT binary patch literal 34438 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 Gg8wfsGqfN8 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_constructor.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_constructor.html new file mode 100755 index 0000000000..015a141152 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_constructor.html @@ -0,0 +1,283 @@ + + + + dhtmlxmenu:dhtmlxmenu_init_constructor [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

dhtmlxMenu constructor

+
+ +
+ +

General

+
+ +

+ +The first steps that need to be taken for dhtmlxMenu's initialization are the following: +

+
    +
  • Download dhtmlxMenu package from the server and place it in a folder;
    +
  • +
  • Create an index.html file;
    +
  • +
  • Place a full path to the CSS file into the <head> tag of html file. This file determines menu appearance according to the chosen skin (in this example we use dhx_blue skin, as it's the default one). That's why, we recommend our users to make up their mind on which skin they are going to apply right on this very step;
    +
  • +
  • Place the full paths to JS files into the <head> tag of html file.
    +
  • +
+
    <head>
+        <script src="[full path to this file]/dhtmlxcommon.js"></script>
+        <script src="[full path to this file]/dhtmlxmenu.js"></script>
+        <link rel="stylesheet" type="text/css" href="[full path to this file]/dhtmlxmenu_dhx_blue.css">
+    </head>
+

+From this point further steps the user should take are different for creating a usual menu and a contextual menu. +

+ +
+ +

Usual Menu

+
+ +

+The user needs to create an object where dhtmlxMenu will be placed later. In this example the object is a <div> element on page, which is placed in the <body> tag: +

+
     <div id="menuObj"></div>
+

+The next step is to create a new dhtmlXMenuObject and place it after the <div> element (object) that we've just created: +

+
    <script>
+         var menu = new dhtmlXMenuObject("menuObj", skin);
+         // or
+         var parentObj = document.getElementById("menuObj");
+         var menu = new dhtmlXMenuObject(parentObj, skin);
+     </script>
+

+ +The first parameter defines an HTML object on page to which the menu is attached (the main menu container in the code mentioned above). +The second argument is optional, and it indicates the name of the skin chosen for the Menu. If this argument is not indicated, the component will be created with the default skin (dhx_skyblue). +

+ +

+It should be noted that with the way of menu creating described above, the system will first clear the menu container (<div>), and then create the menu. +

+ +
+ +

Contextual Menu

+
+ +

+ +Contextual menu is attached to context zone. Context zone is an html object. In this example the object is a <div> element on page, which is placed in the <body> tag. +

+
    <div id="contextArea"></div>
+

+Note, that for right menu positioning <div> used as context zone should have position relative or absolute. +

+ +

+For a contextual menu the user should: +

+
    +
  • Create a new dhtmlxMenuObject attached to “contextArea” (or attach it later);
    +
  • +
  • Set the name of the necessary skin as the second argument for dhtmlXMenuObject (optional; if the name of the skin is not indicated, the default one will be used);
    +
  • +
  • Use renderAsContextMenu() method.
    +
  • +
+
    <script>
+        var menu = new dhtmlXMenuObject("contextArea");
+        menu.renderAsContextMenu();
+    </script>
+

+It should be noted that with the way of menu creating described above, the system will first clear the menu container (<div>), and then create the contextual menu. To prevent container data from clearing, the user should use the method described in Contextual menu zones section. +

+ +
+ +

Contextual Menu Zones

+
+ +

+ +A contextual menu zone is the area the user needs to click to make appear contextual menu. The previous snippet shows us initialization of a contextual menu with the predefined contextual zone: when the user indicates contextual zone id while creating a new menu object, it means that this area is set to be a contextual menu zone automatically by script. +

+ +

+In other way, the user can initialize a contextual menu without indicating a contextual zone initially. And use addContextZone() method later, which parameter is id of the object that will act as a contextual zone: + +

+
      <script>
+          var menu = new dhtmlXMenuObject();
+          menu.renderAsContextMenu();
+          menu.addContextZone(contextZoneId);
+      </script>
+

+A contextual zone can be easily removed with the help of the following method: +

+
    <script>
+        menu.removeContextZone(contextZoneId);
+    </script>
+

+There is also the possibility to check whether an object is a contextual menu zone: +

+
    <script>
+        var isZone = menu.isContextZone(objectId);  // returns true|false
+    </script>
+

+Note, that for right menu positioning object used as context zone should have position relative or absolute. +

+ +
+ +

Initialization Recommendation

+
+ +

+ +The recommended way of menu initialization is the following: + +

+
      <html>
+      <head>
+          <script>
+              var menu;
+              function doOnLoad() {
+                  menu = new dhtmlXMenuObject("parentId");
+              }
+          </script>
+          ...
+      </head>
+      <body onload="doOnLoad();">
+          <div id="parentId"></div>
+          ...
+      </body>
+      </html>
+
+ +

Setting Icons Path

+
+ +

+ +In dhtmlxMenu 2.0-2.1 there was setImagePath method to set path for images, needed to render menu. From 2.5 version this method hasn't been supported any more, but for the back compatability it is present in menu. If you have any links to it in your code, please remove them. +

+ +

+By means of this setIconsPath method the user is able to set path to the directory, where menu icons images are stored. +

+
    <script>
+        menu.setIconsPath("path/to/icons/");
+    </script>
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_data_loading.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_data_loading.html new file mode 100755 index 0000000000..fd44827c72 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_data_loading.html @@ -0,0 +1,313 @@ + + + + dhtmlxmenu:dhtmlxmenu_init_data_loading [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

Data Loading

+
+ +

+ +The next step of initialization of dhtmlxMenu component is Data Loading. The user can choose one of 5 data loading possibilities: +

+
    +
  • From external XML file (with Ajax);
    +
  • +
  • From XML string;
    +
  • +
  • From HTML object;
    +
  • +
  • From Script;
    +
  • +
  • Dynamical loading (with Ajax).
    +
  • +
+ +
+ +

Data Loading from XML File

+
+ +

+ +loadXML() method loads menu data from an XML file. When the data is loaded into the object, a user-defined handler is called onLoadFunction, if it was indicated by the user. All the data is loaded at once. +

+
    <script>
+        menu.loadXML("path/to/file/file.xml", function(){
+            // will called if specified after menu will completely loaded
+        });
+        // or
+        onLoadFunction = function(){
+            // will called if specified after menu will completely loaded
+        }
+        menu.loadXML("path/to/file/file.xml", onLoadFunction);
+    </script>
+

+The first parameter of loadXML() method is the path to the XML file, while the second parameter is an optional user-defined handler. +:?: See here for XML Format Template. +

+ +
+ +

Data Loading from XML String

+
+ +

+ +loadXMLString() method is the same as loadXML, but lloads menu data from the XML string. All the data is loaded at once. +

+
    <script>
+        onLoadFunction = function(){
+            // will be called if specified
+        }
+        menu.loadXMLString("<menu><item....>", onLoadFunction);
+    </script>
+

+The first parameter for loadXMLString() method is the XML string from our html file, while the second parameter is an optional user-defined handler. +:?: See here for XML Format Template. +

+ +
+ +

Data Loading from HTML Object

+
+ +

+ +loadFromHTML() method loads content from HTML object to the menu. First, the user should create this HTML object. For example: +

+
    <body> 
+        <div id="menuData" style="display: none;">  
+            <div id="m1" text="File"> // the first top menu item
+               <div id="m11" text="New" <hotkey>Ctrl+N</hotkey></div>// the first child item
+               <div id="ms1" type="separator"></div> // a separator	
+               <div id="m12" text="Open"><hotkey>Ctrl+O</hotkey></div> // the second child item  
+            </div>    
+        </div>
+    </body>
+

+Then loadFromHTML() should be applied with the following parameters: +

+
    +
  • objectId - id of data container (“menuData” in our case);
    +
  • +
  • clear - true|false, removes HTML object after data was loaded, if this parameter is set to true;
    +
  • +
  • onLoadFunction - a user-defined handler, which will be called, when the data is loaded (optional).
    +
  • +
+
    <script>
+        menu.loadFromHTML("menuData", true, function(){
+            alert("Menu was loaded from HTML Object.");
+        });
+    </script>
+
+ +

Data Loading from Script

+
+ +

+ +Loading data from script means that the user should write a special method for adding every menu item. In our example to add a new sibling item, a child item, a new separator and set a hotkey, we should write the following: + +

+
      <script>
+          menu.addNewSibling(null, "file", "File", false); // adding the first item to the menu, "nextToId" param is null
+          menu.addNewChild("file", 0, "file_new", "New", false); // adding a new child item
+          menu.setHotKey("file_new", "Ctrl+N"); // setting a hotkey to a button
+          menu.addNewSeparator("file_new"); // adding a separator
+      </script>
+

+Refer to the section Items Settings Manipulations to learn about the methods used in the above mentioned snippet. +

+ +

+Adding first menu item with script: +

+
    <script>
+        // init dhtmlxMenu
+        var menu = new dhtmlXMenuObject();
+        // adding first top-level item
+        menu.addNewSibling(null, "itemId", "itemText");
+        // or
+        menu.addNewChild(null, 0, "itemId", "itemText");         
+        // adding first sub-level chechbox/radiobutton
+        menu.addCheckbox("child", "nextToId", 0, "itemId", "itemText");
+        menu.addRadioButton("child", "nextToId", 0, "itemId", "itemText");
+    </script>
+
+ +

Dynamical Loading

+
+ +

+ +Dynamical loading means loading data on request. The user can split data into parts by levels and decrease loading time this way. +enableDynamicLoading() method should be used with the following parameters: +

+
    +
  • url - server-side script, transmitted parameters are action (set to “loadMenu”) and “parentId” (will pass id of the selected complex item for loading its child items into sub-level polygon);
    +
  • +
  • icon - true|false, replaces item's arrow icon while loading data with a “loading” icon to indicate the process of data loading.
    +
  • +
+
      <script>
+          menu.enableDynamicLoading(url, icon);
+      </script>
+

+So, in our case we should write this line of code (without an icon): +

+
      <script>
+          menu.enableDynamicLoading("[script url]");
+      </script>
+
+ +

onLoadFunction()

+
+ +

+ +onLoadFunction() is a user-defined handler that is called after the data was loaded into the object: +

+
      <script>
+          menu.loadXML("file.xml", function(){
+              alert("the data is loaded"); // will be invoked after XML file was loaded (after onXLE, if specified)
+          }); 
+      </script>
+
+ +

Clearing Menu

+
+ +

+ +To remove all loaded items from menu users should call clearAll() method. Meanwhile users are allowed to load another XML: + +

+
    <script>
+        menu.clearAll();
+    </script>
+
+ +

Unloading Menu

+
+ +

+ +unloadMenu() method gives the possibility to unload the component completely: +

+
    <script>
+        var menu = new dhtmlXMenuObject();
+        ...
+        // unload menu
+        menu.unload();
+        menu = null; 
+    </script>
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_global_parameters.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_global_parameters.html new file mode 100755 index 0000000000..acb64dcfb5 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_global_parameters.html @@ -0,0 +1,266 @@ + + + + dhtmlxmenu:dhtmlxmenu_init_global_parameters [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

Global Parameters

+
+ +
+ +

Setting Menu Open Mode

+
+ +

+ +The user can choose what mode to set for the top-level items of the new menu object. There are two modes available: +

+
    +
  • win - In this mode the user should click any complex item in the top-level polygon to expand it. The item will be expanded until the user clicks any top-level open item in the menu, or any other place on the page;
    +
  • +
  • web (the default one) - In this mode items in the top-level polygon are expanded immediately, when the user hovers the mouse over any of them. When the mouse is moved outside the menu area, the open item collapses.
    +
  • +
+ +

+setOpenMode() method is used to set the menu mode: +

+
    <script>
+        menu.setOpenMode("win");
+    </script>
+

+Note: setting of the web mode from the script is not required because it's already set by default. +

+ +

+When the Menu is set to the web mode, there is an opportunity to set the period of time, during which the menu will be held expanded, even if the user moves the mouse outside the menu area. By default this time is set to 400 msec. +To set this time period the user should use setWebModeTimeout() method: +

+
    <script>
+        menu.setWebModeTimeout(time);
+    </script>
+
+ +

Setting Visible Area

+
+ +

+ +setVisibleArea() method sets the rectangle area in which sub-level polygon items will be able to appear. If this area is not set, sub-level polygon items can occupy any available visible space. +

+ +

+The parameters are: +

+
    +
  • x1, x2 - int, leftmost and rightmost coordinates by x axis;
    +
  • +
  • y1, y2 - int, topmost and bottommost coordinates by y axis.
    +
  • +
+
    <script>
+        menu.setVisibleArea(x1,x2,y1,y2);
+    </script>
+

+Usage example +

+ +

+When using dhtmlxGrid with Contextual menu you often meet some inconveniences. For example you need to read contextual menu of the record placed at the bottom of the grid, but the appearing of browser's scrollbars will disturb the impementation of this task. To avoid scrolling appearence set visible area and define menu position. (set grid's coordinates to acheive this). +

+ +

+ +

+ +

+Note: in dhtmlxMenu from 2.5 version visible area is automatically calculated and occupy just visible area in browser. If menu opens to bottom, but at bottom not enough space to open menu, it will automatically opened on top (even if scroll allows to open menu top bottom). +

+ +
+ +

Hiding Open Polygons

+
+ +

+ +There is the possibility to hide all open polygons in a menu from script with the help of hide() method: +

+
    <script>    
+        menu.hide();
+    </script>
+
+ +

Setting Overflow Height

+
+ +

+ +By default there is no limits on the number of visible menu items in any sub-level polygon. However, the user can limit the number of visible items in a sub-level polygon using setOverflowHeight() method. +

+ +

+This method adds scroll-arrows to a sub-level polygon, if there are more visible menu items than it is allowed by setOverflowHeight() method. The following example shows how this method should be used as a function with any of data loading methods: +

+
    <script>
+        menu.setOverflowHeight(4);
+        menu.loadXML("dhtmlxMenu/codebase/dhtmlxmenu.xml");
+    </script>
+
+ +

Setting RTL mode

+
+ +

+ +By default text direction in menu is set as left to right. For languages with right to left text direction the user can set RTL mode using setRTL() method: +

+
    <script>
+        menu.setRTL(true); // false will set menu mode to LTR
+    </script>
+
+ +

Setting aligning direction

+
+ +

+ +The user is allowed to set left or right aligning direction in menu with the help of setAlign() method as follows: +

+
    <script>  
+        menu.setAlign("right"); 
+    </script>
+
+ +

Setting top text

+
+ +

+ +There is a possibility to place text at the top of the menu using steTopText() method: + +

+
    <script>
+        menu.setTopText("dhtmlxMenu 2.0"); 
+    </script>
+
+ +

Adding/Clearing links

+
+ +

+ +setHref() method allows users to add link to menu bar. In order to clear current links users should call clearHref() method: +

+
    <script>
+        menu.setHref(itemId, href, target); 
+        menu.clearHref(itemId);
+    </script>
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_skinning.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_skinning.html new file mode 100755 index 0000000000..ccbfa325a5 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhtmlxmenu_init_skinning.html @@ -0,0 +1,155 @@ + + + + dhtmlxmenu:dhtmlxmenu_init_skinning [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

Skinning

+
+ +

+ +There are two ways to set skin: +

+
    +
  • Passing skin name to constructor (the second argument);
    +
  • +
  • Using setSkin method.
    +
  • +
+ +

+ +To set skin with constructor you should call dhtmlXMenuObject with the second argument, which contains skin name: +

+
    var menu = new dhtmlXMenuObject("parentId", "dhx_skyblue");
+

+If you just initiate contextual menu and have no parent object yet, you can pass null as the first argument: +

+
    var menu = new dhtmlXMenuObject(null, "dhx_skyblue");
+    menu.renderAsContextMenu();
+

+Also you can easily cnahge skin “on-the-fly” using setSkin method: +

+
    var menu = new dhtmlXMenuObject("parentId");
+    menu.setSkin("dhx_skyblue");
+

+Available skins are: + +

+ + + + + + + +
dhx_skyblue (the default one) dhx_blue dhx_black
+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhxmenu_skin_dhx_black.png b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhxmenu_skin_dhx_black.png new file mode 100755 index 0000000000000000000000000000000000000000..90ccb15af0373920062b454b617aea1a8e624e89 GIT binary patch literal 9057 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 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhxmenu_skin_dhx_skyblue.png b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___dhxmenu_skin_dhx_skyblue.png new file mode 100755 index 0000000000000000000000000000000000000000..0fca8e21a175c0fd5e97fcfa29aae2f7263ba3f5 GIT binary patch literal 8270 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 literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_handling.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_handling.html new file mode 100755 index 0000000000..be99564f66 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_handling.html @@ -0,0 +1,184 @@ + + + + dhtmlxmenu:event_handling [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +
+
Table of Contents
+ +
+ + +

+

+ +

+ +

Event Handling

+
+ +
+
+

Available Events

+
+ +

+ +There are the following available events in dhtmlxMenu: +

+
    +
  • onClick - occurs when the user clicks the left mouse button on an enabled, not complex menu item;
    +
  • +
  • onTouch - occurs when the user first hovers over any menu item by a mouse cursor (is not applicable for the contextual menu);
    +
  • +
  • onCheckboxClick - occurs when the user clicks any checkbox item;
    +
  • +
  • onRadioClick - occurs when the user clicks any radio item;
    +
  • +
  • onXLS - occurs before data loading from XML has started;
    +
  • +
  • onXLE - occurs after data loading from XML has finished;
    +
  • +
  • onBeforeContextMenu - occurs before the moment when a contextual menu appears (can be used only for a contextual menu);
    +
  • +
  • onAfterContextMenu - occurs after the moment when a contextual menu appears (can be used only for a contextual menu).
    +
  • +
+ +
+
+

Attaching Event Handler

+
+ +

+ +The user can add any user-defined handler to available events. +To do this, he can use attachEvent() method with the following parameters: +

+
    +
  • evName - name of the event;
    +
  • +
  • evHandler - user-defined event handler.
    +
  • +
+
        menu.attachEvent(evName, evHandler);
+

+Note: the names of the events are case-insensitive. + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onaftercontextmenu.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onaftercontextmenu.html new file mode 100755 index 0000000000..29b2db77dc --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onaftercontextmenu.html @@ -0,0 +1,126 @@ + + + + dhtmlxmenu:event_onaftercontextmenu [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

onAfterContextMenu Event

+
+ +

+ +This event occurs after the moment when a contextual menu appears by a right mouse click. +onAfterContextMenu event can call a user-defined handler (if there is any) and pass the following parameter: +

+
    +
  • zone id - id of the contextual menu zone.
    +
  • +
+
        menu.attachEvent("onAfterContextMenu", function(zoneId){});
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onbeforecontextmenu.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onbeforecontextmenu.html new file mode 100755 index 0000000000..34039ff86f --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onbeforecontextmenu.html @@ -0,0 +1,134 @@ + + + + dhtmlxmenu:event_onbeforecontextmenu [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

onBeforeContextMenu Event

+
+ +

+ +This event occurs before the moment when a contextual menu appears by a right mouse click. +onBeforeContextMenu event can call a user-defined handler (if there is any) and pass the following parameter: +

+
    +
  • zoneId - id of the contextual menu zone.
    +
  • +
+
        menu.attachEvent("onBeforeContextMenu", function(zoneId){
+            ... // user-defined handler
+            return true;
+        });
+

+When the user attaches a user-defined handler to this event, the state of the item can no longer be changed automatically. The user can control this by returning true|false from a user-defined handler. That's why return true should be added after user-defined handler, in order to let the script know that the state of the item should be changed. + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_oncheckboxclick.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_oncheckboxclick.html new file mode 100755 index 0000000000..7923dbb97d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_oncheckboxclick.html @@ -0,0 +1,159 @@ + + + + dhtmlxmenu:event_oncheckboxclick [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

onCheckboxClick Event

+
+ +

+ +By default this event changes the state of the clicked checkbox item. The visible sub-polygon won't be hidden after this action. +onCheckboxClick event can call user-defined handler (if there is any) and pass the following parameters: +

+
    +
  • id - id of the clicked checkbox item;
    +
  • +
  • state - state of the clicked checkbox item. Defines whether the item is checked or not;
    +
  • +
  • zoneId (only for Contextual Menu) - id of the contextual menu zone;
    +
  • +
  • casState - whether the key “Ctrl”, “Alt”, or “Shift” was pressed with click or not.
    +
  • +
+
        menu.attachEvent("onCheckboxClick", function(id, state, zoneId, casState){
+            ...
+            // user-defined handler
+            // ctrl
+            if (casState["ctrl"] == true) {
+                    // ctrl key was pressed with click
+            } else {
+                    // ctrl key was not pressed with click
+            }
+            // alt
+            if (casState["alt"] == true) {
+                    // alt key was pressed with click
+            } else {
+                    // alt key was not pressed with click
+            }
+            // shift
+            if (casState["shift"] == true) {
+                    // shift key was pressed with click
+            } else {
+                    // shift key was not pressed with click
+            }
+            return true;
+        });
+

+When the user attaches a user-defined handler to this event, the state of the item can no longer be changed automatically. The user can control this by returning true|false from a user-defined handler. That's why, return true should be added after a user-defined handler in order to let the script know that the state of the item should be changed. + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onclick_ontouch.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onclick_ontouch.html new file mode 100755 index 0000000000..08f38e5ed7 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onclick_ontouch.html @@ -0,0 +1,160 @@ + + + + dhtmlxmenu:event_onclick_ontouch [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

onClick and onTouch Events

+
+
    +
  • onClick - occurs when the user clicks the left mouse button on an enabled, not complex menu item;
    +
  • +
  • onTouch - occurs when the user first hovers over any menu item by a mouse cursor (is not applicable for the contextual menu).
    +
  • +
+ +

+ +These events call user-defined handlers (if there are any) and pass the following parameters: +

+
    +
  • id - id of the clicked/hovered menu item;
    +
  • +
  • zoneId (only for onClick event in case of a Contextual Menu) - id of the contextual menu zone;
    +
  • +
  • casState(only for onClick event) - whether the key “Ctrl”, “Alt”, or “Shift” was pressed with click or not.
    +
  • +
+
        menu.attachEvent("onClick", function(id, zoneId, casState){});
+        menu.attachEvent("onTouch", function(id){});
+

+Now let's attach an event handler for onClick event: +

+
        menu.attachEvent("onClick", function(id, zoneId, casState){
+            alert("element "+id+" was clicked");
+            //  ctrl
+            if (casState["ctrl"] == true) {
+                    // ctrl key was pressed with click
+            } else {
+                    // ctrl key was not pressed with click
+            }
+            // alt
+            if (casState["alt"] == true) {
+                    // alt key was pressed with click
+            } else {
+                    // alt key was not pressed with click
+            }
+            // shift
+            if (casState["shift"] == true) {
+                    // shift key was pressed with click
+            } else {
+                    // shift key was not pressed with click
+            }
+        });
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onradioclick.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onradioclick.html new file mode 100755 index 0000000000..b27f3bdfe8 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onradioclick.html @@ -0,0 +1,161 @@ + + + + dhtmlxmenu:event_onradioclick [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+

+ + + +

onRadioClick Event

+
+ +

+By default this event makes another radio item in the group checked instead of the current checked one. The visible sub-polygon won't be hidden after this action. +onRadioClick event can call a user-defined handler (if there is any) and pass the following parameters: +

+
    +
  • group - name of the radio group;
    +
  • +
  • idChecked - id of the checked radio item;
    +
  • +
  • idClicked - id of the clicked radio item;
    +
  • +
  • zoneId (only for Contextual Menu) - id of the contextual menu zone;
    +
  • +
  • casState - whether the key “Ctrl”, “Alt”, or “Shift” was pressed with click or not.
    +
  • +
+
        menu.attachEvent("onRadioClick", function(group, idChecked, idClicked, zoneId, casState){
+            ...
+            // user-defined handler
+            // ctrl
+            if (casState["ctrl"] == true) {
+                    // ctrl key was pressed with click
+            } else {
+                    // ctrl key was not pressed with click
+            }
+            // alt
+            if (casState["alt"] == true) {
+                    // alt key was pressed with click
+            } else {
+                    // alt key was not pressed with click
+            }
+            // shift
+            if (casState["shift"] == true) {
+                    // shift key was pressed with click
+            } else {
+                    // shift key was not pressed with click
+            }
+            return true;
+        });
+

+When the user attaches a user-defined handler to this event, the state of the item can no longer be changed automatically. The user can control this by returning true|false from a user-defined handler. That's why return true should be added after a user-defined handler in order to let the script know that the state of the item should be changed. + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxle.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxle.html new file mode 100755 index 0000000000..190c422d33 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxle.html @@ -0,0 +1,127 @@ + + + + dhtmlxmenu:event_onxle [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

onXLE Event

+
+ +

+ +This event occurs when the menu has already been loaded and just before onLoadFunction: +

+
        menu.attachEvent("onXLE", function(){});
+

+In case of dynamical loading, onXLE event will be called every time after a system loads a certain part of data into the menu. +Note: this event should be attached after the code line that calls loadXML() method. + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxls.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxls.html new file mode 100755 index 0000000000..1598453781 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___event_onxls.html @@ -0,0 +1,127 @@ + + + + dhtmlxmenu:event_onxls [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

onXLS Event

+
+ +

+ +This event occurs before data loading from XML has started. onXLS event can call user-defined handler (if there is any): +

+
        menu.attachEvent("onXLS", function(){});
+

+In case of dynamic loading, onXLS event will be called every time before a system loads a certain part of data into the menu. +Note: this event should be attached before the code line that calls loadXML() method. + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___from_20_to_25.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___from_20_to_25.html new file mode 100755 index 0000000000..c4cbcd8bf2 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___from_20_to_25.html @@ -0,0 +1,211 @@ + + + + dhtmlxmenu:from_20_to_25 [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

Migration from 2.0 to 2.5

+
+ +
+ +

1. Basic/Extended functionality

+
+ +

+ +Sinse 2.5 dhtmlxMenu version some functionality moved to extended menu package (dhtmlxmenu_ext.js file needed). If you use it without included dhtmlxmenu_ext.js file, you'll see an alert “dhtmlxmenu_ext.js required”. +

+ +

+List of extended functionality: + +

+
    +
  • setItemEnabled
    +
  • +
  • setItemDisabled
    +
  • +
  • isItemEnabled
    +
  • +
  • getItemText
    +
  • +
  • setItemText
    +
  • +
  • loadFromHTML
    +
  • +
  • hideItem
    +
  • +
  • showItem
    +
  • +
  • isItemHidden
    +
  • +
  • setUserData
    +
  • +
  • getUserData
    +
  • +
  • setOpenMode
    +
  • +
  • setWebModeTimeout
    +
  • +
  • enableDynamicLoading
    +
  • +
  • getItemImage
    +
  • +
  • setItemImage
    +
  • +
  • clearItemImage
    +
  • +
  • setAutoShowMode
    +
  • +
  • setAutoHideMode
    +
  • +
  • setContextMenuHideAllMode
    +
  • +
  • getContextMenuHideAllMode
    +
  • +
  • setVisibleArea
    +
  • +
  • setTooltip
    +
  • +
  • getTooltip
    +
  • +
  • setHotKey
    +
  • +
  • getHotKey
    +
  • +
  • setItemSelected
    +
  • +
  • setTopText
    +
  • +
  • setRTL
    +
  • +
  • setAlign
    +
  • +
  • setHref
    +
  • +
  • clearHref
    +
  • +
  • setOverflowHeight
    +
  • +
  • getRadioChecked
    +
  • +
  • setRadioChecked
    +
  • +
  • addRadioButton
    +
  • +
  • setCheckboxState
    +
  • +
  • getCheckboxState
    +
  • +
  • addCheckbox
    +
  • +
+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___initializing_dhtmlxmenu.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___initializing_dhtmlxmenu.html new file mode 100755 index 0000000000..e6bbfa2606 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___initializing_dhtmlxmenu.html @@ -0,0 +1,131 @@ + + + + dhtmlxmenu:initializing_dhtmlxmenu [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + + + +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___items_settings_manipulations.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___items_settings_manipulations.html new file mode 100755 index 0000000000..1468c373c3 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___items_settings_manipulations.html @@ -0,0 +1,520 @@ + + + + dhtmlxmenu:items_settings_manipulations [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + + + + +

+

+ +

+ +

Items Settings Manipulations

+
+ +
+
+

Sibling Item Creation

+
+ +

+ +The user can create a new sibling item in any polygon. To do this addNewSibling() method should be used. The parameters here are as follows: +

+
    +
  • nextToId - id of the element after which the new item will be inserted.
    +
  • +
  • itemId - id of the new sibling item;
    +
  • +
  • itemText - the label of the new sibling item;
    +
  • +
  • disabled - true|false, if this new sibling item is disabled or enabled;
    +
  • +
  • img - path to image for the enabled state of the new sibling item;
    +
  • +
  • imgDis - path to image for the disabled state of the new sibling item.
    +
  • +
+ +

+ +The new sibling item will be inserted right after the item chosen as “nextToId” one. +

+
    <script>
+        menu.addNewSibling(nextToId, ItemId, itemText, disabled, img,imgDis);
+    </script>
+
+
+

Child Item Creation

+
+ +

+ +There is the possibility to create a child item for any item in the menu. The child item will be located in a sub-level polygon and won't be visible until its parent item is hovered over. +addNewChild() method should be called and the following parameters are to be passed: +

+
    +
  • parentId - id of the element that will contain the newly created item in its sub-level polygon;
    +
  • +
  • position - position/order of the new child item in the polygon among other child items, whether it comes first, second, etc. (starts with 0);
    +
  • +
  • itemId - id of the new child item;
    +
  • +
  • itemText - the label of the new child item;
    +
  • +
  • disabled - true|false, whether this new child item is disabled or not;
    +
  • +
  • img - path to image for the enabled state of the new child item;
    +
  • +
  • imgDis - path to image for the disabled state of the new child item.
    +
  • +
+
      <script>
+          menu.addNewChild(parentId, position, itemId, itemText, disabled, img, imgDis);
+      </script>
+
+
+

New Separator Creation

+
+ +

+ +Separators can be created with the help of addNewSeparator() method. A separator provides kind of a logical grouping of menu items. +addNewSeparator() method has the following parameters: +

+
    +
  • nextToId - id of the element after which the new separator will be inserted;
    +
  • +
  • itemId - id of the new separator.
    +
  • +
+
    <script>
+        menu.addNewSeparator(nextToId, itemId);
+    </script>
+
+
+

Removing Item

+
+ +

+ +The user can choose to remove any item from a menu. The item will be removed with all its sub-items/sub-polygons. +An item can be removed in the following way: +

+
    <script>
+        menu.removeItem(Id);
+    </script>
+
+
+

Getting Parent Id

+
+ +

+ +There is the possibility to get parent id of any menu item. This can be done by means of getParentId() method: +

+
    <script>
+        var parentId = menu.getParentId(id);
+    </script>
+
+
+

Enabling/Disabling Item

+
+ +

+ +Any menu item can be enabled/disabled by user: +

+
    <script>
+        menu.setItemEnabled(id);
+        menu.setItemDisabled(id);
+    </script>
+

+Also the user has the possibility to check whether an item is enabled. This can be done by calling the following method: +

+
    <script>
+        var isEnabled = menu.isItemEnabled(id); // returns true|false
+    </script>
+

+The user should pass id of the item that will be checked. The method returns true if the item is enabled. +

+ +
+
+

Showing/Hiding Item

+
+ +

+ +Any item in a menu can be shown/hidden. To do this the user should pass this item's id to the following methods: +

+
    <script>
+        menu.showItem(id);
+        menu.hideItem(id);
+    </script>
+

+The user has the possibility to check whether an item is hidden. The method returns true if the item is hidden: +

+
    <script>
+        var isHidden = menu.isItemHidden(id);
+    </script>
+
+
+

Setting Item's Text

+
+ +

+ +The user can set text for any menu item. This item's id and text are passed as parameters to the following method: +

+
    <script>
+        menu.setItemText(id, text);
+    </script>
+

+The user can get item's text using getItemText() method. The method returns the current text of the item: +

+
    <script>
+        var text = menu.getItemText(id); // returns item's text
+    </script>
+
+
+

Setting Item's Position

+
+ +

+ +Item's position in the polygon can be set applying the method setItemPosition() and passing item's id and item's position number (starting with 0) as parameters: +

+
    <script>
+        menu.setItemPosition(id,pos);
+    </script>
+

+There is the possibility to get items' position. The method returns item's position number: +

+
    <script>
+        var pos = menu.getItemPosition(id); // returns item's position
+    </script>
+
+
+

Setting User Data

+
+ +

+ +The user has the possibility to set, store, and pass values set for a certain menu item. One menu item can have several different user data stored in it. +User data can be set to any menu item. The user just needs to pass this item's id, name of the data and its value to setUserData() method: +

+
    <script>
+        menu.setUserData(id, name, value);
+    </script>
+

+An easy way to get user data is to use getUserData() method passing the item's id and data name: +

+
    <script>
+        var value = menu.getUserData(id, name);
+    </script>
+
+
+

Setting Item's Image

+
+ +

+ +Any item in a menu can have its own image displayed in the left part of item display area. setItemImage() method allows the user to set image to an item by passing the following parameters: +

+
    +
  • id - id of the item to which the image will be set;
    +
  • +
  • img - path to the image for the enabled state of the item;
    +
  • +
  • imgDis - path to the image for the disabled state of the item.
    +
  • +
+
    <script>
+        menu.setItemImage(id,img,imgDis);
+    </script>
+

+getItemImage() method gets current item images for enabled and disabled states and returns array(img, imgDis) that will contain URLs to images: +

+
    <script>
+        var imgs = menu.getItemImage(id); // returns array
+    </script>
+

+Item's image can be easily removed/cleared by means of clearItemImage() method to which the user should pass item's id: +

+
    </script>
+        menu.clearItemImage(id);
+    </script>
+
+
+

Setting Item's Tooltip

+
+ +

+ +The user can specify the supplementary information regarding the item - tooltip. setTooltip() method takes the following parameters: +

+
    +
  • id - item id;
    +
  • +
  • tip - this parameter sets the text that appears when user hovers the mouse over the item.
    +
  • +
+
    <script>
+        menu.setTooltip(id,tip);
+    </script>
+

+The following method can return current item's tooltip text: +

+
    <script>
+        var tip = menu.getTooltip(id);
+    </script>
+
+
+

Setting Item's Hotkey

+
+ +

+ +Hotkey is a short-cut to a menu option. In our menu it's just a label (text) written in the item display area. A hotkey can be set to any menu item by calling setHotKey() method and passing item's id and setting hotkey label: +

+
    <script>
+        menu.setHotKey(id, hkey);
+    </script>
+

+getHotKey() method returns current item's hotkey text: +

+
    <script>
+        var hkey = menu.getHotKey(id); // returns hotkey text
+    </script>
+
+
+

Checkbox Creation

+
+ +

+ +An item of this type has a small, square box (in the left part of item display area) in addition to item's title. Any other icons can't be added to this type of items. +This item can be created by calling addCheckBox() method that takes the following parameters: +

+
    +
  • mode - sibling|child, determines whether the checkbox is a sibling or a child;
    +
  • +
  • nextoId - id of the element,after which the new checkbox will be inserted as a sibling (parentId for a child);
    +
  • +
  • pos - item's position in the child mode (null for sibling);
    +
  • +
  • itemId - id of the new checkbox;
    +
  • +
  • itemText - the text of the new checkbox;
    +
  • +
  • state- true|false, true and false mean “checked” and “unchecked” respectively;
    +
  • +
  • disabled- true|false, true and false mean “disabled” and “enabled” respectively.
    +
  • +
+
    <script>
+        menu.addCheckbox(mode, nextToId, pos, itemId, itemText, state, disabled);
+    </script>
+

+New state (checked/unchecked) of the checkbox can be set by the following method: +

+
    <script>
+        menu.setCheckboxState(id,state);
+    </script>
+

+A simple way to get the current state of a checkbox is presented below: +

+
    <script>
+        var state = menu.getCheckboxState(id); // returns true|false
+    </script>
+
+
+

Radio Button Creation

+
+ +

+ +Item of this type has a small selectable circle (in the left part of item display area) in addition to item's title. Any other icons can't be added to this type of items. +This item can be created by calling addRadioButton() method that takes the following parameters: +

+
    +
  • mode - sibling|child, determines whether the radio button is a sibling or a child;
    +
  • +
  • nextToId - id of the element, after which the new radio button will be inserted as a sibling (parentId for a child);
    +
  • +
  • pos - item's position in the child mode (null for sibling);
    +
  • +
  • itemId - id of the new radio button;
    +
  • +
  • itemText - the text of the new radio button;
    +
  • +
  • group - name of the radio group;
    +
  • +
  • state- true|false, true and false mean “checked” and “unchecked” respectively;
    +
  • +
  • disabled- true|false, true and false mean “disabled” and “enabled” respectively.
    +
  • +
+
    <script>
+        menu.addRadioButton(mode, nextToId, pos, itemId, itemText, group, state, disabled);
+    </script>
+

+Any unchecked radio button can be made checked while currently checked radio button automatically changes its state to unchecked: +

+
    <script>
+        menu.setRadioChecked(id,state);
+    </script>
+

+An easy way to get id of the current checked radio button in a radio group is presented below: +

+
    <script>
+        var idChecked = menu.getRadioChecked(group);
+    </script>
+
+
+

Iterator

+
+ +

+ +Method forEachItem() calls a user-defined function for every existing item in the menu passing item's id into it. Using iterator can be very useful in case the user wants all the items to be subjects for the same changes. +

+
    <script>
+        menu.forEachItem(function(itemId){}); 
+    </script>
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___used_terms.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___used_terms.html new file mode 100755 index 0000000000..35f163f71d --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___used_terms.html @@ -0,0 +1,143 @@ + + + + dhtmlxmenu:used_terms [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

Used Terms

+
+ +

+ +The following terms are connected with dhtmlxMenu 2.0 component: +

+
    +
  • Menu item - a single item in a menu;
    +
  • +
  • Complex menu item - an item in a menu that has sub-items in it;
    +
  • +
  • Polygon - area where items are located;
    +
  • +
  • Top-level polygon - its items are always visible on startup. It should be noted that contextual menu doesn't have top-level polygon;
    +
  • +
  • Sub-level polygon - its items become visible when the user hovers over any complex item that has at least one visible (not hidden) sub-item in it;
    +
  • +
  • Sibling items - items that are located in one polygon. Siblings are child items of some parent item;
    +
  • +
  • Child items - items that are located in one sub-level polygon. Child items of one parent item are siblings to each other;
    +
  • +
  • Separator - the horizontal/vertical line separating groups of menu items from each other;
    +
  • +
  • Checkbox - a menu item that has a small square box (in the left part of item display area), which displays a “v” when it is clicked on by a mouse. They are provided to allow users to choose one or more options, as more than one check box can be clicked;
    +
  • +
  • Radio button - a menu item that has a small selectable circle (in the left part of item display area), which displays a “●” when it is clicked on by a mouse. Radio Buttons are grouped so that only one can be chosen at a time.
    +
  • +
+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___xml_format_template.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___xml_format_template.html new file mode 100755 index 0000000000..5caf272c5e --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/dhtmlxmenu___xml_format_template.html @@ -0,0 +1,190 @@ + + + + dhtmlxmenu:xml_format_template [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

XML Format Template

+
+ +

+This section is created in order to give the user the idea of XML Format Template. It aims at helping users in creating XML files for dhtmlxMenu initialization. +

+ +
+ +

Basic

+
+
      <?xml version="1.0"?>
+      <menu> // a top xml tag, mandatory
+          <item id="file" text="File"> // a top-level item, each item must have a unique ID
+              <item id="new" text="New"/> // a sub-level item
+              <item id="ms1" type="separator"/> // a sub-level separator item
+              ...
+              <item id="export" text="Export">
+                  <item id="export_pdf" text="PDF"/> // a sub-level item
+                  ...
+              </item>
+              ...
+          </item>
+      </menu>
+
+ +

Advanced

+
+
      <?xml version="1.0"?>
+      <menu>
+          <item id="file" text="File">
+              <item id="new" text="New" img="new.gif" imgdis="new_dis.gif"/> // a sub-level item with images for enabled/disabled states
+              <item id="ms1" type="separator"/>
+              ...
+              <item id="export" text="Export">
+                  <item id="export_pdf" text="PDF" enabled="false"/> // a sub-level item disabled by default
+                  ...
+              </item>
+              ...
+          </item>
+      </menu>
+
+ +

Full

+
+
      <?xml version="1.0"?>
+      <menu>
+          <item id="file" text="File">
+              <item id="new" text="New" img="new.gif" imgdis="new_dis.gif">
+                  <hotkey>Ctrl+N</hotkey> // a hotkey (just a text) to a menu item
+              </item>
+              <item id="ms1" type="separator"/>
+              <item id="udf" text="UDF">
+                  <userdata name="align">left</userdata> // userdata
+              </item>
+              ...
+              <item id="export" text="Export">
+                  <item id="export_pdf" text="PDF" enabled="false"/>
+                  ...
+              </item>
+              ...
+              <item id="eol" text="End Of Line">
+                  <item id="eol_u" text="Unix (\n)" type="radio" group="eol" checked="true"/> // a radiobutton, group "eol", checked by default
+                  <item id="eol_w" text="DOS/Windows (\r\n)" type="radio" group="eol"/> // a radiobutton, group "eol"
+                  <item id="eol_m" text="MacOS (\r)" type="radio" group="eol"/> // a radiobutton, group "eol"
+                  <item id="eol_m" text="MacOS (\r)" type="radio" group="eol"/> // a radiobutton, group "eol", disabled
+                  // we got a radiogroup "eol" with 4 buttons, 1 disabled
+              </item>
+              <item id="ms2" type="separator"/>
+              <item id="ignorecase" text="Ignore Case" type="checkbox" checked="true" enabled="false"/> // a disabled checked checkbox
+              <item id="checkspelling" text="Check Spelling" type="checkbox"/> // an unchecked checkbox
+          </item>
+          <item id="company" text="Company">
+              <href target="blank"><![CDATA[http://dhtmlx.com/docs/company.shtml]]></href>
+              // link, page will opened in new window
+          </item>
+      </menu>
+
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/icons___file.gif b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/icons___file.gif new file mode 100755 index 0000000000000000000000000000000000000000..31d23fd4479bd8817a708a41ae03eccfacb90e9a GIT binary patch literal 622 zcmZ?wbhEHb6k`x$cox9WH-G+_yLbQp|9|w_wJT4bZasGF;ipeGU%a^b?Ah)!XLg)C zdH>CuO@|L}JAVAjk00ND{rdg)@3rU8FF$#5=9~}-`;xt`pu_L?|=Th{^G^$H*c10-~QwG@26kBY(H^g|-^N3SK7IfG?f37`zka>>^5xIJf9v+|zxe3U zzkmO}{{H>v@84J7zkmPp=lG2qUw-}i`sdH9Z{I$A`?mhTfu-BGzy17q-}&?JzJ5Lb z;KAuTcWyp?`svrN4F?bY{P*wYpFhX0UkCb>VK4#3pDc_F3;_%}AV-1Xgn|8ZLqJn= zOKV$uM`u@es~2Pcgnri^2?u!_6+JdKVF|fzT@zC=Zgvh9UMAi7op$!_i z?{Vbp;xbc|y>m}oo~w)1KttlWKQpJAj^=_BEo^);PizYmoH=-fyYe_Z8k9U+1-VmS z>{#g0!oX-*=1|ad@gR?2S5S?}0>(C84s|0F&xIYV4YMtZHzgd|y!`z9047ETYXDZP B7QFxf literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/icons___menu.gif b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/icons___menu.gif new file mode 100755 index 0000000000000000000000000000000000000000..2fbd60671c8ac23b0b3b5a94a2dd03135738f70f GIT binary patch literal 270 zcmZ?wbhEHb6k`x$I3mDMU0q#LQc`;Q)xCT79z1yP|NsBAw6xc+UvJyC?egWzKY#vw z_Uzf`&!2DJys56PZoBX(PyqueK=CIFBLjl~gAPa&$W8{M#X4~h23FJ7rh^tb9BxkvFJyeFb7W2QS{o$nzrdkm4inD<1BnT}V&V;K9}{AD zHZaULYjjoM;bO1#-~YSLs3NDixm=5(qqD1{o!PX%pP!+ZZ^FdMnhY${rnh&`?`2-J fc<~I4Oui*cmZ`IGtXj&Z%{ISNXZsFyMFwjC*PUSv literal 0 HcmV?d00001 diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/index.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/index.html new file mode 100755 index 0000000000..68f77b6cbe --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/index.html @@ -0,0 +1,231 @@ + + + + dhtmlxmenu:toc [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +
+
Table of Contents
+ +
+ + +

+

+ +

+ +

dhtmlxMenu

+
+ +

+ +dhtmlxMenu is a component that provides an easy way to add a professional drop down menu or a contextual menu to user's projects. This component is highly customizable and supports a wide range of features. dhtmlxMenu component can be a good navigation aid to web sites, help systems, etc. +

+ +

+As a matter of fact, this component will work well on any page and in any browser that support JavaScript. +

+ +
+
+

Main Features

+
+
    +
  • Multibrowser/Multiplatform support;
    +
  • +
  • Full control with JavaScript API;
    +
  • +
  • Dropdown/Context modes;
    +
  • +
  • Multiple ways of data loading (AJAX, HTML, Script Object, Script API);
    +
  • +
  • Dynamical loading;
    +
  • +
  • Tooltips support;
    +
  • +
  • Different skins.
    +
  • +
+ +
+
+

Guide

+ +
+

Script API Reference

+ +
+ +

+
+ +

+ +

+Dear User, +

+ +

+Your opinion is important for us. Please feel free to contact us, say what for, where are you using menu, which methods are you using, what do you like, what don't like, what would you like to see in the future release. This information will help us to make dhtmlxMenu better.
+ +

+ +

+Thanks, your dhtmlxTeam.
+ +

+ +

+support@dhtmlx.com
+ + +

+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/others___supported_browsers.html b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/others___supported_browsers.html new file mode 100755 index 0000000000..01683aed31 --- /dev/null +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/dhtmlxmenu/others___supported_browsers.html @@ -0,0 +1,130 @@ + + + + others:supported_browsers [DHX documentation] + + + +
+ +
+ +
+ + DHTMLX Docs & Samples Explorer + +
+
+
+ + +
+ + +
+ + + + + + + +
+ + +
+ + +

+

+ +

+ +

Supported Browsers

+
+
    +
  • IE 5.5 and above;
    +
  • +
  • Safari 3.x and above;
    +
  • +
  • Firefox 1.5 and above;
    +
  • +
  • Opera 9 and above;
    +
  • +
  • Google Chrome 0.2 and above;
    +
  • +
  • Any other browser based on mozilla or web-kit engine.
    +
  • +
+ +
+
+ +
+ +
 
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/index.html b/phpgwapi/js/dhtmlxtree/docsExplorer/index.html index d0dd58c147..6bb1547759 100755 --- a/phpgwapi/js/dhtmlxtree/docsExplorer/index.html +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/index.html @@ -36,6 +36,7 @@
@@ -123,4 +124,4 @@
- \ No newline at end of file + diff --git a/phpgwapi/js/dhtmlxtree/docsExplorer/samples.html b/phpgwapi/js/dhtmlxtree/docsExplorer/samples.html index 01f5be38e2..edbe8f1b13 100755 --- a/phpgwapi/js/dhtmlxtree/docsExplorer/samples.html +++ b/phpgwapi/js/dhtmlxtree/docsExplorer/samples.html @@ -31,6 +31,7 @@
@@ -101,4 +102,4 @@
- \ No newline at end of file +