From 1de96a834446b4bb84130d5e485c2e566d3394d6 Mon Sep 17 00:00:00 2001 From: Joseph Replin Date: Thu, 27 Apr 2023 14:22:25 -0500 Subject: [PATCH 1/7] Add event trigger to JSX --- templates/resourcesItem.jsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/templates/resourcesItem.jsx b/templates/resourcesItem.jsx index bae55a9..b61efb0 100644 --- a/templates/resourcesItem.jsx +++ b/templates/resourcesItem.jsx @@ -1,3 +1,4 @@ +import Adapt from 'core/js/adapt'; import React from 'react'; import device from 'core/js/device'; import { classes } from 'core/js/reactHelpers'; @@ -28,6 +29,10 @@ export default function ResourcesItem (props) { return (_forceDownload || filename); } + function onClick(event) { + Adapt.trigger('resources:itemClicked', event); + } + return (
From 4dbd7cf197d425b5113e615698ba592703c4bb71 Mon Sep 17 00:00:00 2001 From: Joseph Replin Date: Thu, 27 Apr 2023 20:31:28 -0500 Subject: [PATCH 2/7] Moved trigger to view --- js/ResourcesView.js | 6 ++++++ templates/resourcesItem.jsx | 8 ++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/js/ResourcesView.js b/js/ResourcesView.js index 751be96..9ebe73a 100644 --- a/js/ResourcesView.js +++ b/js/ResourcesView.js @@ -15,6 +15,7 @@ export default class ResourcesView extends Backbone.View { } render() { + this.onClick = this.onClick.bind(this); const data = { model: this.model.toJSON(), resources: this.model.get('_resources') @@ -29,4 +30,9 @@ export default class ResourcesView extends Backbone.View { return this; } + onClick(event) { + Adapt.trigger('resources:itemClicked', event); + console.log(event); + } + } diff --git a/templates/resourcesItem.jsx b/templates/resourcesItem.jsx index b61efb0..1fbc5d0 100644 --- a/templates/resourcesItem.jsx +++ b/templates/resourcesItem.jsx @@ -1,4 +1,3 @@ -import Adapt from 'core/js/adapt'; import React from 'react'; import device from 'core/js/device'; import { classes } from 'core/js/reactHelpers'; @@ -12,7 +11,8 @@ export default function ResourcesItem (props) { description, filename, selectedFilter, - title + title, + onClick } = props; /** @@ -29,10 +29,6 @@ export default function ResourcesItem (props) { return (_forceDownload || filename); } - function onClick(event) { - Adapt.trigger('resources:itemClicked', event); - } - return (
Date: Thu, 27 Apr 2023 20:42:08 -0500 Subject: [PATCH 3/7] Trigger data models --- js/ResourcesView.js | 7 ++++--- templates/resourcesItem.jsx | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/js/ResourcesView.js b/js/ResourcesView.js index 9ebe73a..8465af9 100644 --- a/js/ResourcesView.js +++ b/js/ResourcesView.js @@ -30,9 +30,10 @@ export default class ResourcesView extends Backbone.View { return this; } - onClick(event) { - Adapt.trigger('resources:itemClicked', event); - console.log(event); + onClick(e) { + const index = $(e.currentTarget).attr('data-index'); + const resourceItemData = this.model.get('_resourcesItems')[index]; + Adapt.trigger('resources:itemClicked', resourceItemData); } } diff --git a/templates/resourcesItem.jsx b/templates/resourcesItem.jsx index 1fbc5d0..182fe5a 100644 --- a/templates/resourcesItem.jsx +++ b/templates/resourcesItem.jsx @@ -8,6 +8,7 @@ export default function ResourcesItem (props) { _isGlobal, _link, _type, + _index, description, filename, selectedFilter, @@ -40,6 +41,7 @@ export default function ResourcesItem (props) { Date: Mon, 1 May 2023 15:25:42 -0500 Subject: [PATCH 4/7] Passing index to props --- templates/resources.jsx | 1 + templates/resourcesItem.jsx | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/resources.jsx b/templates/resources.jsx index 07f4efa..3f0d204 100644 --- a/templates/resources.jsx +++ b/templates/resources.jsx @@ -89,6 +89,7 @@ export default function Resources (props) { {resources.map(({ title, description, _link, _type, _isGlobal, filename, _forceDownload }, index) => From 39e3b52a57b35f6a947badd0a4a37a40a8aa60c0 Mon Sep 17 00:00:00 2001 From: Joseph Replin Date: Mon, 1 May 2023 15:26:15 -0500 Subject: [PATCH 5/7] Bind function to initialize --- js/ResourcesView.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/ResourcesView.js b/js/ResourcesView.js index 8465af9..55c71f1 100644 --- a/js/ResourcesView.js +++ b/js/ResourcesView.js @@ -12,10 +12,11 @@ export default class ResourcesView extends Backbone.View { initialize() { this.listenTo(Adapt, 'remove', this.remove); this.render(); + + this.onResourcesItemClicked = this.onResourcesItemClicked.bind(this); } render() { - this.onClick = this.onClick.bind(this); const data = { model: this.model.toJSON(), resources: this.model.get('_resources') @@ -30,7 +31,7 @@ export default class ResourcesView extends Backbone.View { return this; } - onClick(e) { + onResourcesItemClicked(e) { const index = $(e.currentTarget).attr('data-index'); const resourceItemData = this.model.get('_resourcesItems')[index]; Adapt.trigger('resources:itemClicked', resourceItemData); From c6a63136f5dcf3a9e3ee7d61e645e16b31a74e5b Mon Sep 17 00:00:00 2001 From: Joseph Replin Date: Tue, 2 May 2023 14:55:31 -0500 Subject: [PATCH 6/7] Updated bind to function --- js/ResourcesView.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/js/ResourcesView.js b/js/ResourcesView.js index 55c71f1..f7e3717 100644 --- a/js/ResourcesView.js +++ b/js/ResourcesView.js @@ -10,14 +10,15 @@ export default class ResourcesView extends Backbone.View { } initialize() { + this.onResourceItemClicked = this.onResourceItemClicked.bind(this); + this.listenTo(Adapt, 'remove', this.remove); this.render(); - - this.onResourcesItemClicked = this.onResourcesItemClicked.bind(this); } render() { const data = { + ...this, model: this.model.toJSON(), resources: this.model.get('_resources') }; @@ -31,7 +32,7 @@ export default class ResourcesView extends Backbone.View { return this; } - onResourcesItemClicked(e) { + onResourceItemClicked(e) { const index = $(e.currentTarget).attr('data-index'); const resourceItemData = this.model.get('_resourcesItems')[index]; Adapt.trigger('resources:itemClicked', resourceItemData); From 8a7bf3e0ab879da5ea34ba778d359d300d0a5a26 Mon Sep 17 00:00:00 2001 From: Joseph Replin Date: Fri, 26 May 2023 15:11:17 -0500 Subject: [PATCH 7/7] Fix event name --- templates/resourcesItem.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/resourcesItem.jsx b/templates/resourcesItem.jsx index 69fdf36..5220b30 100644 --- a/templates/resourcesItem.jsx +++ b/templates/resourcesItem.jsx @@ -13,7 +13,7 @@ export default function ResourcesItem (props) { filename, selectedFilter, title, - onResourcesItemClicked + onResourceItemClicked } = props; /** @@ -43,7 +43,7 @@ export default function ResourcesItem (props) { data-type={_type} data-index={_index} download={resourcesForceDownload(filename, _forceDownload) && filename } - onClick={onResourcesItemClicked} + onClick={onResourceItemClicked} target="_blank" rel="noreferrer" aria-label={title}>