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', + }, + }, + }, };