Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Flask-admin и динамическое скрытие или показ столбцов в таблице во view [RSS Feed]

#1 Май 24, 2020 14:06:03

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

Имеется обычная самая простая view:

 class MyModelView(sqla.ModelView):
    column_list = ['first', 'two’]

мне нужно на страничке добавить галочки в виде полей, чтобы включать/отключать столбцы в таблице. То есть отображение на странице отдельных столбцов.

Я например могу послать чтобы column_list переназначить. Но сама view не рефрешится.
Нагуглить не получилоь.

Я попробовал передать список столбцов из формы и переопределить column_list. Он меняется но view не обновляется. Как ее можно обновить? Или может есть способы попроще?



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Май 24, 2020 14:06:36)

Офлайн

#2 Май 24, 2020 14:48:02

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2252
Репутация: +  40  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

А что мешает передавать список полей через GET параметры например “?fields=col1,…colN” и менять self.column вьюшки, или в get_list_columns ?
исходники полистайте https://github.com/flask-admin/flask-admin/blob/7fa26ab227868ff7512bb25c26a30fd7d69184bc/flask_admin/model/base.py
сем не пользуюсь

Офлайн

#3 Май 24, 2020 15:05:34

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

Была такая мысль. Не уверен, нормально ли видеть в строке например 20 и более параметров?
Но за направление, спасибо.



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Май 24, 2020 15:06:39)

Офлайн

#4 Май 25, 2020 16:31:38

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2252
Репутация: +  40  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

хотите - храните в базе, сессии, куках, тут уже на вкус и цвет …
просто GET-параметры - самое простое

Офлайн

#5 Май 28, 2020 16:21:43

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

Я тут попробовал css класс с параметром display: none который меняется при клике checkbox. И присвоил его в td. Все ок. Скрывается быстро. Но когда возвращаю столбец, то слетают стили. И столбцы все в кучу сбиваются.
Видимо надо отловить какие ещё стили у td были по умолчанию и их восстанавливать. Пока сделал через url параметр.



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Май 28, 2020 17:33:16)

Офлайн

#6 Май 28, 2020 22:15:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8419
Репутация: +  756  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

alexbadaloff
Я тут попробовал css класс с параметром display: none который меняется при клике checkbox. И присвоил его в td. Все ок. Скрывается быстро. Но когда возвращаю столбец, то слетают стили.
Внутри td сделай div или span и у него стиль display меняй. Не трогай таблицы, они в разных браузерах по-разному сделаны, лучше их не трогать и вообще стараться не использовать (заменить на div'ы), кроме как для вывода табличных данных.



Отредактировано py.user.next (Май 28, 2020 22:16:52)

Офлайн

#7 Май 30, 2020 12:40:14

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

Отлично. Да. Так не ломаются стили таблицы. Осталось только понять как сохранить состояние между обновлениями страницы. Если сортировать по какому-нибудь видимому столбцу страница обновляется и скрытый столбец восстанавливается.



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Май 30, 2020 12:42:18)

Офлайн

#8 Май 30, 2020 22:06:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8419
Репутация: +  756  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

alexbadaloff
Осталось только понять как сохранить состояние между обновлениями страницы.
Нужно при скрытии столбца передать скрытый асинхронный запрос бэкенду с указанием пометить это состояние столбца в сессии данного клиента. При следующем выводе страницы бэкенд сначала посмотрит в сессии клиента, в каком состоянии столбец, и в соответствии с этим выведет таблицу. Сессия на стороне клиента поддерживается через печенье. Как только ты почистишь печенье, все настройки сессии слетят. Также можно добавить кнопку “установить по умолчанию”, которая сбросит все настройки с помощью запроса, чтобы сделать это без очистки печенья (в печенье может храниться ещё 100500 настроек, которые не надо стирать).



Отредактировано py.user.next (Май 30, 2020 22:07:37)

Офлайн

#9 Май 31, 2020 12:50:48

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

Flask-admin и динамическое скрытие или показ столбцов в таблице во view

Спасибо за разъяснение. Может дойдут руки так сделать.
Пока сделал, формирование url по нажатию имени столбца. А в шаблоне уже GET и фильтрация.



————————–
Истина где-то рядом

Офлайн

  • Начало
  • » Web
  • » Flask-admin и динамическое скрытие или показ столбцов в таблице во view[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version