Added tag filter dialog.
This commit is contained in:
@@ -159,7 +159,7 @@ function initEntitiesActions(store, router) {
|
||||
orderBy,
|
||||
afterTime: store.getters.after,
|
||||
beforeTime: store.getters.before,
|
||||
exclude: store.state.ui.filter,
|
||||
exclude: store.state.ui.tagFilter,
|
||||
});
|
||||
|
||||
if (!entity) {
|
||||
|
||||
@@ -15,8 +15,11 @@ import Container from '../components/container/container.vue';
|
||||
import Icon from '../components/icon/icon.vue';
|
||||
import Footer from '../components/footer/footer.vue';
|
||||
import Tooltip from '../components/tooltip/tooltip.vue';
|
||||
import Dialog from '../components/dialog/dialog.vue';
|
||||
|
||||
async function init() {
|
||||
let uid = 0;
|
||||
|
||||
const store = initStore(router);
|
||||
const app = createApp(Container);
|
||||
const events = mitt();
|
||||
@@ -38,6 +41,7 @@ async function init() {
|
||||
Footer,
|
||||
Tooltip,
|
||||
'v-popover': Tooltip,
|
||||
Dialog,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -60,6 +64,10 @@ async function init() {
|
||||
isAfter: (dateA, dateB) => dayjs(dateA).isAfter(dateB),
|
||||
isBefore: (dateA, dateB) => dayjs(dateA).isBefore(dateB),
|
||||
},
|
||||
beforeCreate() {
|
||||
this.uid = uid;
|
||||
uid += 1;
|
||||
},
|
||||
});
|
||||
|
||||
app.directive('tooltip', {
|
||||
|
||||
@@ -24,7 +24,7 @@ function initReleasesActions(store, router) {
|
||||
after,
|
||||
before,
|
||||
orderBy,
|
||||
exclude: store.state.ui.filter,
|
||||
exclude: store.state.ui.tagFilter,
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@@ -99,7 +99,7 @@ function initTagsActions(store, _router) {
|
||||
before,
|
||||
orderBy: orderBy === 'DATE_DESC' ? 'DATE_DESC' : 'DATE_ASC',
|
||||
offset: Math.max(0, (pageNumber - 1)) * limit,
|
||||
exclude: store.state.ui.filter,
|
||||
exclude: store.state.ui.tagFilter.filter(tagFilter => tagFilter !== tagSlug),
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@@ -2,9 +2,11 @@ import { graphql } from '../api';
|
||||
import { curateRelease, curateActor } from '../curate';
|
||||
|
||||
function initUiActions(_store, _router) {
|
||||
function setFilter({ commit }, filter) {
|
||||
commit('setFilter', filter);
|
||||
localStorage.setItem('filter', filter);
|
||||
function setTagFilter({ commit }, filter) {
|
||||
const tagFilter = Array.from(new Set(filter));
|
||||
|
||||
commit('setTagFilter', tagFilter);
|
||||
localStorage.setItem('tagFilter', tagFilter);
|
||||
}
|
||||
|
||||
function setRange({ commit }, range) {
|
||||
@@ -184,7 +186,7 @@ function initUiActions(_store, _router) {
|
||||
|
||||
return {
|
||||
search,
|
||||
setFilter,
|
||||
setTagFilter,
|
||||
setRange,
|
||||
setBatch,
|
||||
setSfw,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
function setFilter(state, filter) {
|
||||
state.filter = filter;
|
||||
function setTagFilter(state, tagFilter) {
|
||||
state.tagFilter = tagFilter;
|
||||
}
|
||||
|
||||
function setRange(state, range) {
|
||||
@@ -19,7 +19,7 @@ function setTheme(state, theme) {
|
||||
}
|
||||
|
||||
export default {
|
||||
setFilter,
|
||||
setTagFilter,
|
||||
setRange,
|
||||
setBatch,
|
||||
setSfw,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const storedFilter = localStorage.getItem('filter');
|
||||
const storedTagFilter = localStorage.getItem('tagFilter');
|
||||
const storedBatch = localStorage.getItem('batch');
|
||||
const storedSfw = localStorage.getItem('sfw');
|
||||
const storedTheme = localStorage.getItem('theme');
|
||||
|
||||
export default {
|
||||
filter: storedFilter ? storedFilter.split(',') : [],
|
||||
tagFilter: storedTagFilter ? storedTagFilter.split(',') : [],
|
||||
range: 'latest',
|
||||
batch: storedBatch || 'all',
|
||||
sfw: storedSfw === 'true' || false,
|
||||
|
||||
Reference in New Issue
Block a user