Changes for page Material Collection

Last modified by Judith Steinfeld on 2025/06/03 11:13

From version 54.5
edited by admin
on 2024/10/21 15:36
Change comment: There is no comment for this version
To version 34.2
edited by Judith Steinfeld
on 2024/07/26 13:55
Change comment: Update property syntax

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.admin
1 +XWiki.JudithSteinfeld
Content
... ... @@ -6,33 +6,12 @@
6 6  With our material collection we want to provide an overview of existing materials and contacts by outlining where to find what.
7 7  
8 8  The collection of existing materials is complemented by our own materials which include for example videos and slides from various workshops and schools organized by the ErUM-Data-Hub in collaboration with DIG-UM with which we reached over 800 participants so far.
9 +{{/info}}
9 9  
11 +Hint Copyright: Please not that the materials are from
10 10  
11 -If you want to be subscribed or unsubscribed from this list please contact [[judith.steinfeld@erumdatahub.de>>mailto:judith.steinfeld@erumdatahub.de]]
12 -{{/info}}
13 +Filter Suchfunktion: Semantische Suche und vordefinierte Suchfilter zur Eingrenzung von Suchergebnissen
13 13  
14 -{{success}}
15 -Our collection of materials covers many different topics. You can click on one or more tags to filter the list...
16 -{{/success}}
15 +Show all materials
17 17  
18 -{{velocity}}
19 -#set ($columnsProperties = {
20 - 'doc.location': {"displayName": "Title", "html": true},
21 - 'link': {"type": "hidden"},
22 - 'date': {"html": true},
23 - 'author': {},
24 - "tags": {"sortable": false, "html": true, "headerClass": "tagsCol"}
25 -})
26 -#set ($options = {
27 - 'className': 'Materials.Code.MaterialsClass',
28 - 'translationPrefix': 'materials.livetable.',
29 - 'tagCloud': true,
30 - 'rowCount': 25,
31 - 'maxPages': 10,
32 - "extraParams" : "tags_className=XWiki.TagClass",
33 - 'selectedColumn': 'date',
34 - 'defaultOrder': 'desc'
35 -})
36 -#set ($columns = ['doc.location', 'link', "tags", "tags", 'date', 'author'])
37 -#livetable('materials' $columns $columnsProperties $options)
38 -{{/velocity}}
17 +![[show all abc.png>>show all abc.png]]
show all abc 2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.JudithSteinfeld
Size
... ... @@ -1,1 +1,0 @@
1 -245.5 KB
Content
XWiki.JavaScriptExtension[0]
Caching policy
... ... @@ -1,1 +1,0 @@
1 -default
Code
... ... @@ -1,72 +1,0 @@
1 -const tagCols = [
2 - ["Tag1", "CERN", "CHEP", "GPU", "VISPA"],
3 - ["Tags", true],
4 -]
5 -
6 -document.observe('xwiki:livetable:loading', () => {
7 - const mats = document.getElementById("materials");
8 -
9 - // coulmn data sources
10 - const conf = JSON.parse(mats.dataset.settings);
11 - tagCols.forEach(([name], i) => {
12 - const cn = `tags-${i}`;
13 - conf.columns.splice(conf.columns.indexOf("tags"), 1, cn);
14 - conf.columnDescriptors[cn] = {
15 - displayName: name,
16 - headerClass: "tagsCol",
17 - html: true,
18 - sortable: false,
19 - };
20 - });
21 - mats.dataset.settings = JSON.stringify(conf);
22 -
23 - // column headers
24 - mats.querySelectorAll(".xwiki-livetable-display-header .tagsCol").forEach(
25 - (v, i) => v.firstElementChild.textContent = tagCols[i][0]
26 - );
27 -
28 - // handle clicks for tags
29 - document.getElementById("materials-display").addEventListener("click", ev => {
30 - debugger;
31 - })
32 -});
33 -
34 -document.observe("xwiki:livetable:materials:receivedEntries", ({memo: {data}}) => {
35 - for (const row of data.rows) {
36 - const ol = new DOMParser().parseFromString(row.doc_location, "text/xml").documentElement;
37 - const li = ol.children;
38 -
39 - li[0].remove(); // remove "Event"
40 - for (let i = 1; i < li.length - 1; i++) // intermediate
41 - li[i].textContent = li[i].textContent; // remove link
42 -
43 - const a = li[li.length - 1].children[0];
44 - const u = new URL(row.link_value);
45 - let icon;
46 - if (u.pathname.endsWith(".pdf")) icon = "file-pdf-o";
47 - if (icon) {
48 - const s = a.ownerDocument.createElement("span");
49 - s.textContent = " ";
50 - s.setAttribute("class", `fa fa-${icon}`);
51 - s.setAttribute("style", "padding-right: .3em;");
52 - a.insertBefore(s, a.firstChild);
53 - }
54 - a.setAttribute("class", "wikiexternallink");
55 - a.setAttribute("href", u.href);
56 -
57 - row.doc_location = ol.outerHTML;
58 -
59 - // tags
60 - const tags = new Set(e.tags_value.slice(1, -1).split(", "));
61 - tagCols.forEach(([name, ...want], i) =>
62 - row[`tags-${i}`] = (
63 - want[0] === true
64 - ? Array.from(tags)
65 - : want.filter(tag => tags.has(tag) && (tags.remove(tag) || true))
66 - ).sort().map(tag => `<span class="ltTag">${tag}</span>`).join(" ")
67 - );
68 - }
69 -});
70 -
71 -
72 -
Name
... ... @@ -1,1 +1,0 @@
1 -Live Table - Materials
Parse content
... ... @@ -1,1 +1,0 @@
1 -No
Use this extension
... ... @@ -1,1 +1,0 @@
1 -currentPage
XWiki.XWikiRights[4]
Allow/Deny
... ... @@ -1,1 +1,0 @@
1 -Allow
Groups
... ... @@ -1,1 +1,0 @@
1 -XWiki.Staff
Levels
... ... @@ -1,1 +1,0 @@
1 -edit,script,comment
XWiki.XWikiRights[5]
Allow/Deny
... ... @@ -1,1 +1,0 @@
1 -Allow
Groups
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiAdminGroup
Levels
... ... @@ -1,1 +1,0 @@
1 -comment,script,edit
XWiki.XWikiRights[6]
Allow/Deny
... ... @@ -1,1 +1,0 @@
1 -Allow
Groups
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiAllGroup
Levels
... ... @@ -1,1 +1,0 @@
1 -comment,edit,script
XWiki.XWikiRights[7]
Allow/Deny
... ... @@ -1,1 +1,0 @@
1 -Deny
Groups
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiAllGroup
Levels
... ... @@ -1,1 +1,0 @@
1 -delete