Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
setchy committed Jul 17, 2023
1 parent c1987b8 commit 0ea3dcc
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 32 deletions.
57 changes: 33 additions & 24 deletions src/graphing/components/quadrantTables.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ function highlightBlipInTable(selectedBlip) {
}

function highlightBlipInGraph(blipIdToFocus) {
console.log('blipIdToFocus: ', blipIdToFocus)
fadeOutAllBlips()
const selectedBlipOnGraph = d3.select(`g > a.blip-link[data-blip-id='${blipIdToFocus}'`)
fadeInSelectedBlip(selectedBlipOnGraph)
Expand Down Expand Up @@ -109,37 +110,16 @@ function renderBlipDescription(blip, ring, quadrant, tip, groupBlipTooltipText)
}

const blipClick = function (e) {
console.log('here')
console.log('e: ', e)
const isQuadrantView = d3.select('svg#radar-plot').classed('quadrant-view')
const targetElement = e.target.classList.contains('blip-link') ? e.target : e.target.parentElement
if (isQuadrantView) {
e.stopPropagation()
}

const blipId = d3.select(targetElement).attr('data-blip-id')
highlightBlipInGraph(blipId)

d3.selectAll('.blip-list__item-container.expand').classed('expand', false)

let selectedBlipContainer = d3.select(`.blip-list__item-container[data-blip-id="${blipId}"`)
selectedBlipContainer.classed('expand', true)

setTimeout(
() => {
if (window.innerWidth >= uiConfig.tabletViewWidth) {
stickQuadrantOnScroll()
}

const isGroupBlip = isNaN(parseInt(blipId))
if (isGroupBlip) {
selectedBlipContainer = d3.select(`.blip-list__item-container[data-group-id="${blipId}"`)
}
const elementToFocus = selectedBlipContainer.select('button.blip-list__item-container__name')
elementToFocus.node()?.scrollIntoView({
behavior: 'smooth',
})
},
isQuadrantView ? 0 : 1500,
)
scrollToBlip(blipId)
}

!groupBlipTooltipText &&
Expand Down Expand Up @@ -204,7 +184,36 @@ function renderQuadrantTables(quadrants, rings) {
})
}

function scrollToBlip(blipId) {
highlightBlipInGraph(blipId)

d3.selectAll('.blip-list__item-container.expand').classed('expand', false)

let selectedBlipContainer = d3.select(`.blip-list__item-container[data-blip-id="${blipId}"`)
selectedBlipContainer.classed('expand', true)

setTimeout(
() => {
if (window.innerWidth >= uiConfig.tabletViewWidth) {
stickQuadrantOnScroll()
}

const isGroupBlip = isNaN(parseInt(blipId))
if (isGroupBlip) {
selectedBlipContainer = d3.select(`.blip-list__item-container[data-group-id="${blipId}"`)
}
const elementToFocus = selectedBlipContainer.select('button.blip-list__item-container__name')
elementToFocus.node()?.scrollIntoView({
behavior: 'smooth',
})
},
// isQuadrantView ? 0 : 1500,
)
}

module.exports = {
renderQuadrantTables,
renderBlipDescription,
highlightBlipInGraph,
scrollToBlip,
}
12 changes: 10 additions & 2 deletions src/graphing/radar.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ const {
renderRadarLegends,
removeScrollListener,
} = require('./components/quadrants')
const { renderQuadrantTables } = require('./components/quadrantTables')
const { renderQuadrantTables, scrollToBlip } = require('./components/quadrantTables')
const { addQuadrantNameInPdfView, addRadarLinkInPdfView } = require('./pdfPage')

const { constructSheetUrl } = require('../util/urlUtils')
const { constructSheetUrl, getBlipIdFromUrl } = require('../util/urlUtils')
const { toRadian } = require('../util/mathUtils')

const MIN_BLIP_WIDTH = 12
Expand Down Expand Up @@ -832,9 +832,17 @@ const Radar = function (size, radar) {
hideTooltipOnScroll(tip)
addRadarLinkInPdfView()
}

selectBlipDescriptionToShow()
}

return self
}

function selectBlipDescriptionToShow() {
console.log('here')
const blipId = getBlipIdFromUrl()
scrollToBlip(blipId)
}

module.exports = Radar
5 changes: 1 addition & 4 deletions src/util/factory.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ const Quadrant = require('../models/quadrant')
const Ring = require('../models/ring')
const Blip = require('../models/blip')
const GraphingRadar = require('../graphing/radar')
const QueryParams = require('./queryParamProcessor')
const MalformedDataError = require('../exceptions/malformedDataError')
const SheetNotFoundError = require('../exceptions/sheetNotFoundError')
const ContentValidator = require('./contentValidator')
Expand Down Expand Up @@ -536,9 +535,7 @@ function plotUnauthorizedErrorMessage() {

button.on('click', () => {
let sheet
const queryString = window.location.href.match(/sheetId(.*)/)
const queryParams = queryString ? QueryParams(queryString[0]) : {}
sheet = GoogleSheet(getDocumentOrSheetId(), queryParams.sheetName)
sheet = GoogleSheet(getDocumentOrSheetId(), getSheetName())

sheet.authenticate(true, false, () => {
if (featureToggles.UIRefresh2022 && !sheet.error) {
Expand Down
2 changes: 0 additions & 2 deletions src/util/urlUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@ function constructSheetUrl(sheetName) {

function getDocumentOrSheetId() {
const queryParams = QueryParams(window.location.search.substring(1))

return queryParams.documentId ?? queryParams.sheetId
}

function getSheetName() {
const queryParams = QueryParams(window.location.search.substring(1))

return queryParams.sheetName
}

Expand Down

0 comments on commit 0ea3dcc

Please sign in to comment.