Skip to content

Commit

Permalink
Addresses Review Comments
Browse files Browse the repository at this point in the history
  • Loading branch information
gbdubs committed Jan 22, 2024
1 parent 7b044c0 commit d59608d
Show file tree
Hide file tree
Showing 8 changed files with 82 additions and 66 deletions.
5 changes: 2 additions & 3 deletions frontend/components/analysis/ContextualListView.vue
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
<script setup lang="ts">
import { AnalysisType, type Analysis } from '@/openapi/generated/pacta'
import { linkToAnalysis } from '@/lib/mydata'
const { linkToAnalysis } = useMyDataURLs()
const { humanReadableTimeFromStandardString } = useTime()
const i18n = useI18n()
const localePath = useLocalePath()
const { t } = i18n
const prefix = 'components/analysis/ContextualListView'
const tt = (s: string) => t(`${prefix}.${s}`)
Expand Down Expand Up @@ -99,7 +98,7 @@ const reportButtonClasses = computed(() => {
<LinkButton
class="p-button-outlined p-button-xs p-button-secondary"
icon="pi pi-arrow-right"
:to="linkToAnalysis(localePath, slotProps.data.id)"
:to="linkToAnalysis(slotProps.data.id)"
/>
</template>
</PVColumn>
Expand Down
5 changes: 2 additions & 3 deletions frontend/components/analysis/RunButton.vue
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
<script setup lang="ts">
import { type RunAnalysisReq, type Analysis, type AnalysisType } from '@/openapi/generated/pacta'
import { linkToAnalysis } from '@/lib/mydata'
const { linkToAnalysis } = useMyDataURLs()
const pactaClient = usePACTA()
const { loading: { withLoading } } = useModal()
const localePath = useLocalePath()
const i18n = useI18n()
const { t } = i18n
Expand Down Expand Up @@ -99,7 +98,7 @@ const completeBtnTo = computed(() => {
if (!analysisId.value) {
return ''
}
return linkToAnalysis(localePath, analysisId.value)
return linkToAnalysis(analysisId.value)
})
const completeBtnLabel = computed(() => {
if (!analysisId.value) {
Expand Down
8 changes: 3 additions & 5 deletions frontend/components/portfolio/ListView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
import { portfolioEditor } from '@/lib/editor'
import { type Portfolio, type PortfolioGroup, type Initiative, type Analysis } from '@/openapi/generated/pacta'
import { selectedCountSuffix } from '@/lib/selection'
import { linkToPortfolioGroup } from '@/lib/mydata'
const {
humanReadableTimeFromStandardString,
} = useTime()
const { linkToPortfolioGroup } = useMyDataURLs()
const { humanReadableTimeFromStandardString } = useTime()
const pactaClient = usePACTA()
const { loading: { withLoading } } = useModal()
const localePath = useLocalePath()
Expand Down Expand Up @@ -182,7 +180,7 @@ const deleteSelected = () => Promise.all([selectedRows.value.map((row) => delete
class="p-button-outlined p-button-xs"
icon="pi pi-table"
:label="membership.portfolioGroup.name"
:to="linkToPortfolioGroup(localePath, membership.portfolioGroup.id)"
:to="linkToPortfolioGroup(membership.portfolioGroup.id)"
/>
</div>
<div
Expand Down
9 changes: 3 additions & 6 deletions frontend/components/portfolio/group/ListView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@
import { portfolioGroupEditor } from '@/lib/editor'
import { type Portfolio, type PortfolioGroup, type PortfolioGroupMembershipPortfolio, type Analysis } from '@/openapi/generated/pacta'
import { selectedCountSuffix } from '@/lib/selection'
import { linkToPortfolios } from '@/lib/mydata'
const {
humanReadableTimeFromStandardString,
} = useTime()
const { linkToPortfolios } = useMyDataURLs()
const { humanReadableTimeFromStandardString } = useTime()
const pactaClient = usePACTA()
const { loading: { withLoading }, newPortfolioGroup: { newPortfolioGroupVisible } } = useModal()
const i18n = useI18n()
const localePath = useLocalePath()
const { t } = i18n
interface Props {
Expand Down Expand Up @@ -165,7 +162,7 @@ const editorObjectToIds = (editorObject: EditorObject): string[] => {
<template #body="slotProps">
<LinkButton
:disabled="editorObjectToIds(slotProps.data).length === 0"
:to="linkToPortfolios(localePath, editorObjectToIds(slotProps.data))"
:to="linkToPortfolios(editorObjectToIds(slotProps.data))"
:label="`${editorObjectToIds(slotProps.data).length}`"
icon="pi pi-th-large"
class="py-1 px-2 p-button-outlined p-button-secondary"
Expand Down
65 changes: 65 additions & 0 deletions frontend/composables/useMyDataURLs.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import {
Tab,
QueryParamTab,
QueryParamSelectedPortfolioIds,
QueryParamExpandedPortfolioIds,
QueryParamExpandedPortfolioGroupIds,
QueryParamSelectedAnalysisIds,
} from '@/lib/mydata'

const pageURLBase = '/my-data'

export const useMyDataURLs = () => {
const localePath = useLocalePath()

const toURL = (q: URLSearchParams): string => localePath(pageURLBase + '?' + q.toString())

const linkToPortfolios = (ids: string[]): string => {
const q = new URLSearchParams()
q.set(QueryParamSelectedPortfolioIds, ids.join(','))
q.set(QueryParamTab, Tab.Portfolio)
return toURL(q)
}

const linkToPortfolio = (id: string): string => {
const q = new URLSearchParams()
q.set(QueryParamExpandedPortfolioIds, id)
q.set(QueryParamTab, Tab.Portfolio)
return toURL(q)
}

const linkToPortfolioGroup = (id: string): string => {
const q = new URLSearchParams()
q.set(QueryParamExpandedPortfolioGroupIds, id)
q.set(QueryParamTab, Tab.PortfolioGroup)
return toURL(q)
}

const linkToAnalysis = (id: string): string => {
const q = new URLSearchParams()
q.set(QueryParamSelectedAnalysisIds, id)
q.set(QueryParamTab, Tab.Analysis)
return toURL(q)
}

const linkToIncompleteUploadList = (): string => {
const q = new URLSearchParams()
q.set(QueryParamTab, Tab.IncompleteUpload)
return toURL(q)
}

const linkToPortfolioList = (): string => {
const q = new URLSearchParams()
q.set(QueryParamTab, Tab.Portfolio)
return toURL(q)
}

return {
linkToPortfolios,
linkToPortfolio,
linkToPortfolioGroup,
linkToAnalysis,
linkToIncompleteUploadList,
linkToPortfolioList,
}
}
41 changes: 0 additions & 41 deletions frontend/lib/mydata/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
import { type LocalePathFunction } from 'vue-i18n-routing'

const pageURLBase = '/my-data'

export const QueryParamTab = 'tab'
export const QueryParamSelectedPortfolioIds = 'sp'
export const QueryParamExpandedPortfolioIds = 'ep'
Expand All @@ -16,40 +12,3 @@ export enum Tab {
IncompleteUpload = 'i',
Analysis = 'a',
}

export const linkToPortfolio = (localePath: LocalePathFunction, id: string): string => {
return linkToPortfolios(localePath, [id])
}

export const linkToPortfolios = (localePath: LocalePathFunction, ids: string[]): string => {
const q = new URLSearchParams()
q.set(QueryParamExpandedPortfolioIds, ids.join(','))
q.set(QueryParamTab, Tab.Portfolio)
return localePath(pageURLBase + '?' + q.toString())
}

export const linkToPortfolioGroup = (localePath: LocalePathFunction, id: string): string => {
const q = new URLSearchParams()
q.set(QueryParamExpandedPortfolioGroupIds, id)
q.set(QueryParamTab, Tab.PortfolioGroup)
return localePath(pageURLBase + '?' + q.toString())
}

export const linkToAnalysis = (localePath: LocalePathFunction, id: string): string => {
const q = new URLSearchParams()
q.set(QueryParamSelectedAnalysisIds, id)
q.set(QueryParamTab, Tab.Analysis)
return localePath(pageURLBase + '?' + q.toString())
}

export const linkToIncompleteUpload = (localePath: LocalePathFunction): string => {
const q = new URLSearchParams()
q.set(QueryParamTab, Tab.IncompleteUpload)
return localePath(pageURLBase + '?' + q.toString())
}

export const linkToPortfolioList = (localePath: LocalePathFunction): string => {
const q = new URLSearchParams()
q.set(QueryParamTab, Tab.Portfolio)
return localePath(pageURLBase + '?' + q.toString())
}
10 changes: 5 additions & 5 deletions frontend/pages/audit-logs.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import { type AuditLogQuerySort, type AuditLogQueryWhere, type AuditLogQueryReq,
import { urlReactiveAuditLogQuery } from '@/lib/auditlogquery'
import { type DataTableSortMeta } from 'primevue/datatable'
import { FilterMatchMode } from 'primevue/api'
import { linkToPortfolio, linkToPortfolioGroup, linkToAnalysis, linkToIncompleteUpload } from '@/lib/mydata'
const prefix = 'pages/audit-logs'
const { linkToPortfolio, linkToPortfolioGroup, linkToAnalysis, linkToIncompleteUploadList } = useMyDataURLs()
const localePath = useLocalePath()
const { fromQueryReactiveWithDefault, waitForURLToUpdate } = useURLParams()
const { t } = useI18n()
Expand Down Expand Up @@ -417,14 +417,14 @@ const tableSortModel = computed<DataTableSortMeta[]>({
const getTargetLink = (t: AuditLogTargetType, id: string): string => {
switch (t) {
case AuditLogTargetType.AUDIT_LOG_TARGET_TYPE_PORTFOLIO:
return linkToPortfolio(localePath, id)
return linkToPortfolio(id)
case AuditLogTargetType.AUDIT_LOG_TARGET_TYPE_PORTFOLIO_GROUP:
return linkToPortfolioGroup(localePath, id)
return linkToPortfolioGroup(id)
case AuditLogTargetType.AUDIT_LOG_TARGET_TYPE_INCOMPLETE_UPLOAD:
return linkToIncompleteUpload(localePath)
return linkToIncompleteUploadList()
case AuditLogTargetType.AUDIT_LOG_TARGET_TYPE_ANALYSIS:
case AuditLogTargetType.AUDIT_LOG_TARGET_TYPE_ANALYSIS_ARTIFACT:
return linkToAnalysis(localePath, id)
return linkToAnalysis(id)
case AuditLogTargetType.AUDIT_LOG_TARGET_TYPE_USER:
return localePath(`/user/${id}`)
case AuditLogTargetType.AUDIT_LOG_TARGET_TYPE_INITIATIVE:
Expand Down
5 changes: 2 additions & 3 deletions frontend/pages/upload.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@ import { type FileUploadUploaderEvent } from 'primevue/fileupload'
import { serializeError } from 'serialize-error'
import { formatFileSize } from '@/lib/filesize'
import { OptionalBoolean, type HoldingsDate } from '@/openapi/generated/pacta'
import { linkToPortfolioList } from '@/lib/mydata'
const { linkToPortfolioList } = useMyDataURLs()
const pactaClient = usePACTA()
const { $axios } = useNuxtApp()
const { t } = useI18n()
const localePath = useLocalePath()
const prefix = 'pages/upload'
const tt = (key: string) => t(`${prefix}.${key}`)
Expand Down Expand Up @@ -450,7 +449,7 @@ const cleanUpIncompleteUploads = async () => {
label="See Uploaded Portfolios"
icon="pi pi-arrow-right"
icon-pos="right"
:to="linkToPortfolioList(localePath)"
:to="linkToPortfolioList()"
/>
</div>
</template>
Expand Down

0 comments on commit d59608d

Please sign in to comment.