Home
Capitoli 2012
Log-in
Codice sorgente Wiki di
Tabs macro
Nascondi i numeri di riga
1: {{box cssClass="floatinginfobox" title="**Contents**"}}{{toc start="2" depth="6" numbered="false" scope="page" /}}{{/box}} 2: 3: {{velocity}} 4: #macro(tabs $tabsKeyNames) 5: ## for debugging, please 6: ## 1) copy/paste the macro code from macro object into here 7: ## 2) replace #set ($tabsSortedMapString = $context.macro.params.tabsKeyNames) with #set ($tabsSortedMapString = $tabsKeyNames) 8: #end 9: {{/velocity}} 10: 11: {{info}}This is home and test page for the "tabs" macro.{{/info}} 12: Creates tabbed view for specified content areas wrapped in <div/>s with unique ids 13: 14: == Usage == 15: 16: {{box}} 17: 1. Define where tabs should be rendered {{{{{tabs idsToLabels='tabId1=Tab One, tabId2=Tab Two, ..., tabIdN=Tab N' /}}}}} 18: 2. Define tabs content in {{{(%id="<unique tab id>"%)(((<tab content here>)))}}}: 19: {{{(%id="tabId1"%)(((Tab 1 Content)))}}} 20: {{{(%id="tabId2"%)(((Tab 2 Content)))}}} 21: ... 22: {{{(%id="tabIdN"%)(((Tab N Content)))}}} 23: {{/box}} 24: 25: == Parameters definition == 26: 27: |=Name |=Optional |=Allowed values |=Default value |=Description 28: |idsToLabels |no |String | - |This parameter required a comma-separated tab id to tab label values sting formatted like idsToLabels='tabId1=Tab One, tabId2=Tab Two, tabId3=TabThree'. 29: 30: == Known issues == 31: * Tab size is fixed (toucan skin), labels that do not fit will get trimmed (see [[Tab name too long>>#HTabnametoolong?skin=toucan]]) 32: * Layout consistency is dependent on white-spaces (see [[Interesting layout bugs>>#HInterestinglayoutbugs]]) 33: 34: == Examples == 35: 36: === Content generated by XWiki-wide macro === 37: {{tabs idsToLabels='tabId11=My xwiki-wide tabs, tabId12=My working tabs :)' /}} 38: (%id="tabId11"%)((({{box cssClass="tabId11div"}} 39: First tab! 40: {{/box}} 41: I can post any content here 42: ))) 43: 44: (%id="tabId12"%)((({{box cssClass="tabId12div"}} 45: Second tab! 46: {{/box}} 47: And here too 48: ))) 49: 50: 51: === Known bugs example === 52: ==== Tab name too long ==== 53: You should view this issue in [[Toucan>>#HTabnametoolong?skin=toucan]] skin. 54: Content is generated from this code: ##~{~{tabs idsToLabels='sql2key1=Small tab, sql2key2=**Second large tab with large label**' /~}~}## 55: {{tabs idsToLabels='sql2key1=Small tab, sql2key2=Second large tab with large label' /}} 56: (%id="sql2key1"%)((({{code language="sql" }} 57: SELECT COUNT(ctg_id) AS col_0_0_ FROM categories 58: -- some text 59: -- several lines 60: -- of comments 61: -- describing this sql query 62: {{/code}}))) 63: 64: (%id="sql2key2"%)((({{code language="sql"}} 65: SELECT COUNT(ctg_id) AS col_0_0_ FROM categories2 66: -- another tab with text 67: 68: -- Testing content overflow 69: -- Text below this box ... 70: -- ... should not get covered with it 71: 72: -- just check this!!! 73: 74: -- btw: no extra-paragraph has been added before the macro 75: {{/code}}))) 76: 77: ==== Interesting layout bugs ==== 78: ===== White spaces before ~(~%id ===== 79: {{tabs idsToLabels='sql3key1=Tab 1, sql3key2=Tab 2' /}} 80: (%id="sql2key1"%)((({{code language="sql" }} 81: SELECT COUNT(ctg_id) AS col_0_0_ FROM categories 82: -- some text 83: -- of comments 84: -- describing this sql query 85: {{/code}}))) 86: 87: (%id="sql3key2"%)((({{code language="sql"}} 88: SELECT COUNT(ctg_id) AS col_0_0_ FROM categories2 89: -- another tab with text 90: -- some text 91: -- more lines in comments 92: -- describing this sql query 93: {{/code}}))) 94: 95: ===== White spaces before ~{~{code ===== 96: Check this bug in both [[Colibri>>#HWhitespacesbeforecode?skin=colibri]] and [[Toucan>>#HWhitespacesbeforecode?skin=toucan]] skins. 97: {{tabs idsToLabels='sql4key1=Tab 1, sql4key2=Tab 2' /}} 98: (%id="sql4key1"%)((( 99: {{code language="sql" }} 100: SELECT COUNT(ctg_id) AS col_0_0_ FROM categories 101: -- some text 102: -- of comments 103: -- describing this sql query 104: {{/code}}))) 105: 106: (%id="sql4key2"%)((( 107: {{code language="sql"}} 108: SELECT COUNT(ctg_id) AS col_0_0_ FROM categories2 109: -- another tab with text 110: -- some text 111: -- more lines in comments 112: -- describing this sql query 113: {{/code}}))) 114: 115: === Example for debugging === 116: Content generated by in-page macro (used for quick macro debugging). 117: See instructions for debugging at the top of the page 118: {{velocity}}#tabs('tabId31=Tab one, tabId32=Tab 2'){{/velocity}} 119: (%id="tabId31"%)((({{box }} 120: First tab content 121: {{/box}}))) 122: 123: (%id="tabId32"%)((({{box }} 124: Second tab content 125: {{/box}})))