добавление новых функций - onOpen и режима открытия createFrom

This commit is contained in:
svsptech 2026-05-19 05:53:16 +05:00
parent 4965c1c6b0
commit 4e314044ac
3 changed files with 879 additions and 809 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.idea/

View File

@ -35,10 +35,11 @@
## Основные концепции
Библиотека работает с двумя основными режимами открытия диалога:
Библиотека работает с тремя основными режимами открытия диалога:
- **create** — создание нового элемента (пустая форма)
- **update** — редактирование существующего элемента (форма с подгруженными данными)
- **create from** — создание нового элемента из существующего (форма с подгруженными данными)
Каждый диалог имеет:
- Уникальный строковый идентификатор (dialogId)
@ -143,6 +144,19 @@ dialog.openUpdate(42, 'Редактирование пользователя')
});
```
#### openCreateFrom(itemId, title)
Открывает диалог в режиме создания с загруженными данными через GET endpoint.
```javascript
dialog.openUpdate(42, 'Создание копии пользователя')
.onSuccess(function(result) {
console.log('Создана копия:', result);
})
.onError(function(error) {
console.error('Ошибка:', error);
});
```
#### getConfig()
Возвращает текущую конфигурацию диалога.
@ -196,6 +210,16 @@ api.onDelete(function(itemId) {
});
```
#### onOpen(callback)
Устанавливает обработчик успешного открытия. Если диалог открыт
в режиме редактирования, функция будет вызвана после загрузки всех данных.
```javascript
api.onOpen(function() {
console.log('Диалог открыт и загружен');
});
```
#### setValues(values)
Устанавливает значения полей формы.
@ -270,6 +294,14 @@ crud_d.openUpdate('user_form', 42, 'Редактирование')
});
```
#### openCreateFrom(dialogId, itemId, title)
```javascript
crud_d.openUpdate('user_form', 42, 'Копирование')
.onSuccess(function(result) {
console.log('Создан из объекта:', result);
});
```
#### closeDialog(dialogId)
```javascript
crud_d.closeDialog('user_form');
@ -648,6 +680,15 @@ dialog.openCreate('Новый заказ')
- При удалении: подтверждение → DELETE запрос → `onDelete`/`onError`
- Автоматическое закрытие диалога при успехе
3. **Создание из существующего элемента (create from):**
- GET запрос на get endpoint для загрузки данных
- Заполнение формы полученными данными
- Валидация формы
- POST запрос на create endpoint
- `onSuccess` при успехе
- `onError` при ошибке
- Автоматическое закрытие диалога при успехе
### Цепочка методов
Все методы настройки возвращают `this`, что позволяет использовать цепочку вызовов:

1644
crud_d.js

File diff suppressed because it is too large Load Diff