diff --git a/css/layout-css/agenda-style.upload.css b/css/layout-css/agenda-style.upload.css
index 5fe9a1f9..1d03b784 100644
--- a/css/layout-css/agenda-style.upload.css
+++ b/css/layout-css/agenda-style.upload.css
@@ -1525,7 +1525,42 @@
display: none;
}
+.agenda-multiple-images-holder {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.agenda-multiple-images-item {
+ width: calc(50% - 7.5px);
+ margin-top: 15px;
+ border-radius: 12px;
+ padding: 10px;
+ border: 1px solid rgba(127, 127, 127, 0.5);
+ cursor: pointer;
+}
+
+.agenda-multiple-images-item:nth-of-type(2n+1) {
+ margin-right: 15px;
+}
+
+.agenda-multiple-images-item .image {
+ width: 100%;
+ padding-top: 100%;
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
@media screen and (min-width: 640px) {
+ .agenda-multiple-images-item {
+ width: calc(33.33% - 10px);
+ margin-right: 15px;
+ }
+
+ .agenda-multiple-images-item:nth-of-type(3n) {
+ margin-right: 0;
+ }
+
.agenda-detail-overlay .agenda-detail-overlay-wrapper {
position: absolute;
top: 0;
diff --git a/css/layout-css/news-feed-style.upload.css b/css/layout-css/news-feed-style.upload.css
index 934a2bd7..aff31c37 100644
--- a/css/layout-css/news-feed-style.upload.css
+++ b/css/layout-css/news-feed-style.upload.css
@@ -1517,7 +1517,42 @@ html.ie11 .new-news-feed-list-container .news-feed-list-item:not(.open) .slide-o
padding: 20px 15px;
}
+.news-feed-multiple-images-holder {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.news-feed-multiple-images-item {
+ width: calc(50% - 7.5px);
+ margin-top: 15px;
+ border-radius: 12px;
+ padding: 10px;
+ border: 1px solid rgba(127, 127, 127, 0.5);
+ cursor: pointer;
+}
+
+.news-feed-multiple-images-item:nth-of-type(2n+1) {
+ margin-right: 15px;
+}
+
+.news-feed-multiple-images-item .image {
+ width: 100%;
+ padding-top: 100%;
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
@media screen and (min-width: 640px) {
+ .news-feed-multiple-images-item {
+ width: calc(33.33% - 10px);
+ margin-right: 15px;
+ }
+
+ .news-feed-multiple-images-item:nth-of-type(3n) {
+ margin-right: 0;
+ }
+
.news-feed-detail-overlay .news-feed-detail-wrapper .news-feed-item-inner-content {
padding: 20px 15px;
}
diff --git a/css/layout-css/simple-list-style.upload.css b/css/layout-css/simple-list-style.upload.css
index dff21d12..e3c17dba 100644
--- a/css/layout-css/simple-list-style.upload.css
+++ b/css/layout-css/simple-list-style.upload.css
@@ -1183,7 +1183,42 @@ html.ie11 .simple-list-item .list-item-description {
margin-left: 5px;
}
+.simple-list-multiple-images-holder {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.simple-list-multiple-images-item {
+ width: calc(50% - 7.5px);
+ margin-top: 15px;
+ border-radius: 12px;
+ padding: 10px;
+ border: 1px solid rgba(127, 127, 127, 0.5);
+ cursor: pointer;
+}
+
+.simple-list-multiple-images-item:nth-of-type(2n+1) {
+ margin-right: 15px;
+}
+
+.simple-list-multiple-images-item .image {
+ width: 100%;
+ padding-top: 100%;
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
@media screen and (min-width: 640px) {
+ .simple-list-multiple-images-item {
+ width: calc(33.33% - 10px);
+ margin-right: 15px;
+ }
+
+ .simple-list-multiple-images-item:nth-of-type(3n) {
+ margin-right: 0;
+ }
+
.simple-list-detail-overlay .simple-list-detail-overlay-wrapper {
position: absolute;
top: 0;
diff --git a/css/layout-css/small-card-style.upload.css b/css/layout-css/small-card-style.upload.css
index 28f2ecef..2d0a6704 100644
--- a/css/layout-css/small-card-style.upload.css
+++ b/css/layout-css/small-card-style.upload.css
@@ -1194,7 +1194,42 @@
display: none;
}
+.small-card-multiple-images-holder {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.small-card-list-multiple-images-item {
+ width: calc(50% - 7.5px);
+ margin-top: 15px;
+ border-radius: 12px;
+ padding: 10px;
+ border: 1px solid rgba(127, 127, 127, 0.5);
+ cursor: pointer;
+}
+
+.small-card-list-multiple-images-item:nth-of-type(2n + 1) {
+ margin-right: 15px;
+}
+
+.small-card-list-multiple-images-item .image {
+ width: 100%;
+ padding-top: 100%;
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
@media screen and (min-width: 640px) {
+ .small-card-list-multiple-images-item {
+ width: calc(33.33% - 10px);
+ margin-right: 15px;
+ }
+
+ .small-card-list-multiple-images-item:nth-of-type(3n) {
+ margin-right: 0;
+ }
+
.small-card-detail-overlay .small-card-detail-overlay-wrapper {
position: absolute;
top: 0;
diff --git a/css/layout-css/small-h-card-style.upload.css b/css/layout-css/small-h-card-style.upload.css
index 31000e85..1808e767 100644
--- a/css/layout-css/small-h-card-style.upload.css
+++ b/css/layout-css/small-h-card-style.upload.css
@@ -511,11 +511,45 @@
display: none;
}
+.small-h-card-multiple-images-holder {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.small-h-card-multiple-images-item {
+ width: calc(50% - 7.5px);
+ margin-top: 15px;
+ border-radius: 12px;
+ padding: 10px;
+ border: 1px solid rgba(127, 127, 127, 0.5);
+ cursor: pointer;
+}
+
+.small-h-card-multiple-images-item:nth-of-type(2n+1) {
+ margin-right: 15px;
+}
+
+.small-h-card-multiple-images-item .image {
+ width: 100%;
+ padding-top: 100%;
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+
.small-h-card-detail-overlay .small-h-card-detail-overlay-panel {
z-index: 1;
}
@media screen and (min-width: 640px) {
+ .small-h-card-multiple-images-item {
+ width: calc(33.33% - 10px);
+ margin-right: 15px;
+ }
+
+ .small-h-card-multiple-images-item:nth-of-type(3n) {
+ margin-right: 0;
+ }
+
.small-h-card-detail-overlay .small-h-card-detail-overlay-wrapper {
position: absolute;
top: 0;
diff --git a/js/build.templates.js b/js/build.templates.js
index 3145c55c..109b5070 100644
--- a/js/build.templates.js
+++ b/js/build.templates.js
@@ -7,7 +7,7 @@ this["Fliplet"]["Widget"]["Templates"]["templates.build.agenda-base"] = Handleba
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.agenda-cards-detail"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
- return "
\n
\n {{#if [Title]}}\n
{{[Title]}}
\n {{/if}}\n
\n {{#if [Location]}}\n
{{{[Location]}}}
\n {{/if}}\n
{{[Start Time]}}{{#ifCond [Start Time] '&&' [End Time]}} - {{/ifCond}}{{[End Time]}}{{#if [Full Date]}} / {{/if}}{{moment [Full Date] format=\"D MMM YYYY\"}}
\n
\n\n
\n
\n
\n Bookmark\n
\n
\n Bookmarked\n
\n\n
\n
\n {{#if pollButton}}\n
\n Poll\n
\n {{/if}}\n {{#if surveyButton}}\n
\n Survey\n
\n {{/if}}\n {{#if questionsButton}}\n
\n Questions\n
\n {{/if}}\n
\n\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n

\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n\n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n
";
+ return "\n
\n {{#if [Title]}}\n
{{[Title]}}
\n {{/if}}\n
\n {{#if [Location]}}\n
{{{[Location]}}}
\n {{/if}}\n
{{[Start Time]}}{{#ifCond [Start Time] '&&' [End Time]}} - {{/ifCond}}{{[End Time]}}{{#if [Full Date]}} / {{/if}}{{moment [Full Date] format=\"D MMM YYYY\"}}
\n
\n\n
\n
\n
\n Bookmark\n
\n
\n Bookmarked\n
\n\n
\n
\n {{#if pollButton}}\n
\n Poll\n
\n {{/if}}\n {{#if surveyButton}}\n
\n Survey\n
\n {{/if}}\n {{#if questionsButton}}\n
\n Questions\n
\n {{/if}}\n
\n\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n {{#if (isSingle content)}}\n {{#each content}}\n
\n

\n
\n {{/each}}\n {{else}}\n
\n {{#each content}}\n
\n {{/each}}\n
\n {{/if}}\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n\n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n
";
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.agenda-cards-loop"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
@@ -35,7 +35,7 @@ this["Fliplet"]["Widget"]["Templates"]["templates.build.news-feed-comment"] = Ha
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.news-feed-detail"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
- return "\n {{#if [Image]}}\n
\n

\n
\n {{/if}}\n
\n
\n
\n {{#ifCond [Date] '||' [Categories]}}\n
{{formatDate [Date]}} {{#ifCond [Date] '&&' [Categories]}}/{{/ifCond}} {{[Categories]}}
\n {{/ifCond}}\n {{#if likesEnabled}}\n
\n {{/if}}\n\n {{#if bookmarksEnabled}}\n
\n {{/if}}\n\n {{#if commentsEnabled}}\n \n {{/if}}\n
\n {{#if [Title]}}\n
{{[Title]}}
\n {{/if}}\n {{#if [Content]}}\n
\n {{{auth [Content]}}}\n
\n {{/if}}\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n

\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n
\n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n {{#if commentsEnabled}}\n \n {{/if}}\n
\n
\n
\n
";
+ return "\n {{#if [Image]}}\n
\n

\n
\n {{/if}}\n
\n
\n
\n {{#ifCond [Date] '||' [Categories]}}\n
{{formatDate [Date]}} {{#ifCond [Date] '&&' [Categories]}}/{{/ifCond}} {{[Categories]}}
\n {{/ifCond}}\n {{#if likesEnabled}}\n
\n {{/if}}\n\n {{#if bookmarksEnabled}}\n
\n {{/if}}\n\n {{#if commentsEnabled}}\n \n {{/if}}\n
\n {{#if [Title]}}\n
{{[Title]}}
\n {{/if}}\n {{#if [Content]}}\n
\n {{{auth [Content]}}}\n
\n {{/if}}\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n {{#if (isSingle content)}}\n {{#each content}}\n
\n

\n
\n {{/each}}\n {{else}}\n
\n {{#each content}}\n
\n {{/each}}\n
\n {{/if}}\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n
\n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n {{#if commentsEnabled}}\n \n {{/if}}\n
\n
\n
\n
";
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.news-feed-filters"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
@@ -63,7 +63,7 @@ this["Fliplet"]["Widget"]["Templates"]["templates.build.simple-list-comment"] =
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.simple-list-detail"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
- return "\n {{#each data}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n

\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n\n \n
\n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n {{#if likesEnabled}}\n
\n {{/if}}\n\n {{#if bookmarksEnabled}}\n
\n {{/if}}\n\n {{#if commentsEnabled}}\n \n {{/if}}\n
\n
\n
";
+ return "\n {{#each data}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n {{#if (isSingle content)}}\n {{#each content}} \n
\n

\n
\n {{/each}}\n {{else}}\n
\n {{#each content}}\n
\n {{/each}}\n
\n {{/if}}\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n\n \n
\n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n {{#if likesEnabled}}\n
\n {{/if}}\n\n {{#if bookmarksEnabled}}\n
\n {{/if}}\n\n {{#if commentsEnabled}}\n \n {{/if}}\n
\n
\n
";
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.simple-list-filters"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
@@ -87,7 +87,7 @@ this["Fliplet"]["Widget"]["Templates"]["templates.build.small-card-base"] = Hand
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.small-card-detail"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
- return "{{#if [Image]}}\n\n
\n {{#unless [Image]}}
{{/unless}}\n
\n{{/if}}\n\n
\n {{#if bookmarksEnabled}}\n
\n {{/if}}\n {{#ifCond [First Name] '||' [Last Name] }}\n
{{[First Name]}} {{[Last Name]}}
\n {{/ifCond}}\n
{{[Title]}}
\n
{{[Location]}}
\n
\n\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n

\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n\n \n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n
\n";
+ return "{{#if [Image]}}\n\n
\n {{#unless [Image]}}
{{/unless}}\n
\n{{/if}}\n\n
\n {{#if bookmarksEnabled}}\n
\n {{/if}}\n {{#ifCond [First Name] '||' [Last Name] }}\n
{{[First Name]}} {{[Last Name]}}
\n {{/ifCond}}\n
{{[Title]}}
\n
{{[Location]}}
\n
\n\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n {{#if (isSingle content)}}\n {{#each content}}\n
\n

\n
\n {{/each}}\n {{else}}\n
\n {{#each content}}\n
\n {{/each}}\n
\n {{/if}}\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n\n \n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n
\n";
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.small-card-filters"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
@@ -111,7 +111,7 @@ this["Fliplet"]["Widget"]["Templates"]["templates.build.small-h-card-base"] = Ha
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.small-h-card-detail"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
- return "{{#if [Image]}}\n\n
\n {{#unless [Image]}}
{{/unless}}\n
\n{{/if}}\n\n
\n
{{[First Name]}} {{[Last Name]}}
\n
{{[Title]}}
\n
{{[Location]}}
\n
\n\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n

\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n\n \n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n
";
+ return "{{#if [Image]}}\n\n
\n {{#unless [Image]}}
{{/unless}}\n
\n{{/if}}\n\n
\n
{{[First Name]}} {{[Last Name]}}
\n
{{[Title]}}
\n
{{[Location]}}
\n
\n\n
\n {{#each entryDetails}}\n \n {{#ifCond type '==' 'image'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n \n {{#if (isSingle content)}}\n {{#each content}}\n
\n

\n
\n {{/each}}\n {{else}}\n
\n {{#each content}}\n
\n {{/each}}\n
\n {{/if}}\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'text'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{content}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'html'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{{auth content}}}
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'url'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'tel'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'mail'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
\n {{/if}}\n {{/ifCond}}\n\n \n {{#ifCond type '==' 'date'}}\n {{#if content}}\n {{#if labelEnabled}}\n
{{label}}
\n {{/if}}\n\n
{{formatDate content}}
\n {{/if}}\n {{/ifCond}}\n\n {{/each}}\n
\n\n \n {{#ifCond editEntry '||' deleteEntry}}\n
\n {{#if editEntry}}\n
Edit
\n {{/if}}\n {{#if deleteEntry}}\n
Delete
\n {{/if}}\n
\n {{/ifCond}}\n
\n
";
},"useData":true});
this["Fliplet"]["Widget"]["Templates"]["templates.build.small-h-card-loop"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
diff --git a/js/layout-javascript/agenda-code.js b/js/layout-javascript/agenda-code.js
index 6f7581a6..d1599ae6 100644
--- a/js/layout-javascript/agenda-code.js
+++ b/js/layout-javascript/agenda-code.js
@@ -38,6 +38,10 @@ function DynamicList(id, data, container) {
this.fetchedAllBookmarks = false;
this.searchValue = '';
this.activeFilters = {};
+ this.imagesData = {
+ images: [],
+ options: { index: null }
+ };
this.listItems = [];
this.agendasByDay = [];
@@ -744,6 +748,22 @@ DynamicList.prototype.attachObservers = function() {
$(this).parents('.agenda-item-bookmark-holder').removeClass('not-bookmarked').addClass('bookmarked');
record.bookmarkButton.like();
+ })
+ .on('click', '.agenda-multiple-images-item', function() {
+ _this.imagesData.options.index = $(this).index();
+
+ var agendaImageGallery = Fliplet.Navigate.previewImages(_this.imagesData);
+
+ agendaImageGallery.listen('afterChange', function() {
+ Fliplet.Page.Context.update({
+ agendaImageGalleryId: _this.data.id,
+ agendaImageGalleryIdOpenIndex: this.getCurrentIndex()
+ });
+ });
+
+ agendaImageGallery.listen('close', function() {
+ Fliplet.Page.Context.remove(['agendaImageGalleryId', 'agendaImageGalleryIdOpenIndex']);
+ });
});
}
@@ -2314,6 +2334,7 @@ DynamicList.prototype.addDetailViewData = function (entry) {
var label = '';
var labelEnabled = true;
var content = '';
+ var field = entry.originalData[dynamicDataObj.column];
// Define label
if (dynamicDataObj.fieldLabel === 'column-name' && dynamicDataObj.column !== 'custom') {
@@ -2330,7 +2351,15 @@ DynamicList.prototype.addDetailViewData = function (entry) {
if (dynamicDataObj.customFieldEnabled) {
content = new Handlebars.SafeString(Handlebars.compile(dynamicDataObj.customField)(entry.originalData));
} else {
- content = entry.originalData[dynamicDataObj.column];
+ content = field;
+ }
+
+ if (dynamicDataObj.type === 'image') {
+ content = Array.isArray(field) ? content : field.split(/\n/);
+
+ content.forEach(function(imageUrl) {
+ _this.imagesData.images.push({ url: imageUrl });
+ });
}
// Define data object
diff --git a/js/layout-javascript/news-feed-code.js b/js/layout-javascript/news-feed-code.js
index b03881d4..6273cc6f 100644
--- a/js/layout-javascript/news-feed-code.js
+++ b/js/layout-javascript/news-feed-code.js
@@ -43,6 +43,10 @@ function DynamicList(id, data, container) {
this.fetchedAllBookmarks = false;
this.searchValue = '';
this.activeFilters = {};
+ this.imagesData = {
+ images: [],
+ options: { index: null }
+ };
this.queryOpen = false;
this.querySearch = false;
@@ -818,6 +822,22 @@ DynamicList.prototype.attachObservers = function() {
$(this).parents('.news-feed-like-holder').removeClass('not-liked').addClass('liked');
record.likeButton.like();
$(this).find('.count').html(count);
+ })
+ .on('click', '.news-feed-multiple-images-item', function() {
+ _this.imagesData.options.index = $(this).index();
+
+ var newsFeedImageGallery = Fliplet.Navigate.previewImages(_this.imagesData);
+
+ newsFeedImageGallery.listen('afterChange', function() {
+ Fliplet.Page.Context.update({
+ newsFeedImageGalleryId: _this.data.id,
+ newsFeedImageGalleryIdOpenIndex: this.getCurrentIndex()
+ });
+ });
+
+ newsFeedImageGallery.listen('close', function() {
+ Fliplet.Page.Context.remove(['newsFeedImageGalleryId', 'newsFeedImageGalleryIdOpenIndex']);
+ });
});
}
@@ -2072,6 +2092,7 @@ DynamicList.prototype.addDetailViewData = function (entry) {
var label = '';
var labelEnabled = true;
var content = '';
+ var field = entry.originalData[obj.column];
// Define label
if (obj.fieldLabel === 'column-name' && obj.column !== 'custom') {
@@ -2090,7 +2111,15 @@ DynamicList.prototype.addDetailViewData = function (entry) {
} else if (_this.data.filterFields.indexOf(obj.column) > -1) {
content = _this.Utils.String.splitByCommas(entry.originalData[obj.column]).join(', ');
} else {
- content = entry.originalData[obj.column];
+ content = field;
+ }
+
+ if (obj.type === 'image') {
+ content = Array.isArray(field) ? content : field.split(/\n/);
+
+ content.forEach(function(imageUrl) {
+ _this.imagesData.images.push({ url: imageUrl });
+ });
}
// Define data object
diff --git a/js/layout-javascript/simple-list-code.js b/js/layout-javascript/simple-list-code.js
index a0a1771f..9dc71c34 100644
--- a/js/layout-javascript/simple-list-code.js
+++ b/js/layout-javascript/simple-list-code.js
@@ -42,6 +42,10 @@ function DynamicList(id, data, container) {
this.dataSourceColumns;
this.searchValue = '';
this.activeFilters = {};
+ this.imagesData = {
+ images: [],
+ options: { index: null }
+ };
this.queryOpen = false;
this.querySearch = false;
@@ -793,6 +797,22 @@ DynamicList.prototype.attachObservers = function() {
$(this).parents('.simple-list-like-holder').removeClass('not-liked').addClass('liked');
record.likeButton.like();
$(this).find('.count').html(count);
+ })
+ .on('click', '.simple-list-multiple-images-item', function() {
+ _this.imagesData.options.index = $(this).index();
+
+ var simpleListImageGallery = Fliplet.Navigate.previewImages(_this.imagesData);
+
+ simpleListImageGallery.listen('afterChange', function() {
+ Fliplet.Page.Context.update({
+ simpleListImageGalleryId: _this.data.id,
+ simpleListImageGalleryIdOpenIndex: this.getCurrentIndex()
+ });
+ });
+
+ simpleListImageGallery.listen('close', function() {
+ Fliplet.Page.Context.remove(['simpleListImageGalleryId', 'simpleListImageGalleryIdOpenIndex']);
+ });
});
}
@@ -2034,6 +2054,7 @@ DynamicList.prototype.addDetailViewData = function (entry) {
var label = '';
var labelEnabled = true;
var content = '';
+ var field = entry.originalData[obj.column];
// Define label
if (obj.fieldLabel === 'column-name' && obj.column !== 'custom') {
@@ -2050,9 +2071,17 @@ DynamicList.prototype.addDetailViewData = function (entry) {
if (obj.customFieldEnabled) {
content = new Handlebars.SafeString(Handlebars.compile(obj.customField)(entry.originalData));
} else if (_this.data.filterFields.indexOf(obj.column) > -1) {
- content = _this.Utils.String.splitByCommas(entry.originalData[obj.column]).join(', ');
+ content = _this.Utils.String.splitByCommas(field).join(', ');
} else {
- content = entry.originalData[obj.column];
+ content = field;
+ }
+
+ if (obj.type === 'image') {
+ content = Array.isArray(field) ? content : field.split(/\n/);
+
+ content.forEach(function(imageUrl) {
+ _this.imagesData.images.push({ url: imageUrl });
+ });
}
// Define data object
diff --git a/js/layout-javascript/small-card-code.js b/js/layout-javascript/small-card-code.js
index cd8eadea..5b1e1449 100644
--- a/js/layout-javascript/small-card-code.js
+++ b/js/layout-javascript/small-card-code.js
@@ -41,6 +41,10 @@ function DynamicList(id, data, container) {
this.directoryDetailWrapper;
this.searchValue = '';
this.activeFilters = {};
+ this.imagesData = {
+ images: [],
+ options: { index: null }
+ };
this.queryOpen = false;
this.querySearch = false;
@@ -647,6 +651,22 @@ DynamicList.prototype.attachObservers = function() {
$(this).parents('.small-card-bookmark-holder').removeClass('not-bookmarked').addClass('bookmarked');
record.bookmarkButton.like();
+ })
+ .on('click', '.small-card-list-multiple-images-item', function() {
+ _this.imagesData.options.index = $(this).index();
+
+ var smallCardImageGallery = Fliplet.Navigate.previewImages(_this.imagesData);
+
+ smallCardImageGallery.listen('afterChange', function() {
+ Fliplet.Page.Context.update({
+ smallCardImageGalleryId: _this.data.id,
+ smallCardImageGalleryIdOpenIndex: this.getCurrentIndex()
+ });
+ });
+
+ smallCardImageGallery.listen('close', function() {
+ Fliplet.Page.Context.remove(['smallCardImageGalleryId', 'smallCardImageGalleryIdOpenIndex']);
+ });
});
}
@@ -1677,6 +1697,7 @@ DynamicList.prototype.addDetailViewData = function (entry) {
var label = '';
var labelEnabled = true;
var content = '';
+ var field = entry.originalData[dynamicDataObj.column];
// Define label
if (dynamicDataObj.fieldLabel === 'column-name' && dynamicDataObj.column !== 'custom') {
@@ -1693,9 +1714,17 @@ DynamicList.prototype.addDetailViewData = function (entry) {
if (dynamicDataObj.customFieldEnabled) {
content = new Handlebars.SafeString(Handlebars.compile(dynamicDataObj.customField)(entry.originalData));
} else if (_this.data.filterFields.indexOf(dynamicDataObj.column) > -1) {
- content = _this.Utils.String.splitByCommas(entry.originalData[dynamicDataObj.column]).join(', ');
+ content = _this.Utils.String.splitByCommas(field).join(', ');
} else {
- content = entry.originalData[dynamicDataObj.column];
+ content = field;
+ }
+
+ if (dynamicDataObj.type === 'image') {
+ content = Array.isArray(field) ? content : field.split(/\n/);
+
+ content.forEach(function(imageUrl) {
+ _this.imagesData.images.push({ url: imageUrl });
+ });
}
// Define data object
diff --git a/js/layout-javascript/small-h-card-code.js b/js/layout-javascript/small-h-card-code.js
index 4c5b94ff..a6118d9a 100644
--- a/js/layout-javascript/small-h-card-code.js
+++ b/js/layout-javascript/small-h-card-code.js
@@ -25,6 +25,10 @@ function DynamicList(id, data, container) {
this.myProfileData;
this.modifiedProfileData;
this.myUserData = {};
+ this.imagesData = {
+ images: [],
+ options: { index: null }
+ };
this.listItems;
this.modifiedListItems
@@ -327,6 +331,22 @@ DynamicList.prototype.attachObservers = function() {
}).then(function() {
Fliplet.UI.Actions(options);
});
+ })
+ .on('click', '.small-h-card-multiple-images-item', function() {
+ _this.imagesData.options.index = $(this).index();
+
+ var smallHCardImageGallery = Fliplet.Navigate.previewImages(_this.imagesData);
+
+ smallHCardImageGallery.listen('afterChange', function() {
+ Fliplet.Page.Context.update({
+ smallHCardImageGalleryId: _this.data.id,
+ smallHCardImageGalleryIdOpenIndex: this.getCurrentIndex()
+ });
+ });
+
+ smallHCardImageGallery.listen('close', function() {
+ Fliplet.Page.Context.remove(['smallHCardImageGalleryId', 'smallHCardImageGalleryIdOpenIndex']);
+ });
});
}
@@ -715,6 +735,7 @@ DynamicList.prototype.addDetailViewData = function (entry) {
var label = '';
var labelEnabled = true;
var content = '';
+ var field = entry.originalData[dynamicDataObj.column];
// Define label
if (dynamicDataObj.fieldLabel === 'column-name' && dynamicDataObj.column !== 'custom') {
@@ -731,7 +752,15 @@ DynamicList.prototype.addDetailViewData = function (entry) {
if (dynamicDataObj.customFieldEnabled) {
content = new Handlebars.SafeString(Handlebars.compile(dynamicDataObj.customField)(entry.originalData));
} else {
- content = entry.originalData[dynamicDataObj.column];
+ content = field;
+ }
+
+ if (dynamicDataObj.type === 'image') {
+ content = Array.isArray(field) ? content : field.split(/\n/);
+
+ content.forEach(function(imageUrl) {
+ _this.imagesData.images.push({ url: imageUrl });
+ });
}
// Define data object
diff --git a/js/utils.js b/js/utils.js
index 20051526..8876cd4e 100644
--- a/js/utils.js
+++ b/js/utils.js
@@ -107,6 +107,10 @@ Fliplet.Registry.set('dynamicListUtils', (function () {
Handlebars.registerHelper('validateImage', validateImageUrl);
+ Handlebars.registerHelper('isSingle', function(value) {
+ return value.length === 1;
+ });
+
Handlebars.registerHelper('formatComment', function(text) {
var res = text;
diff --git a/templates/build/agenda-cards-detail.build.hbs b/templates/build/agenda-cards-detail.build.hbs
index f1531305..44b0c98a 100644
--- a/templates/build/agenda-cards-detail.build.hbs
+++ b/templates/build/agenda-cards-detail.build.hbs
@@ -47,9 +47,21 @@
\{{label}}
\{{/if}}
-
-

+ \{{#if (isSingle content)}}
+ \{{#each content}}
+
+

+
+ \{{/each}}
+ \{{else}}
+
+ \{{#each content}}
+
+ \{{/each}}
+ \{{/if}}
\{{/if}}
\{{/ifCond}}
diff --git a/templates/build/news-feed-detail.build.hbs b/templates/build/news-feed-detail.build.hbs
index fd64e0df..aba73b99 100644
--- a/templates/build/news-feed-detail.build.hbs
+++ b/templates/build/news-feed-detail.build.hbs
@@ -57,9 +57,21 @@
\{{label}}
\{{/if}}
-
-

+ \{{#if (isSingle content)}}
+ \{{#each content}}
+
+

+
+ \{{/each}}
+ \{{else}}
+
+ \{{#each content}}
+
+ \{{/each}}
+ \{{/if}}
\{{/if}}
\{{/ifCond}}
diff --git a/templates/build/simple-list-detail.build.hbs b/templates/build/simple-list-detail.build.hbs
index 0755fc76..bf840d7d 100644
--- a/templates/build/simple-list-detail.build.hbs
+++ b/templates/build/simple-list-detail.build.hbs
@@ -7,9 +7,21 @@
\{{label}}
\{{/if}}
-
-

+ \{{#if (isSingle content)}}
+ \{{#each content}}
+
+

+
+ \{{/each}}
+ \{{else}}
+
+ \{{#each content}}
+
+ \{{/each}}
+ \{{/if}}
\{{/if}}
\{{/ifCond}}
diff --git a/templates/build/small-card-detail.build.hbs b/templates/build/small-card-detail.build.hbs
index a5ab8a89..fc5e3d93 100644
--- a/templates/build/small-card-detail.build.hbs
+++ b/templates/build/small-card-detail.build.hbs
@@ -57,9 +57,21 @@
\{{label}}
\{{/if}}
-
-

+ \{{#if (isSingle content)}}
+ \{{#each content}}
+
+

+
+ \{{/each}}
+ \{{else}}
+
+ \{{#each content}}
+
+ \{{/each}}
+ \{{/if}}
\{{/if}}
\{{/ifCond}}
diff --git a/templates/build/small-h-card-detail.build.hbs b/templates/build/small-h-card-detail.build.hbs
index 73734510..7089b651 100644
--- a/templates/build/small-h-card-detail.build.hbs
+++ b/templates/build/small-h-card-detail.build.hbs
@@ -44,10 +44,22 @@
\{{#if labelEnabled}}
\{{label}}
\{{/if}}
-
-
-

+
+ \{{#if (isSingle content)}}
+ \{{#each content}}
+
+

+
+ \{{/each}}
+ \{{else}}
+
+ \{{#each content}}
+
+ \{{/each}}
+ \{{/if}}
\{{/if}}
\{{/ifCond}}
diff --git a/widget.json b/widget.json
index a680adfc..045cb6f4 100644
--- a/widget.json
+++ b/widget.json
@@ -68,7 +68,8 @@
"animate-css",
"fliplet-like:0.2",
"fliplet-content:0.1",
- "hammer.js"
+ "hammer.js",
+ "photoswipe"
],
"assets": [
"js/utils.js",