20-1-2010Wolter Kaper - AJAX en Javascript via Rails Deel 1 en 2.

Slides:



Advertisements
Verwante presentaties
18. Vermogen, verhaal en faillissement
Advertisements

Internationaal privaatrecht, het EVO-verdrag en Rome II
29/03/2013. jQuery is  een JavaScript-bibliotheek die je kan integreren in je HTML-pagina.  Om animaties te maken, die SEO-vriendelijk(er) zijn  Door.
15. Octrooi- en auteursrecht
Order placed Should be Nederland Netherlands can be removed here, just Scancorner Instead of ‘undefined’ -> ‘geen’ New logo should be displayed here. COUNTS.
Requirements -People are able to make their own memorial page, called a memori -The website will be build first in Dutch for extension.nl, then copied.
© 2008 Wolf Knab Websitearchitectuur,
Internet College 2 Architecturen. Architectuur van netwerktoepassingen •Peer to peer –Windows werkgroep •File- en printer sharing •Internet connection.
Stateful web, developments, trends 1 Webtechnologie Lennart Herlaar.
Meten & Berekenen Trillingen Twentelijn
JQuery en ASP.NET Bart De Meyer.
ASP.NET AJAX Extensions Richard Soeteman
Internetapplicaties - II Gegevensinvoer 1 Internetapplicaties Deel 2: Gegevensinvoer: HTML-forms, JavaScript en JSP.
10. Ontslagrecht.
Contract, AV, incoterms, E-commerce en Weens koopverdrag
6 november 2012Jaap Jongejan De loopbaancoach van 2020 Welke oplossing voor welk probleem?
Lucene/SOLR 1: inleiding + indexering
Frédérique Harmsze - Macaw 22 juni Wie ben ik?  Frédérique Harmsze  Information Worker Consultant bij Macaw sinds 2004  Intranet-projecten met.
Presentatie Stage/Q Roel Grit Info/Q automatisering
13 Rechtsgevolgen van een overeenkomst
Persoonlijkheidspsychologie Sensatie en perceptie
Excel Services Dennis Vroegop.
Faculteit Ingenieurswetenschappen & Wetenschappen Software Engineering Publicatie Management Systeem Groep se1 Software Engineering Thierry Coppens.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Server side scripting 1 Webtechnologie Lennart Herlaar.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
DSpace-gebruikersdag 9 maart 2006 WildFire ● WildFire is ontwikkeld door Henk Druiven, Rijksuniversiteit Groningen Met dank aan Johannes Nicolai en al.
Client Management met ConfigMgr Jannes Alink – Management.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Wolter Kaper - Model-objecten en hun relaties in Ruby on Rails Webprogrammeren, week 1.
Wolter Kaper - Ruby on Rails Webtoepassing ontwerpen Webprogrammeren, week 1.
Linux Workshop 3 Systeem configuratie. Na de installatie  Netwerkinstellingen controleren (ook proxy!)  Systeem software updaten  Hardware drivers.
JProject02 Bert Jacobs Ignace Van Tricht 4 juni 2009.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Onderhandelingen en l.o.i.
Verdragen en inleiding Europees Recht
Inleiding Internationaal Recht
1 Inleiding Hoofdstuk 1.
11. Collectief arbeidsrecht en staking
9. Rechten en plichten bij een arbeidsovereenkomst
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
<HTML> <HEAD> <TITLE>Eerste script </TITLE>
XForms TU Delft Library Digitale Productontwikkeling Egbert Gramsbergen.
Web Applicaties Bouwen met Visual Studio .NET
DSpace-gebruikersdag 9 maart 2006 WildFire ● WildFire is ontwikkeld door Henk Druiven, Rijksuniversiteit Groningen Met dank aan Johannes Nicolai en al.
Protocollen Diagnose - Therapie
NSTE-ACS GL ESC Eduard van den Berg, cardio.nl.
Starten met PHP Dynamischer bouwen. PHP is een een scripttaal waarmee de server pagina’s in elkaar kunt laten zetten. Het verschil met HTML: Een php pagina.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
© 2008 Wolf Knab Websitearchitectuur,
Omgaan met kinderen die een verlies hebben geleden Herma Bode
TO INSERT OR REMOVE THE COBRANDING BOX 1.To do this you need to use the ‘slide master’ 2.Go to the ‘View’ tab on the toolbar 3.Select ‘Slide master’, this.
Doelstellingen inrichten in MS Dynamics CRM BEKE LUKAS.
Link Popularity Het principe van linkpopulariteit kun je als volgt samenvatten: hoe meer webpagina's er naar een bepaalde webpagina linken, des te belangrijker.
In samenwerking met HowITsDone JSF versus AngularJS client-server 2.0.
Starten met PHP Dynamischer bouwen.
Web 1.0 HTMLAfbeeldingen FlashHyperlinks CSS Participation AJAX Usability Design Ruby on Rails.
MVC in de praktijk Jeroen Swart.NET architect, Quintor
Mijn partner heeft Q-koorts, wat nu?
2 Ongevallen…..een risico?
Client side vs Server side Server side code Code wordt op de webserver uitgevoerd Bewerkt de html die naar de gebruiker gestuurd wordt voordat die verzonden.
INFITT01 - Internettechnologie WEEK 3. Programma Sessies JSP.
Java & het Web Programma: Sessies JSP. Stateless vs. Stateful(1) HTTP is stateless WAT IS STATELESS?
SQL Les February 2019.
ASP.NET MVC Web Development
ASP.NET MVC Views.
– Software development fundamentals
SQL Les 9 12 May 2019.
– Software development fundamentals
Transcript van de presentatie:

