Skip to content

Commit 9e0118c

Browse files
committed
Add advanced control for "max resources"
Fixes #874
1 parent b303451 commit 9e0118c

File tree

4 files changed

+44
-0
lines changed

4 files changed

+44
-0
lines changed

web-client/src/components/SrGranuleSelection.vue

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ const ccvCycle = () => {
4848
const ccvRegion = () => {
4949
return reqParamsStore.getUseRegion() !== undefined ? reqParamsStore.getUseRegion() : false
5050
}
51+
const defaultMaxResources = () => {
52+
return reqParamsStore.maxResourcesValue !== undefined ? reqParamsStore.maxResourcesValue : 300
53+
}
54+
const ccvMaxResources = () => {
55+
return reqParamsStore.getUseMaxResources() !== undefined
56+
? reqParamsStore.getUseMaxResources()
57+
: false
58+
}
5159
5260
onMounted(() => {
5361
//console.log('Mounted SrGranuleSelection');
@@ -146,6 +154,22 @@ const GtsSelection = (gts: SrListNumberItem[]) => {
146154
tooltipText="atl03 granule region (zero means all), See section 2.5 pages 14-17 of the 'Algorithm Theoretical Basis Document'"
147155
tooltipUrl="https://slideruleearth.io/web/rtd/user_guide/icesat2.html#photon-input-parameters"
148156
/>
157+
<SrSwitchedSliderInput
158+
:insensitive="!reqParamsStore.enableGranuleSelection"
159+
v-model="reqParamsStore.maxResourcesValue"
160+
:getCheckboxValue="reqParamsStore.getUseMaxResources"
161+
:setCheckboxValue="reqParamsStore.setUseMaxResources"
162+
:getValue="reqParamsStore.getMaxResources"
163+
:setValue="reqParamsStore.setMaxResources"
164+
:defaultValue="defaultMaxResources()"
165+
:currentCheckboxValue="ccvMaxResources()"
166+
label="Max Resources"
167+
:min="0"
168+
:max="1000"
169+
:decimalPlaces="0"
170+
tooltipText="Maximum number of resources (e.g. granules, tiles, etc.) that can be processed by a single request."
171+
tooltipUrl="https://slideruleearth.io/web/rtd/user_guide/icesat2.html#photon-input-parameters"
172+
/>
149173
<Fieldset
150174
legend="Time Range"
151175
class="sr-time-range-content"

web-client/src/stores/reqParamsStore.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ export function getDefaultReqParamsState(): SrReqParamsState {
135135
YAPCVersion: 0 as number,
136136
resources: [] as string[],
137137
useChecksum: false,
138+
useMaxResources: false,
139+
maxResourcesValue: 300,
138140
enableAtl24Classification: false,
139141
defaultsFetched: false,
140142
useDatum: false,
@@ -648,6 +650,9 @@ const createReqParamsStore = (id: string) =>
648650
if (this.useServerTimeout) {
649651
req.timeout = this.serverTimeoutValue
650652
}
653+
if (this.useMaxResources) {
654+
req.max_resources = this.maxResourcesValue
655+
}
651656
if (this.useReqTimeout) {
652657
req['rqst-timeout'] = this.reqTimeoutValue
653658
}
@@ -819,6 +824,18 @@ const createReqParamsStore = (id: string) =>
819824
getUseChecksum(): boolean {
820825
return this.useChecksum
821826
},
827+
setUseMaxResources(useMaxResources: boolean) {
828+
this.useMaxResources = useMaxResources
829+
},
830+
getUseMaxResources(): boolean {
831+
return this.useMaxResources
832+
},
833+
setMaxResources(maxResourcesValue: number) {
834+
this.maxResourcesValue = maxResourcesValue
835+
},
836+
getMaxResources(): number {
837+
return this.maxResourcesValue
838+
},
822839
getPassInvalid(): boolean {
823840
return this.passInvalid
824841
},

web-client/src/types/SrReqParamsState.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ export interface SrReqParamsState {
9999
YAPCVersion: number
100100
resources: string[]
101101
useChecksum: boolean
102+
useMaxResources: boolean
103+
maxResourcesValue: number
102104
enableAtl24Classification: boolean
103105
defaultsFetched: boolean
104106
useDatum: boolean

web-client/src/types/SrTypes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ export interface AtlReqParams {
211211
cmr?: { polygon?: SrRegion; version?: string }
212212
output?: OutputFormat
213213
atl08_class?: string[]
214+
max_resources?: number
214215
[key: string]: any // Other dynamic keys
215216
}
216217

0 commit comments

Comments
 (0)