diff --git a/README.md b/README.md new file mode 100644 index 0000000..b8a5eba --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +AngularJS teenused ja komponendid + +Kloonige https://bitbucket.org/mkalmo/i399exng1comp repo ja importige see IDE-sse. + +Eesmärk on teha rakendus, läbi mille saab näha ja muuta seadmete olekut. +Seadmetega suhtlemise teenusest on esialgu prototüüp, mis riistvaraga ei +suhtle ja hoiab andmeid lihtsalt mälus. + +1. Toorikus hoitakse seadmete olekut kontrolleris. Viige see teenusesse. + Toorik on olemas: app/board.srv.js + +2. Toorikus olev meetod getBoardState() tagastab seisu sünkroonselt. + Tehke nii, et see tagastaks promise-i: $q.when(data); + +3. Pange tööle teenuse setLight() meetod. Tehke lehele link valguse + sisselülitamiseks. + +4. Tehke komponent, mille kaudu lülitite olekut juhtida. + Komponent näitab mingi seadme binaarset olekut ja lubab seda muuta. + Olemas on fail app/switch.cmp.js ja selle vaade app/switch.cmp.html. + Komponendi väljanägemist juhitakse css klassi "on" abil. + Komponendile klikates peaks oleku ära muutma ja sellest ümbritsevale + kontrollerile teada andma. + + a) Komponendi kasutamiseks vaatest (index.html): + + + + b) Määrake seosed, et atribuutide initial ja on-change väärtused + komponendi kontrollerisse (app/switch.cmp.js) jõuaksid: + + bindings: { + isOn: '); + sessionStorage.getItem('BOARD-STATE'); + +6. Minimiseerige rakenduse kood. + + Veenduge, et kõigis sõltuvuste süstimise kohtades on sobilikud märked. + nt. Ctrl.$inject = ['board']; + + Installige teegid: + > npm install + + Käivitage gulp skript: + > npm run build + (Tekkis kataloog "dist") + + Serveerige rakendus "dist" kataloogist: + > npm run serve + + Kontrollige, et rakendus töötab. + +Lahendused: https://youtu.be/l7IibcbX8ow