Skip to content

Commit b1d3c09

Browse files
committed
Added missing js event: beforeAddRow
1 parent 335d290 commit b1d3c09

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
Yii2 multiple input change log
22
==============================
33

4+
2.10.0
5+
======
6+
7+
- #154: Added missing js event: beforeAddRow
8+
49
2.9.0
510
=====
611

examples/views/multiple-input.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@
159159
console.log('calls on after initialization event');
160160
}).on('beforeAddRow', function(e) {
161161
console.log('calls on before add row event');
162+
return confirm('Are you sure you want to add row?')
162163
}).on('afterAddRow', function(e, row) {
163164
console.log('calls on after add row event', $(row));
164165
}).on('beforeDeleteRow', function(e, item){

src/assets/src/js/jquery.multipleInput.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@
1919
*
2020
*/
2121
afterInit: 'afterInit',
22+
/**
23+
* afterAddRow event is triggered after successful adding new row.
24+
* The signature of the event handler should be:
25+
* function (event, row)
26+
* where event is an Event object.
27+
*
28+
*/
29+
beforeAddRow: 'beforeAddRow',
2230
/**
2331
* afterAddRow event is triggered after successful adding new row.
2432
* The signature of the event handler should be:
@@ -233,6 +241,13 @@
233241
template = template.replaceAll('{' + settings.indexPlaceholder + '}', data.currentIndex);
234242
var $addedInput = $(template);
235243

244+
var beforeAddEvent = $.Event(events.beforeAddRow);
245+
$wrapper.trigger(beforeAddEvent, [$addedInput]);
246+
247+
if (beforeAddEvent.result === false) {
248+
return;
249+
}
250+
236251
$addedInput.hide().appendTo(inputList).fadeIn(300);
237252

238253
if (values instanceof Object) {
@@ -290,8 +305,8 @@
290305

291306
$wrapper.data('multipleInput').currentIndex++;
292307

293-
var event = $.Event(events.afterAddRow);
294-
$wrapper.trigger(event, [$addedInput]);
308+
var afterAddEvent = $.Event(events.afterAddRow);
309+
$wrapper.trigger(afterAddEvent, [$addedInput]);
295310
};
296311

297312
var removeInput = function ($btn) {

src/assets/src/js/jquery.multipleInput.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)