Можно ли как-то реализовать "связаные списки"?

Обсуждаем TrackStudio по-русски

Можно ли как-то реализовать "связаные списки"?

Postby olegko » Fri Jan 28, 2011 5:52 pm

Хочется в задаче иметь два поля типа "список".
Да так, чтобы список значений второго поля зависел от значения, выбранного в первом. Имеется ввиду динамическая кастомизация списка на этапе создания/редактирования задачи.

Можно ли как-то это реализовать?
Если не в самой TrackStudio, то хотя бы через Interfaces?
olegko
 
Posts: 415
Joined: Tue Apr 08, 2008 12:56 pm

Re: Можно ли как-то реализовать "связаные списки"?

Postby admin » Sat Jan 29, 2011 12:01 am

Думаю, через свои интерфейсы это сделать можно, но готового примера у меня нет.

В рамках TrackStudio можно попробовать обойтись 1 списком, в котором будут комбинации обоих значений вида A/B
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 7452
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Re: Можно ли как-то реализовать "связаные списки"?

Postby olegko » Sat Jan 29, 2011 10:30 pm

admin wrote:В рамках TrackStudio можно попробовать обойтись 1 списком, в котором будут комбинации обоих значений вида A/B

Дело в том, что меня попросили сделать "опросник" из 3-х полей.
Всех комбинаций получается 160, если их запихнуть в одно поле, то будет некрасиво. А вот связанными списками в Excel выглядит очень удобно.
А вообще в планах есть реализация этой фичи? Я так понимаю, что без ajax тут не обойтись.

admin wrote:Думаю, через свои интерфейсы это сделать можно, но готового примера у меня нет.

Ну а хотя бы вкратце как это можно сделать?
Или где почитать?
Если у меня получится, то я выложу пример :)
olegko
 
Posts: 415
Joined: Tue Apr 08, 2008 12:56 pm

Re: Можно ли как-то реализовать "связаные списки"?

Postby admin » Sun Jan 30, 2011 12:25 am

Посмотрите тут
http://www.trackstudio.ru/howto-customi ... rface.html

и далее по ссылкам.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 7452
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Re: Можно ли как-то реализовать "связаные списки"?

Postby olegko » Tue Dec 13, 2011 6:18 pm

Подниму старый вопрос.
Нет в ближайших планах добавления функциональности "связанных списков" в стандартный функционал?
Фича точно будет полезной многим.
И реализовать вроде не должно быть сложно.

Опишу, как я вижу реализацию этого функционала.

НАСТРОЙКА. Нужно добавить две дополнительные настройки в уже существующие типы полей:
1) Во всех типах полей в поле Permission добавить опцию "Linked To Field".
Эта опция должна позволять выбрать одно или несколько кастомных полей типа List из уже существующих (и не позволять выбрать уже залинкованные поля или само это поле).
Также скорее всего нужно будет дизеблить опцию Order и вместо нее активировать опцию "Linked Order" в которой задавать порядок расположения данного поля относительно "связки". Более простой вариант - значение опции Order будет значением порядка в списке (но это может привести к путанице).

2) В кастомном поле типа "List" добавить закладку (tab) "Linked Fields".
В этой закладке можно будет настраивать "связи" в виде матрицы:
- по вертикали - список значений данного кастомного поля (List Values)
- по горизонтали - связанные поля, которые берутся из опции "Linked To Field" других полей (как описано выше)
- на пересечении - Yes/No (Yes - показывать, No - не показывать)
Нюанс для связанного поля типа List - настройка связки будет не в одну строчку, а в несколько (соотвественно списку значений этого поля).

Ничего другого менять не нужно - настройки скриптов и Permissions остаются без изменений.
И это всё в части настройки.
Такая схема позволяет дизайнить связанные списки неорганиченной глубины (список в списке) без каких либо ограничений.


ОТОБРАЖЕНИЕ. Было бы хорошо, если бы связанные поля "подгружались" динамически.
Но если с этим сложно - то хотя бы показывать сразу все поля, а уже их возможные значения "подгружать" в зависимости от выбора.

Сложно такое будет сделать? Базу для этого вроде бы менять не нужно.
olegko
 
Posts: 415
Joined: Tue Apr 08, 2008 12:56 pm

