Changes for page VelocityMacros

Last modified by Jean Franco on 2022/10/27 21:09

From version 1.1 >
edited by Jean Franco
on 2022/07/30 13:08
To version < 2.1
edited by Jean Franco
on 2022/10/27 21:09
Change comment: Install extension [com.xwiki.licensing:application-licensing-licensor-ui/1.23]

Summary

Details

Page properties
Content
... ... @@ -155,34 +155,41 @@
155 155   {{/html}}
156 156  #end
157 157  
158 -#macro (licenseButton $licenseType $cssClass $key $jsonData)
158 +#macro (licenseButton $licenseType $cssClass $iconName $key $jsonData)
159 159   #set ($jsonData.licenseType = $licenseType)
160 - #set ($label = $services.localization.render("licensor.${key}License.label"))
161 - <button class="btn btn-$cssClass licenseButton licenseButton-$escapetool.xml($key)"
162 - data-button="$escapetool.xml($jsontool.serialize($jsonData))">$label</button>
160 + #set ($label = $escapetool.xml($services.localization.render("licensor.${key}License.label")))
161 + <a href="#$escapetool.xml($key)" class="action licenseButton licenseButton-$escapetool.xml($key)"
162 + data-button="$escapetool.xml($jsontool.serialize($jsonData))" title="$label">
163 + <span class="action-icon"><span class="fa fa-$iconName"></span></span>##
164 + <span class="action-label">$label</span>
165 + </a>
163 163  #end
164 164  
165 -#macro (moreActionsButton $extensionId)
168 +#macro (autoUpgradeButton $extensionId)
166 166   #set ($licensingConfigDoc = $xwiki.getDocument('Licenses.Code.LicensingConfig'))
167 167   #set ($autoUpgradesObj = $licensingConfigDoc.getObject('Licenses.Code.AutomaticUpgradesClass'))
168 168   #set ($isAutoUpgrade = $autoUpgradesObj.getValue('allowlist').contains($extensionId))
172 + #set ($upgradeL10nKey = "#if ($isAutoUpgrade)prevent#{else}allow#end")
169 169   <div class="btn-group">
170 - <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"
171 - title="$services.localization.render("licensor.moreActions")" role="button">
172 - <span class="fa fa-ellipsis-v"></span>
173 - </a>
174 - <ul class="dropdown-menu dropdown-left">
175 - <li class="dropdown-header">
176 - <form target="_blank" class="xform half">
177 - <input type="hidden" name="form_token" value="$!escapetool.xml($services.csrf.token)" />
178 - <input type="hidden" name="extensionId" value="$extensionId" />
179 - <input type="checkbox" name="autoUpgrade" #if ($isAutoUpgrade) checked #end />
180 - <label for="autoUpgrade">
181 - $services.localization.render("licensor.moreActions.autoUpgrade.allow")
182 - </label>
183 - </form>
184 - </li>
185 - </ul>
174 + <form target="_blank" class="xform half">
175 + <input type="hidden" name="form_token" value="$!escapetool.xml($services.csrf.token)" />
176 + <input type="hidden" name="extensionId" value="$!escapetool.xml($extensionId)" />
177 + <input type="hidden" name="autoUpgrade" value="$!escapetool.xml($isAutoUpgrade)" />
178 + ## The data translations attributes are used for updating the title from js. These can be removed once licensing
179 + ## starts depending on a XWiki version >= 13.8 to include XWIKI-18973: Simplify the way JavaScript code loads
180 + ## translation messages.
181 + <a href="#autoUpgrade" class="action licenseButton-autoUpgrade" title="$escapetool.xml(
182 + $services.localization.render("licensor.moreActions.autoUpgrade.${upgradeL10nKey}"))" data-allow-label=
183 + "$escapetool.xml($services.localization.render('licensor.moreActions.autoUpgrade.allow'))"
184 + data-prevent-label="$escapetool.xml(
185 + $services.localization.render('licensor.moreActions.autoUpgrade.prevent'))" >
186 + <span class="action-icon #if ($isAutoUpgrade)isAutoUpgrade#end">
187 + <span class="fa fa-cloud-download"></span>##
188 + </span><span class="action-label">$escapetool.xml(
189 + $services.localization.render('licensor.moreActions.autoUpgrade.label'))
190 + </span>
191 + </a>
192 + </form>
186 186   </div>
187 187  #end
188 188  
... ... @@ -195,24 +195,30 @@
195 195   })
196 196   #if (!$license || $license.expirationDate == 0)
197 197   ## No license available.
198 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'paid' $jsonData)"))
199 - #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'trial' $jsonData)"))
205 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'paid' $jsonData)"))
206 + #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'hourglass-start' 'trial' $jsonData)"))
200 200   #elseif ($license.type == 'FREE')
201 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'paid' $jsonData)"))
208 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'paid' $jsonData)"))
202 202   #elseif ($license.type == 'TRIAL')
203 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'paid' $jsonData)"))
204 - #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'extendTrial' $jsonData)"))
210 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'paid' $jsonData)"))
211 + #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'hourglass-end' 'extendTrial' $jsonData)"))
205 205   #elseif ($license.type == 'PAID')
206 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'extendPaid' $jsonData)"))
213 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'extendPaid' $jsonData)"))
207 207   #end
208 - #set ($discard = $actions.add("#moreActionsButton($jsonData.featureId)"))
209 209  #end
210 210  
211 211  #macro (licenseActions $license $extension)
212 212   #set ($actions = [])
219 + ## Pull the resources needed by license actions.
220 + #set ($discard = $services.icon.use('Font Awesome'))
213 213   #getLicenseActions($license $extension $actions)
214 - <div class="licenseActions">
215 - $stringtool.join($actions, '')
222 + <div class="licenseActions container-fluid">
223 + <div class="row">
224 + $stringtool.join($actions, '')
225 + </div>
226 + <div class="row">
227 + #autoUpgradeButton($extension.id.id)
228 + </div>
216 216   </div>
217 217  #end
218 218  {{/velocity}}
Maila Networks