From: <hn...@us...> - 2015-07-28 13:01:15
|
Author: hnategh Date: Tue Jul 28 15:01:07 2015 New Revision: 53232 URL: http://svn.stylite.de/viewvc/egroupware?rev=53232&view=rev Log: added more docu and some constants with sane names Modified: branches/14.2/etemplate/ (props changed) branches/14.2/etemplate/inc/class.etemplate_widget_tree.inc.php Propchange: branches/14.2/etemplate/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jul 28 15:01:07 2015 @@ -1,1 +1,1 @@ -/trunk/etemplate:51364,51378,51382,51385,51389,51391,51397-51398,51405,51410,51412,51424-51425,51435,51437-51438,51450,51453-51454,51465,51488,51490,51516,51518,51522,51531,51533,51548,51551,51562,51565,51567,51580,51586-51589,51595,51600,51612,51628,51636,51645-51646,51649-51651,51680,51684,51690-51691,51695,51708,51712,51716-51717,51720,51791,51812,51814,51817,51822,51826,51830,51834,51874-51875,51886,51894,51903,51907-51908,51929,51933,51943,51948,51950-51951,51953,51958,51971,51997,51999,52001,52012,52022,52036,52051,52072,52088,52093,52100,52103,52114,52117,52152-52153,52163,52175-52176,52188,52192,52194-52196,52204,52222,52224,52229,52232,52236,52238,52243,52245,52253,52255,52258,52261-52262,52268,52275-52276,52278,52282,52285-52286,52296,52307,52321,52330,52334-52336,52340-52341,52353-52355,52357,52360,52368,52372-52373,52375,52379,52385,52406,52412,52423,52440,52447,52449,52455,52460,52470,52472,52477,52482,52487,52492,52495-52496,52510,52514,52519,52524,52555,52570,52573-52 574,52583,52610,52624,52627,52635,52664,52667,52688,52690,52696,52698,52708,52713,52718,52720,52726,52728,52732,52734,52749,52753,52778,52787-52788,52790,52804-52806,52819,52832,52842,52844,52851,52914,52920,52946,52982,53008-53009,53021-53022,53024,53061,53082,53103,53109,53135,53205,53209,53211 +/trunk/etemplate:51364,51378,51382,51385,51389,51391,51397-51398,51405,51410,51412,51424-51425,51435,51437-51438,51450,51453-51454,51465,51488,51490,51516,51518,51522,51531,51533,51548,51551,51562,51565,51567,51580,51586-51589,51595,51600,51612,51628,51636,51645-51646,51649-51651,51680,51684,51690-51691,51695,51708,51712,51716-51717,51720,51757,51791,51812,51814,51817,51822,51826,51830,51834,51874-51875,51886,51894,51903,51907-51908,51929,51933,51943,51948,51950-51951,51953,51958,51971,51997,51999,52001,52012,52022,52036,52051,52072,52088,52093,52100,52103,52114,52117,52152-52153,52163,52175-52176,52188,52192,52194-52196,52204,52222,52224,52229,52232,52236,52238,52243,52245,52253,52255,52258,52261-52262,52268,52275-52276,52278,52282,52285-52286,52296,52307,52321,52330,52334-52336,52340-52341,52353-52355,52357,52360,52368,52372-52373,52375,52379,52385,52406,52412,52423,52440,52447,52449,52455,52460,52470,52472,52477,52482,52487,52492,52495-52496,52510,52514,52519,52524,52555,52570,52 573-52574,52583,52610,52624,52627,52635,52664,52667,52688,52690,52696,52698,52708,52713,52718,52720,52726,52728,52732,52734,52749,52753,52778,52787-52788,52790,52804-52806,52819,52832,52842,52844,52851,52914,52920,52946,52982,53008-53009,53021-53022,53024,53061,53082,53103,53109,53135,53205,53209,53211 Modified: branches/14.2/etemplate/inc/class.etemplate_widget_tree.inc.php URL: http://svn.stylite.de/viewvc/egroupware/branches/14.2/etemplate/inc/class.etemplate_widget_tree.inc.php?rev=53232&r1=53231&r2=53232&view=diff ============================================================================== --- branches/14.2/etemplate/inc/class.etemplate_widget_tree.inc.php (original) +++ branches/14.2/etemplate/inc/class.etemplate_widget_tree.inc.php Tue Jul 28 15:01:07 2015 @@ -20,25 +20,35 @@ * * Example initialisation of tree via $sel_options array: * + * use \etemplate_widget_tree as tree; + * * $sel_options['tree'] = array( - * 'id' => 0, 'item' => array( - * array('id' => '/INBOX', 'text' => 'INBOX', 'tooltip' => 'Your inbox', 'open' => 1, 'im1' => 'kfm_home.png', 'im2' => 'kfm_home.png', 'child' => '1', 'item' => array( - * array('id' => '/INBOX/sub', 'text' => 'sub', 'im0' => 'folderClosed.gif'), - * array('id' => '/INBOX/sub2', 'text' => 'sub2', 'im0' => 'folderClosed.gif'), - * )), - * array('id' => '/user', 'text' => 'user', 'child' => '1', 'item' => array( - * array('id' => '/user/birgit', 'text' => 'birgit', 'im0' => 'folderClosed.gif'), - * )), + * tree::ID => 0, tree::CHILDREN => array( // ID of root has to be 0! + * array( + * tree::ID => '/INBOX', + * tree::LABEL => 'INBOX', tree::TOOLTIP => 'Your inbox', + * tree::OPEN => 1, tree::IMAGE_FOLDER_OPEN => 'kfm_home.png', tree::IMAGE_FOLDER_CLOSED => 'kfm_home.png', + * tree::CHILDREN => array( + * array(tree::ID => '/INBOX/sub', tree::LABEL => 'sub', tree::IMAGE_LEAF => 'folderClosed.gif'), + * array(tree::ID => '/INBOX/sub2', tree::LABEL => 'sub2', tree::IMAGE_LEAF => 'folderClosed.gif'), + * ), + * ), + * array( + * tree::ID => '/user', + * tree::LABEL => 'user', + * tree::CHILDREN => array( + * array(tree::ID => '/user/birgit', tree::LABEL => 'birgit', tree::IMAGE_LEAF => 'folderClosed.gif'), + * array(tree::ID => '/user/ralf', tree::LABEL => 'ralf', tree::AUTOLOAD_CHILDREN => 1), + * ) + * ), * )); * * Please note: - * - id of root-item has to be 0, ids of sub-items can be strings or numbers - * - item has to be an array (not json object: numerical keys 0, 1, ...) - * - im0: leaf image (default: leaf.gif), im1: open folder image (default: folderOpen.gif), - * im2: closed folder (default: folderClosed.gif) - * - for arbitrary image eg. $icon = common::image($app, 'navbar') use following code: - * list(,$icon) = explode($GLOBALS['egw_info']['server']['webserver_url'], $icon); - * $icon = '../../../../..'.$icon; + * - for more info see class constants below + * - all images have to be under url specified in attribute "image_path", default $websererUrl/phpgwapi/templates/default/image/dhtmlxtree + * - you can use attribute "std_images" to supply different standard images from default + * [ "leaf.gif", "folderOpen.gif", "folderClosed.gif" ] + * - images can also be specified as standard "app/image" string, client-side will convert them to url relativ to image_path * - json autoloading uses identical data-structur and should use etemplate_widget_tree::send_quote_json($data) * to send data to client, as it takes care of html-encoding of node text * - if autoloading is enabled, you have to validate returned results yourself, as widget does not know (all) valid id's @@ -46,12 +56,53 @@ class etemplate_widget_tree extends etemplate_widget { /** + * key for id of node, has to be unique, eg. a path, nummerical id is allowed too + * if of root has to be 0! + */ + const ID = 'id'; + /** + * key for label of node + */ + const LABEL = 'text'; + /** + * key for tooltip / title of node + */ + const TOOLTIP = 'tooltip'; + /** + * key for array of children (not json object: numerical keys 0, 1, ...) + */ + const CHILDREN = 'item'; + /** + * key if children exist and should be autoloaded, set value to 1 + */ + const AUTOLOAD_CHILDREN = 'child'; + /** + * key of relative url of leaf image or standard "app/image" string + * used if node has not [AUTOLOAD_]CHILDREN set + */ + const IMAGE_LEAF = 'im0'; + /** + * key of relative url of open folder image or standard "app/image" string + * used if node has [AUTOLOAD_]CHILDREN set AND is open + */ + const IMAGE_FOLDER_OPEN = 'im1'; + /** + * key of relative url of closed folder image or standard "app/image" string + * used if node has [AUTOLOAD_]CHILDREN set AND is closed + */ + const IMAGE_FOLDER_CLOSED = 'im2'; + /** + * key of flag if folder is open, default folder is closed + */ + const OPEN = 'open'; + + /** * Parse and set extra attributes from xml in template object * * Reimplemented to parse our differnt attributes * * @param string|XMLReader $xml - * @param boolean $cloned=true true: object does NOT need to be cloned, false: to set attribute, set them in cloned object + * @param boolean $cloned =true true: object does NOT need to be cloned, false: to set attribute, set them in cloned object * @return etemplate_widget_template current object or clone, if any attribute was set */ public function set_attrs($xml, $cloned=true) @@ -236,7 +287,7 @@ /** * Get template specific image path * - * @param string $image_path=null default path to use, or empty to use default of /phpgwapi/templates/default/images/dhtmlxtree + * @param string $image_path =null default path to use, or empty to use default of /phpgwapi/templates/default/images/dhtmlxtree * @return string templated url if available, otherwise default path */ public static function templateImagePath($image_path=null) @@ -334,8 +385,8 @@ * @param string $widget_type * @param string $legacy_options options string of widget * @param boolean $no_lang=false initial value of no_lang attribute (some types set it to true) - * @param boolean $readonly=false - * @param mixed $value=null value for readonly + * @param boolean $readonly =false + * @param mixed $value =null value for readonly * @return array with value => label pairs */ public static function typeOptions($widget_type, $legacy_options, &$no_lang=false, $readonly=false, $value=null) |