Mireczki, próbuję ogarnąć #angularjs i zablokowałem się na zakresach (scopes). Czy mógłby ktoś podpowiedzieć, gdzie, w miarę prostym językiem, jest to opisane? Dokumentacja Angulara mnie trochę przytłoczyła i nic z niej nie kumam, a i nie bardzo wiem, gdzie warto o tym poczytać.
#webdev #frontend
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tomash-pl:
- scopes to drzewo żyjące obok drzewa DOM;
- jest mniejsze niż DOM, bo tylko niektóre węzły DOM-u mają odpowiedniki w drzewie scopes;
- każdy scope ma jednego rodzica (z wyjątkiem $rootScope, korzenia) oraz może mieć dowolną liczbę dzieci;
- scope to obiekt, do którego możesz przypinać dane wszelkiego rodzaju jak do zwykłego obiektu w JS;
- scope dziecko "dziedziczy" ze scope rodzica dane, czyli dana przypięta do rodzica jest dostępna
  • Odpowiedz
Witam mircy, aktualnie przechodzę bardzo przyspieszony kurs JS - buduję apkę przy pomocy Ionic framework (czyli angular + cordava). Próbuję stworzyć edytowalne karty androidowe i mam problem ze znalezieniem informacji jak tego dokonać: Normalnie wyświetlamy element listy w ten sposób:

Note title

Note content

lecz po kliknięciu w określony div jego zawartość jest podmieniana na formularz z tekstem, który się w nim znajdował. Wiadomo, że potem będę musiał pobrać wartość danego diva i gdzieś
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ghostli: Tak bez głebszej analizy zrobiłbym to dyrektywą, która miałaby ng-click. W kontrolerze dyrektywy zmieniałbyś wartość pola isEditable na przeciwną kiedy użytkownik klika, a w htmlu dyrektywy podmieniałbyś powyższy html na formularz ng-if'em. W formularzu ng-model to mogłaby być ta sama wartośc jaką wyświetlasz w divie, wtedy po edycji będzie od razu wyświetlana nowa. Coś w tym stylu (nie sprawdzałem czy to działa więc nie wklejaj na ślepo ;)):

Note title

{{note.content}}
  • Odpowiedz
@Wap30: Hej, sory ale w międzyczasie miałem inne projekty i walczyłem z backendem. Zrezygnowałem z tego rozwiązania, co prawda można było rozpocząć edycję ale zakończyć już nie bardzo, a i efekt wizualny był słaby. Dzięki za pomoc ;/
  • Odpowiedz
Mirki zastanawiam się nad jakimś sensownym rozwiązaniem takiego problemu - mam jakąś listę czegoś tam, którą powinienem odświeżyć po zajściu różnych zdarzeń, np.

