2015-01-20 5 views
5

पर ईवेंट AngularJS स्मार्ट टेबल में पंक्ति चयन पर एक ईवेंट ट्रिगर करने का कोई तरीका है?एंगुलरजेएस स्मार्टटेबल - चयन

यह अन्य धागे में एक विषय था लेकिन अभी भी इस बिंदु का कोई जवाब नहीं है।

Unable to select the grid item using SmartTable in Angular JS

+0

शायद यह आपकी मदद करेगा: https://github.com/lorenzofox3/Smart-Table/issues/21 – Xavjer

उत्तर

4

मैं आदेश में एक पैनल जब भी कम से कम 1 पंक्ति में चुना गया था दिखाने के लिए इस कार्यक्षमता की जरूरत है। मैंने मूल रूप से एक घड़ी की स्थापना की, लेकिन फैसला किया कि यह बहुत महंगा था।

मैं stSelectRow निर्देश के अंदर एक कॉलबैक जोड़ना समाप्त कर दिया।

ng.module('smart-table') 
    .directive('stSelectRow', function() { 
    return { 
     restrict: 'A', 
     require: '^stTable', 
     scope: { 
      row: '=stSelectRow', 
      callback: '&stSelected' // ADDED THIS 
     }, 
     link: function (scope, element, attr, ctrl) { 
     var mode = attr.stSelectMode || 'single'; 
     element.bind('click', function ($event) { 
      scope.$apply(function() { 
       ctrl.select(scope.row, mode, $event.shiftKey); 
       scope.callback(); // AND THIS 
      }); 
     }); 

     //***/// 
     } 
    }; 
    }); 

मैं तो निर्देश के लिए अपने नियंत्रक से एक समारोह पारित करने में सक्षम था (ध्यान दें: आप चयनित पंक्ति वापस दे सकते हैं, मैं की जरूरत नहीं थी)

tr ng-repeat="row in customerResultsTable" st-select-row="row" st-select-mode="multiple" st-selected="rowSelected()"> 

के लिए इस पोस्ट संदर्भित मदद Callback function inside directive attr defined in different attr

+0

धन्यवाद, यह मेरी समस्या हल करता है! –

+0

यह स्मार्ट-टेबल कोडबेस के लिए एक अच्छा जोड़ा हो सकता है? – John

+0

@ जॉन हाँ एक अच्छा पीआर होना चाहिए। इसके लिए धन्यवाद क्या-बॉब – Bowofola

0

यहाँ एक Smart Table पर दिखाने का एक आसान घड़ी है:

// fired when table rows are selected 
$scope.$watch('displayedCollection', function(row) { 

    if(!row) return; 

    // get selected row 
    row.filter(function(r) { 
    if (r.isSelected) { 
     console.log(r); 
    } 
    }) 
}, true); 

संबंधित एचटीएमएल:

<table st-table="displayedCollection" st-safe-src="rowCollection" class="select-table table"> 

This github issue मददगार था।

+0

यह मेरे लिए काम कर रहा है लेकिन "त्रुटि: पंक्ति अपरिभाषित स्मार्ट-टेबल" के पृष्ठ लोड पर त्रुटि देता है। क्या आपके पास कोई त्रुटि है कि उस त्रुटि को कैसे ठीक किया जाए? धन्यवाद – totallytotallyamazing

+0

@totallytotallyamazing कोई खेद नहीं है, मैं इन दिनों बहुत अधिक कोणीय नहीं कर रहा हूं इसलिए दुर्भाग्य से आपकी मदद नहीं कर सकता। – Banjer

+0

मेरे पास वापस आने के लिए धन्यवाद! – totallytotallyamazing