aowow/template/listviews/membersCol.tpl
Sarjuuk 226f521439 Template/Endpoints (Base)
* redo page render following the logic of:
      Response ─┬─> TextResponse ─> TextResponseImpl
                └─> TemplateResponse ─> TemplateResponseImpl
    * split up giant files, one per response path
    * caching becomes a trait, implemented where necessary
        * TextResponses (Ajax) can now be cached
    * make use of previously defined php classes for js objects
        * Tabs, Listview, Tooltip, Announcement, Markup, Book, ...
    * \Aowow\Template\PageTemplate is the new class to be cached
    * do not discard error messages generated after vars have been sent to template
      and store in session for display at a later time
    * implement tracking consent management
    * move logic out of template into their respective endpoints
2025-09-25 15:32:18 +02:00

41 lines
1.2 KiB
Smarty

Listview.extraCols.members = {
id: 'members',
name: LANG.members,
after: 'name',
sortable: false,
type: 'text',
compute: function(profile, td) {
if (profile.members) {
var
mbs = profile.members,
d = $WH.ce('div');
d.style.width = (26 * mbs.length) + 'px';
d.style.margin = '0 auto';
for (var i = 0, len = mbs.length; i < len; ++i) {
var icon = Icon.create('class_' + g_file_classes[mbs[i][1]], 0, null, '?profile=' + profile.region + '.' + profile.realm + '.' + g_urlize(mbs[i][0], true));
if (mbs[i][2])
icon.className += ' iconsmall-gold';
icon.style.cssFloat = icon.style.styleFloat = 'left';
$WH.ae(d, icon);
}
$WH.ae(td, d);
}
},
getVisibleText: function(profile) {
if (profile.members) {
var
buff = '',
mbs = profile.members;
for (var i = 0, len = mbs.length; i < len; ++i)
buff += mbs[i][0] + ' ' + g_chr_classes[mbs[i][1]] + ' ';
return buff.rtrim();
}
}
};