2013-04-22 10 views

Odpowiedz

0

Moja pierwsza próba obejmowałaby nową directive z funkcją linku, która zawiera compiles fragment szablonu obejmujący lub nie zawierający ui-sortable na podstawie pewnej wartości w zakresie.

Kod, gdy mam czas.

0

Można użyć ui-if, aby przełączać między wersją ui-sortable a wersją nie-sortowalną, jednak jest to okropny projekt. Jeśli jednak wyewidencjonowałeś numer jQuery Sortable Docs, wydaje się, że istnieje opcja dla disabled. Jeśli dyrektywa aktualnie obserwuje obiekt opcji zmian, możesz po prostu przełączyć tę opcję. Jeśli obiekt opcji jest obserwowany przez odniesienie, a nie przez wartość, to być może powinieneś otworzyć żądanie ściągania za pomocą poprawki?

18

kątowe dyrektywa wspiera oglądanie gdy oczyszczenia nasion zmienić opcje:

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

Więc wszystko, co musiałem zrobić, to patrzeć na jQueryUI sortable dokumentacji i zaktualizuj odpowiednią usługę na wtyczce.

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

Dzięki za odpowiedź Jason! To naprawdę pomogło! – Whizkid747

+0

nie wydaje się, że tak jest w przypadku kątowego-ui v0.4.0. Wyszukiwanie w sortable.js dla zakresu. $ Watch nie zwraca wyników. EDYCJA: wersja kątowa na bower wydaje się być nieaktualna! –

+0

link plunkera jest uszkodzony. byłoby wspaniale, gdybyś mógł podzielić się kolejnym plunkerem –

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; 
}; 
Powiązane problemy