Changes for page Nice Display
Last modified by Benjamin Fischer on 2025/03/26 13:19
From version 45.29
edited by Benjamin Fischer
on 2025/03/26 13:16
on 2025/03/26 13:16
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,20 +1,12 @@ 1 -(()=>{ 2 - const tabName = "research_groups"; 3 - const coopDetailsLabel = "Cooperation Details"; 4 - const colTT = { 5 - "Community": [ 6 - "KAT - Astroparticle Physics", 7 - "KET - Elementary Particles Physics", 8 - "KfB - Accelerator Physics", 9 - "KFN - Research with neutrons", 10 - "KFN - Research with synchrotron radiation", 11 - "KFSI - Research with nuclear probes and ion beams", 12 - "KHuK - Hadron and nuclear physics", 13 - "RDS - German Observatory Council" 14 - ].join("\n"), 15 - "Cooperation": "...", 16 - }; 17 - 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") => { 18 18 19 19 document.observe('xwiki:livetable:loading', () => { 20 20 const mats = document.getElementById(tabName); ... ... @@ -22,7 +22,6 @@ 22 22 23 23 // coulmn data sources 24 24 const conf = JSON.parse(mats.dataset.settings); 25 - tagCols = (conf.columnDescriptors.tags ?? {aux: []}).aux ?? [["Tags", true]]; 26 26 tagCols.forEach(([name], i) => { 27 27 const cn = `tags-${i}`; 28 28 conf.columns.splice(conf.columns.indexOf("tags"), 1, cn); ... ... @@ -40,19 +40,6 @@ 40 40 (v, i) => v.textContent = tagCols[i][0] 41 41 ); 42 42 43 - // column tooltips 44 - mats.querySelectorAll(".xwiki-livetable-display-header-text").forEach( 45 - el => { 46 - const c = colTT[el.textContent] 47 - if (c) { 48 - el.title = el.textContent; 49 - el.dataset.content = c; 50 - el.dataset.toggle = "popover"; 51 - el.dataset.placement = "top"; 52 - } 53 - } 54 - ) 55 - 56 56 // handle clicks for tags 57 57 document.getElementById(`${tabName}-display`).addEventListener("click", ev => { 58 58 if (ev.button) return; // only left click ... ... @@ -76,24 +76,12 @@ 76 76 a.innerHTML = row.affiliation_value.split("\n").map((a, i) => i ? a : `<b class="wikiexternallink">${a}</b>`).join("<br/>"); 77 77 a.title = row.doc_title; 78 78 if (row.content !== "-") { 79 - let c = row.content; 80 - if (row.coopDetails !== "-") 81 - c = `${c}<br/><b>${coopDetailsLabel}:</b> ${row.coopDetails}`; 82 - a.dataset.content = c; 57 + a.dataset.content = row.content; 83 83 a.dataset.toggle = "popover"; 84 84 } 60 + 85 85 row.affiliation = a.outerHTML; 86 86 87 - row.coop = row.coop.replace(/\b \.\.\. \b/g, " ...<br/>"); 88 - if (row.coopDetails !== "-") { 89 - const d = new Element("div"); 90 - d.innerHTML = row.coop; 91 - d.title = coopDetailsLabel; 92 - d.dataset.content = row.coopDetails; 93 - d.dataset.toggle = "popover"; 94 - row.coop = d.outerHTML; 95 - } 96 - 97 97 row.doc_date = row.doc_date.split(" ")[0].split("/").slice(0, 2).join("/"); 98 98 99 99 // tags ... ... @@ -122,4 +122,5 @@ 122 122 document.observe(`xwiki:livetable:${tabName}:displayComplete`, ttApply); 123 123 ttApply(); 124 124 }); 125 -})(); 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