Ä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 6.1
bearbeitet von xwikiadmin
am 2025/01/07 12:27
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.25.4]

Zusammenfassung

Details

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