From 5e6c21ee1b9618d504b66dcc676f1660c0be9645 Mon Sep 17 00:00:00 2001 From: Aaron Briggs <abriggs@contractor.usgs.gov> Date: Sat, 18 Jun 2022 12:08:54 -0500 Subject: [PATCH] basic container structure --- ...p.vue => TimeDownloadGraphControlsApp.vue} | 7 +- .../components/hydrograph/index.js | 16 ++-- .../vue-components/select-actions.vue | 9 ++ .../vue-components/time-span-shortcuts.vue | 90 ++++++++++--------- .../templates/macros/components.html | 2 +- 5 files changed, 70 insertions(+), 54 deletions(-) rename assets/src/scripts/monitoring-location/components/hydrograph/{TimeSpanShortcutsApp.vue => TimeDownloadGraphControlsApp.vue} (53%) create mode 100644 assets/src/scripts/monitoring-location/components/hydrograph/vue-components/select-actions.vue diff --git a/assets/src/scripts/monitoring-location/components/hydrograph/TimeSpanShortcutsApp.vue b/assets/src/scripts/monitoring-location/components/hydrograph/TimeDownloadGraphControlsApp.vue similarity index 53% rename from assets/src/scripts/monitoring-location/components/hydrograph/TimeSpanShortcutsApp.vue rename to assets/src/scripts/monitoring-location/components/hydrograph/TimeDownloadGraphControlsApp.vue index 287e44804..7c22a8463 100644 --- a/assets/src/scripts/monitoring-location/components/hydrograph/TimeSpanShortcutsApp.vue +++ b/assets/src/scripts/monitoring-location/components/hydrograph/TimeDownloadGraphControlsApp.vue @@ -1,15 +1,18 @@ <template> - <div class="short-cut-time-span-container"> + <div id="time-download-graph-controls"> <TimeSpanShortcuts /> + <SelectActions /> </div> </template> <script> import TimeSpanShortcuts from './vue-components/time-span-shortcuts.vue'; +import SelectActions from './vue-components/select-actions.vue'; export default { - name: 'TimeSpanShortcutsApp', + name: 'TimeDownloadGraphControlsApp', components: { + SelectActions, TimeSpanShortcuts } }; diff --git a/assets/src/scripts/monitoring-location/components/hydrograph/index.js b/assets/src/scripts/monitoring-location/components/hydrograph/index.js index 7ac2f98b8..1ca93514c 100644 --- a/assets/src/scripts/monitoring-location/components/hydrograph/index.js +++ b/assets/src/scripts/monitoring-location/components/hydrograph/index.js @@ -41,8 +41,8 @@ import {initializeTooltipCursorSlider, drawTooltipCursorSlider} from './tooltip' import DataTablesApp from './DataTablesApp.vue'; import GraphControlsApp from './GraphControlsApp.vue'; -import TimeSpanShortcutsApp from './TimeSpanShortcutsApp.vue'; import ParameterSelectionApp from './ParameterSelectionApp.vue'; +import TimeDownloadGraphControlsApp from './TimeDownloadGraphControlsApp.vue'; /* eslint-disable vue/one-component-per-file */ @@ -123,16 +123,18 @@ export const attachToNode = function(store, // Render initial UI elements prior to completion of data fetching if (!showOnlyGraph) { - const timeSpanShortcutsApp = createApp(TimeSpanShortcutsApp, {}); - timeSpanShortcutsApp.use(ReduxConnectVue, { + const timeDownloadGraphControlsApp = createApp(TimeDownloadGraphControlsApp, {}); + timeDownloadGraphControlsApp.use(ReduxConnectVue, { store, mapDispatchToPropsFactory: (actionCreators) => (dispatch) => bindActionCreators(actionCreators, dispatch), mapStateToPropsFactory: createStructuredSelector }); - timeSpanShortcutsApp.provide('store', store); - timeSpanShortcutsApp.provide('siteno', siteno); - timeSpanShortcutsApp.provide('agencyCd', agencyCd); - timeSpanShortcutsApp.mount('.short-cut-time-span-container'); + timeDownloadGraphControlsApp.provide('store', store); + timeDownloadGraphControlsApp.provide('siteno', siteno); + timeDownloadGraphControlsApp.provide('agencyCd', agencyCd); + timeDownloadGraphControlsApp.mount('#time-download-graph-controls-anchor'); + + select(node).select('.select-actions-container').call(drawSelectActions, store, siteno, agencyCd); } diff --git a/assets/src/scripts/monitoring-location/components/hydrograph/vue-components/select-actions.vue b/assets/src/scripts/monitoring-location/components/hydrograph/vue-components/select-actions.vue new file mode 100644 index 000000000..b92d28138 --- /dev/null +++ b/assets/src/scripts/monitoring-location/components/hydrograph/vue-components/select-actions.vue @@ -0,0 +1,9 @@ +<template> + <h2>actions here</h2> +</template> + +<script> + export default { + name: 'SelectActions' + }; +</script> \ No newline at end of file diff --git a/assets/src/scripts/monitoring-location/components/hydrograph/vue-components/time-span-shortcuts.vue b/assets/src/scripts/monitoring-location/components/hydrograph/vue-components/time-span-shortcuts.vue index 6b5749a95..2fb202f9b 100644 --- a/assets/src/scripts/monitoring-location/components/hydrograph/vue-components/time-span-shortcuts.vue +++ b/assets/src/scripts/monitoring-location/components/hydrograph/vue-components/time-span-shortcuts.vue @@ -1,55 +1,57 @@ <template> - <div class="usa-form"> - <div - v-if="ivData" - class="iv-button-container" - > + <div class="short-cut-time-span-container"> + <div class="usa-form"> <div - v-for="shortcut in ivShortcuts" - :key="shortcut.label" - class="usa-radio" + v-if="ivData" + class="iv-button-container" > - <input - :id="`${shortcut.timeSpan}-input`" - class="usa-radio__input" - type="radio" - name="time-span" - :value="shortcut.timeSpan" - :checked="selectedTimeSpan === shortcut.timeSpan" - @click="setTimeSpan(shortcut.timeSpan)" + <div + v-for="shortcut in ivShortcuts" + :key="shortcut.label" + class="usa-radio" > - <label - class="usa-radio__label" - :for="`${shortcut.timeSpan}-input`" - > - {{ shortcut.label }} - </label> + <input + :id="`${shortcut.timeSpan}-input`" + class="usa-radio__input" + type="radio" + name="time-span" + :value="shortcut.timeSpan" + :checked="selectedTimeSpan === shortcut.timeSpan" + @click="setTimeSpan(shortcut.timeSpan)" + > + <label + class="usa-radio__label" + :for="`${shortcut.timeSpan}-input`" + > + {{ shortcut.label }} + </label> + </div> </div> - </div> - <div - v-if="!ivData && gwData" - class="gw-button-container" - > <div - v-for="shortcut in gwShortcuts" - :key="shortcut.label" - class="usa-radio" + v-if="!ivData && gwData" + class="gw-button-container" > - <input - :id="`${shortcut.timeSpan}-input`" - class="usa-radio__input" - type="radio" - name="time-span" - :value="shortcut.timeSpan" - :checked="selectedTimeSpan === shortcut.timeSpan" - @click="setTimeSpan(shortcut.timeSpan)" - > - <label - class="usa-radio__label" - :for="`${shortcut.timeSpan}-input`" + <div + v-for="shortcut in gwShortcuts" + :key="shortcut.label" + class="usa-radio" > - {{ shortcut.label }} - </label> + <input + :id="`${shortcut.timeSpan}-input`" + class="usa-radio__input" + type="radio" + name="time-span" + :value="shortcut.timeSpan" + :checked="selectedTimeSpan === shortcut.timeSpan" + @click="setTimeSpan(shortcut.timeSpan)" + > + <label + class="usa-radio__label" + :for="`${shortcut.timeSpan}-input`" + > + {{ shortcut.label }} + </label> + </div> </div> </div> </div> diff --git a/wdfn-server/waterdata/templates/macros/components.html b/wdfn-server/waterdata/templates/macros/components.html index 0ee520ec8..95c77a667 100644 --- a/wdfn-server/waterdata/templates/macros/components.html +++ b/wdfn-server/waterdata/templates/macros/components.html @@ -2,7 +2,7 @@ <div class="wdfn-component" data-component="hydrograph" data-siteno="{{ site_data.site_no }}" data-agency-cd="{{ site_data.agency_cd }}" data-sitename="{{ site_data.station_nm }}" data-parameter-code="{{ default_parameter_code }}"> - <div id="time-download-graph-controls"> + <div id="time-download-graph-controls-anchor"> {% if iv_period_of_record or gw_period_of_record %} <div class="short-cut-time-span-container"></div> {% endif %} -- GitLab