Как вызвать угловое модальное всплывающее окно в строке слика двойным щелчком мыши

У меня есть угловой модал, который работает с отдельной кнопкой, но мне нужно, чтобы она всплывала, когда по строке в сетке щелкают дважды. Как я должен структурировать этот код:

grid.onDblClick.subscribe(function (e, args) {
  //make the angular modal popup
});

С угловым модом я обычно просто выбираю элемент dom, затем добавляю ng-click="openModal()" в тег div, но у меня возникают проблемы даже с поиском div в инструментах chrome dev. Есть идеи?

1 ответ

В настоящее время у меня есть slickgrid, обернутый в директиву, что означает, что мой HTML выглядит так:

<div class="gridContainer" ng-controller="EditModalCtrl">
  <div class="modalTest" style='width:100%;'>
    <div style='width:100%;height:500px;' all-batches-grid></div>
  </div>
</div>

В моей директиве slickgrid я имею:

angular.module('epDefaultApp.allBatchesDirective', [])
  .directive('allBatchesGrid', [function () {
    return {
      restrict: 'EA',
      link : function(scope, element, attrs){

        grid.onDblClick.subscribe(function (e, args) {

          $('.addButton').removeClass('addText');
          $('#addEditButton').addClass('editButton');
          $('.addButton').addClass('editText');

          var item = grid.getDataItem(args.row);
          scope.openPrefill('lg', item);
        });
      }
    }
  }]);

Вот и мой контроллер:

angular.module('epDefaultApp.editModalController', [])
  .controller('EditModalCtrl', ['$scope', '$modal', '$log', 'toastr', function     ($scope, $modal, $log, toastr) {

  $scope.openPrefill = function (size, selectedRowObject) {
    $scope.selectedRow = {
      vendorName: selectedRowObject[0],
      purchaseNumber: selectedRowObject[3],
      invoiceAmount: selectedRowObject[6],
      invoiceDate: selectedRowObject[10],
      invoiceNumber: selectedRowObject[1],
      dueDate: selectedRowObject[9],
      checkCode: '0',
      memo: selectedRowObject[5]
    };

}]);

Причина, по которой это работает, заключается в том, что переменная области действия в директиве фактически связана с $ scope в EditModalCtrl. Это происходит, когда мы сначала инициализируем директиву grid в файле HTML.

Другие вопросы по тегам