Commits

Mark Lavin committed 77f430d

Custom events for when items are added or removed from the deck for the multiple select widgets. See #71

Comments (0)

Files changed (1)

selectable/static/selectable/js/jquery.dj.selectable.js

         _addDeckItem: function(input) {
             /* Add new deck list item from a given hidden input */
             var self = this;
-            $('<li>')
+            var li = $('<li>')
             .text($(input).attr('title'))
-            .addClass('selectable-deck-item')
-            .appendTo(this.deck)
-            .append(
-                $('<div>')
+            .addClass('selectable-deck-item');
+            var item = {element: self.element, input: input, wrapper: li, deck: self.deck};
+            if (self._trigger("add", null, item) === false) {
+                input.remove();
+            } else {
+                var button = $('<div>')
                 .addClass('selectable-deck-remove')
                 .append(
                     $('<a>')
                     })
                     .click(function(e) {
                         e.preventDefault();
-                        $(input).remove();
-                        $(this).closest('li').remove();
+                        if (self._trigger("remove", e, item) !== false) {
+                            $(input).remove();
+                            li.remove();
+                        }
                     })
-                )
-            );
+                );
+                li.append(button).appendTo(this.deck);
+            }
         },
 
         select: function(item, event) {
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.