2013-04-22 12 views

risposta

0

Il mio primo tentativo a questo includerebbe un nuovo directive con una funzione di collegamento che compiles un frammento di modello include o non include ui-ordinabile basato su un certo valore nell'ambito.

Codice quando ho tempo.

0

È possibile utilizzare ui-if per passare da una versione ui-sortable a una versione non ordinabile, tuttavia si tratta di un design orribile. Tuttavia, se hai verificato il jQuery Sortable Docs sembra che ci sia un'opzione per disabled. Se la direttiva attualmente osserva l'oggetto opzioni per le modifiche, è possibile semplicemente attivare questa opzione. Se l'oggetto options è visto per riferimento e non per valore, allora forse dovresti aprire una richiesta pull con il tweak?

18

La direttiva angolare supporta guardare quando le opzioni ordinabili cambiano:

scope.$watch(attrs.uiSortable, function(newVal, oldVal){ 

Quindi tutto quello che doveva fare era un'occhiata alla documentazione ordinabili jQueryUI, e aggiornare la proprietà corretta sul plugin.

Html

<ul ui-sortable="sortableOptions" ng-model="items"> 
    <li ng-repeat="item in items">{{ item }}</li> 
</ul> 
<button ng-click="sortableOptions.disabled = !sortableOptions.disabled">Is Disabled: {{sortableOptions.disabled}}</button> 

JS

app.controller('MainCtrl', function($scope) { 
    $scope.items = ["One", "Two", "Three"]; 

    $scope.sortableOptions = { 
    disabled: true 
    }; 
}); 
+0

Grazie per la risposta Jason! Questo mi ha davvero aiutato! – Whizkid747

+0

non sembra essere il caso in angular-ui v0.4.0. Una ricerca in sortable.js per l'ambito. $ Watch non restituisce risultati. EDIT: versione angolare-ui su bower sembra essere scaduto! –

+0

il collegamento plunk è rotto. sarebbe bello se potessi condividere un altro plunker –

0

HTML

<div class="group-container" ui-sortable="vm.groupSortable" ng-model="group.groups"> 

JS

vm.groupSortable = { 
    connectWith: ".group-container", 
    disabled: true 
}; 

vm.disableDragAndDrop = function(bVar) 
{ 
    vm.groupSortable.disabled = bVar; 
}; 
Problemi correlati