LINUX.ORG.RU

Либа для создания полей-списков

 , ,


0

1

В веб-интерфейсе нужно иметь «составные поля-списки». Например, поле «список ФИО» - вертикальный список из групп по три инпута фамилия, имя и отчество) и соответствующая им верстка

Нужно чтобы 1 регион в доме воспринимался как шаблон для построения поля-списка. Причем чтобы клонам можно было настроить формат имен (id={name}{index}, name={name}[{index}] чтобы оно воспринялось на серверной стороне), чтобы при загрузке страницы можно было статически вгенерить в HTML изначальные данные, и другие важные настройки, чем больше - тем лучше.

Начал писать сам, уже тысячу строк, и увеличивается. Может есть чего готовое?

Особенно хотелось бы интеграции с SpringMVC, хотя подозреваю что такого нету.

★★★★☆
Ответ на: комментарий от ggrn

виджет выглядит как список с кнопочками + и -. Список можно редактировать с помощью этих кнопок. При добавлении нового элемента, его значение заполняется значением с самого верхнего элемента в списке, а верхний элемент обнуляется. Такой как бы стек получается.

у меня сейчас поле не клонируется, а на манер какого-нибудь реакта лежит в переменной-шаблоне. У шаблона есть структура. Переменные типа {name} и {index}, флаги какую часть шаблона надо клонировать а какую нет (н-р даты т.е. инпуты с классом datepicker у меня не должны копироваться, а текстовые инпуты - должны, и это настраивается в параметрах), и так далее и тому подобное. Когда из середины списка удаляется элемент, нужно переиндексировать нумерацию элементов (нужно чтобы нумерация id и name внутри списка была непрерывной). Далее к этому надо привязать серверную валидацию Спринга и клиентскую валидацию jQueryValidation/MaskedInput/итп, чтобы они понимали сущность поля, у которого ошибка может быть в трех ипостасях: на весь список целиком, на конкретный элемент списка, и на конкретный инпут внутри элемента

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

все это занимает дочерта кода

и вот я не хочу такое писать, очевидно же что это очень generic задача, которая тысячу раз решалась всеми подряд. По сути задача такая: как превратить одиночный инпут в array из таких инпутов.

и я не хочу тянуть angular (да и не могу, потому что заявляена поддержка старых Internet Explorer)

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от stevejobs

и я не хочу тянуть angular (да и не могу, потому что заявляена поддержка старых Internet Explorer)

Тогда только страдать >_< и гуглить

ggrn ★★★★★
()
Ответ на: комментарий от stevejobs

потому что заявляена поддержка старых Internet Explorer

Вдоль.

Если б просто ангуляр не хотел, можно было б кнокакут https://github.com/knockout/knockout

Еще есть https://github.com/riot/riot, но я не успел в нем разобраться.

Vit ★★★★★
()
Ответ на: комментарий от stevejobs

Кнокаут на восьмерке вроде должен завестись, по крайней мере не последняя версия.

Но лучше б ты выпросил IE9, потому что восьмерку сейчас активно выпиливают из поддержки.

Vit ★★★★★
()
Ответ на: комментарий от Vit

ну в рамках этой задачи я просто надеялся на какую-то либу, которая делает виджет «список», за образ элемента беря кусок дома =) Чтобы фигак-фигак и все работает, без написания всего этого самостоятельно

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Ну вот кнокаут норм для фигак-фигак, только списки больше 1000 элементов не делай.

Vit ★★★★★
()

За пару тройку лет можно сваять, но с валидацией так просто не выйдет ...

anonymous
()

Хз, что ты там пишешь. С виду — задача строк на 50.

hfucker
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.