disable optimization request btn if already sent
This commit is contained in:
parent
77a0a42606
commit
c73b9d671b
7 changed files with 114 additions and 81 deletions
|
|
@ -16,8 +16,8 @@
|
|||
proposals.length === 1 && isDialogOpen
|
||||
? activeProposal.title
|
||||
? activeProposal.title
|
||||
: "Design to light"
|
||||
: "Design to light"
|
||||
: 'Design to light'
|
||||
: 'Design to light'
|
||||
}}
|
||||
</h2>
|
||||
<button
|
||||
|
|
@ -41,8 +41,8 @@
|
|||
proposal.title
|
||||
? proposal.title
|
||||
: index === 0
|
||||
? "Proposition initiale"
|
||||
: "Alternative " + index
|
||||
? 'Proposition initiale'
|
||||
: 'Alternative ' + index
|
||||
}}
|
||||
</button>
|
||||
</nav>
|
||||
|
|
@ -163,11 +163,15 @@
|
|||
</div>
|
||||
<footer v-if="proposals.length === 1 && !isDialogOpen" class="p-16">
|
||||
<button
|
||||
disabled
|
||||
:disabled="page.hasOptimizationRequest ? '' : undefined"
|
||||
class="btn btn--white w-full"
|
||||
@click="handleOptimizationButtonClick"
|
||||
>
|
||||
Demander une expertise d’optimisation
|
||||
{{
|
||||
page.hasOptimizationRequest
|
||||
? "Demande d'expertise en cours de traitement…"
|
||||
: 'Demander une expertise d’optimisation'
|
||||
}}
|
||||
</button>
|
||||
</footer>
|
||||
</section>
|
||||
|
|
@ -178,18 +182,19 @@
|
|||
/>
|
||||
</template>
|
||||
<script setup>
|
||||
import OptimizationRequestDialog from "./OptimizationRequestDialog.vue";
|
||||
import dayjs from "dayjs";
|
||||
import "dayjs/locale/fr";
|
||||
import { storeToRefs } from "pinia";
|
||||
import { ref, onBeforeUnmount, computed } from "vue";
|
||||
import { useDialogStore } from "../../stores/dialog";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import OptimizationRequestDialog from './OptimizationRequestDialog.vue';
|
||||
import dayjs from 'dayjs';
|
||||
import 'dayjs/locale/fr';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { ref, onBeforeUnmount, computed } from 'vue';
|
||||
import { useDialogStore } from '../../stores/dialog';
|
||||
import { usePageStore } from '../../stores/page';
|
||||
|
||||
const { proposals } = defineProps({
|
||||
proposals: Array,
|
||||
});
|
||||
|
||||
const { page } = storeToRefs(usePageStore());
|
||||
const { openedFile } = storeToRefs(useDialogStore());
|
||||
|
||||
const isDialogOpen = computed(() => {
|
||||
|
|
@ -202,29 +207,29 @@ const isDialogOpen = computed(() => {
|
|||
|
||||
const isOptimizationDialogOpen = ref(false);
|
||||
|
||||
dayjs.locale("fr");
|
||||
dayjs.locale('fr');
|
||||
|
||||
const emits = defineEmits(["close"]);
|
||||
const emits = defineEmits(['close']);
|
||||
|
||||
proposals[0].isActive = true;
|
||||
|
||||
const activeProposal = ref(proposals[0]);
|
||||
|
||||
window.addEventListener("keyup", closeOnEscape);
|
||||
window.addEventListener("click", close);
|
||||
window.addEventListener('keyup', closeOnEscape);
|
||||
window.addEventListener('click', close);
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
window.removeEventListener("keyup", closeOnEscape);
|
||||
window.removeEventListener("click", close);
|
||||
window.removeEventListener('keyup', closeOnEscape);
|
||||
window.removeEventListener('click', close);
|
||||
});
|
||||
|
||||
// Functions
|
||||
function closeOnEscape(event) {
|
||||
if (event.key === "Escape") emits("close");
|
||||
if (event.key === 'Escape') emits('close');
|
||||
}
|
||||
|
||||
function close() {
|
||||
emits("close");
|
||||
emits('close');
|
||||
}
|
||||
|
||||
function preventClose(event) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue