web/satellite: migrate UploadCancelPopup component to use SFC composition api

Change-Id: I2f6d81f5a07ffb5e1018aa921ec454fab9e5922d
This commit is contained in:
Vitalii 2023-04-04 14:14:33 +03:00 committed by Storj Robot
parent f9eb778c6d
commit 16e224ebc1

View File

@ -26,50 +26,44 @@
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
<script setup lang="ts">
import { computed } from 'vue';
import { AnalyticsHttpApi } from '@/api/analytics';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { APP_STATE_MUTATIONS } from '@/store/mutationConstants';
import { useRouter, useStore } from '@/utils/hooks';
import VButton from '@/components/common/VButton.vue';
import WarningIcon from '@/../static/images/objects/cancelWarning.svg';
// @vue/component
@Component({
components: {
WarningIcon,
VButton,
},
})
export default class UploadCancelPopup extends Vue {
const store = useStore();
const router = useRouter();
public readonly analytics: AnalyticsHttpApi = new AnalyticsHttpApi();
const analytics: AnalyticsHttpApi = new AnalyticsHttpApi();
/**
* Holds on leave click logic.
*/
public onLeaveClick(): void {
this.analytics.pageVisit(this.leaveRoute);
this.$router.push(this.leaveRoute);
this.closePopup();
}
/**
* Returns leave attempt's route path from store.
*/
const leaveRoute = computed((): string => {
return store.state.objectsModule.leaveRoute;
});
/**
* Close upload cancel info popup.
*/
public closePopup(): void {
this.$store.commit(APP_STATE_MUTATIONS.UPDATE_ACTIVE_MODAL, MODALS.uploadCancelPopup);
}
/**
* Holds on leave click logic.
*/
function onLeaveClick(): void {
analytics.pageVisit(leaveRoute.value);
router.push(leaveRoute.value);
closePopup();
}
/**
* Returns leave attempt's route path from store.
*/
private get leaveRoute(): string {
return this.$store.state.objectsModule.leaveRoute;
}
/**
* Close upload cancel info popup.
*/
function closePopup(): void {
store.commit(APP_STATE_MUTATIONS.UPDATE_ACTIVE_MODAL, MODALS.uploadCancelPopup);
}
</script>