debian-mirror-gitlab/app/assets/javascripts/notes/discussion_filters.js
2018-12-13 13:39:08 +05:30

35 lines
940 B
JavaScript

import Vue from 'vue';
import DiscussionFilter from './components/discussion_filter.vue';
export default store => {
const discussionFilterEl = document.getElementById('js-vue-discussion-filter');
if (discussionFilterEl) {
const { defaultFilter, notesFilters } = discussionFilterEl.dataset;
const selectedValue = defaultFilter ? parseInt(defaultFilter, 10) : null;
const filterValues = notesFilters ? JSON.parse(notesFilters) : {};
const filters = Object.keys(filterValues).map(entry => ({
title: entry,
value: filterValues[entry],
}));
return new Vue({
el: discussionFilterEl,
name: 'DiscussionFilter',
components: {
DiscussionFilter,
},
store,
render(createElement) {
return createElement('discussion-filter', {
props: {
filters,
selectedValue,
},
});
},
});
}
return null;
};