Changes for page Home
Last modified by Benjamin Fischer on 2025/06/04 14:20
From version 103.2
edited by Judith Steinfeld
on 2025/03/26 09:10
on 2025/03/26 09:10
Change comment:
There is no comment for this version
To version 112.4
edited by Benjamin Fischer
on 2025/05/15 13:12
on 2025/05/15 13:12
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 1 removed)
-
Objects (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. JudithSteinfeld1 +XWiki.fischer - Content
-
... ... @@ -24,9 +24,11 @@ 24 24 25 25 ==== ==== 26 26 27 -{{icon name="question-circle"}}{{/icon}}Further information, answers to all questions you may have regarding the ErUM-Data-Hub and more about our aims and work can be found on our [[website>>https://erumdatahub.de/]] .27 +{{icon name="question-circle"}}{{/icon}}Further information, answers to all questions you may have regarding the ErUM-Data-Hub and more about our aims and work can be found on our [[website>>https://erumdatahub.de/]] 28 28 29 29 30 + 31 + 30 30 == What is new? == 31 31 32 32 Have a look at our new comprehensive material collection, the People in ErUM-Data list and Industry meets ErUM-Data:
- Gewinnspiel Wiki.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.JudithSteinfeld - Size
-
... ... @@ -1,1 +1,0 @@ 1 -8.6 MB - Content
- Gewinnspiel Wiki(1).jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.JudithSteinfeld - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.5 MB - Content
- XWiki.JavaScriptExtension[1]
-
- Caching policy
-
... ... @@ -1,0 +1,1 @@ 1 +default - Code
-
... ... @@ -1,0 +1,79 @@ 1 +define("xwiki-custom-livetable", [], function () { 2 + const func = (tabName, rowFunc, colTT = {}) => { 3 + let tagCols; 4 + 5 + document.observe('xwiki:livetable:loading', () => { 6 + const tab = document.getElementById(tabName); 7 + if (!tab) return; 8 + 9 + // coulmn data sources 10 + const conf = JSON.parse(tab.dataset.settings); 11 + tagCols = (conf.columnDescriptors.tags ?? { aux: [] }).aux ?? [["Tags", true]]; 12 + tagCols.forEach(([name], i) => { 13 + const cn = `tags-${i}`; 14 + conf.columns.splice(conf.columns.indexOf("tags"), 1, cn); 15 + conf.columnDescriptors[cn] = { 16 + displayName: name, 17 + headerClass: "tagsCol", 18 + html: true, 19 + sortable: false, 20 + }; 21 + }); 22 + tab.dataset.settings = JSON.stringify(conf); 23 + 24 + // column headers 25 + tab.querySelectorAll(".xwiki-livetable-display-header .tagsCol").forEach( 26 + (v, i) => v.textContent = tagCols[i][0] 27 + ); 28 + 29 + // column tooltips 30 + tab.querySelectorAll(".xwiki-livetable-display-header-text").forEach( 31 + el => { 32 + const t = el.textContent.trim(); 33 + const c = conf.columnDescriptors[t].tooltip ?? colTT[t]; 34 + if (c) { 35 + el.title = t; 36 + el.dataset.content = c; 37 + el.dataset.toggle = "popover"; 38 + el.dataset.placement = "top"; 39 + } 40 + } 41 + ) 42 + 43 + // handle clicks for tags 44 + document.getElementById(`${tabName}-display`).addEventListener("click", ev => { 45 + if (ev.button) return; // only left click 46 + if (ev.target.nodeName !== "SPAN") return; 47 + if (!ev.target.classList.contains("ltTag")) return; 48 + const tag = ev.target.textContent; 49 + ev.preventDefault(); 50 + const lt = tab.__liveTable; 51 + const st = lt.tagCloud.selectedTags; 52 + if (tag in st) delete st[tag]; 53 + else st[tag] = {}; 54 + lt.tags = Object.keys(st); 55 + lt.clearCache(); 56 + lt.showRows(1, lt.limit); 57 + }) 58 + }); 59 + 60 + document.observe(`xwiki:livetable:${tabName}:receivedEntries`, ({ memo: { data } }) => { 61 + for (const row of data.rows) { 62 + if (rowFunc) rowFunc(row) 63 + 64 + // tags 65 + const tags = new Set(row.tags_value.slice(1, -1).split(", ")); 66 + tagCols.forEach(([name, ...want], i) => 67 + row[`tags-${i}`] = ( 68 + want[0] === true 69 + ? Array.from(tags) 70 + : want.filter(tag => tags.delete(tag)) 71 + ).sort().map(tag => `<span class="ltTag" style="cursor:pointer;">${tag}</span>`).join(", ") 72 + ); 73 + } 74 + }); 75 + }; 76 + 77 + func.func = func; 78 + return func; 79 +}); - Name
-
... ... @@ -1,0 +1,1 @@ 1 +Livetable - Common Stuff - Parse content
-
... ... @@ -1,0 +1,1 @@ 1 +No - Use this extension
-
... ... @@ -1,0 +1,1 @@ 1 +always