$on('thing1Changed', function () {
refreshList();
});
$on('thing2Changed', function () {
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ksiak, @rzezimieszek_: To może się nie udać. Konkretny przypadek:

Może się zmienić użytkownik oraz dozwolone filtry (np. użytkownik 1 ma dostęp do filtrów "obiekty niebieskie" i "obiekty zielone", a użytkownik 2 ma dostęp do filtrów "obiekty różowe i obiekty czarne")
Powiedzmy, że najpierw jest użytkownik 1 z filtrem obiektów niebieskich. Po zmianie użytkownika operacje wykonują się
  • Odpowiedz
@ksiak @regis3: Problem się rozwiązał sam w trochę inny sposób - po zmianie użytkownika nulluję dozwolone filtry, refreshList się nie wykonuje jeśli nie ma dozwolonych filtrów, wykona się tylko raz po ich wczytaniu, czyli

- zdarzenie userChanged
- filters = null
- rozpoczęcie pobierania filtrów
- refreshList (które się nie wykona, bo
  • Odpowiedz
Hej Mirki! Piszę pracę magisterską o dostępności stron internetowych, chciałabym skupić się na nowoczesnych technikach UXowych oraz ułatwieniach dla osób niepełnosprawnych (tutaj pojawi się przykładowa stronka prawdopodobnie angular lub react). Obecnie jestem na etapie gromadzenia literatury. Moglibyście polecić jakieś fajne książki w tej tematyce?
#ux #uxdesign #webdev #webdesign #angularjs
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 0
@taximan: próbowałem i leciał error, już nawet nie pamiętam jaki. Spróbuję jeszcze raz rano, bo teraz już mnie głowa od tego boli. Poza tym, przy tym sposobie robi się z tego straszne masło maślane.
  • Odpowiedz
@VVelur: cóż nadal korzysta się często z 1.4 bo jest sporo projektów na nim oraz o ile kojarzę to wersja 1.x nadal będzie wspierana, angular 2 to praktycznie zmieniona składnia bo korzysta z wielu nowości w jsie no i domyślnie chyba jest robiony pod typescript
  • Odpowiedz
mam obecnie w pracy projekt na phpie i angularze, strona dealerska z samochodami z panelem do zarządzania, kilka rodzajów ról itp itd, i teraz mam takie pytanie, będę chciał dodać system wiadomości prywatnych między administratorami, ogarniać do tego websockety(nie wiem czy warto), czy robić to na ajaxie z jakimś długim intervalem(30-60 sekund ?) czy może jednak bardziej "realtime" ? jeśli tak to jakie rozwiązanie ? ratchet ? czy może zrobić to oddzielnie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #spring #angularjs

Zawsze robiłem aplikacje w Springu i do tego strony widoków w JSP (/src/main/webapp/views). Teraz zrobiłem w Springu kontrolery REST i chciałbym do tego widoki zrobić w AngularJS.
Jaka jest dobra praktyka, żeby się do tego zabrać?

1. Trzymać pliki *.html z kodem angularowym w katalogu z zasobami (/src/main/resources), do którego włączę obejście, żeby pliki były od razu serwowane:
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

jak to w końcu jest z tym ng-repeat + ng-if/ng-show dla każdego elementu z tej listy ? muszę wyświetlić button w zależności od tego czy użytkownik ma takie uprawnienie, w ng-if/ng-show oczywiście mam bindonce na zasadzie ::can(item,rola), i teraz pytanie czy szybciej przetworzy się to jeśli skorzystam z ng-if czy ng-show ?
#javascript #angularjs
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurigag: ng-if a ng-show ma zasadniczą różnicę. Pierwszy tworzy dany węzeł drzewa DOM tylko gdy warunek jest spełniony, a drugi tworzy go zawsze i tylko go pokazuje/ukrywa.
  • Odpowiedz
@Darjo: kwestia konfiguracji i tego, co jest logowane przez aplikacje. Mamy w planach obsługę pluginów, więc koniec końców możliwości będą nieograniczone :)
  • Odpowiedz
Mam dwa widoki w aplikacji webowej kalendarza i listy i jest domyślnie ustawiona np. lista i jej widok jest zależny od zmiennej isListActive i teraz jeżeli użytkownik zmieni widok na kalendarz i tym samym isListActive = true chciałbym żeby #angularjs przechował jego wybór i jak wejdzie w inny widok np. panel użytkownika a potem wroci do listy zeby mial dalej wybrany przez siebie widok a nie ustawiony defultowo jak mogę
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Devmirki, help ;) Po 60 latach praktyki w js wziąłem się za angulara, przerabiam sobie aplikację z pracbazy, na razie idzie nieźle, utknąłem w jednym miejscu

Mam sobie taki template.html (w mocnym uproszczeniu):

{{ header }}
============
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 1
@qwertyu: dyrektyw używasz wszedzie tam, gdzie modyfikujesz drzewo DOM. Mozesz je uzywac jako nowy element, atrybut czy klase. Mozesz wiekszosc :P
  • Odpowiedz
#webdev #angularjs, #jquery
Hej Mirasy!
Pobieram sobie dane z API za pomocą $http i zapisuje to np. w $scope.details. Jedna z otrzymanych wartości jest zapisana za pomocą stringa 'przykładowa wartość z api', nazwijmy ją 'text'
Efekt jest taki, że jak przypisuję to do szablonu {{details.text}}

to otrzymuje cały string z tagami , więc mój text w środku paragrafu wygląda tak: '
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Gregoo: Angular automagicznie escape-uje wartości zmiennych umieszczanych w szablonach. Możesz użyć ngBindHtml. Możesz użyć DocumentFragment aby wy-render-ować sobie na boku tego HTML-a i przepisać do widoku tylko jakieś jego części. Możesz też użyć czegoś pokroju Striptags aby sparsować tego HTML-a tekstowo i wyrzucić z niego znaczniki.
  • Odpowiedz
@Gregoo: Tutaj są dwie metody na to, co chcesz uzyskać. Natomiast co do pytania

Jest jakaś możliwość, aby edytować text po tym jak wychodzi z szablonu? Konkretnie usunąć te tagi po tym jak zrenderuje mi wygląd?

To takiego sposobu nie ma bez dyrektywy i grzebanie w DOM. Możesz co najwyżej sformatować tekst jeszcze zanim faktycznie zostanie umieszczony w szablonie, używając filtrów, tak zresztą jest to rozwiązane w jednej z
  • Odpowiedz
#webdev #angularjs
Cze,
Jako, że z frontendem nie mam często do czynienia to mam pytanko. Świta mi w głowie, że jak są na stronie jakieś inputy tak jak np. tutaj na wykopie podczas pisania tego wpisu, można dodać jakieś cuda skryptowe, a chciałbym się przed tym zabezpieczyć. Poratujecie jakimiś linkami/poradami?
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pulla: to jest kwestia backendu jak będziesz parsował input. Wszystkie zabezpieczenia frontendowe można ominąć robiąc zapytanie zwykłym curlem i jak nie masz zabezpieczeń w backendzie to lipa
  • Odpowiedz
@pulla: Słuchaj
@MirkoStats:
Zabezpieczenie tylko po froncie jest słabe, bo jak MirkoStats wspomniał można wysłać curla i wtedy xss się powiedzie. Tak samo można wysłać formularz bez jsowej obsługi, bądź puścić zapytnie post/get w inny dowolny sposób.
Filtracja powinna być na stronie backendowej, po froncie to kwestia gustu i specyfikacji (np. walidowanie formularza przed wysyłką jsem, a potem drugie już po stronie backendowej pozwala na mniejsze obciążenie serwera
  • Odpowiedz