From b597cc1341c99ff24734a2be6138e502e7abb6ab Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Fri, 2 Feb 2024 16:30:52 +0800 Subject: [PATCH] refactor the code --- modules/ui/photoviewer.js | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 1f523adc5..c77e53fd6 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -110,36 +110,31 @@ export function uiPhotoviewer(context) { }); function set_photo_from_mapillary_viewer() { - const mapillary_image_ID_field = d3_select('.wrap-form-field-mapillary'); - const changeEvent = new Event('change'); - const service = services.mapillary; - - // check if mapillary image id field exist - if (!mapillary_image_ID_field.empty()) { + function insertIdAndTriggerChangeAtField() { + const changeEvent = new Event('change'); + const service = services.mapillary; // insert id const image = service.getActiveImage(); const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput,image.id); + utilGetSetValue(fieldInput, image.id); // trigger change at field fieldInput.node().focus(); fieldInput.node().dispatchEvent(changeEvent); + } + // check if mapillary image id field exist + const mapillary_image_ID_field = d3_select('.wrap-form-field-mapillary'); + if (!mapillary_image_ID_field.empty()) { + insertIdAndTriggerChangeAtField(); } else { // open the Mapillary field const comboboxInput = d3_select('.value.combobox-input'); - const EnterEvent = new KeyboardEvent('keydown',{keyCode : 13}); - utilGetSetValue(comboboxInput,'Mapillary Image ID'); + const EnterEvent = new KeyboardEvent('keydown', { keyCode: 13 }); + utilGetSetValue(comboboxInput, 'Mapillary Image ID'); comboboxInput.node().focus(); comboboxInput.node().dispatchEvent(EnterEvent); - // insert id - const image = service.getActiveImage(); - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput,image.id); - - // trigger change at field - fieldInput.node().focus(); - fieldInput.node().dispatchEvent(changeEvent); + insertIdAndTriggerChangeAtField(); } }