mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-01 17:34:59 +08:00
(fix) Load repository filters only when needed [SCI-10156]
This commit is contained in:
parent
425b189742
commit
c9f475290a
2 changed files with 22 additions and 19 deletions
|
@ -71,6 +71,7 @@ window.initRepositoryFilter = () => {
|
|||
const defFilters = JSON.parse(JSON.stringify(DEFAULT_FILTERS));
|
||||
const app = createApp({
|
||||
data: () => ({
|
||||
open: false,
|
||||
filters: [],
|
||||
defaultFilters: DEFAULT_FILTERS,
|
||||
columns: [],
|
||||
|
@ -80,19 +81,29 @@ window.initRepositoryFilter = () => {
|
|||
filterName: null
|
||||
}),
|
||||
created() {
|
||||
this.dataTableElement = $($('#filterContainer').data('datatable-id'));
|
||||
$('#filtersDropdownButton').on('show.bs.dropdown', () => {
|
||||
this.open = true;
|
||||
this.dataTableElement = $($('#filterContainer').data('datatable-id'));
|
||||
|
||||
$.get($('#filterContainer').data('my-modules-url'), (data) => {
|
||||
this.my_modules = data.data;
|
||||
$.get($('#filterContainer').data('my-modules-url'), (data) => {
|
||||
this.my_modules = data.data;
|
||||
});
|
||||
|
||||
$.get($('#filterContainer').data('columns-url'), (data) => {
|
||||
const combinedColumns = data.response.concat(defaultColumns);
|
||||
this.columns = combinedColumns.sort((a, b) => (a.name > b.name ? 1 : -1));
|
||||
});
|
||||
|
||||
$.get($('#filterContainer').data('saved-filters-url'), (data) => {
|
||||
this.savedFilters = data.data;
|
||||
});
|
||||
|
||||
$('#filtersColumnsDropdown, #savedFiltersContainer').removeClass('open');
|
||||
});
|
||||
|
||||
$.get($('#filterContainer').data('columns-url'), (data) => {
|
||||
const combinedColumns = data.response.concat(defaultColumns);
|
||||
this.columns = combinedColumns.sort((a, b) => a.name > b.name ? 1 : -1);
|
||||
});
|
||||
|
||||
$.get($('#filterContainer').data('saved-filters-url'), (data) => {
|
||||
this.savedFilters = data.data;
|
||||
$('#filterContainer').on('click', (e) => {
|
||||
$('#filterContainer .dropdown-selector-container').removeClass('open');
|
||||
e.stopPropagation();
|
||||
});
|
||||
},
|
||||
computed: {
|
||||
|
@ -152,13 +163,4 @@ window.initRepositoryFilter = () => {
|
|||
app.config.globalProperties.i18n = window.I18n;
|
||||
app.config.globalProperties.dateFormat = $('#filterContainer').data('date-format');
|
||||
window.repositoryFilterObject = mountWithTurbolinks(app, '#filterContainer');
|
||||
|
||||
$('#filterContainer').on('click', (e) => {
|
||||
$('#filterContainer .dropdown-selector-container').removeClass('open')
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
$('#filtersDropdownButton').on('show.bs.dropdown', () => {
|
||||
$('#filtersColumnsDropdown, #savedFiltersContainer').removeClass('open');
|
||||
});
|
||||
};
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
data-user-utc-offset="<%= ActiveSupport::TimeZone.find_tzinfo(current_user.time_zone).utc_offset %>"
|
||||
>
|
||||
<filter-container
|
||||
v-if="open"
|
||||
:columns.sync="columns"
|
||||
:my_modules.sync="my_modules"
|
||||
:default-filters="defaultFilters"
|
||||
|
|
Loading…
Add table
Reference in a new issue