Skip to content

Commit

Permalink
Issue #11
Browse files Browse the repository at this point in the history
New filters added for rendering email addresses, postal addresses, open hours, commitments, URLs and websites

_______________________________________________________________________________________

Nouveaux filtres ajoutés pour créer l'affichage des adresses mail, postales, heures d'ouverture, engagements, URLs et sites web
  • Loading branch information
regazzoj committed Sep 25, 2018
1 parent 8c074cb commit e0f49cc
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 51 deletions.
8 changes: 6 additions & 2 deletions src/js/modules/element/template-element-filters.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,19 @@ declare var commonmark;

export class TemplateElementFiltersModule
{
filters = [ 'gogotags' ];
filters = [ 'gogocommitment', 'gogoemail', 'gogoopenhours', 'gogotags', 'gogotelephone', 'gogourls', 'gogowebsite' ];

public addGoGoFilters(nunjucksEnvironment)
{
// adds custom fitlers here
for(const currentFilter of this.filters)
{
nunjucksEnvironment.addFilter(currentFilter, function(value) {
nunjucksEnvironment.addFilter(currentFilter, function(value, kwargs) {
let objectArgument = {};
if(kwargs)
{
$.extend(objectArgument, kwargs);
}
objectArgument[currentFilter] = value;
return nunjucksEnvironment.render("templates/element-filters/"+ currentFilter +".html.njk", objectArgument);
});
Expand Down
2 changes: 1 addition & 1 deletion src/js/modules/element/template-element.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export class TemplateElementModule
if (this.bodyTemplate)
return this.bodyTemplate.render(options.element).replace(/&amp;/g, "&").replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&quot;/g, '"');

return App.templateModule.render('element-body-default', options);
return App.templateModule.render('element-body-default', options).replace(/&amp;/g, "&").replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&quot;/g, '"');
}

private parseMarkdownSyntax(markdownString: string): string
Expand Down
56 changes: 8 additions & 48 deletions src/views/components/element/body.html.njk
Original file line number Diff line number Diff line change
Expand Up @@ -25,37 +25,24 @@
{# Tel #}
{% set telephone = element.getProperty('telephone') %}
{% if telephone %}
<span class="col s12 tel">{{ telephone|safe }}</span>
{{telephone|gogotelephone}}
{% endif %}

{# Mail #}
{% set email = element.getProperty('email') %}
{% if email %}
<span class="col s12 tel">
{# if element is pending we need to show the email no matter the security rules #}
{% if config.security.hideMailsByShowingSendMailButton and not (element.isPending() and config.isFeatureAvailable('pending')) %}
<button class="btn send-mail-btn">Envoyer un Mail</button>
{% else %}
{{ element.getProperty('email')|safe }}
{% endif %}
</span>
{{ email|gogoemail(hideMail = config.security.hideMailsByShowingSendMailButton, isPending = element.isPending(), featurePendingAvailable = config.isFeatureAvailable('pending')) }}
{% endif %}

{# WebSite #}
{% set website = element.getProperty('website') %}
{% if website %}
<span class="col s12 tel"><a href="{{ element.website }}" target="_blank">{{ website|safe }}</a>
</span>
{{website|gogowebsite}}
{% endif %}

{% set urls = element.urls %}
{% if urls %}
{% for url in urls %}
<div class="col s12">
{#{% if url.type %}<span class="label">{{ url.type }}</span>{% endif %}#}
<a href="{{ url.value }}" target="_blank">{{ url.value|safe }}</a>
</div>
{% endfor %}
{{ urls|gogourls }}
{% endif %}

</div>
Expand All @@ -70,48 +57,21 @@

{% set tags = element.getProperty('tags') %}
{% if tags %}
<div class="col s12 tags-container">
{% for tag in tags %}<span class="gogo-tag">{{ tag }}</span>{% endfor %}
</div>
{{ tags|gogotags}}
{% endif %}
</div>

{% set commitment = element.getProperty('commitment') %}
{% if commitment %}
<div class="info-bar-divider"></div>
<h3>Engagement Citoyen</h3>
<div class="section row">
<span class="col s12 description">{{ commitment|safe }}</span>
</div>
<div class="info-bar-divider">
{{commitment|gogocommitment}}
{% endif %}

{# Open Hours #}
{% set openHoursMoreInfos = element.getProperty('openHoursMoreInfos') %}
{% if element.formatedOpenHours|length or openHoursMoreInfos %}
<div class="info-bar-divider"></div>
<h3>Horaires d'ouverture</h3>
<div class="section row sectionOpenHours">
{% set count = 0 %}

{% for key, horaire in element.formatedOpenHours %}
{% if horaire != null %}

<div class='row'>
<span class="col s3 day">{{ key|capitalize }}</span>
<span class="col s9 openHours">{{ horaire }} </span>
</div>
{% set count = count + 1 %}

{% endif %}
{% endfor %}

{% if openHoursMoreInfos %}
<div class='col' {% if count != 0 %}style="margin-top:1rem;"{% endif %}>{{ openHoursMoreInfos|safe }}</div>
{% set count = count + 1 %}
{% endif %}

{% if count == 0 %}<div class='col'> Non renseignées </div>{% endif %}
</div>
{{openHoursMoreInfos|gogoopenhours(formatedOpenHours = element.formatedOpenHours)}}
{% endif %}

{# Vidéo #}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
</div><h3>Engagement Citoyen</h3><div class="section row"><span class="col s12 description">{{ gogocommitment|safe }}</span></div>
1 change: 1 addition & 0 deletions src/views/templates/element-filters/gogoemail.html.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<span class="col s12 tel">{% if hideMail and not (isPending and featurePendingAvailable) %}<button class="btn send-mail-btn">Envoyer un Mail</button>{% else %}{{gogoemail|safe}} {% endif %}</span>
23 changes: 23 additions & 0 deletions src/views/templates/element-filters/gogoopenhours.html.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<h3>Horaires d'ouverture</h3>
<div class="section row sectionOpenHours">
{% set count = 0 %}

{% for key, horaire in formatedOpenHours %}
{% if horaire != null %}

<div class='row'>
<span class="col s3 day">{{ key|capitalize }}</span>
<span class="col s9 openHours">{{ horaire }} </span>
</div>
{% set count = count + 1 %}

{% endif %}
{% endfor %}

{% if gogoopenhours %}
<div class='col' {% if count != 0 %}style="margin-top:1rem;"{% endif %}>{{ gogoopenhours|safe }}</div>
{% set count = count + 1 %}
{% endif %}

{% if count == 0 %}<div class='col'> Non renseignées </div>{% endif %}
</div>
1 change: 1 addition & 0 deletions src/views/templates/element-filters/gogotelephone.html.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<span class="col s12 tel">{{ gogotelephone|safe }}</span>
1 change: 1 addition & 0 deletions src/views/templates/element-filters/gogourls.html.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{% for currentUrl in gogourls %}<div class="col s12"><a href="{{ currentUrl.value }}" target="_blank">{{ currentUrl.value|safe }}</a></div>{% endfor %}
1 change: 1 addition & 0 deletions src/views/templates/element-filters/gogowebsite.html.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<span class="col s12 tel"><a href="{{ gogowebsite }}" target="_blank">{{ gogowebsite|safe }}</a></span>

0 comments on commit e0f49cc

Please sign in to comment.