Update filter

This commit is contained in:
2024-10-26 03:52:54 +03:00
parent 2c6d0ac34f
commit cca3c2256d
27 changed files with 699 additions and 195 deletions

View File

@@ -1,7 +1,11 @@
function Users() {
document.title = `Список пользователей - ${SETTINGS.TITLE}`;
let data = {
filter: PanelFilter(),
filter: {
value: '',
isregex: false,
visible: false
},
order_by: PanelOrderBy({
field: 'name',
fields: [
@@ -16,11 +20,11 @@ function Users() {
raw_users: [],
get users() {
/* Отфильтрованный список */
let value = data.filter.data.value;
let value = data.filter.value;
if ( value.length<1 ) {
return data.raw_users;
}
if (data.filter.data.isregex) {
if (data.filter.isregex) {
try {
let regex = new RegExp(value, 'ig');
} catch (e) {
@@ -38,12 +42,12 @@ function Users() {
};
function user_filter(user) {
/* Фильтр статей */
let value = data.filter.data.value;
let value = data.filter.value;
if ( value.length<1 ) {
return true;
}
let isTitle = null;
if ( data.filter.data.isregex) {
if ( data.filter.isregex) {
let regex = new RegExp(value, 'ig');
isTitle = regex.test(user.name.toLowerCase());
} else {
@@ -130,7 +134,7 @@ function Users() {
m('div', {class: 'row'},
m('div', {class: 'col h1 py-1'}, [
m('div', {class: "btn-group btn-group-lg me-2"}, [
m('button', {type: "button", class: "btn btn-outline-secondary", onclick: function() { panel_show(data.filter.data) }},
m('button', {type: "button", class: "btn btn-outline-secondary", onclick: function() { panel_show(data.filter) }},
m('i', {class: "fa fa-filter"})
),
m('button', {type: "button", class: "btn btn-outline-secondary", onclick: function() { panel_show(data.order_by.data) }},
@@ -141,13 +145,15 @@ function Users() {
])
),
m('hr'),
m(PanelFilter, data.filter),
m(data.order_by),
m(Pagination, data.pagination),
);
result.push(m(data.filter));
result.push(m(data.order_by));
result.push(m(data.pagination));
if (data.users.length>0) {
result.push(m(ComponentUsers, {users: data.users}));
result.push(m(data.pagination));
result.push(
m(ComponentUsers, {users: data.users}),
m(Pagination, data.pagination),
);
};
result.push(breadcrumbs_render());
return result