Changes for page Nice Display
Last modified by Benjamin Fischer on 2025/05/15 17:09
From version 45.32
edited by Benjamin Fischer
on 2025/05/15 17:08
on 2025/05/15 17:08
Change comment:
There is no comment for this version
Summary
-
Page properties (4 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 added, 0 removed)
-
Objects (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - NiceDisplay1 +People in ErUM-Data - Parent
-
... ... @@ -1,1 +1,1 @@ 1 - Research Groups.WebHome1 +Main.WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. fischer1 +XWiki.admin - Content
-
... ... @@ -1,58 +1,27 @@ 1 -{{locationSearch width="100%;clear:both;" className="Research Groups.Code.Research GroupsClass" description="Search, including in excerpts."/}} 1 +(% class="box infomessage" %) 2 +((( 3 +With this collection we want to provide an overview of of various research groups and people in ErUM (data). 2 2 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})) 5 +The list thrives on being filled. If you want to be subscribed or unsubscribed from this list please contact [[judith.steinfeld@erumdatahub.de>>mailto:judith.steinfeld@erumdatahub.de]] 6 +))) 9 9 8 +{{velocity}} 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 - "Community": {"tooltip": "KAT - Astroparticle Physics<br/>KET - Elementary Particles Physics<br/>KfB - Accelerator Physics<br/>KFN - Research with neutrons<br/>KFN - Research with synchrotron radiation<br/>KFSI - Research with nuclear probes and ion beams<br/>KHuK - Hadron and nuclear physics<br/>RDS - German Observatory Council"}, 17 - "tags": {"sortable": false, "filterable": false, "html": true, "headerClass": "tagsCol", "aux": $ntrg_tagCols}, 18 - "doc.date": {"filterable": false, "displayName": "Last Updated"}, 13 + "tags": {"sortable": false, "filterable": false, "html": true, "headerClass": "tagsCol"}, 19 19 '_actions': {"actions":["view","edit"]} 20 20 }) 21 21 #set ($options = { 22 22 'className': 'Research Groups.Code.Research GroupsClass', 23 23 'translationPrefix': 'research groups.livetable.', 24 - 'extraParams': "&location=${escapetool.url($doc.getSpace())}", 25 25 'tagCloud': true, 26 - 'rowCount': 25,20 + 'rowCount': 15, 27 27 'maxPages': 10, 28 - 'selectedColumn': ' doc.date',29 - 'defaultOrder': ' desc'22 + 'selectedColumn': 'affiliation', 23 + 'defaultOrder': 'asc' 30 30 }) 31 -#set ($columns = ['affiliation', 'URL', "content", "coop", "coopDetails", "doc.date", '_actions']) 32 -#foreach ($ntrg_tagCol in $ntrg_tagCols) 33 -#set ($discard = $columns.add(3, "tags")) 34 -#end 35 -#livetable("research_groups" $columns $columnsProperties $options) 25 +#set ($columns = ['affiliation', 'URL', "content", "tags", "tags", "tags", '_actions']) 26 +#livetable('research groups' $columns $columnsProperties $options) 36 36 {{/velocity}} 37 - 38 -(% id="howto" %) 39 -== How-To Add/Update Entries == 40 - 41 -You need to be logged in to perform any modifications. 42 - 43 -=== Add entry === 44 - 45 -1. click {{html}}<button class="btn"><i class="fa fa-plus"/>Create</button>{{/html}} (top right) 46 -1. fill in the Title in the top left (must be unique) 47 -1. click {{html}}<button class="btn btn-primary">Create</button>{{/html}} (bottom left) 48 -1. fill out the form 49 -1. click {{html}}<button class="btn btn-primary">Save & View</button>{{/html}} (bottom left) 50 -1. add tags (bottom left): click on the [+] behind: "Tags:" 51 - 52 -=== Modfiy entry === 53 - 54 -1. click on {{icon name="pencil"/}} Edit 55 -1. update the form 56 -1. click {{html}}<button class="btn btn-primary">Save & View</button>{{/html}} (bottom left) 57 -1. update the Tags (bottom left) 58 -
- People in ErUM v2.xlsx
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.JudithSteinfeld - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.5 KB - Content
- People in ErUM v2_7f9f8a04.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.JudithSteinfeld - Size
-
... ... @@ -1,0 +1,1 @@ 1 +115 bytes - Content
- People in ErUM v2_9a9d6ea5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.JudithSteinfeld - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.0 KB - Content
- XWiki.JavaScriptExtension[0]
-
- Caching policy
-
... ... @@ -1,1 +1,0 @@ 1 -default - Code
-
... ... @@ -1,126 +1,0 @@ 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("<br/>"), 15 - "Cooperation": "...", 16 - }; 17 - let tagCols; 18 - 19 - document.observe('xwiki:livetable:loading', () => { 20 - const mats = document.getElementById(tabName); 21 - if (!mats) return; 22 - 23 - // coulmn data sources 24 - const conf = JSON.parse(mats.dataset.settings); 25 - tagCols = (conf.columnDescriptors.tags ?? {aux: []}).aux ?? [["Tags", true]]; 26 - tagCols.forEach(([name], i) => { 27 - const cn = `tags-${i}`; 28 - conf.columns.splice(conf.columns.indexOf("tags"), 1, cn); 29 - conf.columnDescriptors[cn] = { 30 - displayName: name, 31 - headerClass: "tagsCol", 32 - html: true, 33 - sortable: false, 34 - }; 35 - }); 36 - mats.dataset.settings = JSON.stringify(conf); 37 - 38 - // column headers 39 - mats.querySelectorAll(".xwiki-livetable-display-header .tagsCol").forEach( 40 - (v, i) => v.textContent = tagCols[i][0] 41 - ); 42 - 43 - // column tooltips 44 - mats.querySelectorAll(".xwiki-livetable-display-header-text").forEach( 45 - el => { 46 - const t = el.textContent.trim(); 47 - const c = colTT[t] 48 - if (c) { 49 - el.title = t; 50 - el.dataset.content = c; 51 - el.dataset.toggle = "popover"; 52 - el.dataset.placement = "top"; 53 - } 54 - } 55 - ) 56 - 57 - // handle clicks for tags 58 - document.getElementById(`${tabName}-display`).addEventListener("click", ev => { 59 - if (ev.button) return; // only left click 60 - if (ev.target.nodeName !== "SPAN") return; 61 - if (!ev.target.classList.contains("ltTag")) return; 62 - const tag = ev.target.textContent; 63 - ev.preventDefault(); 64 - const lt = mats.__liveTable; 65 - const st = lt.tagCloud.selectedTags; 66 - if (tag in st) delete st[tag]; 67 - else st[tag] = {}; 68 - lt.tags = Object.keys(st); 69 - lt.clearCache(); 70 - lt.showRows(1, lt.limit); 71 - }) 72 - }); 73 - 74 - document.observe(`xwiki:livetable:${tabName}:receivedEntries`, ({memo: {data}}) => { 75 - for (const row of data.rows) { 76 - const a = new Element("a", { href: row.URL }); 77 - a.innerHTML = row.affiliation_value.split("\n").map((a, i) => i ? a : `<b class="wikiexternallink">${a}</b>`).join("<br/>"); 78 - a.title = row.doc_title; 79 - if (row.content !== "-") { 80 - let c = row.content; 81 - if (row.coopDetails !== "-") 82 - c = `${c}<br/><b>${coopDetailsLabel}:</b> ${row.coopDetails}`; 83 - a.dataset.content = c; 84 - a.dataset.toggle = "popover"; 85 - } 86 - row.affiliation = a.outerHTML; 87 - 88 - row.coop = row.coop.replace(/\b \.\.\. \b/g, " ...<br/>"); 89 - if (row.coopDetails !== "-") { 90 - const d = new Element("div"); 91 - d.innerHTML = row.coop; 92 - d.title = coopDetailsLabel; 93 - d.dataset.content = row.coopDetails; 94 - d.dataset.toggle = "popover"; 95 - row.coop = d.outerHTML; 96 - } 97 - 98 - row.doc_date = row.doc_date.split(" ")[0].split("/").slice(0, 2).join("/"); 99 - 100 - // tags 101 - const tags = new Set(row.tags_value.slice(1, -1).split(", ")); 102 - tagCols.forEach(([name, ...want], i) => 103 - row[`tags-${i}`] = ( 104 - want[0] === true 105 - ? Array.from(tags) 106 - : want.filter(tag => tags.delete(tag)) 107 - ).sort().map(tag => `<span class="ltTag" style="cursor:pointer;">${tag}</span>`).join(", ") 108 - ); 109 - } 110 - }); 111 - 112 - require(['jquery', 'bootstrap'], function($) { 113 - document.styleSheets[0].insertRule(`#mainContentArea .popover {max-width: 50%;}`); 114 - 115 - const ttApply = () => { 116 - $(`#${tabName} [data-toggle="popover"]`).popover({ 117 - html: true, 118 - container: `#mainContentArea`, 119 - trigger: "hover", 120 - }); 121 - }; 122 - 123 - document.observe(`xwiki:livetable:${tabName}:displayComplete`, ttApply); 124 - ttApply(); 125 - }); 126 -})(); - Name
-
... ... @@ -1,1 +1,0 @@ 1 -Nice Table - Research Groups - Parse content
-
... ... @@ -1,1 +1,0 @@ 1 -No - Use this extension
-
... ... @@ -1,1 +1,0 @@ 1 -onDemand