#-- WARNING : be careful to white-space and lines break in FreeMarker macros.
# This macro template can be used to output white-space-sensitive formats (like RSS files).
# See http://dev.lutece.paris.fr/jira/browse/LUTECE-765
-->
<#-- Do not remove this comment -->
<#-- Information about this commons file -->
<#macro commonsFile>commons_bulma.html#macro>
<#macro commonsName>Commons Bulma 0.7.2#macro>
<#macro commonsDescription>Freemarker Commons macros powered by Bulma CSS Framework v0.7.2#macro>
<#macro coreAdminCSSLinks>
#macro>
<#macro coreAdminJSLinks>
#macro>
<#global gClassActive='is-active' />
<#macro comboWithParams name default_value additionalParameters items >
#macro>
<#-- MACRO TR -->
<#macro tr id='' class='' hide=[] params=''>
<#local class += ' ' + displaySettings(hide,'is-inline') + ' ' + alignmentSettings(align) />
id="${id}"#if><#if class!=''> class="${class?trim}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- MACRO TH -->
<#-- valign: baseline|top|middle|bottom|bottom|text-top -->
<#macro th id='' title='' scope='' class='' align='' valign='' hide=[] cols=0 xs=0 sm=0 md=0 lg=0 xl=0 colspan=0 rowspan=0 flex=false params=''>
<#local class += ' ' + displaySettings(hide,'is-inline') + ' ' + alignmentSettings(align) />
<#if valign!=''><#local class += ' align-' + valign />#if>
id="${id}"#if><#if class!=''> class="${class?trim}"#if><#if title!=''> title="${title}"#if><#if scope!=''> scope="${scope}"#if><#if colspan gt 0> colspan="${colspan}"#if><#if rowspan gt 0> rowspan="${rowspan}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- MACRO TD -->
<#macro td id='' class='' hide=[] align='' valign='' xs=0 sm=0 md=0 lg=0 xl=0 colspan=0 rowspan=0 flex=false params='' deprecated...>
<@deprecatedWarning args=deprecated />
<#local class += ' ' + displaySettings(hide,'is-inline') + ' ' + alignmentSettings(align) />
<#if valign!=''><#local class += ' align-' + valign />#if>
id="${id}"#if><#if colspan gt 0> colspan="${colspan}"#if><#if rowspan gt 0> rowspan="${rowspan}"#if><#if params!=''> ${params}#if>>
<#if flex>#if>
<#nested>
<#if flex>
#if>
#macro>
<#--- MACRO SELECT (TO REPLACE "COMBO" MACROS) --->
<#macro select name items='' default_value='' id=name class='' size='' sort=false multiple=0 params='' title='' tabIndex=0 disabled=false maxLength=0 mandatory=false>
<#if propagateMandatory?? && propagateMandatory ><#local mandatory = true />#if>
<#switch size>
<#case 'xs'>
<#assign selectSize='small'>
<#break>
<#case 'sm'>
<#assign selectSize='small'>
<#break>
<#case 'md'>
<#assign selectSize='medium'>
<#break>
<#case 'lg'>
<#assign selectSize='large'>
<#break>
<#default>
<#assign selectSize='normal'>
#switch>
multiple size="${multiple}"#if><#if (tabIndex > 0)> tabindex="${tabIndex}"#if><#if params!=''> ${params}#if><#if title!=''> ${title}#if><#if mandatory> required#if><#if disabled> disabled#if>>
<#if items?has_content>
<#if sort=true>
<#list items?sort_by("name") as item>
<#if default_value="${item.code}">
label="${i18n("portal.util.labelEmpty")}"#if>>${item.name}
<#else>
label="${i18n("portal.util.labelEmpty")}"#if>>${item.name}
#if>
#list>
<#else>
<#if maxLength gt 0>
<#list items as item>
<#if maxLength < item.name?length >
<#assign item_new = "..." + "${item.name?substring(item.name?length-maxLength+3)}" >
<#else>
<#assign item_new = "${item.name}">
#if>
<#if default_value="${item.code}">
${item_new}
<#else>
${item_new}
#if>
#list>
<#else>
<#list items as item>
<#if default_value="${item.code}">
label="${i18n("portal.util.labelEmpty")}"#if>>${item.name}
<#else>
label="${i18n("portal.util.labelEmpty")}"#if>>${item.name}
#if>
#list>
#if>
#if>
<#else>
<#nested>
#if>
#macro>
<#-- ICONS -->
<#-- Icons from FontAwesome 5.8.1 -->
<#macro icon prefix='fa-' style='' class='fa-lg' title='' id='' params=''>
<#if style='docker' || style = 'github' || style='gitlab' || style='java' || style='jira' || style='jenkins' || style = 'twitter' >
<#local prefix = 'fab ' + prefix />
<#else>
<#local prefix = 'fas ' + prefix />
#if>
<#switch style>
<#case 'arrows'>
<#local iconStyle = 'arrows-alt' />
<#break>
<#case 'arrows-h'>
<#local iconStyle = 'arrows-alt-h' />
<#break>
<#case 'arrows-v'>
<#local iconStyle = 'arrows-alt-v' />
<#break>
<#case 'clock-o'>
<#local iconStyle = 'clock' />
<#break>
<#case 'close'>
<#local iconStyle = 'times' />
<#break>
<#case 'external-link'>
<#local iconStyle = 'external-link-alt' />
<#break>
<#case 'file-pdf-o'>
<#local iconStyle = 'file-pdf' />
<#break>
<#case 'pencil'>
<#local iconStyle = 'edit' />
<#break>
<#case 'refresh'>
<#local iconStyle = 'sync' />
<#break>
<#default>
<#local iconStyle = style />
#switch>
title='${title}'#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
#macro>
<#-- ICONSTACK -->
<#-- iconStack -->
<#-- class: par défaut 2x peut être tout autre taille voir doc FontAwesome -->
<#-- nested: 2 macro @icon une class fa-stack-2x , autre avec class fa-stack-1x dans l'ordre -->
<#macro iconStack class='fa-2x' id='' params=''>
${id}#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- FORM -->
<#-- type: inline/horizontal/form -->
<#-- enctype: multipart/form-data | text/plain -->
<#macro tform type='horizontal' class='' align='' hide=[] action='' method='post' name='' id='' role='' collapsed=false enctype='' params='' deprecated...>
<@deprecatedWarning args=deprecated />
<#local class = class />
<#if align!=''><#local class += ' ' + alignmentSettings(align) />#if>
<#if hide??><#local class += ' ' + displaySettings(hide,'block') />#if>
<#if collapsed><#local class += ' collapse' />#if>
<#switch type>
<#case 'horizontal'>
<#local class += ' form-horizontal'>
<#break>
<#case 'inline'>
<#local class += ' form-inline'>
<#break>
<#default>
<#local class += ' form'>
#switch>
#macro>
<#-- FORM ELEMENT STRUCTURE -->
<#-- formStyle values: empty/inline/horizontal/navbar-form/navbar-left... Default is horizontal -->
<#-- groupStyle: is-success/is-danger/is-warning... -->
<#macro formGroup formStyle='horizontal' class='' groupStyle='' rows=1 labelKey='' labelFor='' labelId='' labelClass='' helpKey='' id='' mandatory=false hideLabel=[] collapsed=false params='' deprecated...>
<@deprecatedWarning args=deprecated />
<#local labelDisplayClass = displaySettings(hideLabel,'') />
<#if collapsed><#local class += ' collapse' />#if>
${labelKey} <#if mandatory=true>*#if>
<#assign propagateMandatory = mandatory>
<#nested>
<#assign propagateMandatory = false>
<#if helpKey != ''>
${helpKey}
#if>
#macro>
<#macro formField class=''>
<#nested>
#macro>
<#macro formLabel class='' labelFor='' labelId='' labelKey='' hideLabel=[] mandatory=true deprecated...>
<@deprecatedWarning args=deprecated />
<#local class += ' ' + displaySettings(hideLabel,'') />
id="${labelId}"#if><#if mandatory=true>ariaLabel="${labelKey} [#i18n{portal.users.modify_attribute.labelMandatory}]"#if>>${labelKey}
#macro>
<#macro formHelp style='inline' class='' labelFor=''>
id="${labelFor}_help"#if>>
<#nested>
#macro>
<#-- INPUT TEXT/TEXTAREA/SEARCH/PASSWORD/EMAIL/FILE -->
<#-- type : text/textarea/password/email/file/number. Default is text -->
<#-- size: xs/sm/lg -->
<#-- pattern: [A-F][0-9]{5} -->
<#macro input name type='text' value='' class='' size='' inputSize=0 maxlength=0 placeHolder='' rows=4 cols=40 richtext=false tabIndex='' id='' disabled=false readonly=false pattern='' title='' min=0 max=0 params='' mandatory=false language=.lang minDate='' maxDate='' defaultDate='' minTime='' maxTime='' defaultTime=''>
<#if propagateMandatory?? && propagateMandatory ><#local mandatory = true />#if>
<#if size == 'xs' || size == 'sm'><#local size = 'small' />
<#elseif size == 'md'><#local size = 'medium' />
<#elseif size == 'lg'><#local size = 'large' />
<#else><#local size = '' />#if>
<#if type != 'hidden'>
#if>
<#if type='textarea'>
<#elseif type='text' || type='search' || type='password' || type='email' || type='file' || type='number'>
tabindex="${tabIndex}"#if><#if placeHolder!=''> placeholder="${placeHolder}"#if><#if title!=''> title="${title}"#if><#if maxlength > 0> maxlength="${maxlength}"#if><#if inputSize!=0> size="${inputSize}"#if><#if disabled> disabled#if><#if readonly> readonly#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if><#if pattern!=''>pattern=${pattern}#if><#if min!=max> min="${min}"#if><#if max!=0> max="${max}"#if><#if mandatory> required#if><#if labelFor?? && labelFor!='' && helpKey?? && helpKey!=''> aria-describedby="${labelFor}_help"#if> />
<#elseif type='date' || type='datetime' || type='daterange' || type='datetimerange'>
<#if type='date'>
<@getDatePickerBootstrap idField='${id}' language=language />
<#elseif type='datetime'>
<@getDateTimePickerBootstrap idField='${id}' language=language />
<#elseif type='daterange'>
<@getDateRangeFlatPicker idField='${id}' language=language />
<#elseif type='datetimerange'>
<@getDateTimeRangeFlatPicker idField='${id}' language=language />
#if>
tabindex="${tabIndex}"#if><#if placeHolder!=''> placeholder="${placeHolder}"#if><#if title!=''> title="${title}"#if><#if maxlength > 0> maxlength="${maxlength}"#if><#if inputSize!=0> size="${inputSize}"#if><#if disabled> disabled#if><#if readonly> readonly#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if><#if pattern!=''>pattern=${pattern}#if><#if min!=max> min="${min}"#if><#if max!=0> max="${max}"#if><#if mandatory> required#if><#if labelFor?? && labelFor!='' && helpKey?? && helpKey!=''> aria-describedby="${labelFor}_help"#if> />
<#elseif type='hidden'>
<#else><@icon style='warning' />Type not supported
#if>
<#if type != 'hidden'>
#if>
#macro>
<#-- STATIC TEXT -->
<#-- Bootstrap colors: muted/primary/success/info/warning/danger -->
<#-- AdminLTE colors: red/yellow/aqua/blue/black/light-blue/green/gray/navy/teal/olive/lime/orange/fuchsia/purple/maroon -->
<#macro staticText inForm=true color='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- CHECKBOX -->
<#-- orientation: vertical/inline. Default is vertical -->
<#macro checkBox name id='' labelKey='' labelFor='' orientation='vertical' value='' tabIndex='' title='' disabled=false readonly=false checked=false params='' mandatory=false deprecated...>
<@deprecatedWarning args=deprecated />
<#if id = ''><#local id = name />#if>
<#if orientation='vertical'>#if>
class="checkbox-inline"#if> for="${id}"<#if title!=''> title="${title}"#if>>
value="${value}"#if><#if tabIndex!=''> tabindex="${tabIndex}"#if><#if checked> checked#if><#if disabled> disabled#if><#if readonly> readonly#if><#if params!=''> ${params}#if><#if mandatory> required#if> />
<#if labelKey!=''>${labelKey}<#else><#nested>#if>
<#if orientation='vertical'>
#if>
#macro>
<#-- RADIO BUTTON -->
<#-- orientation: vertical/inline. Default is vertical -->
<#macro radioButton name id='' value='' labelKey='' labelFor='' orientation='vertical' tabIndex='' title='' disabled=false readonly=false checked=false params='' mandatory=false >
<#if propagateMandatory?? && propagateMandatory ><#local mandatory = true />#if>
<#if labelFor = '' && id != ''><#local labelFor = id />#if>
<#if orientation='vertical'>#if>
class="radio-inline"#if> for="${labelFor}">
value="${value}"#if><#if tabIndex!=''> tabindex="${tabIndex}"#if><#if checked> checked#if><#if disabled> disabled#if><#if readonly> readonly#if><#if mandatory> required#if><#if params!=''> ${params}#if> />
<#if labelKey!=''>${labelKey}<#else><#nested>#if>
<#if orientation='vertical'>
#if>
#macro>
<#-- INPUT-GROUP -->
<#-- size: ignored -->
<#macro inputGroup size='' id='' class='' params=''>
id="${id}"#if><#if class!=''> ${class}#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro inputGroupItem pos='' type='btn' id='' params=''>
<#-- type: btn/text. default is btn-->
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- DROPDOWN MENU -->
<#-- class: dropdown-menu-right -->
<#-- Expected content : Your link here -->
<#macro dropdownMenu class='' id='' params=''>
#macro>
<#-- ROW -->
<#macro row class='' id='' collapsed=false align='' params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#if align!=''><#local class+= ' ' + alignmentSettings(align) />#if>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- COLUMNS -->
<#-- cols -->
<#macro columns tag='div' offset={} offsetXs=0 offsetSm=0 offsetMd=0 offsetLg=0 offsetXl=0 order={} pushXs=0 pushSm=0 pushMd=0 pushLg=0 pushXl=0 pullXs=0 pullSm=0 pullMd=0 pullLg=0 pullXl=0 xs=12 sm=0 md=0 lg=0 xl=0 id='' class='' collapsed=false align='' params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#if align!=''><#local class+= ' ' + alignmentSettings(align) />#if>
<${tag} class="column<#if class!=''> ${class}#if>"<#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
${tag}>
#macro>
<#-- LISTS -->
<#macro ul id='' class='' align='' hide=[] collapsed=false params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#if align!=''><#local class+= ' ' + alignmentSettings(align) />#if>
class="${class}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#macro li id='' params='' class=''>
class="${class}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- DIV -->
<#macro div id='' class='' hide=[] collapsed=false align='' params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#if align!=''><#local class+= ' ' + alignmentSettings(align) />#if>
<#if hide??><#local class += ' ' + displaySettings(hide,'block') />#if>
class="${class?trim}"#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- PARAGRAPH -->
<#macro p id='' class='' hide=[] collapsed=false align='' params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#local class += ' ' + alignmentSettings(align) + ' ' + displaySettings(hide,'is-block') />
class="${class?trim}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- SPAN -->
<#macro span id='' class='' hide=[] collapsed=false align='' params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#local class += ' ' + alignmentSettings(align) + ' ' + displaySettings(hide,'is-inline') />
class="${class?trim}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- PRE -->
<#macro pre id='' class='' hide=[] collapsed=false align='' params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#local class += ' ' + alignmentSettings(align) + ' ' + displaySettings(hide,'is-block') />
class="${class?trim}"#if><#if params!=''> ${params}#if><#if id!=''> ${id}#if>>
<#nested>
#macro>
<#-- TABS -->
<#-- TAB -->
<#-- style: tabs/tabs nav-justified/pills/pills nav-stacked/pills nav-justified -->
<#macro tabs color='' style='tabs' class='' hide=[] collapsed=false id='' params=''>
<#if hide??><#local class += ' ' + displaySettings(hide,'block') />#if>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#assign propagateTabStyle = style />
<#if hide?? || collapsed>#if>
<#nested>
<#if hide?? || collapsed>
#if>
#macro>
<#-- Tabs List -->
<#-- type is deprecated -->
<#macro tabList style='tabs' vertical=false id='' params='' color=''>
<#if propagateTabStyle??><#local style = propagateTabStyle />#if>
id="${id}"#if><#if params!=''> ${params}#if>>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- Tabs -->
<#-- type: -->
<#macro tabLink class='' hide=[] id='' active=false href='' title='' tabIcon='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<@link href='${href}' title='${title}'>
<#if tabIcon!=''><@icon style=tabIcon /> #if>
${title}
<#nested>
@link>
#macro>
<#-- TAB Content -->
<#macro tabContent id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- Tab Panel BS4 -->
<#macro tabPanel id params='' active=false>
${params}#if>>
<#nested>
#macro>
<#-- ACCORDION -->
<#-- The accordionContainer is the container for accordionPanel, which itself is the container for accordionHeader and accordionBody -->
<#-- The childId argument in accordionPanel is meant to be used in the two sub-macros: accordionHeader and accordionBody -->
<#macro accordionContainer id='' params=''>
<#if id = '' >
<#if accordionContainerId?? == false><#assign accordionContainerId = 1 ><#else><#assign accordionContainerId = accordionContainerId + 1 >#if>
<#local id = 'accCont_'+ accordionContainerId >
#if>
${params}#if>>
<#assign parentId = id>
<#nested>
#macro>
<#macro accordionPanel color='' collapsed=true childId='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if collapsed = true>
<#assign aClass = ''>
<#assign expanded = 'false'>
<#assign childClass = 'panel-collapse collapse'>
<#else>
<#assign aClass = 'is-active'>
<#assign expanded = 'true'>
<#assign childClass = 'panel-collapse collapse in'>
#if>
<#assign childId = childId>
<#nested>
#macro>
<#-- ACCORDION ELEMENT -->
<#-- The boxTools parameter is unused, kept for backwards compatibility -->
<#macro accordionHeader title='' parentId=parentId childId=childId boxTools=false id='' params='' headerIcon='' >
<#assign parentId=parentId />
#macro>
<#macro accordionBody id=childId class=childClass expanded=expanded params=''>
${params}#if>>
<@boxBody>
<#nested>
@boxBody>
#macro>
<#macro progressBar description='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if description!=''>
${description}
#if>
#macro>
<#macro progress color='primary' id='' params='' value=0 min=0 max=100 text=''>
<#if text=''>${value}%<#else>${text}#if>
#macro>
<#-- TAG -->
<#-- color: default/primary/success/info/warning/danger/ -->
<#macro tag color='default' class='' size='' title='' tagIcon='' id='' params='' deprecated...>
<@deprecatedWarning args=deprecated />
<#switch size>
<#case 'xs'>
<#assign tagSize='is-small'>
<#break>
<#case 'sm'>
<#assign tagSize=''>
<#break>
<#case 'md'>
<#assign tagSize='is-medium'>
<#break>
<#case 'lg'>
<#assign tagSize='is-large'>
<#break>
<#default>
<#assign tagSize='is-normal'>
#switch>
title='${title}'#if><#if id!=''>id='${id}'#if><#if params!=''>${params}#if>>
<#if tagIcon !=''>
<@icon style=tagIcon />
#if>
<#nested>
#macro>
<#-- NAVBAR -->
<#macro navBar tag='nav' class='' id='' params=''>
<${tag} class="navbar<#if class!=''> ${class}#if>"<#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
${tag}>
#macro>
<#-- NAV -->
<#macro nav tag='nav' type='tab' class='' id='' params=''>
<${tag} class="nav nav-${type!}<#if class!=''> ${class}#if>"<#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
${tag}>
#macro>
<#-- NAVITEM -->
<#macro navItem href='' name='' active=false title='' alt='' target='' tag='li' class='' id='' params=''>
<${tag} class="nav-link<#if class!=''> ${class}#if>"<#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#if href !='' >
<@link class='nav-link' href=href name=name title=title alt=alt target=target active=active />
#if>
<#nested>
#${tag}>
#macro>
<#-- BUTTON -->
<#-- bootstrap 3 : size: btn-xs/btn-sm/btn-lg -->
<#-- upcoming bootstrap 4 : size: btn-sm for small buttons/empty for medium buttons/btn-lg for large buttons -->
<#-- color: default[bootstrap4 : secondary]/primary/success/warning/danger/info -->
<#-- color (upcoming bootstrap 4): btn-outline-default/btn-outline-primary/btn-outline-success/btn-outline-warning/btn-outline-danger/btn-outline-info/ -->
<#-- style: btn-block/btn-flat/close/navbar-toggle/collapsed... -->
<#-- type: button/submit/reset -->
<#-- params: data-toggle/data-target/data-dismiss... -->
<#-- buttonIcon: icon name ex: info/check/comment/envelope... -->
<#-- iconPosition: left/right -->
<#-- cancel: switch to true for a cancellation form button. Adds the "formnovalidate" attribute to the button, as well as the right class -->
<#-- formId: contains the form ID if the button is outside of the form -->
<#-- buttonTargetId: contains the target element ID -->
<#-- showTitle, showTitleXs, showTitleSm, showTitleMd, showTitleLg are deprecated in Lutece v7 -->
<#macro button name='' id='' type='button' size='' color='' style='btn-flat' class='' params='' value='' title='' tabIndex='' hideTitle=[] showTitle=true showTitleXs=true showTitleSm=true showTitleMd=true showTitleLg=true buttonIcon='' disabled=false iconPosition='left' dropdownMenu=false cancel=false formId='' buttonTargetId='' deprecated...>
<@deprecatedWarning args=deprecated />
<#if cancel || color = 'default' || color='btn-default' || color='btn-secondary' || color='secondary'>
<#local buttonColor = 'default' />
<#elseif !cancel && color=''>
<#local buttonColor = 'primary' />
<#else>
<#local buttonColor = color />
#if>
<#-- Visibility of button title -->
<#local displayTitleClass = displaySettings(hideTitle,'inline-flex') />
<#-- Visibility of button title: backwards compatibility with Lutece v6, BS3 only -->
<#local showTitleClass = '' />
<#if showTitle = false><#local showTitleClass = 'sr-only' />#if>
<#if showTitleXs = false><#local showTitleClass = showTitleClass + ' hidden-xs' />#if>
<#if showTitleSm = false><#local showTitleClass = showTitleClass + ' hidden-sm' />#if>
<#if showTitleMd = false><#local showTitleClass = showTitleClass + ' hidden-md' />#if>
<#if showTitleLg = false><#local showTitleClass = showTitleClass + ' hidden-lg' />#if>
<#if style != ''>
<#if style?contains('card-control')>
<#if style?contains('collapse')>
<#local widgetAction = 'collapse' />
<#elseif style?contains('remove')>
<#local widgetAction = 'remove' />
#if>
<#local btnStyle = style?replace('collapse|remove', '', 'r')?trim />
<#elseif style?contains('modal')>
<#local widgetAction = 'modal' />
<#local btnStyle = style?replace('modal', '', 'r')?trim />
<#else>
<#local btnStyle = style />
#if>
#if>
<#if dropdownMenu>
#if>
#macro>
<#-- A BUTTON (LINK STYLED AS A BUTTON) -->
<#-- size: small/medium/large -->
<#-- color: default/primary/success/warning/danger/info/bg-purple/bg-blue/bg-navy/bg-teal/bg-maroon/bg-black/bg-gray/bg-olive/bg-lime/bg-orange/bg-fuchsia -->
<#-- style: disabled ignored : btn-block/btn-flat/btn-app-->
<#-- icon: icon name ex: info/check/comment/envelope... -->
<#macro aButton name='' id='' href='' target='' size='' color='primary' style='' align='' class='' params='' title='' tabIndex='' hideTitle=[] buttonIcon='' disabled=false iconPosition='left' dropdownMenu=false cancel=false deprecated...>
<@deprecatedWarning args=deprecated />
<#local displayTitleClass = displaySettings(hideTitle,'inline') />
<#if cancel || color = 'default' || color = 'secondary'>
<#assign buttonColor = 'light' />
<#elseif !cancel && color=''>
<#assign buttonColor = 'primary' />
<#else>
<#assign buttonColor = color />
#if>
<#if style='card-control'>
<#assign style='text-right btn-link' />
#if>
<#switch size>
<#case 'xs'>
<#assign buttonSize='small'>
<#break>
<#case 'sm'>
<#assign buttonSize='small'>
<#break>
<#case 'md'>
<#assign buttonSize='medium'>
<#break>
<#case 'lg'>
<#assign buttonSize='large'>
<#break>
<#default>
<#assign buttonSize='normal'>
#switch>
<#local class += alignmentSettings(align) />
<#if dropdownMenu>
#if>
#macro>
<#-- BTN TOOLBAR -->
<#macro btnToolbar id='' class='' align='' ariaLabel='' params=''>
<#if align!=''><#local class += ' ' + alignmentSettings(align) />#if>
aria-label="${ariaLabel}"#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- BTN GROUP -->
<#-- size: sm/lg -->
<#-- align: left/center/right -->
<#macro btnGroup size='' align='' class='' id='' params='' ariaLabel='' hide=[] deprecated...>
<@deprecatedWarning args=deprecated />
<#local class += ' ' + displaySettings(hide,'inline-flex') />
<#switch size>
<#case 'sm'>
<#local class += ' are-small'>
<#break>
<#case 'lg'>
<#local class += ' are-large'>
<#break>
<#default>
<#local class += ''>
#switch>
<#switch align>
<#case 'right'>
<#local class += ' is-right'>
<#break>
<#case 'center'>
<#local class += ' is-centered'>
<#break>
<#default>
<#local class += ''>
#switch>
aria-label="${ariaLabel}"#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- Radio button/Checkbox as buttons (to use with btnGroup) -->
<#-- type: radio/checkbox -->
<#macro btnGroupRadioCheckbox type='checkbox' color='primary' size='' name='' id='' params='' ariaLabel='' labelFor='' labelKey='' labelParams='' tabIndex='' value='' checked=false>
${labelParams}#if>>
value="${value}"#if><#if params!=''> ${params}#if><#if tabIndex!=''> tabindex="${tabIndex}"#if><#if checked> checked#if> /><#if labelKey!=''>${labelKey}#if>
#macro>
<#-- Simple links a href, anchors -->
<#macro link href='' class='' id='' name='' title='' alt='' target='' params=''>
class="${class}"#if><#if id!=''> id="${id}"#if><#if name!=''> name="${name}"#if><#if target!=''> target="${target}"#if><#if title!=''> title="${title}"#if><#if alt!=''> alt="${alt}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- MODAL -->
<#-- bgColor: modal-default/modal-primary/modal-info/modal-warning/modal-danger -->
<#macro modal id params='' bgColor='' size=''>
#macro>
<#macro modalHeader titleLevel='h4' modalTitle='' id='' params=''>
#macro>
<#macro modalBody id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro modalFooter id='' params=''>
#macro>
<#-- BREADCRUMBS -->
<#macro breadcrumbs id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro breadcrumbItem class='' id='' params=''>
class="${class}"#if><#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- CALLOUT -->
<#-- AdminLTE classes: info/warning/danger/success -->
<#macro callOut color='' titleLevel='h3' title='' callOutIcon='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if title!=''><${titleLevel}><@icon style=callOutIcon /> ${title}${titleLevel}>#if>
<#nested>
#macro>
<#-- ALERT -->
<#-- class: -->
<#-- color: success/info/warning/danger -->
<#macro alert class='' color='' titleLevel='h3' title='' iconTitle='' dismissible=false id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#if dismissible>
<@button color='' size='' class='delete' params='data-dismiss="alert" aria-hidden="true"'>×@button>
#if>
<#if title!=''>
<${titleLevel}>
<#if iconTitle!=''><@icon style=iconTitle />#if>
${title}
${titleLevel}>
#if>
<#nested>
#macro>
<#---------------------------------------->
<#-- AdminLTE Box -->
<#-- color: default/primary/info/success/warning/danger -->
<#-- style: solid (no top border) -->
<#-- collapsed: true/false -->
<#macro box color='' id='' style='' class='' params='' collapsed=false>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#-- The boxTools parameter is unused, kept for backwards compatibility -->
<#macro boxHeader title='' i18nTitleKey='' hideTitle=[] showTitle=true id='' params='' boxTools=false titleLevel='p'>
#macro>
<#macro boxBody class='' collapsed=false align='' id='' params=''>
<#if collapsed><#local class += ' ' + 'collapse' />#if>
<#if align!=''><#local class += ' ' + alignmentSettings(align) />#if>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro boxFooter class='' align='' id='' params=''>
<#if align!=''><#local class += ' ' + alignmentSettings(align) />#if>
#macro>
<#---------------------------------------->
<#-- INFO-BOX AdminTLE (widget) -->
<#-- color: only for the left side showing the icon. -->
<#-- bgColor: for the right side containing the text -->
<#macro infoBox color='' boxText='' boxIcon='' boxNumber='' unit='' bgColor='' progressBar='' progressDescription='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<@icon style=boxIcon />
${boxText}
${boxNumber?string(",000")}<#if unit!=''> ${unit} #if>
<#if bgColor!='' && progressBar!=''>
${progressBar}%
#if>
<#if progressDescription!=''>
${progressDescription}
#if>
#macro>
<#-- AdminLTE Small Box -->
<#-- color: Bootstrap + AdminLTE colors -->
<#-- unit: %,... -->
<#macro smallBox color='' title='' text='' boxIcon='' titleLevel='h3' unit='' url='' urlText='' id='' params='' fontSize='30px'>
id="${id}"#if><#if params!=''> ${params}#if>>
<@icon style=boxIcon class="fa-3x" />
${text}
<${titleLevel} style="font-size:${fontSize};">${title}<#if unit!=''> ${unit}#if>${titleLevel}>
<#if url!=''>
#if>
#macro>
<#-- AdminLTE Error Page -->
<#-- Error Type: 500,404... -->
<#-- Color: primary/blue/navy/aqua/teal/green/orange/yellow/red/purple/maroon/gray/black... -->
<#macro errorPage color='' errorType='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
${errorType}
<@icon style='warning' class='text-${color}' />
<#if errorType=='404'>
#i18n{portal.util.error404.title}
<#elseif errorType='500'>
#i18n{portal.util.error500.title}
<#else>...
#if>
<#if errorType=='404'>
#i18n{portal.util.error404.text}
<#elseif errorType='500'>
#i18n{portal.util.error500.text}
<#else>...
#if>
<@aButton href='' size='' color='bg-${color}' style=''>
<@icon style='home' />
#i18n{portal.util.labelBackHome}
@aButton>
#macro>
<#-- CONTEXTUAL BACKGROUND P-->
<#-- Bootstrap colors: primary/success/info/warning/danger -->
<#-- AdminTLE colors: gray/gray-light/black/red/yellow/aqua/blue/light-blue/green/navy/teal/olive/lime/orange/fuchsia/purple/maroon -->
<#macro coloredBg color='' type='p' id='' params=''>
<${type} class="bg-${color}"<#if id!=''> id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
${type}>
#macro>
<#macro listGroup id='' class='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro listGroupItem id='' class='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#nested>
#macro>
<#macro unstyledList id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>
<#assign liClass = "margin">
<#nested>
#macro>
<#-- DROPDOWN MENU LIST -->
<#macro dropdownList id='' params=''>
Dropdown button
#macro>
<#macro dropdownItem class='' href='' title='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if>>${title}
#macro>
<#-- CARDS -->
<#macro card header=false headerTitle='' headerIcon=false headerTitleIcon=''>
<#if header>
<#if headerIcon><@icon style='${headerTitleIcon}' /> #if>${headerTitle}
#if>
<#nested>
#macro>
<#-- FUNCTION: DISPLAY -->
<#-- This function returns a "visible" or "hidden" class for any component -->
<#-- breakpoints: "all" || "xs"/"sm"/"md"/"lg"/"xl" -->
<#-- display: is-block/is-flex/is-inline/is-inline-block/is-inline-flex -->
<#function displaySettings breakPoints=[] display=''>
<#local breakPointsOrdered = [] />
<#if breakPoints?seq_contains('all')>
<#local breakPointsOrdered += ['all'] />
#if>
<#if breakPoints?seq_contains('xs')>
<#local breakPointsOrdered += ['xs'] />
#if>
<#if breakPoints?seq_contains('sm')>
<#local breakPointsOrdered += ['sm'] />
#if>
<#if breakPoints?seq_contains('md')>
<#local breakPointsOrdered += ['md'] />
#if>
<#if breakPoints?seq_contains('lg')>
<#local breakPointsOrdered += ['lg'] />
#if>
<#if breakPoints?seq_contains('xl')>
<#local breakPointsOrdered += ['xl'] />
#if>
<#local displayClass = '' />
<#if breakPointsOrdered?? && breakPointsOrdered?size > 0>
<#list breakPointsOrdered as breakPoint>
<#if breakPoint = 'all'>
<#local displayClass = 'is-hidden' />
<#elseif breakPoint = 'xs'>
<#local displayClass = displayClass + ' is-hidden-mobile' />
<#elseif breakPoint = 'sm'>
<#local displayClass = displayClass + ' is-hidden-tablet-only' />
<#elseif breakPoint = 'md'>
<#local displayClass = displayClass + ' is-hidden-desktop-only' />
<#elseif breakPoint = 'lg'>
<#local displayClass = displayClass + ' is-hidden-widescreen-only' />
<#elseif breakPoint = 'xl'>
<#local displayClass = displayClass + ' is-hidden-fullhd' />
<#else>
<#local displayClass = displayClass + ' undefined_breakpoint' />
#if>
#list>
#if>
<#return displayClass?trim>
#function>
<#-- This function returns responsive classes or flex order classes -->
<#-- type: col|offset|order -->
<#function responsiveDisplay type='' breakpoints={}>
<#local responsiveDisplayClass = '' />
<#list breakpoints as breakpointkey,breakpointvalue>
<#if breakpointvalue!=0>
<#if breakpointkey = 'xs'>
<#local responsiveDisplayClass += '' />
<#else>
<#local responsiveDisplayClass += '' />
#if>
#if>
#list>
<#return responsiveDisplayClass?trim>
#function>
<#function alignmentSettings align='' style=''>
<#local x = ''>
<#if align !=''>
<#if align = 'left'>
<#local x = 'is-left' />
<#elseif align = 'right'>
<#local x = 'is-right' />
<#elseif align = 'center'>
<#local x = 'is-centered' />
#if>
#if>
<#return x>
#function>
<#-- NEW MACRO LUTECE-2221 -->
<#-- UI STRUCTURE ELEMENTS -->
<#-- MACRO adminHeader -->
<#macro adminHeader site_name=site_name>
#macro>
<#-- MACRO adminFooter -->
<#macro adminFooter >
<@coreAdminJSLinks />
${javascript_files}
#macro>
<#-- MACRO adminHome -->
<#macro adminHome >
<@row>
<@columns class='widget'>
@columns>
@row>
#macro>
<#-- adminContentHeader -->
<#macro adminContentHeader >
#macro>
<#-- adminLoginPage -->
<#macro adminLoginPage title='' site_name='SITE_NAME'>
<#nested>
<@aButton href='http://fr.lutece.paris.fr' params='target="_blank"' title='#i18n{portal.site.portal_footer.labelPortal}' hideTitle=['all'] color='secondary'>
@aButton>
#macro>
<#-- adminHeaderDocumentationLink -->
<#macro adminHeaderDocumentationLink >
<#if feature_documentation?has_content >
<#if feature_documentation?exists>
#i18n{portal.features.documentation.help}
#if>
#if>
#macro>
<#macro adminSiteColumnOutline columnid=''>
${i18n("portal.site.columnId",columnid)}
<#nested>
#macro>
<#-- adminMessagePage -->
<#macro adminMessagePage title=''>
<#assign color="info" />
<#assign icontype="fa-info-circle" />
<#if message.type == 2 >
<#assign color="primary" />
<#assign icontype="fa-question-circle" />
<#elseif message.type == 3 >
<#assign color="danger" />
<#assign icontype="fa-exclamation-circle" />
<#elseif message.type == 4 >
<#assign color="danger" />
<#assign icontype="fa-question-circle" />
<#elseif message.type == 5 >
<#assign color="danger" />
<#assign icontype="fa-ban" />
#if>
#macro>
<#-- HTML ELEMENTS -->
<#macro img url='' alt='' title='' class='' id='' params=''>
id="${id}"#if><#if params!=''> ${params}#if> />
#macro>
<#-- fieldSet -->
<#macro fieldSet class='' fieldsetId='' fieldsetParams='' legend='' legendClass='' legendId='' legendIcon='' legendParams='' hideLegend=[] disabled=false>
id="${fieldsetId}"#if><#if fieldsetParams!=''> ${fieldsetParams}#if><#if disabled> disabled#if>>
<#if legend!=''>
<#local legendClass += ' ' + displaySettings(hideLegend,'block') />
id="${legendId}"#if><#if legendParams!=''> ${legendParams}#if>><#if legendIcon!=''><@icon style=legendIcon /> #if>${legend}
#if>
<#nested>
#macro>
<#-- Email Default Template -->
<#macro emailTemplate title='Lutece' footer_link='https://fr.lutece.paris.fr'>
#macro>
<#macro adminLanguage languages lang action='jsp/admin/DoChangeLanguage.jsp' >
#i18n{portal.admin.admin_home.language}
<@tform method='post' action=action>
<#list languages as language>
<#if lang==language.code>
<#assign languageButtonColor='success'>
<#else>
<#assign languageButtonColor='default'>
#if>
<@button color='${languageButtonColor}' type='submit' name='language' value='${language.code}' title='${language.name}'/>
#list>
@tform>
#macro>
<#macro adminAccessibilityMode>
<@tform method='post' action='jsp/admin/DoModifyAccessibilityMode.jsp' class=''>
<#if user.accessibilityMode>
<@button color='white' size='sm' type='submit' buttonIcon='eye' title='#i18n{portal.users.admin_header.labelDeactivateAccessibilityMode}'/>
<#else>
<@button color='white' size='sm' type='submit' buttonIcon='eye-slash' title='#i18n{portal.users.admin_header.labelActivateAccessibilityMode}'/>
#if>
@tform>
#macro>
<#-- scroll to top button -->
<#macro scrollTopBtn>
#macro>
<#-- copyElementToClipboard a set of elements designed by a selector - param "selector" -->
<#-- Params -->
<#-- selector : Any CSS selector expression -->
<#-- class : Default '' : List of class with double quote with comma separator -->
<#-- Possible values : "no-hover" No icon on hover - .no-hover portal_admin.css -->
<#-- Possible values : "copy-icon" Icon always shown - . see portal_admin.css -->
<#-- Possible values : "copy-btn" Icon and Button styles - -->
<#-- Ex for multiple classes : "class1","class2" -->
<#-- showMsg : Default false : If true a message is show after copy -->
<#-- msgDone : Default "Copied" : Success message -->
<#-- msgError : Default "Error : not copied" : Error message -->
<#-- Usage -->
<#-- Basic : <@copyElementToClipboard selector='.copy-content' /> -->
<#-- No message : <@copyElementToClipboard selector='.copy-content' showMsg=false /> -->
<#-- No Hover : <@copyElementToClipboard selector='.copy-content' class='"no-hover"' /> -->
<#-- With icon shown : <@copyElementToClipboard selector='.copy-content' class='"copy-icon"' /> -->
<#macro copyElementToClipboard selector class='' showMsg=true msgDone='Copied' msgError='Error : not copied'>
#macro>
<#-- initToast -->
<#-- Params -->
<#-- layout='popups' -->
<#-- position='top-right' -->
<#-- closer=false -->
<#-- sticky=false -->
<#-- progressbar=true -->
<#-- theme='default' -->
<#-- duration=3000 -->
<#-- pool=5 -->
<#macro initToast layout='popups' position='top-right' closer=true sticky=false progressbar=true insert='before' theme='default' duration=3000 pool=5 >
#macro>
<#-- addToast -->
<#-- Params -->
<#-- title : Default "Error : not copied" : Error message -->
<#-- msg : Default "Copied" : Success message -->
<#-- type : Default "default" ['info', 'danger', 'success' 'warning'] -->
<#macro addToast title content type='default' >
lutecepolipop.add({
content: '${content}',
title: '${title}',
type: '${type}',
});
#macro>
<#-- Display wrong or deprecated macro arguments -->
<#macro deprecatedWarning args=[] >
<#if args?size != 0 >#if>
#macro>