Wolter Kaper - AJAX en Javascript via Rails Deel 1 en 2

Wolter Kaper - Webtoepassing: Client - Server Server: WEBrick / Mongrell Client: Browser (IE / Firefox /...) URL + params HTML-doc Ruby & RailsJavascript

Wolter Kaper - Capaciteiten van de cliënt beter gebruiken View updaten zonder pagina-reload  sneller, minder bytes  geen flits  scroll positie behouden Meer interactie op kleinere schaal  gebruiker doet iets en ziet direct effect Gebruiksvriendelijke effecten  disable / enable invoerelementen  autocomplete  drag & drop  momentane validatie

Wolter Kaper - Javascript Geef de cliënt een pagina  die behalve tekst ook logica bevat Gebruiker interacteert  met software op de pagina, niet met server  diverse vriendelijke effecten: disable / enable invoerelementen autocomplete drag & drop momentane validatie

Wolter Kaper - AJAX: Asynchronous Javascript & XML Geef de gebruiker een pagina  die javascript bevat Javascript  server scripts  javascript roept server script  antwoord komt terug  antwoord vertonen: ergens op pagina Gebruiksvriendelijke effecten  autocomplete  momentane validatie  reservekopie terwijl u typt  in place editing  aantal hits preview

Wolter Kaper - AJAX & Javascript in Rails Prototype & Sriptaculous  meegeleverd, simpele include Ajax / Javascript View Helpers  1 javascript call / 1 antwoord op de pagina RJS templates  rails / javascript vertaling  meerdere effecten op meerdere plekken

Wolter Kaper - AJAX voorbeeldje Gebruiker kijkt naar volle pagina Een enkel paginadeel wijzigen  parameters meegeven in verzoek Gebruiker klikt => een link, dus “GET”

Wolter Kaper - AJAX voorbeeldje: controller class AandeelsController <... def index... (vertoon index view)... end def show aandeel = Aandeel.find(params[:id]) respond_to do |wants| wants.js { render :text => aandeel.koers } end

Wolter Kaper - AJAX voorbeeldje: layout......

Wolter Kaper - AJAX voorbeeldje: index view Van alles... Koers van jouw aandeel ?? ”koers-div”, :url=>{:action=>”show”, :id=>93} ) %>...en nog wat...

Wolter Kaper - AJAX view helper: link_to_remote link_to_remote( “linktekst”, :url=> {:controller=>..., :action=>..., :id=>...}, :update=>”myhtml-id”, :position=> ”top”/”bottom”/”before”/”after” :failure=> “alert(‘http error:’+request.status)” ) top / bottom: kinderen van “myhtml” element before / after: broertjes van “myhtml” element

Wolter Kaper - Voornaamste AJAX view helpers Prototype Helper Module link_to_remote periodically_call_remote :frequency => 5 (seconden) observe_field(“veldnaam”...) :frequency => 5 remote_form_for lijkt op form_for formulier wordt via javascript gesubmit antwoord.... :update=>”myhtml-id” observe_form

Wolter Kaper - remote_form_for - voorbeeldje Uw aandeel invoeren {:action=>create} :update=>”bericht” ) do |f| %> Naam: Waarde: Nog geen bericht...

Wolter Kaper - AJAX en Javascript via Rails Deel 2: met RJS

Wolter Kaper - :update of RJS template? RJS-template  rails commando’s die javascript genereren Alle ajax-helpers  die :update accepteren  accepteren ook RJS :update=> enkele plek updaten RJS  meer plekken updaten  speciale effecten: element verbergen / tonen highlight form.reset redirect

Wolter Kaper - RJS voorbeeldje - controller class AandeelsController <... def index... #toon index view... end def = Aandeel.find_by_name(“Philips”) respond_to do |wants| wants.js #toon show.js.rjs view end

Wolter Kaper - RJS voorbeeldje – index view Aandelen Aantal gevonden: {:action=>”show”, :id=>93} ) %>...en nog wat...

Wolter Kaper - RJS voorbeeldje – show.js.rjs view page.replace_html “results_message”, “Geen aandelen gevonden” page.replace_html “results”, “” else page.replace_html “results_message”, “Gevonden: aandelen” page.replace_html ’) end

Wolter Kaper - Overzicht RJS commando’s page.replace_html page.insert_html page.remove(*html-ids) page.hide(*html-ids) page.show(*html-ids)

Wolter Kaper - Overzicht RJS commando’s (vervolg) page << ‘mijn zelfgeschreven javascript’ page.alert(bericht) page.delay(seconds) {... } page.visual_effect(name, html-id) page.redirect_to(url)

Wolter Kaper - Sleepbare lijst Zie voorbeeldje “draggable”

Wolter Kaper - Sleepbare lijst items hebben een volgorde volgorde is te wijzigen...door te slepen toepassing: to-do lijsten per dag

Wolter Kaper - Sleepbare items : db-tabel tabel "taaks" (taken) nodig: kolom "position", type :integer

Wolter Kaper - Sleepbare items: view "> Debug area 'order', :url => {:action=>'order'}

Wolter Kaper - Sleepbare items: controller class TaaksController < ApplicationController def index #...zet het view neer… #volgorde in de database vastleggen def order order = params[:lijst] order.each_with_index do |id, position| taak = Taak.find(id) taak.update_attribute(:position, position) end render :text=> "Order is now: "+order.join(", ") end

Voorbeeldjes De drie voorbeeldjes van vandaag: Op “drive k:” onder “ajaxvoorbeeldjes” Wolter Kaper -