(function() { 'use strict'; angular.module('ionic.ui.list', ['ngAnimate']) .directive('listItem', function() { return { restrict: 'E', require: '^list', replace: true, transclude: true, scope: { item: '=', onSelect: '&', onDelete: '&', canDelete: '@', canReorder: '@', canSwipe: '@', buttons: '=', }, template: '
  • \
    \ \
    \
    \
    \
    \ \
    \
    \ \
    \
  • ', link: function($scope, $element, $attr, list) { $scope.isEditing = false; $scope.deleteIcon = list.scope.deleteIcon; $scope.reorderIcon = list.scope.reorderIcon; $scope.buttonClicked = function(button) { button.onButtonClicked && button.onButtonClicked($scope.item, button); }; list.scope.$watch('isEditing', function(v) { $scope.isEditing = v; }); } }; }) .directive('list', function() { return { restrict: 'E', replace: true, transclude: true, scope: { isEditing: '=', deleteIcon: '@', reorderIcon: '@' }, // So we can require being under this controller: function($scope) { var _this = this; this.scope = $scope; $scope.$watch('isEditing', function(v) { _this.isEditing = true; }); }, template: '', compile: function(element, attr, transclude) { return function($scope, $element, $attr) { var lv = new ionic.views.List({el: $element[0]}); if(attr.animation) { $element.addClass(attr.animation); } }; } }; }); })();