Re: Можно ли как-то реализовать "связаные списки"?

Postby mvasenkov » Wed Dec 14, 2011 12:03 pm

У меня есть предложение. Финт ушами, конечно, но может сработать.
В вычисляемых полях типа Text/HTML работает javascript. Prototype у нас уже подгружается. Можно наваять скрипт (TrackStudio), который будет выводить эти самые связанные поля с вашей логикой и вашими данными, подгружаемыми через ajax откуда угодно (хоть из самой TrackStudio, но это сложнее. Проще заранее забить данные в javascript-массивы, как мы с графиками поступаем (хотя графики вы, наверное, еще не видели). В общем, организовать эти самые связанные списки.
Далее на поля от списков повесить событие (onchange какой-нибудь), по которому данные будут копироваться в дополнительные поля TrackStudio (надо только с типом определиться).

В общем, это сложно, но реализуемо, причем для пользователей всё будет совершенно нормально выглядеть.
Skype (RU): max.vasenkov
Email/Jabber: max.vasenkov@gmail.com
twitter: @winzard
mvasenkov
TrackStudio Support
 
Posts: 365
Joined: Tue Jan 14, 2003 5:57 pm
Location: Smolensk

Re: Можно ли как-то реализовать "связаные списки"?

Postby mvasenkov » Wed Dec 14, 2011 12:06 pm

Поясню, в чем сложность реализации непосредственно внутри TrackStudio. Это требует изменения базы данных, а, следовательно, нужно писать процедуру апгрейда, менять документацию и т.п., полный цикл. Ради одной фичи это, конечно, делаться не будет, но, думаю, Максим Крамаренко занесет пожелания в проект следующей мажорной версии.
Skype (RU): max.vasenkov
Email/Jabber: max.vasenkov@gmail.com
twitter: @winzard
mvasenkov
TrackStudio Support
 
Posts: 365
Joined: Tue Jan 14, 2003 5:57 pm
Location: Smolensk

Re: Можно ли как-то реализовать "связаные списки"?

Postby olegko » Wed Dec 14, 2011 12:09 pm

mvasenkov wrote:У меня есть предложение. Финт ушами, конечно, но может сработать.
В вычисляемых полях типа Text/HTML работает javascript. Prototype у нас уже подгружается. Можно наваять скрипт (TrackStudio), который будет выводить эти самые связанные поля с вашей логикой и вашими данными, подгружаемыми через ajax откуда угодно (хоть из самой TrackStudio, но это сложнее. Проще заранее забить данные в javascript-массивы, как мы с графиками поступаем (хотя графики вы, наверное, еще не видели). В общем, организовать эти самые связанные списки.
Далее на поля от списков повесить событие (onchange какой-нибудь), по которому данные будут копироваться в дополнительные поля TrackStudio (надо только с типом определиться).

В общем, это сложно, но реализуемо, причем для пользователей всё будет совершенно нормально выглядеть.


Спасибо за ответ, очень интересно.
А можно какую-то демку посмотреть?

И ещё - хотелось бы услышать, что думает Максим Крамаренко по поводу моего предыдущего поста - планируется ли такое реализовать?
olegko
 
Posts: 415
Joined: Tue Apr 08, 2008 12:56 pm

Re: Можно ли как-то реализовать "связаные списки"?

Postby olegko » Wed Dec 14, 2011 12:12 pm

mvasenkov wrote:Поясню, в чем сложность реализации непосредственно внутри TrackStudio. Это требует изменения базы данных, а, следовательно, нужно писать процедуру апгрейда, менять документацию и т.п., полный цикл. Ради одной фичи это, конечно, делаться не будет, но, думаю, Максим Крамаренко занесет пожелания в проект следующей мажорной версии.

А без изменения базы данных никак?
И когда ориентировочно в планах выпуск следующей мажорной версии?
olegko
 
Posts: 415
Joined: Tue Apr 08, 2008 12:56 pm

Re: Можно ли как-то реализовать "связаные списки"?

Postby admin » Sun Dec 18, 2011 7:17 pm

По поводу следующей мажорной ничего сказать не могу - пока даже список фич и "идею" для нее не определили.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 7452
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Next

Return to TrackStudio Support [Russian]

Who is online

Users browsing this forum: Google [Bot] and 0 guests