Changes for page Nice Display
Last modified by Benjamin Fischer on 2025/03/26 13:19
From version 45.28
edited by Benjamin Fischer
on 2025/03/26 12:43
on 2025/03/26 12:43
Change comment:
There is no comment for this version
To version 45.3
edited by Benjamin Fischer
on 2025/03/26 09:57
on 2025/03/26 09:57
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,19 +1,22 @@ 1 +{{box cssClass="floatinginfobox" title="**The list thrives on being filled.**"}} 2 +To be added (or removed) you can: 3 + 4 +* contact [[judith.steinfeld@erumdatahub.de>>mailto:judith.steinfeld@erumdatahub.de]] 5 +* add or update an entry yourself [[How-To (end of page)>>||anchor="howto"]] 6 +{{/box}} 7 + 8 +This is a collection of various groups in industry that are adjacent or in cooperation with ErUM-Data science. 9 + 1 1 {{locationSearch width="100%;clear:both;" className="Research Groups.Code.Research GroupsClass" description="Search, including in excerpts."/}} 2 2 3 3 {{velocity}} 4 -#if ( $ntrg_tagCols == $null ) 5 -#set( $ntrg_tagCols = [["Tags", true]] ) 6 -#end 7 -#set ($shouldMinify = !$hasProgramming ) 8 -#set ($discard = $xwiki.jsx.use('Research Groups.Nice Display.WebHome', {"minify": $shouldMinify})) 9 - 13 +#set ($escDocSpace = $escapetool.url($doc.getSpace())) 10 10 #set ($columnsProperties = { 11 11 'affiliation': {"filterable":true, "sortable":true, "html":true}, 12 12 'URL': {"type": "hidden"}, 13 13 "content": {"type": "hidden"}, 14 - "coopDetails": {"type": "hidden"}, 15 - "coop": {"html": true}, 16 - "tags": {"sortable": false, "filterable": false, "html": true, "headerClass": "tagsCol", "aux": $ntrg_tagCols}, 18 + "coop": {}, 19 + "tags": {"sortable": false, "filterable": false, "html": true, "headerClass": "tagsCol"}, 17 17 "doc.date": {"filterable": false, "displayName": "Last Updated"}, 18 18 '_actions': {"actions":["view","edit"]} 19 19 }) ... ... @@ -20,7 +20,7 @@ 20 20 #set ($options = { 21 21 'className': 'Research Groups.Code.Research GroupsClass', 22 22 'translationPrefix': 'research groups.livetable.', 23 - 'extraParams': "&location=${escapetool.url($doc.getSpace())}",26 + 'extraParams': '&location=$escDocSpace', 24 24 'tagCloud': true, 25 25 'rowCount': 25, 26 26 'maxPages': 10, ... ... @@ -27,11 +27,8 @@ 27 27 'selectedColumn': 'doc.date', 28 28 'defaultOrder': 'desc' 29 29 }) 30 -#set ($columns = ['affiliation', 'URL', "content", "coop", "coopDetails", "doc.date", '_actions']) 31 -#foreach ($ntrg_tagCol in $ntrg_tagCols) 32 -#set ($discard = $columns.add(3, "tags")) 33 -#end 34 -#livetable("research_groups" $columns $columnsProperties $options) 33 +#set ($columns = ['affiliation', 'URL', "content", "tags", "coop", "doc.date", '_actions']) 34 +#livetable('research_groups' $columns $columnsProperties $options) 35 35 {{/velocity}} 36 36 37 37 (% id="howto" %) ... ... @@ -55,3 +55,4 @@ 55 55 1. click {{html}}<button class="btn btn-primary">Save & View</button>{{/html}} (bottom left) 56 56 1. update the Tags (bottom left) 57 57 58 +=== Demo Video - Coming Soon ===
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,7 +1,12 @@ 1 -(()=>{ 2 - const tabName = "research_groups"; 3 - const coopDetailsLabel = "Cooperation Details"; 4 - let tagCols; 1 +/*! 2 +#if ( $ntrg_tagCols == $null ) 3 +#set( $ntrg_tagCols = [["Tags", true]] ) 4 +#end 5 +#if ( $ntrg_tabName == $null ) 6 +#set( $ntrg_tabName = "research_groups" ) 7 +#end 8 +#[[*/ 9 +((tagCols = [["Tags", true]], tabName = "research_groups") => { 5 5 6 6 document.observe('xwiki:livetable:loading', () => { 7 7 const mats = document.getElementById(tabName); ... ... @@ -9,7 +9,6 @@ 9 9 10 10 // coulmn data sources 11 11 const conf = JSON.parse(mats.dataset.settings); 12 - tagCols = (conf.columnDescriptors.tags ?? {aux: []}).aux ?? [["Tags", true]]; 13 13 tagCols.forEach(([name], i) => { 14 14 const cn = `tags-${i}`; 15 15 conf.columns.splice(conf.columns.indexOf("tags"), 1, cn); ... ... @@ -50,24 +50,12 @@ 50 50 a.innerHTML = row.affiliation_value.split("\n").map((a, i) => i ? a : `<b class="wikiexternallink">${a}</b>`).join("<br/>"); 51 51 a.title = row.doc_title; 52 52 if (row.content !== "-") { 53 - let c = row.content; 54 - if (row.coopDetails !== "-") 55 - c = `${c}<br/><b>${coopDetailsLabel}:</b> ${row.coopDetails}`; 56 - a.dataset.content = c; 57 + a.dataset.content = row.content; 57 57 a.dataset.toggle = "popover"; 58 58 } 60 + 59 59 row.affiliation = a.outerHTML; 60 60 61 - row.coop = row.coop.replace(/\b \.\.\. \b/g, " ...<br/>"); 62 - if (row.coopDetails !== "-") { 63 - const d = new Element("div"); 64 - d.innerHTML = row.coop; 65 - d.title = coopDetailsLabel; 66 - d.dataset.content = row.coopDetails; 67 - d.dataset.toggle = "popover"; 68 - row.coop = d.outerHTML; 69 - } 70 - 71 71 row.doc_date = row.doc_date.split(" ")[0].split("/").slice(0, 2).join("/"); 72 72 73 73 // tags ... ... @@ -96,4 +96,5 @@ 96 96 document.observe(`xwiki:livetable:${tabName}:displayComplete`, ttApply); 97 97 ttApply(); 98 98 }); 99 -})(); 91 +/* ]]# */ 92 +})($jsontool.serialize($ntrg_tagCols), $jsontool.serialize($ntrg_tabName)); - Parse content
-
... ... @@ -1,1 +1,1 @@ 1 - No1 +Yes - Use this extension
-
... ... @@ -1,1 +1,1 @@ 1 - onDemand1 +currentPage