Änderungen von Dokument Panel Macro

Zuletzt geändert von xwikiadmin am 2025/01/07 12:27

Von Version 1.1
bearbeitet von xwikiadmin
am 2022/05/10 12:01
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.2.2]
Auf Version 5.1
bearbeitet von xwikiadmin
am 2024/06/24 15:04
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.19.4]

Zusammenfassung

Details

Seiteneigenschaften
Übergeordnete Seite
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.Macros.WebHome
1 +WebHome
XWiki.StyleSheetExtension[0]
Code
... ... @@ -4,5 +4,26 @@
4 4  }
5 5  .macro-border {
6 6   margin-bottom: 10px;
7 - overflow: hidden;
7 + overflow: auto;
8 8  }
9 +
10 +/*default border style*/
11 +.macro-panel.macro-border, .macro-panel > .macro-border {
12 + border-color: transparent;
13 + border-width: 1px;
14 + border-style: solid;
15 + border-radius: 8px 8px 0px 0px;
16 +}
17 +
18 +/* style for the excerpt-include macro */
19 +.macro-excerpt-include.macro-panel > .macro-border {
20 + border: 1px solid;
21 +}
22 +
23 +.macro-excerpt-include.macro-panel > .macro-border > .macro-panel-title {
24 + border-bottom: 1px solid;
25 +}
26 +
27 +.macro-excerpt-include.macro-panel > .macro-border > .macro-panel-content {
28 + padding-bottom: 1ex;
29 +}
XWiki.WikiMacroClass[0]
Makro-Code
... ... @@ -1,83 +1,96 @@
1 -{{velocity}}
2 -#set ($discard = $xwiki.ssx.use('XWiki.Macros.Panel'))
3 -#set ($panelTitle = "$!xcontext.macro.params.title")
4 -#set ($borderColor = "$!xcontext.macro.params.borderColor")
5 -#set ($borderWidth = "$!xcontext.macro.params.borderWidth")
6 -#set ($borderStyle = "$!xcontext.macro.params.borderStyle")
7 -#set ($borderRadius = "$!xcontext.macro.params.borderRadius")
8 -#set ($bgColor = "$!xcontext.macro.params.bgColor")
9 -#set ($contentTextColor = "$!xcontext.macro.params.contentTextColor")
10 -#set ($titleBGColor = "$!xcontext.macro.params.titleBGColor")
11 -#set ($titleColor = "$!xcontext.macro.params.titleColor")
12 -#set ($width = "$!xcontext.macro.params.width")
13 -#set ($classes = "$!xcontext.macro.params.classes")
14 -## Panel border style
15 -#set ($panelBorderStyle = '')
16 -#if ($width != '')
17 - #set ($panelBorderStyle = "${panelBorderStyle}width: $width; ")
18 -#end
19 -#if ($borderStyle != '')
20 - #set ($panelBorderStyle = "${panelBorderStyle}border: $borderStyle; ")
21 -#end
22 -#if ($borderColor != '')
23 - #set ($panelBorderStyle = "${panelBorderStyle}border-color: $borderColor; ")
24 -#end
25 -#if ($borderWidth != '')
26 - #set ($panelBorderStyle = "${panelBorderStyle}border-width: ${borderWidth}px; ")
27 -#end
28 -#if ($borderRadius != '')
29 - #set ($panelBorderStyle = "${panelBorderStyle}border-radius: $borderRadius; ")
30 -#end
31 -## Panel title style.
32 -#set ($panelTitleStyle = '')
33 -#if ($titleBGColor != '')
34 - #set ($panelTitleStyle = "${panelTitleStyle}background-color: $titleBGColor; ")
35 -#end
36 -#if ($titleColor != '')
37 - #set ($panelTitleStyle = "${panelTitleStyle}color: $titleColor; ")
38 -#end
39 -## Panel content style.
40 -#set ($panelContentStyle = '')
41 -#if ($bgColor != '')
42 - #set ($panelContentStyle = "${panelContentStyle}background-color: $bgColor; ")
43 -#end
44 -#if ($contentTextColor != '')
45 - #set ($panelContentStyle = "${panelContentStyle}color: $contentTextColor; ")
46 -#end
47 -#*
48 - If there is a bootstrap class provided, the panel needs an inner container in order to properly handle the borders.
49 - Wraper structure with bootstrap class:
50 - <div class="macro-panel col-sm-12"><div class="macro-border">TITLE and CONTENT</div></div>
51 - Wraper structure without bootstrap class:
52 - <div class="macro-panel macro-border">TITLE and CONTENT</div>
53 -*#
54 -#set ($macroBorderClass = 'macro-border')
55 -#if ("$!classes" != '')
56 - (% class="macro-panel $classes" %)(((
57 -#else
58 - #set ($macroBorderClass = "$macroBorderClass macro-panel")
59 -#end
60 -(% class="$macroBorderClass" style="$panelBorderStyle" %)(((
61 - #if( $panelTitle != '')
62 - (% class="macro-panel-title" style="$panelTitleStyle"%)(((
1 +{{velocity output="false"}}
2 +#macro (executeMacro)
3 + #set ($discard = $xwiki.ssx.use('XWiki.Macros.Panel'))
4 + #set ($panelTitle = "$!xcontext.macro.params.title")
5 + #set ($borderColor = "$!xcontext.macro.params.borderColor")
6 + #set ($borderWidth = "$!xcontext.macro.params.borderWidth")
7 + #set ($borderStyle = "$!xcontext.macro.params.borderStyle")
8 + #set ($borderRadius = "$!xcontext.macro.params.borderRadius")
9 + #set ($bgColor = "$!xcontext.macro.params.bgColor")
10 + #set ($contentTextColor = "$!xcontext.macro.params.contentTextColor")
11 + #set ($titleBGColor = "$!xcontext.macro.params.titleBGColor")
12 + #set ($titleColor = "$!xcontext.macro.params.titleColor")
13 + #set ($width = "$!xcontext.macro.params.width")
14 + #set ($classes = "$!xcontext.macro.params.classes")
15 + ## Panel border style
16 + #set ($panelBorderStyle = '')
17 + #if ($width != '')
18 + #set ($panelBorderStyle = "${panelBorderStyle}width: $width; ")
19 + #end
20 + #if ($borderStyle != '')
21 + #set ($panelBorderStyle = "${panelBorderStyle}border: $borderStyle; ")
22 + #end
23 + #if ($borderColor != '')
24 + #set ($panelBorderStyle = "${panelBorderStyle}border-color: $borderColor; ")
25 + #end
26 + #if ($borderWidth != '')
27 + #set ($panelBorderStyle = "${panelBorderStyle}border-width: ${borderWidth}px; ")
28 + #end
29 + #if ($borderRadius != '')
30 + #set ($panelBorderStyle = "${panelBorderStyle}border-radius: $borderRadius; ")
31 + #end
32 + ## Panel title style.
33 + #set ($panelTitleStyle = '')
34 + #if ($titleBGColor != '')
35 + #set ($panelTitleStyle = "${panelTitleStyle}background-color: $titleBGColor; ")
36 + #end
37 + #if ($titleColor != '')
38 + #set ($panelTitleStyle = "${panelTitleStyle}color: $titleColor; ")
39 + #end
40 + ## Panel content style.
41 + #set ($panelContentStyle = '')
42 + #if ($bgColor != '')
43 + #set ($panelContentStyle = "${panelContentStyle}background-color: $bgColor; ")
44 + #end
45 + #if ($contentTextColor != '')
46 + #set ($panelContentStyle = "${panelContentStyle}color: $contentTextColor; ")
47 + #end
48 + #*
49 + If there is a bootstrap class provided, the panel needs an inner container in order to properly handle the borders.
50 + Wraper structure with bootstrap class:
51 + <div class="macro-panel col-sm-12"><div class="macro-border">TITLE and CONTENT</div></div>
52 + Wraper structure without bootstrap class:
53 + <div class="macro-panel macro-border">TITLE and CONTENT</div>
54 + *#
55 + #set ($macroBorderClass = 'macro-border')
56 + #if ("$!classes" != '')
57 + (% class="macro-panel $classes" %)(((
58 + #else
59 + #set ($macroBorderClass = "$macroBorderClass macro-panel")
60 + #end
61 + (% class="$macroBorderClass" style="$panelBorderStyle" %)(((
62 + #if( $panelTitle != '')
63 + (% class="macro-panel-title" style="$panelTitleStyle"%)(((
64 + ## Since 11.5 the content of the macro can be edited in WYSIWYG editor.
65 + #if ($services.rendering.getMacroDescriptor($services.rendering.resolveMacroId('wikimacroparameter')))
66 + {{wikimacroparameter name="title" /}}
67 + #else
68 + $panelTitle
69 + #end
70 + )))
71 + #end
72 + (% class="macro-panel-content" style="$panelContentStyle"%)(((
63 63   ## Since 11.5 the content of the macro can be edited in WYSIWYG editor.
64 - #if ($services.rendering.getMacroDescriptor($services.rendering.resolveMacroId('wikimacroparameter')))
65 - {{wikimacroparameter name="title" /}}
74 + #if ($services.rendering.getMacroDescriptor($services.rendering.resolveMacroId('wikimacrocontent')))
75 + {{wikimacrocontent /}}
66 66   #else
67 - $panelTitle
77 + $!xcontext.macro.content
68 68   #end
69 69   )))
70 - #end
71 - (% class="macro-panel-content" style="$panelContentStyle"%)(((
72 - ## Since 11.5 the content of the macro can be edited in WYSIWYG editor.
73 - #if ($services.rendering.getMacroDescriptor($services.rendering.resolveMacroId('wikimacrocontent')))
74 - {{wikimacrocontent /}}
75 - #else
76 - $!xcontext.macro.content
77 - #end
78 78   )))
79 -)))
80 -#if ("$!classes" != '')
81 - )))
81 + #if ("$!classes" != '')
82 + )))
83 + #end
82 82  #end
83 83  {{/velocity}}
86 +
87 +{{velocity}}
88 +## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right
89 +## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that
90 +## don't have view right on those pages.
91 +#if ($services.promacrolicensing.hasLicensureForEntity($xcontext.macro.doc.documentReference))
92 + #executeMacro
93 +#else
94 + {{missingLicenseMessage extensionName="proMacros.extension.name"/}}
95 +#end
96 +{{/velocity}}
Standardkategorie
... ... @@ -1,1 +1,0 @@
1 -content
XWiki.WikiMacroParameterClass[1]
Parameter-Vorgabe
... ... @@ -1,1 +1,0 @@
1 -white
XWiki.WikiMacroParameterClass[2]
Parameter-Vorgabe
... ... @@ -1,1 +1,0 @@
1 -solid
XWiki.WikiMacroParameterClass[3]
Parameter-Vorgabe
... ... @@ -1,1 +1,0 @@
1 -1
XWiki.WikiMacroParameterClass[11]
Parameter-Vorgabe
... ... @@ -1,1 +1,0 @@
1 -8px 8px 0px 0px