From 1045d16b3134832ca6dc3720aba6f5b006134c22 Mon Sep 17 00:00:00 2001 From: David Phan Date: Thu, 30 Jun 2022 10:05:55 -0700 Subject: [PATCH 1/9] changed Gallery cards with unsupported severiy ratings to have grayed out severity rating and hoverable tooltip that explains why they have no rating --- public/javascripts/Gallery/css/cards.css | 13 +++++++++++ public/javascripts/Gallery/src/cards/Card.js | 9 +++++-- .../Gallery/src/displays/SeverityDisplay.js | 22 +++++++++++++++++- .../SVLabel/img/misc/tooltip-img.png | Bin 0 -> 77596 bytes public/locales/en/common.json | 1 + public/locales/es/common.json | 1 + public/locales/nl/common.json | 1 + 7 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 public/javascripts/SVLabel/img/misc/tooltip-img.png diff --git a/public/javascripts/Gallery/css/cards.css b/public/javascripts/Gallery/css/cards.css index 4f24712ab6..205adacaa6 100644 --- a/public/javascripts/Gallery/css/cards.css +++ b/public/javascripts/Gallery/css/cards.css @@ -120,6 +120,10 @@ with respect to the image holder. This allows the validation menu to be placed o padding-right: .25vw; } +.no-severity-header { + color: lightgrey; +} + .label-severity-content { display: flex; flex-direction: row; @@ -192,8 +196,17 @@ with respect to the image holder. This allows the validation menu to be placed o font-size: 0.9vw; } +.no-severity-circle { + border: 1px solid lightgray; +} + #current-severity { border: 2px solid #2d2a3f; background-color: #2d2a3f; color: #2d2a3f; } + +.card-tooltip { + height: 70%; + margin-left: 5%; +} diff --git a/public/javascripts/Gallery/src/cards/Card.js b/public/javascripts/Gallery/src/cards/Card.js index 235cf2db73..07c4e4b428 100644 --- a/public/javascripts/Gallery/src/cards/Card.js +++ b/public/javascripts/Gallery/src/cards/Card.js @@ -118,10 +118,15 @@ function Card (params, imageUrl, modal) { cardInfo.appendChild(cardData); // Create the div to store the severity of the label. - if (getLabelType() !== 'Occlusion' && getLabelType() !== 'Signal') { + if (getLabelType() !== 'Occlusion') { let cardSeverity = document.createElement('div'); cardSeverity.className = 'card-severity'; - let severityHolder = new SeverityDisplay(cardSeverity, properties.severity); + // if signal label, then gray out severity labels + if (getLabelType() === 'Signal') { + let severityHolder = new SeverityDisplay(cardSeverity, properties.severity, false, true); + } else { + let severityHolder = new SeverityDisplay(cardSeverity, properties.severity); + } cardData.appendChild(cardSeverity); } diff --git a/public/javascripts/Gallery/src/displays/SeverityDisplay.js b/public/javascripts/Gallery/src/displays/SeverityDisplay.js index d257700115..fae66beefd 100644 --- a/public/javascripts/Gallery/src/displays/SeverityDisplay.js +++ b/public/javascripts/Gallery/src/displays/SeverityDisplay.js @@ -7,7 +7,7 @@ * @param {Boolean} isModal a toggle to determine if this SeverityDisplay is in a modal, or in a card * @returns {SeverityDisplay} the generated object */ -function SeverityDisplay(container, severity, isModal=false) { +function SeverityDisplay(container, severity, isModal=false, noSeverity=false) { let self = this; self.severity = severity; self.severityContainer = container; @@ -29,6 +29,10 @@ function SeverityDisplay(container, severity, isModal=false) { } title.innerText = `${i18next.t("severity")}`; + // if no severity rating, gray out title + if (noSeverity) { + title.classList.add('no-severity-header') + } container.append(title); // Creates all of the circles for the severities. @@ -39,6 +43,10 @@ function SeverityDisplay(container, severity, isModal=false) { // Set the src of our smiley icon to default black-outlined, white-filled smileys. severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; } + // if no severity rating, gray out circles + if (noSeverity) { + severityCircle.classList.add('no-severity-circle') + } circles.push(severityCircle); } @@ -63,6 +71,18 @@ function SeverityDisplay(container, severity, isModal=false) { holder.appendChild(circles[i]); } container.append(holder); + + // add tooltip if severity is grayed out + if (noSeverity) { + let tooltip = document.createElement('img'); + tooltip.src = '/assets/javascripts/SVLabel/img/misc/tooltip-img.png'; + tooltip.classList.add('card-tooltip'); + tooltip.setAttribute('data-toggle', 'tooltip'); + tooltip.setAttribute('data-placement', 'top'); + tooltip.setAttribute('title', `${i18next.t("unsupported")}`); + container.append(tooltip); + $(tooltip).tooltip('hide') + } } _init() diff --git a/public/javascripts/SVLabel/img/misc/tooltip-img.png b/public/javascripts/SVLabel/img/misc/tooltip-img.png new file mode 100644 index 0000000000000000000000000000000000000000..81b79f584cccb8c0e503d0d0b60e0dd010b44d1d GIT binary patch literal 77596 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�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 Jn74la{{ROX+n4|V From 32588cfce0835ecbf6bae9b5c59bfc855135c18e Mon Sep 17 00:00:00 2001 From: David Phan Date: Tue, 5 Jul 2022 14:48:24 -0700 Subject: [PATCH 3/9] adjusted modal popup popout with no severity to be grayed out smileys, additional reorganization of forloop to prevent redundant code --- public/javascripts/Gallery/css/cards.css | 4 +++ .../Gallery/src/displays/SeverityDisplay.js | 30 ++++++++++--------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/public/javascripts/Gallery/css/cards.css b/public/javascripts/Gallery/css/cards.css index 3c45730621..830faee011 100644 --- a/public/javascripts/Gallery/css/cards.css +++ b/public/javascripts/Gallery/css/cards.css @@ -185,6 +185,10 @@ with respect to the image holder. This allows the validation menu to be placed o opacity: 50%; } +.modal-no-severity { + filter: opacity(0.2); +} + .severity-circle { color: white; border: 1px solid #2d2a3f; diff --git a/public/javascripts/Gallery/src/displays/SeverityDisplay.js b/public/javascripts/Gallery/src/displays/SeverityDisplay.js index 5232de98c7..887665ebb9 100644 --- a/public/javascripts/Gallery/src/displays/SeverityDisplay.js +++ b/public/javascripts/Gallery/src/displays/SeverityDisplay.js @@ -15,9 +15,7 @@ function SeverityDisplay(container, severity, isModal=false) { let circles = []; function _init() { // Set the different classes and ids depending on whether the severity display is in a Modal or in a card. - // Severity circles are ONLY smileys if modal AND the label has a severity rating, - // otherwise they stay as circles - let severityCircleClass = (isModal && severity) ? 'modal-severity-circle' : 'severity-circle'; + let severityCircleClass = isModal ? 'modal-severity-circle' : 'severity-circle'; let selectedCircleID = /*isModal ? 'modal-current-severity' : */'current-severity'; let holder = document.createElement('div'); @@ -40,11 +38,11 @@ function SeverityDisplay(container, severity, isModal=false) { // Highlight the correct severity. // We do so by darkening a number of circles from the left equal to the severity. For example, if the severity // is 3, we will darken the left 3 circles. - if (severity) { - for (let i = 1; i <= 5; i++) { - let severityCircle = isModal ? new Image() : document.createElement('div'); - severityCircle.className = severityCircleClass; + for (let i = 1; i <= 5; i++) { + let severityCircle = isModal ? new Image() : document.createElement('div'); + severityCircle.className = severityCircleClass; + if (severity) { // create severity circle elements if (isModal) { if (i <= severity) { // Filled in smileys @@ -57,16 +55,20 @@ function SeverityDisplay(container, severity, isModal=false) { severityCircle.id = selectedCircleID } } + } else { + // create grayed out empty circles/smileys + if (isModal) { + severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; + severityCircle.classList.add('modal-no-severity'); + } else { + severityCircle.classList.add(severityCircleClass, 'no-severity-circle'); + } circles.push(severityCircle); } - } else { - // create grayed out, empty circles - for (let i = 0; i < 5; i++) { - let severityCircle = document.createElement('div'); - severityCircle.classList.add(severityCircleClass, 'no-severity-circle'); - circles.push(severityCircle); - } + circles.push(severityCircle); + } + if (!severity) { // add tooltip if no severity level holder.setAttribute('data-toggle', 'tooltip'); holder.setAttribute('data-placement', 'top'); From 45d161014309ce0745f4f3c2d7ad589172743f55 Mon Sep 17 00:00:00 2001 From: David Phan Date: Mon, 18 Jul 2022 11:23:48 -0700 Subject: [PATCH 4/9] tooltip only for specific unsupported label types rather than all cards with no severity rating --- public/javascripts/Gallery/src/cards/Card.js | 10 ++++------ .../Gallery/src/displays/SeverityDisplay.js | 14 ++++++++++---- public/javascripts/Gallery/src/modal/Modal.js | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/public/javascripts/Gallery/src/cards/Card.js b/public/javascripts/Gallery/src/cards/Card.js index 8eae32663e..667052ad6c 100644 --- a/public/javascripts/Gallery/src/cards/Card.js +++ b/public/javascripts/Gallery/src/cards/Card.js @@ -118,12 +118,10 @@ function Card (params, imageUrl, modal) { cardInfo.appendChild(cardData); // Create the div to store the severity of the label. - if (getLabelType() !== 'Occlusion') { - let cardSeverity = document.createElement('div'); - cardSeverity.className = 'card-severity'; - let severityHolder = new SeverityDisplay(cardSeverity, properties.severity); - cardData.appendChild(cardSeverity); - } + let cardSeverity = document.createElement('div'); + cardSeverity.className = 'card-severity'; + new SeverityDisplay(cardSeverity, properties.severity, getLabelType()); + cardData.appendChild(cardSeverity); // Create the div to store the tags related to a card. Tags won't be populated until card is added to the DOM. let cardTags = document.createElement('div'); diff --git a/public/javascripts/Gallery/src/displays/SeverityDisplay.js b/public/javascripts/Gallery/src/displays/SeverityDisplay.js index 887665ebb9..0224f1dc3f 100644 --- a/public/javascripts/Gallery/src/displays/SeverityDisplay.js +++ b/public/javascripts/Gallery/src/displays/SeverityDisplay.js @@ -7,11 +7,17 @@ * @param {Boolean} isModal a toggle to determine if this SeverityDisplay is in a modal, or in a card * @returns {SeverityDisplay} the generated object */ -function SeverityDisplay(container, severity, isModal=false) { +function SeverityDisplay(container, severity, labelType, isModal=false) { let self = this; self.severity = severity; self.severityContainer = container; + // list of label types where severity ratings are not supported + // if more unsupported label types are made, add them here! + const unsupported = ['Occlusion', 'Signal']; + + let noSeverity = unsupported.includes(labelType); + let circles = []; function _init() { // Set the different classes and ids depending on whether the severity display is in a Modal or in a card. @@ -30,7 +36,7 @@ function SeverityDisplay(container, severity, isModal=false) { title.innerText = `${i18next.t("severity")}`; // if no severity rating, gray out title - if (!severity) { + if (noSeverity) { title.classList.add('no-severity-header') } container.append(title); @@ -42,7 +48,7 @@ function SeverityDisplay(container, severity, isModal=false) { let severityCircle = isModal ? new Image() : document.createElement('div'); severityCircle.className = severityCircleClass; - if (severity) { + if (!noSeverity) { // create severity circle elements if (isModal) { if (i <= severity) { // Filled in smileys @@ -68,7 +74,7 @@ function SeverityDisplay(container, severity, isModal=false) { circles.push(severityCircle); } - if (!severity) { + if (noSeverity) { // add tooltip if no severity level holder.setAttribute('data-toggle', 'tooltip'); holder.setAttribute('data-placement', 'top'); diff --git a/public/javascripts/Gallery/src/modal/Modal.js b/public/javascripts/Gallery/src/modal/Modal.js index e4851fdeba..d1ff04a56e 100644 --- a/public/javascripts/Gallery/src/modal/Modal.js +++ b/public/javascripts/Gallery/src/modal/Modal.js @@ -138,7 +138,7 @@ function Modal(uiModal) { self.timestamps.append(panoTimestampData); // Add severity and tag display to the modal. - new SeverityDisplay(self.severity, properties.severity, true); + new SeverityDisplay(self.severity, properties.severity, properties.label_type, true); new TagDisplay(self.tags, properties.tags, true); // Add the information about the temporary property to the Modal. From f3c0e626d3c724eeebd380c24bf39ee046f9caa8 Mon Sep 17 00:00:00 2001 From: David Phan Date: Mon, 18 Jul 2022 14:10:32 -0700 Subject: [PATCH 5/9] gray out severity rating and added new custom tooltip for supported labels with no rating added --- .../Gallery/src/displays/SeverityDisplay.js | 36 +++++++++++-------- public/locales/en/common.json | 1 + public/locales/es/common.json | 1 + public/locales/nl/common.json | 1 + 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/public/javascripts/Gallery/src/displays/SeverityDisplay.js b/public/javascripts/Gallery/src/displays/SeverityDisplay.js index 0224f1dc3f..12621c1ee6 100644 --- a/public/javascripts/Gallery/src/displays/SeverityDisplay.js +++ b/public/javascripts/Gallery/src/displays/SeverityDisplay.js @@ -14,9 +14,9 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { // list of label types where severity ratings are not supported // if more unsupported label types are made, add them here! - const unsupported = ['Occlusion', 'Signal']; + const unsupportedLabels = ['Occlusion', 'Signal']; - let noSeverity = unsupported.includes(labelType); + let unsupported = unsupportedLabels.includes(labelType); let circles = []; function _init() { @@ -36,7 +36,7 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { title.innerText = `${i18next.t("severity")}`; // if no severity rating, gray out title - if (noSeverity) { + if (unsupported || !severity) { title.classList.add('no-severity-header') } container.append(title); @@ -48,7 +48,16 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { let severityCircle = isModal ? new Image() : document.createElement('div'); severityCircle.className = severityCircleClass; - if (!noSeverity) { + if (unsupported || !severity) { + // create grayed out empty circles/smileys + if (isModal) { + severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; + severityCircle.classList.add('modal-no-severity'); + } else { + severityCircle.classList.add(severityCircleClass, 'no-severity-circle'); + } + circles.push(severityCircle); + } else { // create severity circle elements if (isModal) { if (i <= severity) { // Filled in smileys @@ -61,24 +70,21 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { severityCircle.id = selectedCircleID } } - } else { - // create grayed out empty circles/smileys - if (isModal) { - severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; - severityCircle.classList.add('modal-no-severity'); - } else { - severityCircle.classList.add(severityCircleClass, 'no-severity-circle'); - } - circles.push(severityCircle); } circles.push(severityCircle); } - if (noSeverity) { + if (!severity) { // add tooltip if no severity level holder.setAttribute('data-toggle', 'tooltip'); holder.setAttribute('data-placement', 'top'); - holder.setAttribute('title', `${i18next.t("unsupported")}`); + + // change tooltip message depending on if the label is unsupported or user did not add severity rating + if (unsupported){ + holder.setAttribute('title', `${i18next.t("unsupported")}`); + } else { + holder.setAttribute('title', `${i18next.t("no-severity")}`); + } $(holder).tooltip('hide'); } diff --git a/public/locales/en/common.json b/public/locales/en/common.json index a58bd11472..cf9992807c 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -28,6 +28,7 @@ "submit": "Submit comment" }, "severity": "Severity", + "no-severity": "A user did not provide a severity rating for this label", "unsupported": "This label type does not have meaningful severity levels", "tags": "Tags", "temporary": "Temporary", diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 970975a4ee..54149fb4be 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -28,6 +28,7 @@ "submit": "Enviar comentario" }, "severity": "Calificación ", + "no-severity": "Un usuario no proporcionó una calificación de gravedad para esta etiqueta", "unsupported": "Este tipo de etiqueta no tiene niveles de gravedad significativos", "tags": "Etiquitas ", "temporary": "Temporal", diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index b86977681c..ddcd25fc3a 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -28,6 +28,7 @@ "submit": "Voeg opmerking toe" }, "severity": "Ernst", + "no-severity": "Een gebruiker heeft geen prioriteitsclassificatie opgegeven voor dit label", "unsupported": "Dit labeltype heeft geen betekenisvolle ernstniveaus", "tags": "Tags", "temporary": "Tijdelijk", From 5460c0e05a9c87d5fcf0a5b77b03063333ec4b66 Mon Sep 17 00:00:00 2001 From: Mikey Saugstad Date: Tue, 19 Jul 2022 15:07:33 -0700 Subject: [PATCH 6/9] removes severity rating data for pedestrian signals --- conf/evolutions/default/157.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 conf/evolutions/default/157.sql diff --git a/conf/evolutions/default/157.sql b/conf/evolutions/default/157.sql new file mode 100644 index 0000000000..5f2cda0b74 --- /dev/null +++ b/conf/evolutions/default/157.sql @@ -0,0 +1,5 @@ +# --- !Ups +-- Remove severity for Pedestrian Signal labels. +UPDATE label SET severity = NULL WHERE label_type_id = 10; + +# --- !Downs From e49293c4ffaee1642d2bfd449610283ee47062f0 Mon Sep 17 00:00:00 2001 From: David Phan Date: Thu, 28 Jul 2022 10:34:11 -0700 Subject: [PATCH 7/9] fixed unsupported severity color/oopacity and centered modal tooltip --- public/javascripts/Gallery/css/cards.css | 8 ++++++-- .../javascripts/Gallery/src/displays/SeverityDisplay.js | 2 ++ public/locales/en/common.json | 2 +- public/locales/es/common.json | 2 +- public/locales/nl/common.json | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/public/javascripts/Gallery/css/cards.css b/public/javascripts/Gallery/css/cards.css index 830faee011..df287f4f11 100644 --- a/public/javascripts/Gallery/css/cards.css +++ b/public/javascripts/Gallery/css/cards.css @@ -121,7 +121,7 @@ with respect to the image holder. This allows the validation menu to be placed o } .no-severity-header { - color: lightgrey; + opacity: 60%; } .label-severity-content { @@ -189,6 +189,10 @@ with respect to the image holder. This allows the validation menu to be placed o filter: opacity(0.2); } +.modal-no-severity-box { + width: 50%; +} + .severity-circle { color: white; border: 1px solid #2d2a3f; @@ -201,7 +205,7 @@ with respect to the image holder. This allows the validation menu to be placed o } .no-severity-circle { - border: 1px solid lightgray; + opacity: 40%; } #current-severity { diff --git a/public/javascripts/Gallery/src/displays/SeverityDisplay.js b/public/javascripts/Gallery/src/displays/SeverityDisplay.js index 12621c1ee6..068e07c89a 100644 --- a/public/javascripts/Gallery/src/displays/SeverityDisplay.js +++ b/public/javascripts/Gallery/src/displays/SeverityDisplay.js @@ -32,6 +32,8 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { if (isModal) { // Add bold weight. Find better way to do this. title.classList.add('modal-severity-header'); + // centers tooltip + holder.classList.add('modal-no-severity-box') } title.innerText = `${i18next.t("severity")}`; diff --git a/public/locales/en/common.json b/public/locales/en/common.json index cf9992807c..af44462ad4 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -28,7 +28,7 @@ "submit": "Submit comment" }, "severity": "Severity", - "no-severity": "A user did not provide a severity rating for this label", + "no-severity": "A severity rating was not provided for this label", "unsupported": "This label type does not have meaningful severity levels", "tags": "Tags", "temporary": "Temporary", diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 54149fb4be..3c2cdcd211 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -28,7 +28,7 @@ "submit": "Enviar comentario" }, "severity": "Calificación ", - "no-severity": "Un usuario no proporcionó una calificación de gravedad para esta etiqueta", + "no-severity": "No se proporcionó una calificación de gravedad para esta etiqueta", "unsupported": "Este tipo de etiqueta no tiene niveles de gravedad significativos", "tags": "Etiquitas ", "temporary": "Temporal", diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index ddcd25fc3a..49573e8afb 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -28,7 +28,7 @@ "submit": "Voeg opmerking toe" }, "severity": "Ernst", - "no-severity": "Een gebruiker heeft geen prioriteitsclassificatie opgegeven voor dit label", + "no-severity": "Er is geen ernstclassificatie opgegeven voor dit label", "unsupported": "Dit labeltype heeft geen betekenisvolle ernstniveaus", "tags": "Tags", "temporary": "Tijdelijk", From 0a88fcb080142c10e221889ba78dcf80814cd626 Mon Sep 17 00:00:00 2001 From: Mikey Saugstad Date: Tue, 2 Aug 2022 09:58:51 -0700 Subject: [PATCH 8/9] revert accidental change --- conf/evolutions/default/157.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/evolutions/default/157.sql b/conf/evolutions/default/157.sql index ec66cb8ea0..516888afa0 100644 --- a/conf/evolutions/default/157.sql +++ b/conf/evolutions/default/157.sql @@ -3,4 +3,3 @@ INSERT INTO version VALUES ('7.7.0', now(), 'Adds label tags to the /attributesW # --- !Downs DELETE FROM version WHERE version_id = '7.7.0'; - From 5e90e8a721bbd1168ee3b30f28f645b39f5084a2 Mon Sep 17 00:00:00 2001 From: David Phan Date: Fri, 5 Aug 2022 11:31:27 -0700 Subject: [PATCH 9/9] minor style changes --- public/javascripts/Gallery/css/cards.css | 4 +-- .../Gallery/src/displays/SeverityDisplay.js | 32 +++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/public/javascripts/Gallery/css/cards.css b/public/javascripts/Gallery/css/cards.css index df287f4f11..73684de32d 100644 --- a/public/javascripts/Gallery/css/cards.css +++ b/public/javascripts/Gallery/css/cards.css @@ -189,7 +189,7 @@ with respect to the image holder. This allows the validation menu to be placed o filter: opacity(0.2); } -.modal-no-severity-box { +.modal-severity-content { width: 50%; } @@ -212,4 +212,4 @@ with respect to the image holder. This allows the validation menu to be placed o border: 2px solid #2d2a3f; background-color: #2d2a3f; color: #2d2a3f; -} \ No newline at end of file +} diff --git a/public/javascripts/Gallery/src/displays/SeverityDisplay.js b/public/javascripts/Gallery/src/displays/SeverityDisplay.js index 068e07c89a..04406c3a95 100644 --- a/public/javascripts/Gallery/src/displays/SeverityDisplay.js +++ b/public/javascripts/Gallery/src/displays/SeverityDisplay.js @@ -12,8 +12,8 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { self.severity = severity; self.severityContainer = container; - // list of label types where severity ratings are not supported - // if more unsupported label types are made, add them here! + // List of label types where severity ratings are not supported. + // If more unsupported label types are made, add them here! const unsupportedLabels = ['Occlusion', 'Signal']; let unsupported = unsupportedLabels.includes(labelType); @@ -32,13 +32,13 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { if (isModal) { // Add bold weight. Find better way to do this. title.classList.add('modal-severity-header'); - // centers tooltip - holder.classList.add('modal-no-severity-box') + // Centers tooltip. + holder.classList.add('modal-severity-content') } title.innerText = `${i18next.t("severity")}`; - // if no severity rating, gray out title - if (unsupported || !severity) { + // If no severity rating, gray out title. + if (unsupported || severity == null) { title.classList.add('no-severity-header') } container.append(title); @@ -50,8 +50,8 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { let severityCircle = isModal ? new Image() : document.createElement('div'); severityCircle.className = severityCircleClass; - if (unsupported || !severity) { - // create grayed out empty circles/smileys + if (unsupported || severity == null) { + // Create grayed out empty circles/smileys. if (isModal) { severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; severityCircle.classList.add('modal-no-severity'); @@ -60,15 +60,15 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { } circles.push(severityCircle); } else { - // create severity circle elements + // Create severity circle elements. if (isModal) { - if (i <= severity) { // Filled in smileys + if (i <= severity) { // Filled in smileys. severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_inverted.png`; - } else { // Empty smileys + } else { // Empty smileys. severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; } } else { - if (i <= severity) { // Fills in circles + if (i <= severity) { // Fills in circles. severityCircle.id = selectedCircleID } } @@ -76,13 +76,13 @@ function SeverityDisplay(container, severity, labelType, isModal=false) { circles.push(severityCircle); } - if (!severity) { - // add tooltip if no severity level + if (severity == null) { + // Add tooltip if no severity level. holder.setAttribute('data-toggle', 'tooltip'); holder.setAttribute('data-placement', 'top'); - // change tooltip message depending on if the label is unsupported or user did not add severity rating - if (unsupported){ + // Change tooltip message depending on if the label is unsupported or user did not add severity rating. + if (unsupported) { holder.setAttribute('title', `${i18next.t("unsupported")}`); } else { holder.setAttribute('title', `${i18next.t("no-severity")}`);

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 Jn74la{{ROX+n4|V literal 0 HcmV?d00001 diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 885f6206a0..2793d02bbc 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -28,6 +28,7 @@ "submit": "Submit comment" }, "severity": "Severity", + "unsupported": "This label type does not have meaningful severity levels", "tags": "Tags", "temporary": "Temporary", "description": "Description", diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 4697326d9e..0d9fc53c06 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -28,6 +28,7 @@ "submit": "Enviar comentario" }, "severity": "Calificación ", + "unsupported": "Este tipo de etiqueta no tiene niveles de gravedad significativos", "tags": "Etiquitas ", "temporary": "Temporal", "description": "Descripción", diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 129c5184f3..1c401d5341 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -28,6 +28,7 @@ "submit": "Voeg opmerking toe" }, "severity": "Ernst", + "unsupported": "Dit labeltype heeft geen betekenisvolle ernstniveaus", "tags": "Tags", "temporary": "Tijdelijk", "description": "Beschrijving", From 33419de48bbd7bb9ff5407b748b9c8ca9c1f6f52 Mon Sep 17 00:00:00 2001 From: David Phan Date: Tue, 5 Jul 2022 12:23:30 -0700 Subject: [PATCH 2/9] adjusted tooltip so it appears from severity display rather than tooltip and added it to the modal card popup as well, cleaned up redundant code --- public/javascripts/Gallery/css/cards.css | 7 +- public/javascripts/Gallery/src/cards/Card.js | 7 +- .../Gallery/src/displays/SeverityDisplay.js | 68 +++++++++--------- .../SVLabel/img/misc/tooltip-img.png | Bin 77596 -> 0 bytes 4 files changed, 34 insertions(+), 48 deletions(-) delete mode 100644 public/javascripts/SVLabel/img/misc/tooltip-img.png diff --git a/public/javascripts/Gallery/css/cards.css b/public/javascripts/Gallery/css/cards.css index 205adacaa6..3c45730621 100644 --- a/public/javascripts/Gallery/css/cards.css +++ b/public/javascripts/Gallery/css/cards.css @@ -204,9 +204,4 @@ with respect to the image holder. This allows the validation menu to be placed o border: 2px solid #2d2a3f; background-color: #2d2a3f; color: #2d2a3f; -} - -.card-tooltip { - height: 70%; - margin-left: 5%; -} +} \ No newline at end of file diff --git a/public/javascripts/Gallery/src/cards/Card.js b/public/javascripts/Gallery/src/cards/Card.js index 07c4e4b428..8eae32663e 100644 --- a/public/javascripts/Gallery/src/cards/Card.js +++ b/public/javascripts/Gallery/src/cards/Card.js @@ -121,12 +121,7 @@ function Card (params, imageUrl, modal) { if (getLabelType() !== 'Occlusion') { let cardSeverity = document.createElement('div'); cardSeverity.className = 'card-severity'; - // if signal label, then gray out severity labels - if (getLabelType() === 'Signal') { - let severityHolder = new SeverityDisplay(cardSeverity, properties.severity, false, true); - } else { - let severityHolder = new SeverityDisplay(cardSeverity, properties.severity); - } + let severityHolder = new SeverityDisplay(cardSeverity, properties.severity); cardData.appendChild(cardSeverity); } diff --git a/public/javascripts/Gallery/src/displays/SeverityDisplay.js b/public/javascripts/Gallery/src/displays/SeverityDisplay.js index fae66beefd..5232de98c7 100644 --- a/public/javascripts/Gallery/src/displays/SeverityDisplay.js +++ b/public/javascripts/Gallery/src/displays/SeverityDisplay.js @@ -7,7 +7,7 @@ * @param {Boolean} isModal a toggle to determine if this SeverityDisplay is in a modal, or in a card * @returns {SeverityDisplay} the generated object */ -function SeverityDisplay(container, severity, isModal=false, noSeverity=false) { +function SeverityDisplay(container, severity, isModal=false) { let self = this; self.severity = severity; self.severityContainer = container; @@ -15,7 +15,9 @@ function SeverityDisplay(container, severity, isModal=false, noSeverity=false) { let circles = []; function _init() { // Set the different classes and ids depending on whether the severity display is in a Modal or in a card. - let severityCircleClass = isModal ? 'modal-severity-circle' : 'severity-circle'; + // Severity circles are ONLY smileys if modal AND the label has a severity rating, + // otherwise they stay as circles + let severityCircleClass = (isModal && severity) ? 'modal-severity-circle' : 'severity-circle'; let selectedCircleID = /*isModal ? 'modal-current-severity' : */'current-severity'; let holder = document.createElement('div'); @@ -30,40 +32,46 @@ function SeverityDisplay(container, severity, isModal=false, noSeverity=false) { title.innerText = `${i18next.t("severity")}`; // if no severity rating, gray out title - if (noSeverity) { + if (!severity) { title.classList.add('no-severity-header') } container.append(title); - // Creates all of the circles for the severities. - for (let i = 1; i <= 5; i++) { - let severityCircle = isModal ? new Image() : document.createElement('div'); - severityCircle.className = severityCircleClass; - if (isModal) { - // Set the src of our smiley icon to default black-outlined, white-filled smileys. - severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; - } - // if no severity rating, gray out circles - if (noSeverity) { - severityCircle.classList.add('no-severity-circle') - } - - circles.push(severityCircle); - } - // Highlight the correct severity. // We do so by darkening a number of circles from the left equal to the severity. For example, if the severity // is 3, we will darken the left 3 circles. - // TODO: rename these once confirmed. also, we can probably move this to the upper loop. if (severity) { - for (let i = 0; i < severity; i++) { + for (let i = 1; i <= 5; i++) { + let severityCircle = isModal ? new Image() : document.createElement('div'); + severityCircle.className = severityCircleClass; + + // create severity circle elements if (isModal) { - // If we are dealing with the modal, we want to change the png to the inverted smiley. - $(circles[i]).attr('src', `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i + 1}_inverted.png`) + if (i <= severity) { // Filled in smileys + severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_inverted.png`; + } else { // Empty smileys + severityCircle.src = `/assets/javascripts/SVLabel/img/misc/SmileyRating_${i}_gallery.png`; + } } else { - $(circles[i]).attr('id', selectedCircleID); + if (i <= severity) { // Fills in circles + severityCircle.id = selectedCircleID + } } + circles.push(severityCircle); + } + } else { + // create grayed out, empty circles + for (let i = 0; i < 5; i++) { + let severityCircle = document.createElement('div'); + severityCircle.classList.add(severityCircleClass, 'no-severity-circle'); + circles.push(severityCircle); } + + // add tooltip if no severity level + holder.setAttribute('data-toggle', 'tooltip'); + holder.setAttribute('data-placement', 'top'); + holder.setAttribute('title', `${i18next.t("unsupported")}`); + $(holder).tooltip('hide'); } // Add all of the severity circles to the DOM. @@ -71,18 +79,6 @@ function SeverityDisplay(container, severity, isModal=false, noSeverity=false) { holder.appendChild(circles[i]); } container.append(holder); - - // add tooltip if severity is grayed out - if (noSeverity) { - let tooltip = document.createElement('img'); - tooltip.src = '/assets/javascripts/SVLabel/img/misc/tooltip-img.png'; - tooltip.classList.add('card-tooltip'); - tooltip.setAttribute('data-toggle', 'tooltip'); - tooltip.setAttribute('data-placement', 'top'); - tooltip.setAttribute('title', `${i18next.t("unsupported")}`); - container.append(tooltip); - $(tooltip).tooltip('hide') - } } _init() diff --git a/public/javascripts/SVLabel/img/misc/tooltip-img.png b/public/javascripts/SVLabel/img/misc/tooltip-img.png deleted file mode 100644 index 81b79f584cccb8c0e503d0d0b60e0dd010b44d1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77596 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�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