Hi Aaron, On Tue, Nov 8, 2011 at 12:08 PM, Ashtar Communications <ashtarcommunicati...@gmail.com> wrote: > Thomas, > > Thank for very much for your suggestion. The group syntax was exactly > what I needed. > > However, I am still having some trouble with getting the TOC macro to > correctly pick up wiki syntax rendered with $doc.display() that is > contained in an object's property. > > I have also noticed that using wiki syntax instead of html, > $doc.display seems to behave differently and overrides the default > editor setting. > > Here is my example - I am using wiki syntax similar to the following > (simplified for example's sake): > > ************START CODE**************** > (% class="grid sortable doOddEven" id="Table" %) > (% class="sortHeader" %)|=Field 1|=Field 2 > |Data 1|((( > (% class="mktree" name="tree" %) > * ((( > =$doc.display("String", $object)= > ))) > ** ((( > $doc.display("TextArea", $object) > ))) > ))) > > {{toc /}} > ************END CODE**************** > > The TextArea property contains a large quantity of text formatted in > xwiki syntax. The display works just fine - the contents of the > property render correctly and display in the table. > > Two problems: > > 1) The TOC macro only recognizes the String property that I manually > enclose in "=" Heading 1 syntax. It doesn't seem to be picking up the > wiki syntax contained in the object properties. So if I had 3 objects > on the page, I get: > > *String 1 > *String 2 > *String 3 > > Instead of: > > *String 1 > **Heading 2 from TextArea** > **Heading 2 from TextArea** > *String 2 > Etc.... > > I'm afraid I don't know very much about the order of macro rendering > or whether it is even possible to accomplish what I am describing... > > 2) When I use the Inline editing mode, another TextArea property of > the object (not shown in the code above) does not show up with the > WYSIWYG editor, even though it is set as the default editor. When > using the {{html}} macro and code like this: > > <li>$doc.display("TextAreaWYSIWYG", $object)</li> > > The property correctly displays in Inline mode with the WYSIWYG > editor. Now that I am using only wiki syntax to display the table, all > TextArea properties show up in the Plain Text editor, regardless of > their default setting. Am I doing something wrong?
Can you paste the code that doesn't work? (i.e. without using the HTML macro). Also, can you print this: $context.getEditorWysiwyg() at the end of your sheet. It will display a comma-separated list of field IDs that require WYSIWYG editing. Are your fields listed there when editing in Inline mode? Hope this helps, Marius > > Many thanks for all of the help, I have made very significant progress > on my project thanks to this list... > > aaron > > On Sun, Oct 23, 2011 at 1:50 AM, Thomas Mortagne > <thomas.morta...@xwiki.com> wrote: >> On Sun, Oct 23, 2011 at 12:27 AM, Ashtar Communications >> <ashtarcommunicati...@gmail.com> wrote: >>> Thank you for the feedback - I have been playing with passing custom >>> parameters, and have a few additional clarification questions. >>> >>> It seems that I need to use pure wiki syntax if I want the TOC macro >>> to work right. I am currently relying on the {{html}} macro for two >>> things which I can't figure out how to replace with custom parameters: >>> >>> 1) Nested <ul>'s - I can only get the custom parameter to apply to one >>> line, and can't figure out how to nest another <ul>. >>> >>> Something like this: >>> (% class="mktree" name="tree" %) >>> * $doc.display("Title", $obj) >>> <velocity code, including an {{html}} block to create an <input> element> >>> **Additional parts of tree >>> ***Additional parts of tree >>> >>> Just returns two different <ul>'s, only the first one of which has the >>> custom parameter. Is this because the additional lines of code before >>> continuing the tree forces the rendering engine to close the first >>> <ul>? Any way to override that? >> >> Here is an example of wiki syntax with custom parameters on each ul: >> >> (% param=value %) >> * toto >> (% param2=value2 %) >> ** titi >> >> but custom parameters on li is not supported yet. >> >>> >>> 2) Table Sorter - Unfortunately, the whole set of object display code >>> is wrapped in an {{html}} macro because I am using the old Table >>> Sorter extension code. This is because I want to display multiple >>> properties from each object in a single table cell. Looking at the >>> Live Table macro, it seems that it only supports binding a table to a >>> class and then setting a column to display a single property - where I >>> need a single cell to include multiple properties displayed using >>> custom code. >>> >>> Accomplishing this using the html syntax is simple - I can include an >>> arbitrary amount of code in each <td> tag. >>> >>> To use wiki syntax for a sortable table, the XWiki Syntax document >>> says I should use this: >>> >>> (% class="grid sortable filterable doOddEven" id="tableid" %) >>> (% class="sortHeader" %)|=Title 1|=Title 2 >>> |Cell 11|Cell 12 >>> |Cell 21|Cell 22 >>> >>> This creates the table fine - but I can't figure out how to include >>> additional multi-line code in a single cell. As soon as I put in a new >>> line, etc...it closes the table. Is there any way to accomplish this >>> using wiki syntax? Should I be trying to use LiveTable instead >>> somehow? >> >> You can put as many lines you want without closing the table but it's >> closed by an empty line. If you need to have several paragraphs you >> can use "group" syntax >> (http://platform.xwiki.org/xwiki/bin/view/Main/XWikiSyntax#HGroups) as >> in >> >> (% class="grid sortable filterable doOddEven" id="tableid" %) >> (% class="sortHeader" %)|=Title 1|=Title 2 >> |Cell 11|((( >> Cell 12 >> >> with >> >> several >> >> paragraphs >> )))|Cell 21|Cell 22 >> >>> >>> If the above is confusing, here's what I'm really asking: >>> >>> I want to use a sortable table to display multiple objects of the same >>> class on the same page. I would like that table to display multiple >>> properties of each object in certain cells in the row. Some of those >>> properties will contain wiki syntax - which I would like to be >>> readable by the TOC macro after the table has been rendered. Is there >>> a way to accomplish this? >>> >>> Thank you, >>> >>> Aaron >>> >>> On Thu, Oct 20, 2011 at 1:18 PM, Ashtar Communications >>> <ashtarcommunicati...@gmail.com> wrote: >>>> Interesting - I had missed the ability to pass custom parameters using >>>> wiki syntax. I will play with that and see if I can get it to output >>>> the same html I need. >>>> >>>> I am in fact using a series of nested <ul> within each <div>, that >>>> forms a collapsible javascript tree. The js is touchy about the exact >>>> formatting of the UL - if I can't get the tags to nest correctly using >>>> wiki syntax then I may be back with additional questions. >>>> >>>> A more accurate but simplified version of each object's display code is: >>>> >>>> <ul class="tree"> >>>> <li> >>>> <h2>some content</h2> >>>> <input /> >>>> <input /> >>>> </li> >>>> <ul> >>>> <li>Some velocity code, returns wiki syntax with headings</li> >>>> <li>Some velocity code, returns wiki syntax with headings</li> >>>> <li>Some velocity code, returns wiki syntax with headings</li> >>>> </ul> >>>> </ul> >>>> >>>> Thanks much, >>>> >>>> aaron >>>> >>>> On Thu, Oct 20, 2011 at 12:52 PM, Thomas Mortagne >>>> <thomas.morta...@xwiki.com> wrote: >>>>> On Thu, Oct 20, 2011 at 7:10 PM, Ashtar Communications >>>>> <ashtarcommunicati...@gmail.com> wrote: >>>>>> That makes sense, thank you for the clarification. Unfortunately, I am >>>>>> using the HTML macro to generate the final output - this is because I >>>>>> need to use <ul>'s with a javascript to make the div's into >>>>>> collapsible trees. >>>>>> >>>>>> Does that mean I'm out of luck? >>>>> >>>>> <ul> ? I don't see much lists in your example, did you mean div ? >>>>> >>>>> You can get div with custom parameters in pure wiki syntax the following >>>>> way: >>>>> >>>>> (% class="somecssclass" %) >>>>> ((( >>>>> div content >>>>> ))) >>>>> >>>>> which produces >>>>> >>>>> <div class="somecssclass">div content</div> >>>>> >>>>> And if you really mean list, list most of the wiki elements list >>>>> support custom parameters too: >>>>> >>>>> (% class="somecssclass" %) >>>>> * mylist element 1 >>>>> * mylist element 2 >>>>> >>>>> which produces >>>>> >>>>> <ul class="somecssclass"> >>>>> <li>mylist element 1</li> >>>>> <li>mylist element 2</li> >>>>> </ul >>>>> >>>>> You can put anything you want in custom parameters and html renderer >>>>> will print them as you provided them depending of the element. >>>>> >>>>> Using the html macro should always be the last resort, usually when >>>>> you get some html you don't really have control on that you need to >>>>> display or when you need to display elements not supported by the wiki >>>>> syntax (yet) like <form> related stuff. >>>>> >>>>>> >>>>>> On Thu, Oct 20, 2011 at 12:45 AM, Thomas Mortagne >>>>>> <thomas.morta...@xwiki.com> wrote: >>>>>>> On Thu, Oct 20, 2011 at 8:02 AM, Ashtar Communications >>>>>>> <ashtarcommunicati...@gmail.com> wrote: >>>>>>>> One more tonight... >>>>>>>> >>>>>>>> It seems that I am unable to use the built-in TOC macro for wiki >>>>>>>> content which is generated dynamically from a Class Sheet {{include}}. >>>>>>>> I assume this is because the TOC macro is rendered before (or >>>>>>>> simultaneously with) the include macro which actually displays the >>>>>>>> objects on the page, so as far as the TOC macro knows, there are no >>>>>>>> wiki headings on the page (yet) to create an outline from. >>>>>>> >>>>>>> Actually no, there is a concept of priority in macros and TOC macro >>>>>>> priority is very low specifically to support use case like that. But >>>>>>> TOC only support (generated or not) real wiki content which mean if >>>>>>> you have anything in a html macro it will not support it because html >>>>>>> macro produce a RawBlock which is a black box containing html syntax >>>>>>> for other macros. >>>>>>> >>>>>>> So if you use case is just what you described it should work well. >>>>>>> >>>>>>>> >>>>>>>> Does anyone have any suggestions on how to parse through the final >>>>>>>> rendered output of the wiki page to generate a table of contents for >>>>>>>> dynamically generated wiki content? If I'm missing something with the >>>>>>>> existing macro, that would be great... >>>>>>>> >>>>>>>> What I am looking to do is write some code (preferably in a panel, I >>>>>>>> think), which creates a TOC-style index of all the wiki-syntax >>>>>>>> headings contained on the fully rendered page, after the content has >>>>>>>> been generated from TextArea properties of a set of attached objects >>>>>>>> to the page. >>>>>>>> >>>>>>>> I have written custom display code that loops through every object of >>>>>>>> a custom class attached to a page and then displays some of that >>>>>>>> objects properties in a series of collapsible div's. Each object >>>>>>>> contains two TextArea properties - one for WYSIWYG data, and one for >>>>>>>> plain text, which would be formatted in wiki syntax. The result is a >>>>>>>> list of each objects name with an expandable <div> full of the >>>>>>>> wiki-rendered content contained in the TextArea properties. I would >>>>>>>> like to generate a TOC which "reads through" that content and comes up >>>>>>>> with a list of only the relevant headings under each displayed >>>>>>>> "object" >>>>>>>> >>>>>>>> For example, on a page with 3 objects, the custom display code in the >>>>>>>> Class Sheet results in this (the wiki syntax appears fully rendered, >>>>>>>> obviously): >>>>>>>> >>>>>>>> Object 1 Name - Click to expand >>>>>>>> ******Hidden until clicked******** >>>>>>>> ==Heading 2== >>>>>>>> ===Heading 3=== >>>>>>>> Normal text, etc... >>>>>>>> >>>>>>>> Object 2 Name - Click to expand >>>>>>>> ******Hidden until clicked******** >>>>>>>> ==Heading 2== >>>>>>>> ===Heading 3=== >>>>>>>> Normal text, etc... >>>>>>>> >>>>>>>> Object 3 Name - Click to expand >>>>>>>> ******Hidden until clicked******** >>>>>>>> ==Heading 2== >>>>>>>> ===Heading 3=== >>>>>>>> Normal text, etc... >>>>>>>> >>>>>>>> >>>>>>>> I would like the TOC to return: >>>>>>>> >>>>>>>> Object 1 >>>>>>>> Heading 2 >>>>>>>> Heading 3 >>>>>>>> Object 2 >>>>>>>> Heading 2 >>>>>>>> Heading 3 >>>>>>>> Object 3 >>>>>>>> Heading 2 >>>>>>>> Heading 3 >>>>>>>> >>>>>>>> Even when all the div's are initially collapsed/hidden. It would be >>>>>>>> ideal if the TOC was clickable and went to the relevant anchor... >>>>>>> >>>>>>> Are the divs done using html macro or using wiki syntax ? >>>>>>> >>>>>>>> >>>>>>>> I can obviously use getValue() with each TextArea property to return a >>>>>>>> string with that objects wiki syntax - but I don't have an easy way to >>>>>>>> parse that string to only return the heading levels... >>>>>>>> >>>>>>>> Any guidance would be appreciated. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> aaron >>>>>>>> _______________________________________________ >>>>>>>> users mailing list >>>>>>>> users@xwiki.org >>>>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thomas Mortagne >>>>>>> _______________________________________________ >>>>>>> users mailing list >>>>>>> users@xwiki.org >>>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>>> >>>>>> _______________________________________________ >>>>>> users mailing list >>>>>> users@xwiki.org >>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Thomas Mortagne >>>>> _______________________________________________ >>>>> users mailing list >>>>> users@xwiki.org >>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>> >>>> >>> _______________________________________________ >>> users mailing list >>> users@xwiki.org >>> http://lists.xwiki.org/mailman/listinfo/users >>> >> >> >> >> -- >> Thomas Mortagne >> _______________________________________________ >> users mailing list >> users@xwiki.org >> http://lists.xwiki.org/mailman/listinfo/users >> > _______________________________________________ > users mailing list > users@xwiki.org > http://lists.xwiki.org/mailman/listinfo/users > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users