Skip to content

Commit 41cfdec

Browse files
committed
BaseDialogに統合
1 parent 0d567d4 commit 41cfdec

File tree

4 files changed

+23
-136
lines changed

4 files changed

+23
-136
lines changed

src/components/ActionButton.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
@click="$emit('click')"
88
>
99
<span>{{ text }}</span>
10-
<v-icon v-if="logoutIcon">mdi-login-variant</v-icon>
10+
<v-icon v-if="icon">{{ icon }}</v-icon>
1111
</v-btn>
1212
</template>
1313

@@ -30,8 +30,8 @@ export default class ActionButton extends Vue {
3030
@Prop({ default: false })
3131
isLoading?: boolean
3232
33-
@Prop({ default: false })
34-
logoutIcon?: boolean
33+
@Prop({ default: '' })
34+
icon?: string
3535
}
3636
</script>
3737

src/components/BaseDialog.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
v-for="(action, i) in actions"
1919
:key="i"
2020
class="my-3"
21+
:theme="action.theme"
22+
:icon="action.iconName"
2123
:text="action.buttonLabel"
2224
@click="doDialogAction(i)"
2325
/>
@@ -39,6 +41,8 @@ import ActionButton from '@/components/ActionButton.vue'
3941
4042
export type DialogAction = {
4143
buttonLabel: string
44+
iconName: string
45+
theme: string
4246
/**
4347
* ボタン押下時に実行する処理。実行後に BaseModalDialog を閉じないようにするには true を返す。
4448
*/

src/components/ViewerDialog.vue

Lines changed: 0 additions & 126 deletions
This file was deleted.

src/layouts/classes.vue

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,29 @@
88
@input="openCalenderDialog = false"
99
/>
1010
</v-dialog>
11-
<viewer-dialog
11+
<base-dialog
1212
v-model="openClassIdDialog"
1313
icon-name="mdi-clipboard-account"
14-
default-cancel-button-label="ログアウト"
15-
:logout-icon="true"
14+
hide-default-cancel-button
1615
:actions="[
1716
{
1817
buttonLabel: '閉じる',
18+
iconName: '',
19+
theme: 'primary',
1920
action: () => {
2021
return false
2122
}
23+
},
24+
{
25+
buttonLabel: 'ログアウト',
26+
iconName: 'mdi-login-variant',
27+
theme: 'border',
28+
action: () => {
29+
clickLogout()
30+
return false
31+
}
2232
}
2333
]"
24-
@clickLogout="clickLogout"
2534
>
2635
<template v-slot:title>
2736
今、ログインしているクラスです
@@ -33,7 +42,7 @@
3342
<div class="ClassIdModal-Id">{{ classId }}</div>
3443
</div>
3544
</template>
36-
</viewer-dialog>
45+
</base-dialog>
3746
<v-overlay :value="loading" color="#0071C2" opacity="1" z-index="9999">
3847
<div class="loader">
3948
Loading
@@ -83,7 +92,7 @@ import Vue from 'vue'
8392
import dayjs from 'dayjs'
8493
import HeaderLogo from '@/assets/svgs/header_logo.svg'
8594
import CalendarBar from '@/components/CalendarBar.vue'
86-
import ViewerDialog from '@/components/ViewerDialog.vue'
95+
import BaseDialog from '@/components/BaseDialog.vue'
8796
import { vxm } from '@/store'
8897
8998
type LocalData = {
@@ -99,7 +108,7 @@ export default Vue.extend({
99108
middleware: 'checkClassData',
100109
components: {
101110
CalendarBar,
102-
ViewerDialog,
111+
BaseDialog,
103112
HeaderLogo
104113
},
105114
data(): LocalData {

0 commit comments

Comments
 (0)