From 4c0895b43b45f4cb24f88546abfa8bb91e06267c Mon Sep 17 00:00:00 2001 From: Illya Moskvin Date: Thu, 6 Aug 2020 14:21:31 -0500 Subject: [PATCH 01/15] Extend local ModuleRepository in all repositories [WEB-1788. WEB-608] This ensures that any Twill overrides we put into our ModuleRepository affect all repositories. Per the two linked issues, this will trim `


` from the end of all fields and block content, and it will make the `safeForSlug` method available to all repositories. --- app/Repositories/AuthorRepository.php | 1 - app/Repositories/EmailSeriesRepository.php | 4 ---- app/Repositories/ExperienceImageRepository.php | 1 - app/Repositories/ExperienceModalRepository.php | 3 +-- app/Repositories/ExperienceRepository.php | 1 - app/Repositories/HomeArtistRepository.php | 1 - app/Repositories/InteractiveFeatureRepository.php | 3 +-- app/Repositories/IssueArticleRepository.php | 1 - app/Repositories/IssueRepository.php | 1 - app/Repositories/MagazineIssueRepository.php | 1 - app/Repositories/SlideRepository.php | 1 - app/Repositories/VanityRedirectRepository.php | 1 - app/Repositories/WhatToExpectRepository.php | 1 - 13 files changed, 2 insertions(+), 18 deletions(-) diff --git a/app/Repositories/AuthorRepository.php b/app/Repositories/AuthorRepository.php index 62f888d60e..1eda02433c 100644 --- a/app/Repositories/AuthorRepository.php +++ b/app/Repositories/AuthorRepository.php @@ -5,7 +5,6 @@ use A17\Twill\Repositories\Behaviors\HandleSlugs; use A17\Twill\Repositories\Behaviors\HandleMedias; use A17\Twill\Repositories\Behaviors\HandleRevisions; -use A17\Twill\Repositories\ModuleRepository; use App\Models\Author; class AuthorRepository extends ModuleRepository diff --git a/app/Repositories/EmailSeriesRepository.php b/app/Repositories/EmailSeriesRepository.php index 72b769e868..3bac1846f1 100644 --- a/app/Repositories/EmailSeriesRepository.php +++ b/app/Repositories/EmailSeriesRepository.php @@ -2,14 +2,10 @@ namespace App\Repositories; - -use A17\Twill\Repositories\ModuleRepository; use App\Models\EmailSeries; class EmailSeriesRepository extends ModuleRepository { - - public function __construct(EmailSeries $model) { $this->model = $model; diff --git a/app/Repositories/ExperienceImageRepository.php b/app/Repositories/ExperienceImageRepository.php index 95a9bff162..829bb98c2f 100644 --- a/app/Repositories/ExperienceImageRepository.php +++ b/app/Repositories/ExperienceImageRepository.php @@ -7,7 +7,6 @@ use A17\Twill\Repositories\Behaviors\HandleMedias; use A17\Twill\Repositories\Behaviors\HandleRevisions; use A17\Twill\Repositories\Behaviors\HandleSlugs; -use A17\Twill\Repositories\ModuleRepository; use App\Models\Api\Artwork; use App\Models\ExperienceImage; diff --git a/app/Repositories/ExperienceModalRepository.php b/app/Repositories/ExperienceModalRepository.php index a4f8f5d696..d80a98716e 100644 --- a/app/Repositories/ExperienceModalRepository.php +++ b/app/Repositories/ExperienceModalRepository.php @@ -6,7 +6,6 @@ use A17\Twill\Repositories\Behaviors\HandleFiles; use A17\Twill\Repositories\Behaviors\HandleMedias; use A17\Twill\Repositories\Behaviors\HandleRevisions; -use A17\Twill\Repositories\ModuleRepository; use App\Models\ExperienceModal; use App\Repositories\Behaviors\HandleExperienceModule; use App\Repositories\Behaviors\Handle3DModel; @@ -42,7 +41,7 @@ public function prepareFieldsBeforeSave($object, $fields) $fields['repeaters'] = $fields['blocks']; unset($fields['blocks']); }; - + return parent::prepareFieldsBeforeCreate($fields); } } diff --git a/app/Repositories/ExperienceRepository.php b/app/Repositories/ExperienceRepository.php index 90f2af5901..51f5ebced9 100644 --- a/app/Repositories/ExperienceRepository.php +++ b/app/Repositories/ExperienceRepository.php @@ -9,7 +9,6 @@ use A17\Twill\Repositories\Behaviors\HandleRevisions; use A17\Twill\Repositories\Behaviors\HandleSlugs; use A17\Twill\Repositories\Behaviors\HandleTranslations; -use A17\Twill\Repositories\ModuleRepository; use App\Models\Experience; use App\Repositories\Behaviors\HandleExperienceModule; use App\Repositories\Behaviors\HandleMagazine; diff --git a/app/Repositories/HomeArtistRepository.php b/app/Repositories/HomeArtistRepository.php index ab5b277b4e..2c2ad783ce 100644 --- a/app/Repositories/HomeArtistRepository.php +++ b/app/Repositories/HomeArtistRepository.php @@ -3,7 +3,6 @@ namespace App\Repositories; use A17\Twill\Repositories\Behaviors\HandleMedias; -use A17\Twill\Repositories\ModuleRepository; use App\Models\HomeArtist; use App\Repositories\Behaviors\HandleApiRelations; diff --git a/app/Repositories/InteractiveFeatureRepository.php b/app/Repositories/InteractiveFeatureRepository.php index d0eef826c4..56abdf99ea 100644 --- a/app/Repositories/InteractiveFeatureRepository.php +++ b/app/Repositories/InteractiveFeatureRepository.php @@ -7,7 +7,6 @@ use A17\Twill\Repositories\Behaviors\HandleRepeaters; use A17\Twill\Repositories\Behaviors\HandleRevisions; use A17\Twill\Repositories\Behaviors\HandleSlugs; -use A17\Twill\Repositories\ModuleRepository; use App\Models\InteractiveFeature; use App\Models\Experience; use Artisan; @@ -36,5 +35,5 @@ public function search($search) { return Experience::where('title', 'ILIKE', "%{$search}%")->published(); } - + } diff --git a/app/Repositories/IssueArticleRepository.php b/app/Repositories/IssueArticleRepository.php index 6d4842830a..f00898f55a 100644 --- a/app/Repositories/IssueArticleRepository.php +++ b/app/Repositories/IssueArticleRepository.php @@ -6,7 +6,6 @@ use A17\Twill\Repositories\Behaviors\HandleMedias; use A17\Twill\Repositories\Behaviors\HandleRevisions; use A17\Twill\Repositories\Behaviors\HandleBlocks; -use A17\Twill\Repositories\ModuleRepository; use App\Models\IssueArticle; use App\Models\Api\Search; diff --git a/app/Repositories/IssueRepository.php b/app/Repositories/IssueRepository.php index d3c59d6aa4..da15187de7 100644 --- a/app/Repositories/IssueRepository.php +++ b/app/Repositories/IssueRepository.php @@ -5,7 +5,6 @@ use A17\Twill\Repositories\Behaviors\HandleSlugs; use A17\Twill\Repositories\Behaviors\HandleMedias; use A17\Twill\Repositories\Behaviors\HandleRevisions; -use A17\Twill\Repositories\ModuleRepository; use App\Models\Issue; use App\Models\Api\Search; diff --git a/app/Repositories/MagazineIssueRepository.php b/app/Repositories/MagazineIssueRepository.php index b093e7c539..a0a8fa7cf4 100644 --- a/app/Repositories/MagazineIssueRepository.php +++ b/app/Repositories/MagazineIssueRepository.php @@ -8,7 +8,6 @@ use A17\Twill\Repositories\Behaviors\HandleBlocks; use A17\Twill\Repositories\Behaviors\HandleMedias; use A17\Twill\Repositories\Behaviors\HandleRevisions; -use A17\Twill\Repositories\ModuleRepository; use App\Repositories\Behaviors\HandleApiBlocks; class MagazineIssueRepository extends ModuleRepository diff --git a/app/Repositories/SlideRepository.php b/app/Repositories/SlideRepository.php index 689f56af4c..162ec5e01c 100644 --- a/app/Repositories/SlideRepository.php +++ b/app/Repositories/SlideRepository.php @@ -7,7 +7,6 @@ use A17\Twill\Repositories\Behaviors\HandleMedias; use A17\Twill\Repositories\Behaviors\HandleRevisions; use A17\Twill\Repositories\Behaviors\HandleSlugs; -use A17\Twill\Repositories\ModuleRepository; use App\Models\Slide; use App\Repositories\Behaviors\HandleExperienceModule; use App\Repositories\Behaviors\Handle3DModel; diff --git a/app/Repositories/VanityRedirectRepository.php b/app/Repositories/VanityRedirectRepository.php index ac29497592..7c7e451d3a 100644 --- a/app/Repositories/VanityRedirectRepository.php +++ b/app/Repositories/VanityRedirectRepository.php @@ -3,7 +3,6 @@ namespace App\Repositories; use A17\Twill\Repositories\Behaviors\HandleRevisions; -use A17\Twill\Repositories\ModuleRepository; use App\Models\VanityRedirect; class VanityRedirectRepository extends ModuleRepository diff --git a/app/Repositories/WhatToExpectRepository.php b/app/Repositories/WhatToExpectRepository.php index 28b95c6d52..0ae2c40483 100644 --- a/app/Repositories/WhatToExpectRepository.php +++ b/app/Repositories/WhatToExpectRepository.php @@ -4,7 +4,6 @@ use A17\Twill\Repositories\Behaviors\HandleTranslations; use A17\Twill\Repositories\Behaviors\HandleRevisions; -use A17\Twill\Repositories\ModuleRepository; use App\Models\WhatToExpect; class WhatToExpectRepository extends ModuleRepository From 369481dc8ec029c639ca346709681113996707cb Mon Sep 17 00:00:00 2001 From: Illya Moskvin Date: Thu, 6 Aug 2020 14:22:13 -0500 Subject: [PATCH 02/15] Restore work-around for `withActiveTranslations` bug [WEB-1788] --- .../Controllers/DigitalPublicationsController.php | 2 +- .../Controllers/EducatorResourcesController.php | 2 +- app/Http/Controllers/GenericPagesController.php | 2 +- .../InteractiveFeatureExperiencesController.php | 4 ++-- .../Controllers/PrintedPublicationsController.php | 2 +- app/Http/Controllers/ResearchGuidesController.php | 2 +- app/Http/Controllers/VideoController.php | 2 +- app/Repositories/ModuleRepository.php | 13 +++++++++++++ 8 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/DigitalPublicationsController.php b/app/Http/Controllers/DigitalPublicationsController.php index 6a205ef530..42723756fe 100644 --- a/app/Http/Controllers/DigitalPublicationsController.php +++ b/app/Http/Controllers/DigitalPublicationsController.php @@ -41,7 +41,7 @@ public function index(Request $request) public function show($id) { - $page = $this->repository->forSlug($id); + $page = $this->repository->safeForSlug($id); if (!$page) { $page = $this->repository->find((Integer) $id) ?? abort(404); } diff --git a/app/Http/Controllers/EducatorResourcesController.php b/app/Http/Controllers/EducatorResourcesController.php index 90d2c9713b..2131ada2b6 100644 --- a/app/Http/Controllers/EducatorResourcesController.php +++ b/app/Http/Controllers/EducatorResourcesController.php @@ -73,7 +73,7 @@ public function show($id) { $page = $this->repository->find((Integer) $id); if (!$page) { - $page = $this->repository->forSlug($id); + $page = $this->repository->safeForSlug($id); if (!$page) { abort(404); diff --git a/app/Http/Controllers/GenericPagesController.php b/app/Http/Controllers/GenericPagesController.php index 4e77794abc..a65d4778f7 100644 --- a/app/Http/Controllers/GenericPagesController.php +++ b/app/Http/Controllers/GenericPagesController.php @@ -51,7 +51,7 @@ public function show($slug) protected function getPage($slug) { $idSlug = collect(explode("/", $slug))->last(); - $page = $this->genericPageRepository->forSlug($idSlug); + $page = $this->genericPageRepository->safeForSlug($idSlug); if (empty($page)) { $page = $this->genericPageRepository->getById((integer) $idSlug); if (!$page) { diff --git a/app/Http/Controllers/InteractiveFeatureExperiencesController.php b/app/Http/Controllers/InteractiveFeatureExperiencesController.php index 0b8d8112e3..8369f4322c 100644 --- a/app/Http/Controllers/InteractiveFeatureExperiencesController.php +++ b/app/Http/Controllers/InteractiveFeatureExperiencesController.php @@ -91,7 +91,7 @@ protected function show($slug) ); } - $experience = $this->repository->forSlug($slug); + $experience = $this->repository->safeForSlug($slug); if (!$experience || $experience->kiosk_only === true) { abort(404); @@ -134,7 +134,7 @@ protected function show($slug) protected function showKiosk($slug) { - $experience = $this->repository->forSlug($slug); + $experience = $this->repository->safeForSlug($slug); if (!$experience) { abort(404); } diff --git a/app/Http/Controllers/PrintedPublicationsController.php b/app/Http/Controllers/PrintedPublicationsController.php index e8d3ffef34..1314dfd6e9 100644 --- a/app/Http/Controllers/PrintedPublicationsController.php +++ b/app/Http/Controllers/PrintedPublicationsController.php @@ -56,7 +56,7 @@ public function index(Request $request) public function show($id) { - $page = $this->repository->forSlug($id); + $page = $this->repository->safeForSlug($id); if (!$page) { $page = $this->repository->find((Integer) $id) ?? abort(404); } diff --git a/app/Http/Controllers/ResearchGuidesController.php b/app/Http/Controllers/ResearchGuidesController.php index d4cc5b4eab..af26352a38 100644 --- a/app/Http/Controllers/ResearchGuidesController.php +++ b/app/Http/Controllers/ResearchGuidesController.php @@ -57,7 +57,7 @@ public function show($id) { $page = $this->repository->find((Integer) $id); if (!$page) { - $page = $this->repository->forSlug($id); + $page = $this->repository->safeForSlug($id); if (!$page) { abort(404); diff --git a/app/Http/Controllers/VideoController.php b/app/Http/Controllers/VideoController.php index 68831de6eb..ae40caa76b 100644 --- a/app/Http/Controllers/VideoController.php +++ b/app/Http/Controllers/VideoController.php @@ -23,7 +23,7 @@ public function show($id, $slug = null) // Temporary. Remove after redirects are in place! if (empty($item)) { - $item = $this->repository->forSlug($id); + $item = $this->repository->safeForSlug($id); } if (!$item) { diff --git a/app/Repositories/ModuleRepository.php b/app/Repositories/ModuleRepository.php index 92c81701be..c81d709dd2 100644 --- a/app/Repositories/ModuleRepository.php +++ b/app/Repositories/ModuleRepository.php @@ -2,6 +2,7 @@ namespace App\Repositories; +use BadMethodCallException; use A17\Twill\Repositories\ModuleRepository as BaseModuleRepository; class ModuleRepository extends BaseModuleRepository @@ -29,4 +30,16 @@ public function prepareFieldsBeforeSave($object, $fields) return parent::prepareFieldsBeforeSave($object, $fields); } + /** + * Temporary work-around for https://github.com/area17/twill/issues/723 + */ + public function safeForSlug($slug, $with = [], $withCount = [], $scopes = []) + { + try { + return $this->forSlug(...func_get_args()); + } catch (BadMethodCallException $e) { + abort(404); + } + } + } From 12f89dece8bfe74d841da93ef7d3e64b894e3320 Mon Sep 17 00:00:00 2001 From: Illya Moskvin Date: Tue, 11 Aug 2020 10:44:37 -0500 Subject: [PATCH 03/15] Make large and medium images contain, not cover [WEB-1792] --- frontend/scss/molecules/_m-media.scss | 6 ------ 1 file changed, 6 deletions(-) diff --git a/frontend/scss/molecules/_m-media.scss b/frontend/scss/molecules/_m-media.scss index 12ec7eecc7..ce69dd67ce 100644 --- a/frontend/scss/molecules/_m-media.scss +++ b/frontend/scss/molecules/_m-media.scss @@ -311,12 +311,6 @@ object-fit: contain; } -.m-media--m .m-media__img img, -.m-media--l .m-media__img img, -.m-media__img.m-media__img--video img { - object-fit: cover; -} - .m-media__img .icon--play-multi { position: absolute; top: 50%; From 94bfc4c3d7fb1fdee2e597a5ca4582522bf8ca58 Mon Sep 17 00:00:00 2001 From: surreal8 Date: Tue, 11 Aug 2020 14:46:26 -0500 Subject: [PATCH 04/15] Remove titles from 3D tour annotations [WEB-1793] --- frontend/js/behaviors/viewer3D.js | 2 +- frontend/scss/molecules/_m-media.scss | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/frontend/js/behaviors/viewer3D.js b/frontend/js/behaviors/viewer3D.js index 66471342bc..f956f5b031 100644 --- a/frontend/js/behaviors/viewer3D.js +++ b/frontend/js/behaviors/viewer3D.js @@ -256,7 +256,7 @@ const viewer3D = function(container) { var blockWindow = document.createElement("div"); blockWindow.classList.add('m-media--3d-tour__sep'); blockWindow.setAttribute('data-hotspot', i); - blockText.innerHTML = '

' + annot.name + '' + annot.content.raw + '

'; + blockText.innerHTML = '

' + annot.content.raw + '

'; containerText.appendChild(blockWindow); containerText.appendChild(blockText); containerText.classList.remove('is-not-loaded'); diff --git a/frontend/scss/molecules/_m-media.scss b/frontend/scss/molecules/_m-media.scss index ce69dd67ce..1217ec692f 100644 --- a/frontend/scss/molecules/_m-media.scss +++ b/frontend/scss/molecules/_m-media.scss @@ -58,13 +58,6 @@ &:before { display:none; } - - >strong { - font-weight:bold; - color:white; - margin-bottom:4px; - display:block; - } } &__sep { From 6bccbea851d87fee3a080661bf1828e4463e7e8a Mon Sep 17 00:00:00 2001 From: surreal8 Date: Tue, 11 Aug 2020 14:48:08 -0500 Subject: [PATCH 05/15] Display 3D tour loading message [WEB-1794] --- frontend/js/behaviors/viewer3D.js | 1 - frontend/scss/molecules/_m-media.scss | 10 ---------- resources/views/site/blocks/3d_tour.blade.php | 2 +- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/frontend/js/behaviors/viewer3D.js b/frontend/js/behaviors/viewer3D.js index f956f5b031..36f5bdb1e1 100644 --- a/frontend/js/behaviors/viewer3D.js +++ b/frontend/js/behaviors/viewer3D.js @@ -259,7 +259,6 @@ const viewer3D = function(container) { blockText.innerHTML = '

' + annot.content.raw + '

'; containerText.appendChild(blockWindow); containerText.appendChild(blockText); - containerText.classList.remove('is-not-loaded'); } if(i == 0) { diff --git a/frontend/scss/molecules/_m-media.scss b/frontend/scss/molecules/_m-media.scss index 1217ec692f..fe295ca8f8 100644 --- a/frontend/scss/molecules/_m-media.scss +++ b/frontend/scss/molecules/_m-media.scss @@ -66,16 +66,6 @@ padding: 40vh 0 80vh 0; } - &.is-not-loaded { - padding-bottom:0; - margin-top:0 !important; - - .m-viewer-3d { - opacity:0; - //visibility:hidden; - } - } - &.no-annotations { .m-media--3d-tour__p { opacity:0; diff --git a/resources/views/site/blocks/3d_tour.blade.php b/resources/views/site/blocks/3d_tour.blade.php index 4bab0278f0..41695c9417 100644 --- a/resources/views/site/blocks/3d_tour.blade.php +++ b/resources/views/site/blocks/3d_tour.blade.php @@ -8,7 +8,7 @@ @endphp @if ($model_url) -
+
@component('components.molecules._m-viewer-3d') @slot('type', 'article') @slot('uid', $model_id) From 3d420046675a65832797c26d58d1ce263cce8242 Mon Sep 17 00:00:00 2001 From: surreal8 Date: Wed, 12 Aug 2020 14:44:47 -0500 Subject: [PATCH 06/15] Add option to hide annotation title for 3D tour block in CMS [WEB-1793] --- app/Models/Model3d.php | 3 ++- app/Repositories/Behaviors/Handle3DModel.php | 4 +++- resources/assets/js/blocks/BlockAic_3D_Model.vue | 5 +++++ resources/assets/js/blocks/BlockAic_3D_Tour.vue | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/Models/Model3d.php b/app/Models/Model3d.php index e732d9f56f..7922797961 100644 --- a/app/Models/Model3d.php +++ b/app/Models/Model3d.php @@ -17,7 +17,8 @@ class Model3d extends Model 'model_caption_title', 'model_caption', 'guided_tour', - 'hide_annotation' + 'hide_annotation', + 'hide_annotation_title' ]; protected $casts = [ 'camera_position' => 'array', diff --git a/app/Repositories/Behaviors/Handle3DModel.php b/app/Repositories/Behaviors/Handle3DModel.php index af76205384..5e078d5137 100644 --- a/app/Repositories/Behaviors/Handle3DModel.php +++ b/app/Repositories/Behaviors/Handle3DModel.php @@ -30,6 +30,7 @@ private function handle3DModel($object, $fields, $fieldName = 'aic_3d_model') 'annotation_list' => $fields["{$fieldName}[annotation_list]"], 'guided_tour' => $fields["{$fieldName}[guided_tour]"] ?? false, 'hide_annotation' => empty($fields["{$fieldName}[hide_annotation]"]) ? false : $fields["{$fieldName}[hide_annotation]"], + 'hide_annotation_title' => empty($fields["{$fieldName}[hide_annotation_title]"]) ? false : $fields["{$fieldName}[hide_annotation_title]"], ] ); $object->model3d()->associate($model); @@ -45,7 +46,7 @@ private function getFormFieldsFor3DModel($object, $fields, $fieldName = 'aic_3d_ $model3d = $object->secondaryExperienceModal->first()->model3d) { $secondaryExperienceModal = $object->secondaryExperienceModal->first(); - $aic3dFields = ['model_url', 'model_id', 'model_caption_title', 'model_caption', 'camera_position', 'guided_tour', 'camera_target', 'annotation_list', 'hide_annotation']; + $aic3dFields = ['model_url', 'model_id', 'model_caption_title', 'model_caption', 'camera_position', 'guided_tour', 'camera_target', 'annotation_list', 'hide_annotation', 'hide_annotation_title']; foreach ($aic3dFields as $aic3dField) { array_push($fields['repeaterFields']['secondary_experience_modal'], [ 'name' => "blocks[secondaryExperienceModal-{$secondaryExperienceModal->id}][aic_split_3d_model][{$aic3dField}]", @@ -64,6 +65,7 @@ private function getFormFieldsFor3DModel($object, $fields, $fieldName = 'aic_3d_ $fields["{$fieldName}[camera_target]"] = $model3d->getOriginal('camera_target'); $fields["{$fieldName}[annotation_list]"] = $model3d->getOriginal('annotation_list'); $fields["{$fieldName}[hide_annotation]"] = $model3d->getOriginal('hide_annotation'); + $fields["{$fieldName}[hide_annotation_title]"] = $model3d->getOriginal('hide_annotation_title'); }; return $fields; diff --git a/resources/assets/js/blocks/BlockAic_3D_Model.vue b/resources/assets/js/blocks/BlockAic_3D_Model.vue index f7580bc817..e602266bc6 100644 --- a/resources/assets/js/blocks/BlockAic_3D_Model.vue +++ b/resources/assets/js/blocks/BlockAic_3D_Model.vue @@ -42,6 +42,7 @@ +
@@ -74,6 +75,10 @@ optionalAnnotation: { type: Boolean, default: false + }, + optionalAnnotationTitle: { + type: Boolean, + default: false } }, computed: { diff --git a/resources/assets/js/blocks/BlockAic_3D_Tour.vue b/resources/assets/js/blocks/BlockAic_3D_Tour.vue index 0aeb1bd77a..7cb021f2b9 100644 --- a/resources/assets/js/blocks/BlockAic_3D_Tour.vue +++ b/resources/assets/js/blocks/BlockAic_3D_Tour.vue @@ -1,7 +1,7 @@ From 00f9a342f9e1465c35fb34d83ee155cd49d949c3 Mon Sep 17 00:00:00 2001 From: surreal8 Date: Wed, 12 Aug 2020 15:10:19 -0500 Subject: [PATCH 07/15] Add option to hide annotation title for 3D tour block in FE [WEB-1793] --- frontend/js/behaviors/viewer3D.js | 7 ++++++- frontend/scss/molecules/_m-media.scss | 7 +++++++ .../views/components/molecules/_m-viewer-3d.blade.php | 2 +- resources/views/site/blocks/3d_tour.blade.php | 2 ++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/frontend/js/behaviors/viewer3D.js b/frontend/js/behaviors/viewer3D.js index 36f5bdb1e1..1dac618c04 100644 --- a/frontend/js/behaviors/viewer3D.js +++ b/frontend/js/behaviors/viewer3D.js @@ -16,6 +16,7 @@ const viewer3D = function(container) { let btnExplore = wrapper.querySelector('.m-viewer-3d__overlay'); let btnCloseAnnotation = descriptionBlock.querySelector('.m-viewer-3d__annotation__close'); let hideAnnots = JSON.parse(wrapper.dataset.hideannot); + let hideAnnotTitles = JSON.parse(wrapper.dataset.hideannottitle); let cc0 = JSON.parse(wrapper.dataset.cc); let isGuided = JSON.parse(wrapper.dataset.guided); let uid = wrapper.dataset.uid; @@ -256,7 +257,11 @@ const viewer3D = function(container) { var blockWindow = document.createElement("div"); blockWindow.classList.add('m-media--3d-tour__sep'); blockWindow.setAttribute('data-hotspot', i); - blockText.innerHTML = '

' + annot.content.raw + '

'; + if(hideAnnotTitles) { + blockText.innerHTML = '

' + annot.content.raw + '

'; + } else { + blockText.innerHTML = '

' + annot.name + '' + annot.content.raw + '

'; + } containerText.appendChild(blockWindow); containerText.appendChild(blockText); } diff --git a/frontend/scss/molecules/_m-media.scss b/frontend/scss/molecules/_m-media.scss index fe295ca8f8..ae74200eb2 100644 --- a/frontend/scss/molecules/_m-media.scss +++ b/frontend/scss/molecules/_m-media.scss @@ -58,6 +58,13 @@ &:before { display:none; } + + >strong { + font-weight:bold; + color:white; + margin-bottom:4px; + display:block; + } } &__sep { diff --git a/resources/views/components/molecules/_m-viewer-3d.blade.php b/resources/views/components/molecules/_m-viewer-3d.blade.php index 9884b905a7..74234d7a0d 100644 --- a/resources/views/components/molecules/_m-viewer-3d.blade.php +++ b/resources/views/components/molecules/_m-viewer-3d.blade.php @@ -1,4 +1,4 @@ -
+
diff --git a/resources/views/site/blocks/3d_tour.blade.php b/resources/views/site/blocks/3d_tour.blade.php index 41695c9417..308c91ea9d 100644 --- a/resources/views/site/blocks/3d_tour.blade.php +++ b/resources/views/site/blocks/3d_tour.blade.php @@ -5,6 +5,7 @@ $camera_target = $block->input('camera_target'); $annotation_list = $block->input('annotation_list'); $hide_annotation = $block->input('hide_annotation'); + $hide_annotation_title = $block->input('hide_annotation_title'); @endphp @if ($model_url) @@ -14,6 +15,7 @@ @slot('uid', $model_id) @slot('annotations', $annotation_list) @slot('hideannot', $hide_annotation) + @slot('hideannottitle', $hide_annotation_title) @endcomponent
@endif \ No newline at end of file From 29d5cfc564a7c3c0405fb14b96bce7d07f35e445 Mon Sep 17 00:00:00 2001 From: Illya Moskvin Date: Wed, 12 Aug 2020 16:16:56 -0500 Subject: [PATCH 08/15] Hide unlisted articles from "Further Reading" in IFs [WEB-1667] --- app/Http/Controllers/Admin/ExperienceController.php | 1 + app/Http/Controllers/InteractiveFeatureExperiencesController.php | 1 + 2 files changed, 2 insertions(+) diff --git a/app/Http/Controllers/Admin/ExperienceController.php b/app/Http/Controllers/Admin/ExperienceController.php index c5eacb7295..23d54fe27a 100644 --- a/app/Http/Controllers/Admin/ExperienceController.php +++ b/app/Http/Controllers/Admin/ExperienceController.php @@ -127,6 +127,7 @@ protected function previewData($item) { $articles = Article::published() ->orderBy('date', 'desc') + ->listed() ->paginate(4); return [ diff --git a/app/Http/Controllers/InteractiveFeatureExperiencesController.php b/app/Http/Controllers/InteractiveFeatureExperiencesController.php index 8369f4322c..f60da3c7bb 100644 --- a/app/Http/Controllers/InteractiveFeatureExperiencesController.php +++ b/app/Http/Controllers/InteractiveFeatureExperiencesController.php @@ -116,6 +116,7 @@ protected function show($slug) else { $articles = Article::published() ->orderBy('date', 'desc') + ->listed() ->paginate(4); } From 3dd4725b91595af3e4780b99427d140cce7ed6bf Mon Sep 17 00:00:00 2001 From: surreal8 Date: Wed, 12 Aug 2020 17:16:52 -0500 Subject: [PATCH 09/15] Add hide_annotation_title column to 3d_models database [WEB-1793] --- ...add_hide_annotation_title_to_3d_models.php | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 database/migrations/2020_08_12_163624_add_hide_annotation_title_to_3d_models.php diff --git a/database/migrations/2020_08_12_163624_add_hide_annotation_title_to_3d_models.php b/database/migrations/2020_08_12_163624_add_hide_annotation_title_to_3d_models.php new file mode 100644 index 0000000000..1592de4df6 --- /dev/null +++ b/database/migrations/2020_08_12_163624_add_hide_annotation_title_to_3d_models.php @@ -0,0 +1,32 @@ +boolean('hide_annotation_title')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('3d_models', function (Blueprint $table) { + $table->dropColumn('hide_annotation_title'); + }); + } +} From 3599a27fd09e5d7c0ae343aae24c6fa6cd463c11 Mon Sep 17 00:00:00 2001 From: surreal8 Date: Wed, 12 Aug 2020 17:18:08 -0500 Subject: [PATCH 10/15] Add option to hide annotation title for 3D tour slide for IFs in CMS [WEB-1793] --- app/Http/Resources/Slide.php | 3 ++- resources/views/admin/experiences/slides/_3dtour.blade.php | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Http/Resources/Slide.php b/app/Http/Resources/Slide.php index 0b64360af3..2c8d9a4c69 100644 --- a/app/Http/Resources/Slide.php +++ b/app/Http/Resources/Slide.php @@ -212,7 +212,8 @@ protected function get3DTourAttributes() 'model_id' => $model3d->model_id, 'camera_position' => $model3d->camera_position, 'camera_target' => $model3d->camera_target, - 'annotation_list' => json_decode($model3d->annotation_list) + 'annotation_list' => json_decode($model3d->annotation_list), + 'hide_annotation_title' => $model3d->hide_annotation_title ]; } else { return [ diff --git a/resources/views/admin/experiences/slides/_3dtour.blade.php b/resources/views/admin/experiences/slides/_3dtour.blade.php index f427e61f90..91d4f84894 100644 --- a/resources/views/admin/experiences/slides/_3dtour.blade.php +++ b/resources/views/admin/experiences/slides/_3dtour.blade.php @@ -3,12 +3,12 @@ 'fieldValues' => '3dtour', 'keepAlive' => true, ]) - + @endcomponent @push('vuexStore') @php($model3d = $item->model3d) - @foreach (['model_url', 'model_caption_title', 'model_caption', 'model_id', 'camera_position', 'camera_target', 'annotation_list', 'hide_annotation', 'guided_tour'] as $name) + @foreach (['model_url', 'model_caption_title', 'model_caption', 'model_id', 'camera_position', 'camera_target', 'annotation_list', 'hide_annotation', 'hide_annotation_title', 'guided_tour'] as $name) window.STORE.form.fields.push({ name: "{{ 'aic_3d_model[' . $name . ']' }}", value: {!! json_encode($model3d ? $model3d->$name : '') !!} From 82ad5cf782b313693fb0f28eab8869133761555d Mon Sep 17 00:00:00 2001 From: Illya Moskvin Date: Wed, 12 Aug 2020 21:19:12 -0500 Subject: [PATCH 11/15] Fix italics wrap in "Audio Tour Block" titles [WEB-1785] --- frontend/scss/molecules/_m-listing.scss | 2 +- .../views/components/molecules/_m-listing----sound.blade.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/scss/molecules/_m-listing.scss b/frontend/scss/molecules/_m-listing.scss index 41ad326037..cacdf85e74 100644 --- a/frontend/scss/molecules/_m-listing.scss +++ b/frontend/scss/molecules/_m-listing.scss @@ -1417,7 +1417,7 @@ $f-audio-subtitle: generate-font-obj( // Quick aside for artwork detail's sound variant .m-listing--inline.m-listing--sound { - .m-listing__meta { + .m-listing__meta--sound { @include font-styles($f-module-title-1); } diff --git a/resources/views/components/molecules/_m-listing----sound.blade.php b/resources/views/components/molecules/_m-listing----sound.blade.php index e5cfcc6579..0c02f4bfe4 100644 --- a/resources/views/components/molecules/_m-listing----sound.blade.php +++ b/resources/views/components/molecules/_m-listing----sound.blade.php @@ -1,7 +1,7 @@ {{-- This assumes `href` is a direct link to an MP3 file --}}