Witam,
mam taki problem. Chcę zrobić fabrykę w angularze js i w niej trzymać kod od okienka typu confirm dialog. Poza tym mam z 20 kontrolerów od różnych czynności, tj zapisywanie danych, usuwanie, dodawanie nowego rekordu. A ta fabryka miałaby być informacją potwierdzajaca czy chce wprowadzić zmiany, np tak lub nie. I jeśli kliknę w ikonę zapisz otworzy mi się przez fabrykę okienko potwierdzające, i czy jest możliwość powrócić do kontrolera i wykonać konkretną metodę? Do tej pory miałem przycisk zapisz, klikałem zapisz i od razu mi się zapisywały dane. Dodaje obrazek który ilustruje o co mi chodzi. Proszę o pomoc.
Prosze załącznik do postu
to chyba najlepiej przekazać 2 funkcje do fabryki i w zależności od podjętej decyzji będzie wywoływana albo 1 albo 2. Oczywiście można też przesłać tylko 1 funkcję, bo zapewne przy kliknięciu "Anuluj" nie będzie żadnej akcji.
Ja mam coś podobnego w swoim projekcie i stworzyłem sobie "modalService" i przykład użycia go w kontrolerze wygląda tak:
modalService.execute($scope.saveToStorage, $scope.language.msgSaveSto, request);
- argument to funkcja, która ma być wywołana, 2. to wiadomość jaka ma się pojawić w okienku, a 3. to opcjonalny argument, który powinna przyjąć funkcja z 1. argumentu.
Dobrze rozumiem, masz kontroler do widoku i wtedy w parametrze w tym kontrolerze przesyłasz całą metode która ma się wykonać w momencie zatwierdzenia w oknie modalnym tak? Np. $scope.saveToStorage to jest Twoja metoda w kontrolerze która przesyłana jest do modala i w momencie kliknięcia zapisz sie wykonuje tak?
Tak,
tutaj jest ten serwis:
https://github.com/diamen/jakpoliczyc/blob/master/src/main/webapp/scripts/services/modalService.js
a z tego kontrolera pochodzi powyższy fragment kodu:
https://github.com/diamen/jakpoliczyc/blob/master/src/main/webapp/scripts/controllers/addCtrl.js
Kolego Diamen specjalnie dla Ciebie szukałem starego konta z tego forum by dać Ci łapkę w górę :) Dzięki za pomoc. Twoje nakierowanie rozwiązało problem. Nie całkowicie (zależne jest to od tego co chce się osiągnąć). Ale na przyszłość osoby które będą chciały coś zrobić odpalając fabrykę a potem przekazać z powrotem coś do kontrolera powinny sobie poradzić. Jeszcze raz dzieki. Pozdrawiam :) ps a to co robiłem dzięki Twojej podpowiedzi dokończyłem :)