https://github.com/it-for-free/jquery-useful-tools
jquery plugins e.g. for nested fileds groups in web form
https://github.com/it-for-free/jquery-useful-tools
forms javascript jquery nested plugins web
Last synced: about 1 month ago
JSON representation
jquery plugins e.g. for nested fileds groups in web form
- Host: GitHub
- URL: https://github.com/it-for-free/jquery-useful-tools
- Owner: it-for-free
- Created: 2018-11-20T13:06:32.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-06T19:58:26.000Z (about 7 years ago)
- Last Synced: 2025-06-02T06:35:18.362Z (8 months ago)
- Topics: forms, javascript, jquery, nested, plugins, web
- Language: JavaScript
- Homepage:
- Size: 417 KB
- Stars: 1
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JUTs (jquery useful tools)
Набор JQuery-плагинов в том числе для работы со сложными формами --
дублирования групп полей для вложенных сущностей (например в случае,
когда сущости относятся как "один ко многим")
## Использование (Usage)
Некоторые плагины зависят только от jquery, другие ещё и от jquery-ui,
в общем случае можно сразу подключать и то и то и сам JUTs в таком порядке:
```html
```
## Основные плагины JUTs
Далее описаны наиболее сложные (крупные) плагины, которые в своей работе могут использовать
сразу несколько более простых плагинов JUTs.
Кратно об основных:
1. [`$.fromFiledsGroupAdderFromHiddenTemplate()` копирует в родительский контейнер
(на который и вешается событие) из скрытого шаблона](docs/fromFiledsGroupAdderFromHiddenTemplate.md)
2. [`$.fn.parentInParentContainerDublicator()` копирует родитеский элемент для данной кнопки (ссылки),
в родительский элемент ещё более высокого уровня.](docs/parentInParentContainerDublicator.md)
## Прочие плагины JUTs
* Плагины `getAttrFragment` и `getNameFragment`
Позволяют извлекать фрагмент значения атрибута вида:
```
people[123][groups][34][2]
```
по номеру (парсят квадратные скобки). Полезны напр. для работы с атрибутом name сложных форм.
* `isInputsEmpty()` -- порверит пусты ли все поля-потомки данного элемента (можно проверять находится ли фрома в состоянии по-умолчанию)
* `getInputType()` -- выяснит тип тега/инпута
## Сброка и другая работа с `npm`
Сборка:
```shell
npm run-script build
```
Отладочная сборка
```shell
npm run-script watch
```
## @TODO
### Возможные улучшения (идеи)
* `parentInParentContainerDublicator` мог бы не заменять специальную строку в прототипе с прследующей заменой значения
атрибута значением из прототипа,
а вообще не использовать прототип (шаблон значения атрибута в дата-атрибуте), просто указывая какой именно по порядку сегомент имени надо заменить на порядковый номер.
(по аналогии с уже внедренной идеей, замены оставшихся спец,
строк в шаблоне значения атрибута на аналогические реальные значения сегментам, но там
каждый сегмент проверяется специально на то не является ли он подтрокой, что сложнее в том числе для использования).
* Может можно отказаться от глобальных массивов регистраций событий
и просто использовать проверку не привязано ли уже событие (так или иначе)
* Из `isInputsEmpty` можно (и нужно)) выделить отдельный плагин для проверки на путстоту конткретного инпута