oknosoft / windowbuilder

Окнософт:Заказ дилера
http://www.oknosoft.ru/zd/
Other
10 stars 19 forks source link

сохранение атрибутов фильтра списка заказов #511

Closed rnpoddor closed 5 years ago

rnpoddor commented 5 years ago

Возникла задача сохранять остальные атрибуты фильтра списка заказов (временной интервал и поисковую строку).

Реализовал по следующей логике, перед уходом с интерфейсной части со списком заказов, например в редактирование изделия, все атрибуты фильтра, кроме подразделения, сохраняются в параметры пользователя. Когда мы возвращаемся, атрибуты подгружаются в интерфейс и обнуляются в параметрах пользователя, для того чтобы не делать кнопки сброса значений атрибутов на по умолчанию, а просто обновиться по F5 и получить значения фильтра по умолчанию.

rnpoddor commented 5 years ago

Сопутсвующие PR: https://github.com/oknosoft/metadata.js/pull/422 и https://github.com/oknosoft/metadata.js/pull/423.

unpete commented 5 years ago

Собирайте совещание и принимайте решение:

Felishia commented 5 years ago

@unpete, можно больше подробностей: Насколько мы далеки от перехода на новую математику полностью? Скорее всего у вас в голове уже сложился некий план с ориентировочными датами поделитесь? Какие шаги нужно предпринять для перехода? Можем ли мы в этом помочь или все зависит только от @unpete ?

unpete commented 5 years ago

Сколь-нибудь объёмных задач по программированию там нет. Нужен хотя бы один пользователь-программист, который включит для себя новый режим и возглавит отладку. Заняться этим можно было и в прошлом и в позапрошлом году. Существенных изменений scheme_settings с 2016 года не вносилось.

unpete commented 5 years ago

мой ответ на вопрос "зачем это делать": "чтобы систему кто-то смог сопровождать через год-два-три". Если этого не сделать, вы будете накручивать гнилые нити на гордиев узел dhtmlx, который в скором времени окажется проще разрубить, чем распутать.

rnpoddor commented 5 years ago
  • Если хотите ускорить развитие react-версии Заказа дилера, завязывайте с правками старой математики. Как Написано: новое вино не наливают в старые меха и к ветхой одежде не пришивают заплату из новой ткани ибо меха порвутся, а заплата отвалится и дыра будет еще больше

Обновил PR, надеюсь это решение стало ближе к React. :) Если серьезно, от Dhtmlx форм так сразу не избавиться, текущие задачи решать надо, благо их не так много, требующих изменений в ядре программы, но хочу заметить, все что @unpete принимает, полезно в первую очередь проекту. Если мы сейчас отделимся, создадим свой репозиторий, часть полезных решений, в первую очередь для проекта, перестанет в него попадать. Думаю все изменения, которые мы вносим в старую математику, стоит рассматривать как некую спецификацию (тех. задание) для воплощения в новой матиматике (React).

Я пока не представляю, как в кратчайшие сроки решить, например данную задачу, полностью на React.

unpete commented 5 years ago

Давайте это средствами RamIndexer решим. Там всё готово 1,5 года назад. Не хватает только решимости. Если буду принимать PR подобные этому, вы никогда RamIndexer и SchemeSettings не откроете.

unpete commented 5 years ago

В новом динсписке все свойства (параметры запроса, фильтр, сортировка и группировка) живут в элементе scheme_settings и сохраняются в пределах сеанса. Теперь, после переключения в любую форму и последующем возврате к динсписку, получаем то состояние настроек, которое было на момент закрытия.

Потенциально, такое решение может доставить неудобство, когда одни и те же scheme_settings используются и в форме списка и в форме выбора. Решать это узкое место будем, когда возникнет пример для отладки.