On Thu, Nov 10, 2016 at 12:53 PM, D R <rir....@gmail.com> wrote:

> Thanks Marius,
>
> can you tell me how to avoid this and get the desired result or where I can
> find the information?
>
> Regards,
> Dennis
>
> 2016-11-08 18:46 GMT+01:00 Marius Dumitru Florea <
> mariusdumitru.flo...@xwiki.com>:
>
> > On Tue, Nov 8, 2016 at 4:38 PM, D R <rir....@gmail.com> wrote:
> >
> > > Hi,
> > >
> > > Nobody here who can help me fix the Javascript Extension?
> > >
> > > Regards,
> > > Dennis
> > >
> > >
> > > 2016-11-04 14:18 GMT+01:00 D R <rir....@gmail.com>:
> > >
> > > > Hi community,
> > > >
> > > > I'm having a hard time getting a Javascript Extension for an
> > > > AppWithinMinutes livetable to work.
> > > >
> > > > I have several livetable "enhancements" in it like changing
> background
> > > > color per field value which work properly.
> > > >
> > > > As a reference I've used the example:
> > > > http://snippets.xwiki.org/xwiki/bin/view/Extension/
> > > Background+color+for+a+
> > > > livetable
> > > >
> > > > Now I want to change the display of the value of a specific column,
> for
> > > > example to display an image or a button next to the value. This works
> > > only
> > > > for the last column in the livetable. All other rows look strange.
> > > >
> > > > Example:
> > > >
> > > > The simplified code:
> > > > ```
> > >
> >
> >
>


> > > > document.observe("xwiki:livetable:newrow", function(ev){
> > > >   $$('.sTxtUser').each(function(element){
>

See
http://platform.xwiki.org/xwiki/bin/view/DevGuide/JavaScriptAPI#HLivetableevents28livetable.js29
.

"*xwiki:livetable:newrow* (event.memo.row holds the new row)"

Thus you can access the cell with:

var cell = $(ev.memo.row).down('.sTxtUser');


> > >
> >
> > Debug your code and you'll see that:
> >
> > * the xwiki:livetable:newrow event is fired for each row in the live
> table
> > * $$('.sTxtUser') selects all the existing cells
> >
> > So whenever a row is displayed you process not only that row but also the
> > existing rows that have been displayed before..
> >
> >
> > > >     var content = element.innerText;
> > > >     if(content === undefined){
> > > >       content = element.textContent;
> > > >     }
> > > >     element.replace('<td class="sTxtUser link typetext"
> > > > data-title="Username">"' + content + '"</td>')
> > > >   });
> > > > });
> > > >
> > > > ```
> > > >
> > > > I have 3 documents for the application with the following values for
> > > field
> > > > sTxtUser :
> > > > testuser1
> > > > test12345
> > > > anotheruser1
> > > >
> > > > Using the above extension renders the livetable cells like this:
> > > > """anotheruser1"""
> > > > ""test12345""
> > > > "testuser1"
> > > >
> > > > If I change the sort order:
> > > > """testuser1"""
> > > > ""test12345""
> > > > "anotheruser1"
> > > >
> > > > So only the last row shows the desired output.
> > > >
> > > > What am I doing wrong?
> > > >
> > > > Regards,
> > > > Dennis
> > > >
> > > _______________________________________________
> > > 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
>
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to