From f996f8f89e8099ede91ebf421f5915a0e8ca8d81 Mon Sep 17 00:00:00 2001 From: Rob Oates Date: Tue, 13 Aug 2024 08:56:31 +0000 Subject: [PATCH 01/15] Add Help button to resource report --- arches/app/views/resource.py | 1 + 1 file changed, 1 insertion(+) diff --git a/arches/app/views/resource.py b/arches/app/views/resource.py index 6d8e6b4c691..bf845721ea8 100644 --- a/arches/app/views/resource.py +++ b/arches/app/views/resource.py @@ -719,6 +719,7 @@ def get(self, request, resourceid=None): context["nav"]["title"] = f"{graph.name} Report" context["nav"]["res_edit"] = True context["nav"]["print"] = True + context["nav"]["help"] = True return render(request, "views/resource/report.htm", context) From d7652ba7ee2775ef248ce59fbd1ca4054319e154 Mon Sep 17 00:00:00 2001 From: Rob Oates Date: Wed, 21 Aug 2024 14:08:01 +0000 Subject: [PATCH 02/15] Change results from h3 to span --- arches/app/templates/views/search.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arches/app/templates/views/search.htm b/arches/app/templates/views/search.htm index 3ee3b120671..70330be7f1e 100644 --- a/arches/app/templates/views/search.htm +++ b/arches/app/templates/views/search.htm @@ -37,7 +37,7 @@
-

+
From 07fc94728c05f8a25f7423a2234a93eab9edf880 Mon Sep 17 00:00:00 2001 From: Rob Oates Date: Wed, 21 Aug 2024 14:50:17 +0000 Subject: [PATCH 03/15] Add on-space binding and refactored --- arches/app/media/js/views/base-manager.js | 61 +++++++++++++++-------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/arches/app/media/js/views/base-manager.js b/arches/app/media/js/views/base-manager.js index a789c9bf235..4c63c000f7a 100644 --- a/arches/app/media/js/views/base-manager.js +++ b/arches/app/media/js/views/base-manager.js @@ -9,7 +9,7 @@ define([ 'core-js', 'dom-4', 'views/components/language-switcher' -], function($, _, ko, Backbone, PageView, data) { +], function ($, _, ko, Backbone, PageView, data) { var BaseManager = PageView.extend({ /** @@ -30,18 +30,18 @@ define([ data.graphs.sort(function (left, right) { return left.name.toLowerCase() == right.name.toLowerCase() ? 0 : (left.name.toLowerCase() < right.name.toLowerCase() ? -1 : 1); }); - data.graphs.forEach(function(graph){ - graph.name = ko.observable(graph.name); - graph.iconclass = ko.observable(graph.iconclass); + data.graphs.forEach(function (graph) { + graph.name = ko.observable(graph.name); + graph.iconclass = ko.observable(graph.iconclass); }); options.viewModel.allGraphs = ko.observableArray(data.graphs); - options.viewModel.graphs = ko.computed(function() { - return ko.utils.arrayFilter(options.viewModel.allGraphs(), function(graph) { + options.viewModel.graphs = ko.computed(function () { + return ko.utils.arrayFilter(options.viewModel.allGraphs(), function (graph) { return !graph.isresource; }); }); - options.viewModel.resources = ko.computed(function() { - return ko.utils.arrayFilter(options.viewModel.allGraphs(), function(graph) { + options.viewModel.resources = ko.computed(function () { + return ko.utils.arrayFilter(options.viewModel.allGraphs(), function (graph) { return graph.isresource; }); }); @@ -49,10 +49,10 @@ define([ options.viewModel.userCanReadResources = data.userCanReadResources; options.viewModel.userCanEditResources = data.userCanEditResources; - options.viewModel.setResourceOptionDisable = function(option, item) { - if (item) { - ko.applyBindingsToNode(option, {disable: item.disable_instance_creation}, item); - } + options.viewModel.setResourceOptionDisable = function (option, item) { + if (item) { + ko.applyBindingsToNode(option, { disable: item.disable_instance_creation }, item); + } }; options.viewModel.navExpanded = ko.observable(false); @@ -60,21 +60,38 @@ define([ window.nifty.window.trigger('resize'); }); - options.viewModel.inSearch = ko.pureComputed(function() { + options.viewModel.inSearch = ko.pureComputed(function () { return window.location.pathname === "/search" || window.location.pathname === "/plugins/c8261a41-a409-4e45-b049-c925c28a57da"; }); - // Register binding of onEnterkeyClick. e.g.
+ // Shared function to handle key press events + function handleKeyPress(element, event, keyCodes) { + var pressedKeyCode = (event.which ? event.which : event.keyCode); + if (keyCodes.includes(pressedKeyCode)) { + $(element).click(); + } + return true; // Allow default action + } + + // Helper function to initialize key press binding + function initKeyPressBinding(element, valueAccessor, keyCodes) { + ko.utils.unwrapObservable(valueAccessor()); + $(element).keypress(function (event) { + handleKeyPress(element, event, keyCodes); + }); + } + + // Binding handler for Enter key ko.bindingHandlers.onEnterkeyClick = { init: function (element, valueAccessor) { - ko.utils.unwrapObservable(valueAccessor()); // Unwrap to get subscription. - $(element).keypress(function (event) { - var keyCode = (event.which ? event.which : event.keyCode); - if (keyCode === 13) { // Check if keypress is . - $(element).click(); - } - return true; // Allow default action. - }); + initKeyPressBinding(element, valueAccessor, [13]); // 13 is the key code for Enter + } + }; + + // Binding handler for Space key + ko.bindingHandlers.onSpaceClick = { + init: function (element, valueAccessor) { + initKeyPressBinding(element, valueAccessor, [32]); // 32 is the key code for Space } }; From 940bc8770372d1d4981ea456fedfd5ed81b68472 Mon Sep 17 00:00:00 2001 From: Rob Oates Date: Thu, 22 Aug 2024 11:08:37 +0000 Subject: [PATCH 04/15] Add radiogroup and radio roles to search export options --- .../views/components/search/search-export.htm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arches/app/templates/views/components/search/search-export.htm b/arches/app/templates/views/components/search/search-export.htm index 21342f82805..7c9185ba883 100644 --- a/arches/app/templates/views/components/search/search-export.htm +++ b/arches/app/templates/views/components/search/search-export.htm @@ -12,24 +12,24 @@

{% trans "1. Format" %}

-
-