Änderungen von Dokument Button

Zuletzt geändert von xwikiadmin am 2025/05/21 09:38

Von Version 2.1
bearbeitet von xwikiadmin
am 2023/04/25 10:54
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.7.1]
Auf Version 7.1
bearbeitet von xwikiadmin
am 2025/05/21 09:38
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.26.19]

Zusammenfassung

Details

Seiteneigenschaften
Übergeordnete Seite
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.Macros.WebHome
1 +WebHome
Versteckt
... ... @@ -1,1 +1,1 @@
1 -false
1 +true
Inhalt
... ... @@ -10,6 +10,9 @@
10 10  |width|$services.localization.render('rendering.macro.button.parameter.width.description')|-
11 11  |newTab|$services.localization.render('rendering.macro.button.parameter.newTab.description')|false
12 12  |icon|$services.localization.render('rendering.macro.button.parameter.icon.description')|-
13 +|type|$services.localization.render('rendering.macro.button.parameter.type.description')|Default
14 +|id|$services.localization.render('rendering.macro.button.parameter.id.description')|Default
15 +|class|$services.localization.render('rendering.macro.button.parameter.class.description')|Default
13 13  
14 14  == Examples ==
15 15  
... ... @@ -31,4 +31,8 @@
31 31  {{code}}{{button label="Store" url="http://store.xwiki.com" color="#889cb8" newTab="true" icon="page" width="100%"/}}{{/code}}
32 32  
33 33  {{button label="Store" url="http://store.xwiki.com" color="#889cb8" newTab="true" icon="page" width="100%"/}}
37 +
38 +{{code}}{{button label="Delete example" url="http://store.xwiki.com" type="DANGER"/}}{{/code}}
39 +
40 +{{button label="Delete example" url="http://store.xwiki.com" type="DANGER"/}}
34 34  {{/velocity}}
XWiki.WikiMacroClass[0]
Makro-Code
... ... @@ -32,6 +32,9 @@
32 32   #set ($width = $escapetool.xml($wikimacro.parameters.width))
33 33   #set ($newTab = $escapetool.xml($wikimacro.parameters.newTab))
34 34   #set ($icon = $escapetool.xml($xcontext.macro.params.icon))
35 + #set ($macro.id = $wikimacro.parameters.id)
36 + #set ($macro.classParam = $wikimacro.parameters.get('class'))
37 + #set ($macro.type = $wikimacro.parameters.type)
35 35   ## Resolve the url as a Wiki Document if it exists, else assume it is an external link
36 36   #if ($xwiki.exists($url))
37 37   #set ($url = $xwiki.getDocument($url).getURL())
... ... @@ -43,37 +43,52 @@
43 43   #else
44 44   #set ($colors = [255, 255, 255])
45 45   #end
49 + #set ($macro.additionalClass = '')
50 + #if ("$!macro.classParam" != '')
51 + #set ($macro.additionalClass = "$macro.additionalClass $macro.classParam")
52 + #end
53 + #if ("$!macro.type" != '')
54 + #set ($macro.additionalClass = "$macro.additionalClass btn-$macro.type.name().toLowerCase()")
55 + #end
46 46   #set ($darkenedColors = [])
47 47   #darken($colors, $darkenedColors)
48 48   {{html clean=false}}
59 + ## #124: The Button macro deletes followup content when inserted from wysiwyg
60 + ## Wrap the macro output inside a block element if the context where the macro is inserted is not inline, e.g. if the
61 + ## macro is inserted between paragraphs rather than between the text of a paragraph. Otherwise the generated HTML is
62 + ## invalid which breaks the WYSIWYG editing because the browser tries to fix the invalid HTML and messes up the macro
63 + ## output markers that protect the macro output.
64 + #if (!$wikimacro.context.isInline())<p>#end
49 49   <a href="$url" #if($newTab == 'true')target="_blank"#end>
50 50   <button
67 + #if ("$!macro.id" != '')
68 + id="$escapetool.xml($macro.id)"
69 + #end
51 51   style="
71 + #if ("$!color" != '')
52 52   background-color: #toCssRGB($colors);
53 53   border-color: #toCssRGB($darkenedColors);
54 54   color: #fontColor($colors);
75 + #end
55 55   width: $!width;
56 56   "
57 - class="btn">
78 + class="btn $escapetool.xml($macro.additionalClass)">
58 58   $!services.icon.renderHTML($!icon)
59 59   $label
60 60   </button>
61 61   </a>
83 + #if (!$wikimacro.context.isInline())</p>#end
62 62   {{/html}}
63 63  #end
64 64  {{/velocity}}
65 65  
66 -{{include reference="Licenses.Code.VelocityMacros"/}}
67 -
68 68  {{velocity}}
69 69  ## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right
70 70  ## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that
71 71  ## don't have view right on those pages.
72 -#if ($services.licensing.licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference))
92 +#if ($services.promacrolicensing.hasLicensureForEntity($xcontext.macro.doc.documentReference))
73 73   #executeMacro
74 74  #else
75 - {{error}}
76 - #getMissingLicenseMessage('proMacros.extension.name')
77 - {{/error}}
95 + {{missingLicenseMessage extensionName="proMacros.extension.name"/}}
78 78  #end
79 79  {{/velocity}}
Makrobeschreibung
... ... @@ -1,1 +1,0 @@
1 -Insert a button!
XWiki.WikiMacroParameterClass[0]
Parameter-Beschreibung
... ... @@ -1,1 +1,0 @@
1 -The label of the button.
XWiki.WikiMacroParameterClass[1]
Parameter-Beschreibung
... ... @@ -1,1 +1,0 @@
1 -A link or a page reference.
XWiki.WikiMacroParameterClass[2]
Parameter-Beschreibung
... ... @@ -1,1 +1,0 @@
1 -The color of the button.
XWiki.WikiMacroParameterClass[3]
Parameter-Beschreibung
... ... @@ -1,1 +1,0 @@
1 -The width of the button specified in pixels, percentage or other valid CSS value (ex. 30px, 30%, 30em). If no value is specified, the width will be determined by the length of the label.
XWiki.WikiMacroParameterClass[4]
Parameter-Beschreibung
... ... @@ -1,1 +1,0 @@
1 -Denotes whether the page will be opened in a new page or not.
XWiki.WikiMacroParameterClass[5]
Parameter-Beschreibung
... ... @@ -1,1 +1,0 @@
1 -Icon associated with the button, placed before the label.
XWiki.WikiMacroParameterClass[6]
Parameter-Vorgabe
... ... @@ -1,0 +1,1 @@
1 +DEFAULT
Parameter-Name
... ... @@ -1,0 +1,1 @@
1 +type
Parameter-Typ
... ... @@ -1,0 +1,1 @@
1 +com.xwiki.macros.button.ButtonType
Parameter verpflichtend
... ... @@ -1,0 +1,1 @@
1 +Nein
XWiki.WikiMacroParameterClass[7]
Parameter-Name
... ... @@ -1,0 +1,1 @@
1 +id
Parameter-Typ
... ... @@ -1,0 +1,1 @@
1 +java.lang.String
Parameter verpflichtend
... ... @@ -1,0 +1,1 @@
1 +Nein
XWiki.WikiMacroParameterClass[8]
Parameter-Name
... ... @@ -1,0 +1,1 @@
1 +class
Parameter-Typ
... ... @@ -1,0 +1,1 @@
1 +java.lang.String
Parameter verpflichtend
... ... @@ -1,0 +1,1 @@
1 +Nein