fix(webui): fix combobox search value remaining after list selection

update vuetify
This commit is contained in:
Gauthier Roebroeck 2021-05-28 16:57:13 +08:00
parent a6c47f1b85
commit d114b0efb2
6 changed files with 135 additions and 125 deletions

View file

@ -25,7 +25,7 @@
"vue-typed-mixins": "^0.2.0", "vue-typed-mixins": "^0.2.0",
"vuedraggable": "^2.24.0", "vuedraggable": "^2.24.0",
"vuelidate": "^0.7.5", "vuelidate": "^0.7.5",
"vuetify": "^2.3.7", "vuetify": "^2.5.1",
"vuex": "^3.5.1", "vuex": "^3.5.1",
"vuex-persistedstate": "^3.2.0", "vuex-persistedstate": "^3.2.0",
"vuex-router-sync": "^5.0.0" "vuex-router-sync": "^5.0.0"
@ -19870,9 +19870,16 @@
} }
}, },
"node_modules/vuetify": { "node_modules/vuetify": {
"version": "2.3.7", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.7.tgz", "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.5.1.tgz",
"integrity": "sha512-9PNorMNNcn0okT78ZpN86qL5Zx4xu0yzcO2w1IdN3ECdbAP00rHe8CEYCThakwXGUuTZ8Iv7gAMDqH6zfxSMtA==" "integrity": "sha512-L7bn8yVMXbt1QeTGaLTeyKE/tvhRUtGm5aQdCzUGu6lsGgEm7H707I4fjHftGNGNmmrUr3pmjpVrtqx65BMpUw==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/johnleider"
},
"peerDependencies": {
"vue": "^2.6.4"
}
}, },
"node_modules/vuetify-loader": { "node_modules/vuetify-loader": {
"version": "1.6.0", "version": "1.6.0",
@ -37680,9 +37687,10 @@
"integrity": "sha512-GAAG8QAFVp7BFeQlNaThpTbimq3+HypBPNwdkCkHZZeVaD5zmXXfhp357dcUJXHXTZjSln0PvP6wiwLZXkFTwg==" "integrity": "sha512-GAAG8QAFVp7BFeQlNaThpTbimq3+HypBPNwdkCkHZZeVaD5zmXXfhp357dcUJXHXTZjSln0PvP6wiwLZXkFTwg=="
}, },
"vuetify": { "vuetify": {
"version": "2.3.7", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.7.tgz", "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.5.1.tgz",
"integrity": "sha512-9PNorMNNcn0okT78ZpN86qL5Zx4xu0yzcO2w1IdN3ECdbAP00rHe8CEYCThakwXGUuTZ8Iv7gAMDqH6zfxSMtA==" "integrity": "sha512-L7bn8yVMXbt1QeTGaLTeyKE/tvhRUtGm5aQdCzUGu6lsGgEm7H707I4fjHftGNGNmmrUr3pmjpVrtqx65BMpUw==",
"requires": {}
}, },
"vuetify-loader": { "vuetify-loader": {
"version": "1.6.0", "version": "1.6.0",

View file

@ -28,7 +28,7 @@
"vue-typed-mixins": "^0.2.0", "vue-typed-mixins": "^0.2.0",
"vuedraggable": "^2.24.0", "vuedraggable": "^2.24.0",
"vuelidate": "^0.7.5", "vuelidate": "^0.7.5",
"vuetify": "^2.3.7", "vuetify": "^2.5.1",
"vuex": "^3.5.1", "vuex": "^3.5.1",
"vuex-persistedstate": "^3.2.0", "vuex-persistedstate": "^3.2.0",
"vuex-router-sync": "^5.0.0" "vuex-router-sync": "^5.0.0"

View file

@ -14,7 +14,7 @@
<v-divider/> <v-divider/>
<v-card-text style="height: 50%"> <v-card-text style="height: 50%">
<v-container fluid class="pa-0"> <v-container fluid class="">
<v-row justify="space-around" v-if="!single"> <v-row justify="space-around" v-if="!single">
<v-col cols="auto" class="pa-1">{{ $t('dialog.transient_book_viewer.label_candidate') }}</v-col> <v-col cols="auto" class="pa-1">{{ $t('dialog.transient_book_viewer.label_candidate') }}</v-col>

View file

@ -185,7 +185,7 @@
</settings-select> </settings-select>
</v-list-item> </v-list-item>
<div v-if="continuousReader"> <template v-if="continuousReader">
<v-subheader class="font-weight-black text-h6">{{ $t('bookreader.settings.webtoon') }}</v-subheader> <v-subheader class="font-weight-black text-h6">{{ $t('bookreader.settings.webtoon') }}</v-subheader>
<v-list-item> <v-list-item>
<settings-select <settings-select
@ -201,9 +201,9 @@
:label="$t('bookreader.settings.side_padding')" :label="$t('bookreader.settings.side_padding')"
/> />
</v-list-item> </v-list-item>
</div> </template>
<div v-if="!continuousReader"> <template v-if="!continuousReader">
<v-subheader class="font-weight-black text-h6">{{ $t('bookreader.settings.paged') }}</v-subheader> <v-subheader class="font-weight-black text-h6">{{ $t('bookreader.settings.paged') }}</v-subheader>
<v-list-item> <v-list-item>
<settings-select <settings-select
@ -220,7 +220,7 @@
:label="$t('bookreader.settings.page_layout')" :label="$t('bookreader.settings.page_layout')"
/> />
</v-list-item> </v-list-item>
</div> </template>
</v-list> </v-list>

View file

@ -84,7 +84,7 @@
</v-btn> </v-btn>
</toolbar-sticky> </toolbar-sticky>
<v-container fluid class="px-6"> <v-container fluid class="pa-6">
<v-row> <v-row>
<v-col cols="4" sm="4" md="auto" lg="auto" xl="auto"> <v-col cols="4" sm="4" md="auto" lg="auto" xl="auto">
<item-card <item-card
@ -98,6 +98,7 @@
</v-col> </v-col>
<v-col cols="8"> <v-col cols="8">
<v-container>
<v-row> <v-row>
<v-col class="py-1"> <v-col class="py-1">
<router-link :to="{name:'browse-series', params: {seriesId: book.seriesId}}" class="link-underline"> <router-link :to="{name:'browse-series', params: {seriesId: book.seriesId}}" class="link-underline">
@ -123,7 +124,7 @@
</v-row> </v-row>
<div class="hidden-xs-only"> <template v-if="$vuetify.breakpoint.smAndUp">
<v-row class="align-center"> <v-row class="align-center">
<v-col cols="auto"> <v-col cols="auto">
<v-btn color="accent" <v-btn color="accent"
@ -164,11 +165,12 @@
<read-more>{{ book.metadata.summary }}</read-more> <read-more>{{ book.metadata.summary }}</read-more>
</v-col> </v-col>
</v-row> </v-row>
</div> </template>
</v-container>
</v-col> </v-col>
</v-row> </v-row>
<div class="hidden-sm-and-up"> <template v-if="$vuetify.breakpoint.xsOnly">
<v-row class="align-center"> <v-row class="align-center">
<v-col cols="auto"> <v-col cols="auto">
<v-btn color="accent" <v-btn color="accent"
@ -209,13 +211,11 @@
<read-more>{{ book.metadata.summary }}</read-more> <read-more>{{ book.metadata.summary }}</read-more>
</v-col> </v-col>
</v-row> </v-row>
</div> </template>
<div v-for="role in authorRoles" <v-row v-for="role in displayedRoles"
:key="role" :key="role"
> class="align-center text-caption"
<v-row class="align-center text-caption"
v-if="authorsByRole[role]"
> >
<v-col cols="4" sm="3" md="2" xl="1" class="py-1 text-uppercase">{{ $t(`author_roles.${role}`) }}</v-col> <v-col cols="4" sm="3" md="2" xl="1" class="py-1 text-uppercase">{{ $t(`author_roles.${role}`) }}</v-col>
<v-col cols="8" sm="9" md="10" xl="11" class="py-1"> <v-col cols="8" sm="9" md="10" xl="11" class="py-1">
@ -245,7 +245,6 @@
</vue-horizontal> </vue-horizontal>
</v-col> </v-col>
</v-row> </v-row>
</div>
<v-row v-if="book.metadata.tags.length > 0" class="align-center text-caption"> <v-row v-if="book.metadata.tags.length > 0" class="align-center text-caption">
<v-col cols="4" sm="3" md="2" xl="1" class="py-1">TAGS</v-col> <v-col cols="4" sm="3" md="2" xl="1" class="py-1">TAGS</v-col>
@ -340,7 +339,6 @@ export default Vue.extend({
components: {ReadMore, ToolbarSticky, ItemCard, BookActionsMenu, ReadListsExpansionPanels, VueHorizontal, RtlIcon}, components: {ReadMore, ToolbarSticky, ItemCard, BookActionsMenu, ReadListsExpansionPanels, VueHorizontal, RtlIcon},
data: () => { data: () => {
return { return {
authorRoles,
book: {} as BookDto, book: {} as BookDto,
series: {} as SeriesDto, series: {} as SeriesDto,
context: {} as Context, context: {} as Context,
@ -431,6 +429,9 @@ export default Vue.extend({
route: {name: 'browse-series', params: {seriesId: this.book.seriesId}}, route: {name: 'browse-series', params: {seriesId: this.book.seriesId}},
} }
}, },
displayedRoles(): string[] {
return authorRoles.filter(x => this.authorsByRole[x])
},
}, },
methods: { methods: {
libraryDeleted(event: EventLibraryDeleted) { libraryDeleted(event: EventLibraryDeleted) {

View file

@ -71,7 +71,7 @@
</template> </template>
</filter-drawer> </filter-drawer>
<v-container fluid class="px-6"> <v-container fluid class="pa-6">
<v-row> <v-row>
<v-col cols="4" sm="4" md="auto" lg="auto" xl="auto"> <v-col cols="4" sm="4" md="auto" lg="auto" xl="auto">
<item-card <item-card
@ -85,6 +85,7 @@
</v-col> </v-col>
<v-col cols="8"> <v-col cols="8">
<v-container>
<v-row> <v-row>
<v-col class="py-1"> <v-col class="py-1">
<div class="text-h5" v-if="$_.get(series, 'metadata.title')">{{ series.metadata.title }}</div> <div class="text-h5" v-if="$_.get(series, 'metadata.title')">{{ series.metadata.title }}</div>
@ -133,7 +134,7 @@
</v-col> </v-col>
</v-row> </v-row>
<div class="hidden-xs-only"> <template v-if="$vuetify.breakpoint.smAndUp">
<v-row class="align-center"> <v-row class="align-center">
<v-col cols="auto"> <v-col cols="auto">
<v-btn :title="$t('menu.download_series')" <v-btn :title="$t('menu.download_series')"
@ -165,12 +166,12 @@
<read-more>{{ series.booksMetadata.summary }}</read-more> <read-more>{{ series.booksMetadata.summary }}</read-more>
</v-col> </v-col>
</v-row> </v-row>
</div> </template>
</v-container>
</v-col> </v-col>
</v-row> </v-row>
<div class="hidden-sm-and-up"> <template v-if="$vuetify.breakpoint.xsOnly">
<!-- Download button --> <!-- Download button -->
<v-row class="align-center"> <v-row class="align-center">
<v-col cols="auto"> <v-col cols="auto">
@ -205,9 +206,9 @@
<read-more>{{ series.booksMetadata.summary }}</read-more> <read-more>{{ series.booksMetadata.summary }}</read-more>
</v-col> </v-col>
</v-row> </v-row>
</div> </template>
<!-- Pubisher --> <!-- Publisher -->
<v-row v-if="series.metadata.publisher" class="align-center text-caption"> <v-row v-if="series.metadata.publisher" class="align-center text-caption">
<v-col cols="4" sm="3" md="2" xl="1" class="py-1 text-uppercase">{{ $t('common.publisher') }}</v-col> <v-col cols="4" sm="3" md="2" xl="1" class="py-1 text-uppercase">{{ $t('common.publisher') }}</v-col>
<v-col cols="8" sm="9" md="10" xl="11" class="py-1"> <v-col cols="8" sm="9" md="10" xl="11" class="py-1">
@ -286,11 +287,10 @@
</v-col> </v-col>
</v-row> </v-row>
<v-divider v-if="series.booksMetadata.authors.length > 0"/> <v-divider v-if="series.booksMetadata.authors.length > 0" class="my-3"/>
<div v-for="role in authorRolesSeries"
:key="role">
<v-row class="align-center text-caption" <v-row class="align-center text-caption"
v-if="authorsByRole[role]" v-for="role in displayedRoles"
:key="role"
> >
<v-col cols="4" sm="3" md="2" xl="1" class="py-1 text-uppercase">{{ $t(`author_roles.${role}`) }}</v-col> <v-col cols="4" sm="3" md="2" xl="1" class="py-1 text-uppercase">{{ $t(`author_roles.${role}`) }}</v-col>
<v-col cols="8" sm="9" md="10" xl="11" class="py-1"> <v-col cols="8" sm="9" md="10" xl="11" class="py-1">
@ -321,7 +321,6 @@
</vue-horizontal> </vue-horizontal>
</v-col> </v-col>
</v-row> </v-row>
</div>
<v-row> <v-row>
<v-col> <v-col>
@ -329,7 +328,7 @@
</v-col> </v-col>
</v-row> </v-row>
<v-divider class="my-1"/> <v-divider class="mt-4 mb-1"/>
<empty-state <empty-state
v-if="totalPages === 0" v-if="totalPages === 0"
@ -418,7 +417,6 @@ export default Vue.extend({
}, },
data: function () { data: function () {
return { return {
authorRolesSeries,
series: {} as SeriesDto, series: {} as SeriesDto,
books: [] as BookDto[], books: [] as BookDto[],
selectedBooks: [] as BookDto[], selectedBooks: [] as BookDto[],
@ -510,6 +508,9 @@ export default Vue.extend({
authorsByRole(): any { authorsByRole(): any {
return groupAuthorsByRole(this.series.booksMetadata.authors) return groupAuthorsByRole(this.series.booksMetadata.authors)
}, },
displayedRoles(): string[] {
return authorRolesSeries.filter(x => this.authorsByRole[x])
},
}, },
props: { props: {
seriesId: { seriesId: {