diff --git a/website/modules/case-studies-page/views/index.html b/website/modules/case-studies-page/views/index.html
index ec4d0b29..4a2845c5 100644
--- a/website/modules/case-studies-page/views/index.html
+++ b/website/modules/case-studies-page/views/index.html
@@ -123,18 +123,34 @@
{% endif %}
{{ article.title }}
-
{{ article.caseStudyType }}
-
{{ article.industry }}
+
+ {% if article._caseStudyType.length %}
+ {% for type in article._caseStudyType %}
+ {{ type.title }}{% if not loop.last %}, {% endif %}
+ {% endfor %}
+ {% endif %}
+
+
+ {% if article._industry.length %}
+ {% for industry in article._industry %}
+ {{ industry.title }}{% if not loop.last %}, {% endif %}
+ {% endfor %}
+ {% endif %}
+
{% if article.portfolioTitle %}
{{ article.portfolioTitle }}
- {% endif %} {% if article.stack %}
-
-
{{ article.stack }}
-
- {% endif %}
+ {% endif %}
+
+
+ {% if article._stack.length %}
+ {% for tech in article._stack %}
+ {{ tech.title }}{% if not loop.last %}, {% endif %}
+ {% endfor %}
+ {% endif %}
+
{# CARD END: {{ article.title }} #} {% endfor %}
diff --git a/website/modules/case-studies-page/views/show.html b/website/modules/case-studies-page/views/show.html
index 5ccc4268..3d364079 100644
--- a/website/modules/case-studies-page/views/show.html
+++ b/website/modules/case-studies-page/views/show.html
@@ -39,14 +39,25 @@ {{ data.piece.title }}
class="client-website-link"
>{{ data.piece.clientWebsite }}
- {% endif %} {% if data.piece.industry %}
- {{ data.piece.industry }}
- {% endif %} {% if data.piece.portfolioTitle %}
+ {% endif %}
+ {% if data.piece._industry.length %}
+
+ {% for industry in data.piece._industry %}
+ {{ industry.title }}{% if not loop.last %}, {% endif %}
+ {% endfor %}
+
+ {% endif %}
+ {% if data.piece.portfolioTitle %}
{{ data.piece.portfolioTitle }}
{% endif %} {% if data.piece.descriptor %}
{{ data.piece.descriptor }}
- {% endif %} {% if data.piece.caseStudyType %}
- {{ data.piece.caseStudyType }}
+ {% endif %}
+ {% if data.piece._caseStudyType.length %}
+
+ {% for type in data.piece._caseStudyType %}
+ {{ type.title }}{% if not loop.last %}, {% endif %}
+ {% endfor %}
+
{% endif %}
@@ -82,10 +93,15 @@ Solution
Results
{{ data.piece.results }}
- {% endif %} {% if data.piece.stack %}
+ {% endif %}
+ {% if data.piece._stack.length %}
Tech stack
-
{{ data.piece.stack }}
+
+ {% for tech in data.piece._stack %}
+ {{ tech.title }}{% if not loop.last %}, {% endif %}
+ {% endfor %}
+
{% endif %}
diff --git a/website/modules/case-studies/index.js b/website/modules/case-studies/index.js
index a9a4855d..b020c84f 100644
--- a/website/modules/case-studies/index.js
+++ b/website/modules/case-studies/index.js
@@ -37,23 +37,86 @@ module.exports = {
},
},
},
- stack: {
+ _stack: {
label: 'Tech Stack',
- type: 'string',
- help: 'Comma separated tags indicating the technologies utilized in the project.',
+ type: 'relationship',
+ withType: 'cases-tags',
required: true,
+ builders: {
+ project: {
+ 'title': 1,
+ '_category.title': 1,
+ },
+ },
+ withRelationships: ['_category'],
+ browser: {
+ projection: {
+ 'title': 1,
+ '_category._id': 1,
+ '_category.title': 1,
+ },
+ filters: [
+ {
+ field: '_category.title',
+ value: 'Technology',
+ },
+ ],
+ },
+ help: 'Select technologies utilized in the project.',
},
- caseStudyType: {
+ _caseStudyType: {
label: 'Case Study Type',
- type: 'string',
- help: 'The nature of the project identifying the projectʼs scope and requirements, relationship, or key characteristics (e.g., Mobile Development, Product Enhancement, ML/AI).',
+ type: 'relationship',
+ withType: 'cases-tags',
required: true,
+ builders: {
+ project: {
+ 'title': 1,
+ '_category.title': 1,
+ },
+ },
+ withRelationships: ['_category'],
+ browser: {
+ projection: {
+ 'title': 1,
+ '_category._id': 1,
+ '_category.title': 1,
+ },
+ filters: [
+ {
+ field: '_category.title',
+ value: 'Case Study Type',
+ },
+ ],
+ },
+ help: 'The nature of the project identifying the projectʼs scope and requirements, relationship, or key characteristics.',
},
- industry: {
+ _industry: {
label: 'Industry',
- type: 'string',
- help: "Comma seperated tags representing the client's industry or sector (e.g. Financial Services, Healthcare, Retail & E-commerce).",
+ type: 'relationship',
+ withType: 'cases-tags',
required: true,
+ builders: {
+ project: {
+ 'title': 1,
+ '_category.title': 1,
+ },
+ },
+ withRelationships: ['_category'],
+ browser: {
+ projection: {
+ 'title': 1,
+ '_category._id': 1,
+ '_category.title': 1,
+ },
+ filters: [
+ {
+ field: '_category.title',
+ value: 'Industry',
+ },
+ ],
+ },
+ help: "Select client's industry or sector.",
},
portfolioTitle: {
label: 'Portfolio Title',
@@ -136,9 +199,9 @@ module.exports = {
'title',
'clientWebsite',
'picture',
- 'stack',
- 'caseStudyType',
- 'industry',
+ '_stack',
+ '_caseStudyType',
+ '_industry',
'portfolioTitle',
'descriptor',
'prodLink',
@@ -157,8 +220,9 @@ module.exports = {
},
columns: {
add: {
- stack: {
+ _stack: {
label: 'Tech Stack',
+ component: 'AposCellTags',
},
_tags: {
label: 'Tags',
diff --git a/website/modules/cases-tags/index.js b/website/modules/cases-tags/index.js
index 3905db3f..9204766c 100644
--- a/website/modules/cases-tags/index.js
+++ b/website/modules/cases-tags/index.js
@@ -43,4 +43,11 @@ module.exports = {
},
},
},
+ filters: {
+ add: {
+ _category: {
+ label: 'Category',
+ },
+ },
+ },
};