Angular js, jedna fabryka dla wszystkich kontrolerów

0

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.

title

0

Prosze załącznik do postu

1

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);
  1. 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.
0

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?

0

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 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1