Making a live edit contact list with Coldbox REST & Vue.js
|
|
- Leon Willis
- 5 years ago
- Views:
Transcription
1 Tweet Making a live edit contact list with Coldbox REST & Vue.js Scott Steinbeck Mar 28, 2016 Today we will be making a contact database that you can quickly and easily manage using ColdBox and Vue.js. We will be using bootstrap in our project to make it the UI look a little better but it is completely optional if you want to use this in your own project. For this project I will be using CommandBox to generate all my files. TL;DR: View the repo here Lets Begin. Step 1: You can skip this step if you already have a project set up. From CommandBox run: coldbox create app name=cbvue skeleton=rest --installcoldbox This will give us a minimal project with a handlers\basehandler.cfc (needed to make our life easy when creating a REST API) and an handlers\echo.cfc which is an example usage to get you started. Now that we have our project started we need to tweak a few things.
2 First, since this is a template that is expecting to be setup for REST only, the Echo.cfc is set to be the default entry point. Since we want to create a view that accesses a REST API we need to point that to a view. Step 2: Create you default Layout & View. coldbox create layout Main This is going to create our default layout. A layout is the outer template that you content will go inside. The layout will be created in layouts/main.cfm. Navigate to that folder and replace the content with this: <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initialscale=1"> <title>coldbox & Vue.js</title> <link rel="stylesheet" href=" n.css"> <script type="text/javascript" src=" <script type="text/javascript" src=" </head> <body> <main> <cfoutput>#renderview()#</cfoutput> </main> <script src=" "></script> <script
3 src=" js"></script> </body> </html> This contain some boilerplate code to get our page setup and includes all of our libraries that will be needed. Again, the only libraries needed for this project are vue.js & vue-resource, everything else is just for UI. coldbox create view main\index --helper This will create 2 files: view/main/index.cfm, view/main/indexhelper.cfm. index.cfm will contain the HTML table and form we will be interacting with. indexhelper.cfm (a file automatically included when we load index.cfm) will contain all of our code for vue.js. The helper file is a connivence provided by ColdBox to help organize your code into separate files. Now before we go too far, we need to change the default entry point to be our new index so that we will see the correct view. Navigate to config/coldbox.cfc. In our settings we are going to change: defaultevent = "Main.index", From this point is is time to start your server start --rewritesenable --force As a side note if your on CommandBox latest stable version you can also create a server.json file in the root of your project which will enable you to store all of your settings so when you want to start your server up in CommandBox you just type:
4 start I have included my server.json in the repo if you want to take a look. Step 3. Creating the REST API We need a place to store our data so we will use a model, since we have been using CommandBox to generate our files we will continue to do so: coldbox create model name=contactservice properties=contacts,lastid -- accessors This will create 2 files: models/contactservices.cfc, tests/specs/unit/contactservicestest.cfc. Navigate to our models/contactservices.cfc, file and add this inside your init function: variables.contacts = { "1" : {"id": 1, "firstname": "Scott", "lastname": "Steinbeck", "phone": " ", " ": "scottsteinbeck@ .com" "2" : {"id": 2, "firstname": "Scott", "lastname": "Coldwell", "phone": " ", " ": "scottcoldwell@ .com" "3" : {"id": 3, "firstname": "Jon", "lastname": "Clausen", "phone": " ", " ": "johnclausen@ .com" "4" : {"id": 4, "firstname": "Eric", "lastname": "Peterson", "phone": " ", " ": "ericpeterson@ .com" "5" : {"id": 5, "firstname": "Andrew", "lastname": "Dixon", "phone": " ", " ": "andrewdixon@ .com" "6" : {"id": 6, "firstname": "Gavin", "lastname": "Pickin", "phone": " ", " ": "gavinpickin@ .com" "7" : {"id": 7, "firstname": "Brad", "lastname": "Wood", "phone": " ", " ": "bradwood@ .com" "8" : {"id": 8, "firstname": "Luis", "lastname": "Majano", "phone": " ", " ": "luismajano@ .com" "9" : {"id": 9, "firstname": "Jorge", "lastname": "Reyes", "phone": " ", " ": "jorgereyes@ .com" ;
5 variables.lastid = 10; This is just some default table rows to get us started seeing some data. Instead of adding a database into the mix i thought it would be easier to persist this in the singleton scope to make it simpler to walk though. This just makes it persist across refreshes and starts us at an increment number when we create new items. In case you are new to ColdBox you may be unfamiliar with the SINGLETON scope, it is one of the many scopes provided by WireBox to persist your data. For more detailed information check out: Wirebox Scopes BTW: This model can easily be modified to use a database instead, and the best part is you can do it without ever making any changes to the front end :) Now that our data is created lets create some helper methods for accessing & changing our data. Below your init function paste the following code: /** * Get all contacts */ struct function getall(){ return variables.contacts; /** * save and return all contacts The id to save/update The data record */ struct function save( required contactid, required data ){ // insert, move lastid if( arguments.contactid == 0 ){ arguments.contactid = variables.lastid; arguments.data.id = variables.lastid; variables.lastid++; // Store data variables.contacts[ arguments.contactid ] = arguments.data;
6 return variables.contacts; /** * Remove a contact The incoming ID */ struct function remove( required contactid ){ structdelete( variables.contacts, arguments.contactid ); return variables.contacts; The methods should be pretty self explanatory, they allow us to keep the logic of data manipulation in the model so when we access it we can just simply call getall(), save(), and remove(). This is extremely useful because all of your data logic is separated from the controller and in one place. Since we already had a handler created handlers/echo.cfc I decided to rename this handler to Contacts.cfc and changed its contents. Open up the file once you change the name and copy in the content below: /** * My RESTFul Contact Handler */ component extends="basehandler"{ // Dependency Injection property name="contactservice" inject="contactservice"; This is the base code that will extend our BaseHandler.cfc so we get all our RESTful helpers. Additionally, we inject our ContactService.cfc into our handler to use the helper methods we defined earlier. The first API action is view which will list all of the contacts we have in our data: /** * List All Contacts
7 */ any function view( event, rc, prc ){ prc.response.setdata( contactservice.getall() ); This will grab the data from the session and send it back as JSON Our next action is save which, as it suggests, will save an existing row or add a new one. /** * Save A Contact */ any function save( event, rc, prc ){ var requestbody = deserializejson( tostring( gethttprequestdata().content ) ); var scontacts = contactservice.save( requestbody.id, requestbody ); prc.response.setdata( scontacts ); You will notice something weird here event.gethttpcontent( json=true );, normally you would grab the data from the rc scope, but the vue-resource sends the data through the headers instead of the FORM or URL scope so we have to grab it from there. Once we have the data posted we send the contact data to the ContactService so we can check if it has an existing id, if it is 0 we know its a new record, so we will create the new record, otherwise we will just update the existing data, then we send back the new data. Lastly we will make it so you can delete a contact: /** * Delete An Existing Contact */ any function remove( event, rc, prc ){
8 var scontacts = contactservice.remove( rc.contactid ); prc.response.setdata( scontacts ); Now that our handler is done we need to add our routes for this handler so that we can map our functions to RESTful actions. Open up your config/routes.cfm file and add this line right above the route that says addroute(pattern=":handler/:action?"); -- the order is important. addroute(pattern = 'contacts/:contactid?',handler = 'contacts',action = {GET = 'view', POST = 'save', PUT = 'save', DELETE = 'remove'); Ok, now that we have our RESTful functions ready, we can start working on our front end. Step 4. Creating our view Open up your views/main/index.cfm that you created earlier. Inside you will copy in the html below <div id="app" class="container"> <div class="row"> <div class="col-sm-4"> <div class="panel panel-default"> <div class="panel-heading"> <strong>add/edit Contact</strong> </div> <div class="panel-body"> <div> <div class="form-group"><input v-model="contactitem.firstname" class="form-control" value="" placeholder="first Name"></div> <div class="form-group"><input v-model="contactitem.lastname" class="form-control" value="" placeholder="last Name"></div> <div class="form-group"><input v-model="contactitem.phone" class="form-control" value="" placeholder="phone"></div> <div class="form-group"><input v-model="contactitem. " class="form-control" value="" placeholder=" "></div>
9 <button class="btn <button class="btn </div> </div> </div> </div> <div class="col-sm-8"> <table class="table"> <thead> <tr> <th>first Name</th> <th>last Name</th> <th>phone</th> <th> </th> <th></th> </tr> </thead> <tbody> <tr v-for="contact in contacts"> <td>{{contact.firstname</td> <td>{{contact.lastname</td> <td>{{contact.phone</td> <td>{{contact. </td> type="button" class="btn btn-primary">edit</button></td> type="button" class="btn btn-danger">x</button></td> </tr> </tbody> </table> </div> </div> </div> This creates the html for our Contact Table & Contact Editor. You will notice some odd looking code if you are not familar with Vue.js or Angular JS: v-model="contactitem.firstname"
10 v-for="contact in {{contact. This is how Vue.js communicates with your code.. v-model="contactitem.firstname" v-model, which is part of the form, binds together the form field and the Vue.js controller so they are aware of eachother. v-for="contact in contacts" v-for, is how Vue.js loops through a list of data, this can be used for any type is basically equivalent to the onclick method, accept, this way the even is registered with the Vue.js controller so it can do something when you click it. {{contact. {{contact. is known as handlebar syntax. This is how you define variables so Vue.js knows to replace them with that contact for instance. Step 4. Continued The Vue.js Controller We will copy the following code into the views/main/indexhelper.cfm file. This file gets appended after our views/main/index.cfm. <script>
11 $( document ).ready(function() { new Vue({ // Where the app will be instantiated on the page el: '#app', // Variables that you want it to have access to or start out with data: { contactitem: { id:0, firstname:'', lastname:'', phone:'', '' contacts: [] // When this module is ready run this ready: function() { this.loadcontacts(); // All the methods you want the view to have access to, basically an object of functions methods: { loadcontacts: function() { var _this = this; // Get the list of contacts this.$http.get('/contacts').then(function(result) { // Update the list with the new data _this.$set('contacts', result.data.data); ); loadcontact: function(contact) { // Set the form with the contact row information this.contactitem = contact; savecontact: function() { var _this = this; // Save the new contact information
12 this.$http.post('contacts', _this.contactitem).then(function(result) { // Reset the form to detault _this.contactitem = {id:0, firstname:'', lastname:'', phone:'', ''; // Update the list with the new data return _this.$set('contacts', result.data.data); ); cancelsave: function(){ // Reset the form to detault return this.contactitem = {id:0, firstname:'', lastname:'', phone:'', ''; deletecontact: function(contact) { var _this = this; //Delete the contact this.$http.delete('/contacts/' + contact.id).then(function(result) { // Update the list with the new data _this.$set('contacts', result.data.data); ); ); ); </script> Lastly we have the controller. This is where all the magic happens... el: '#app', Tells Vue that all of our logic will be nested within the <div id="app"></div> data: { contactitem: { id:0,
13 firstname:'', lastname:'', phone:'', '' contacts: [] data is a struct of information it is pulling from, here we are providing defaults but you can also populate the data statically and it will use that information. // When this module is ready run this ready: function() { this.loadcontacts(); loadcontacts: function() { var _this = this; // Get the list of contacts this.$http.get('/contacts').then(function(result) { // Update the list with the new data _this.$set('contacts', result.data.data); ); ready is fired once the Vue Component is loaded. What we are doing here is calling the ajax function that will load our table with data from our ColdBox RESTful API. Gotcha** - Vue only knows about nested data changes if you use its built in functions (.$set,.$delete) otherwise you will be scratching your head for a while
14 _this.$set('contacts', result.data.data); Load Contact - will load in our contact data into the form for editing. Notice the this.contactitem is being set to contact. loadcontact: function(contact) { // Set the form with the contact row information this.contactitem = contact; Here the entire row of data is being sent as an argument when you click on the Edit button. type="button" class="btn btn-primary">edit</button></td> So we are setting the this.contactitem = contact; Now in our code we have the form set up with: v-model="contactitem.firstname" which means as soon as the this.contactitem has updated data it is going to update the v-model that is connected to that data. Once the data is populated in the form we can make edits to it and then click either the submit or the cancel button. The respective code is below.
15 savecontact: function() { var _this = this; // Save the new contact information this.$http.post('contacts', _this.contactitem).then(function(result) { // Reset the form to detault _this.contactitem = {id:0, firstname:'', lastname:'', phone:'', ''; // Update the list with the new data return _this.$set('contacts', result.data.data); ); cancelsave: function(){ // Reset the form to detault return this.contactitem = {id:0, firstname:'', lastname:'', phone:'', ''; Since the default data sends an id = 0 we can decide if we need to create a new item or edit an existing item. Last on our list for the Vue Controller is the Delete. Basically here we are just sending back the id to our API with the delete verb and our API will take care of deleting the entry and returning our new data set back to us. deletecontact: function(contact) { var _this = this; //Delete the contact this.$http.delete('/contacts/' + contact.id).then(function(result) { // Update the list with the new data _this.$set('contacts', result.data.data); ); So thats it. All you need is a few files (Most of which can be generated by CommandBox) and you have got yourself a fully functional contacts manager.
16 The Code: View the repo here Copyright Ortus Solutions, Corp.
Front-End UI: Bootstrap
Responsive Web Design BootStrap Front-End UI: Bootstrap Responsive Design and Grid System Imran Ihsan Assistant Professor, Department of Computer Science Air University, Islamabad, Pakistan www.imranihsan.com
More informationWorking Bootstrap Contact form with PHP and AJAX
Working Bootstrap Contact form with PHP and AJAX Tutorial by Ondrej Svestka Bootstrapious.com Today I would like to show you how to easily build a working contact form using Boostrap framework and AJAX
More informationAngularJS. CRUD Application example with AngularJS and Rails 4. Slides By: Jonathan McCarthy
AngularJS CRUD Application example with AngularJS and Rails 4 1 Slides By: Jonathan McCarthy Create a new Rails App For this example we will create an application to store student details. Create a new
More informationAngularJS. CRUD Application example with AngularJS and Rails 4. Slides By: Jonathan McCarthy
AngularJS CRUD Application example with AngularJS and Rails 4 1 Slides By: Jonathan McCarthy Create a new Rails App For this example we will create an application to store student details. Create a new
More informationQuick.JS Documentation
Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................
More informationSession 5. Web Page Generation. Reading & Reference
Session 5 Web Page Generation 1 Reading Reading & Reference https://en.wikipedia.org/wiki/responsive_web_design https://www.w3schools.com/css/css_rwd_viewport.asp https://en.wikipedia.org/wiki/web_template_system
More informationClient Side JavaScript and AJAX
Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is
More informationThis project will use an API from to retrieve a list of movie posters to display on screen.
Getting Started 1. Go to http://quickdojo.com 2. Click this: Project Part 1 (of 2) - Movie Poster Lookup Time to put what you ve learned to action. This is a NEW piece of HTML, so start quickdojo with
More informationweb-sockets-homework Directions
web-sockets-homework Directions For this homework, you are asked to use socket.io, and any other library of your choice, to make two web pages. The assignment is to create a simple box score of a football
More informationUsing Visual Studio 2017
C H A P T E R 1 Using Visual Studio 2017 In this chapter, I explain the process for installing Visual Studio 2017 and recreate the Party Invites project from Chapter 2 of Pro ASP.NET Core MVC. As you will
More informationManual Html A Href Onclick Submit Button
Manual Html A Href Onclick Submit Button When you submit the form via clicking the radio button, it inserts properly into Doing a manual refresh (F5 or refresh button) will then display the new updated
More informationProject Part 2 (of 2) - Movie Poster And Actor! - Lookup
Getting Started 1. Go to http://quickdojo.com 2. Click this: Project Part 2 (of 2) - Movie Poster And Actor! - Lookup This is an extension of what you did the last time (the Movie Poster lookup from Week
More informationUI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML
UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective
More informationManual Html A Href Onclick Submit Form
Manual Html A Href Onclick Submit Form JS HTML DOM. DOM Intro DOM Methods HTML form validation can be done by a JavaScript. If a form field _input type="submit" value="submit" /form_. As shown in a previous
More informationdjango-rest-framework-datatables Documentation
django-rest-framework-datatables Documentation Release 0.1.0 David Jean Louis Aug 16, 2018 Contents: 1 Introduction 3 2 Quickstart 5 2.1 Installation................................................ 5
More informationTen good practices for ASP.NET MVC applications
Ten good practices for ASP.NET MVC applications Dino Esposito JetBrains dino.esposito@jetbrains.com @despos facebook.com/naa4e Options for Web development Fully serverside Fully clientside Hybrid SPA And
More informationAngularJS AN INTRODUCTION. Introduction to the AngularJS framework
AngularJS AN INTRODUCTION Introduction to the AngularJS framework AngularJS Javascript framework for writing frontend web apps DOM manipulation, input validation, server communication, URL management,
More informationDingle Coderdojo 6. Project Part 2 (of 2) - Movie Poster And Actor! - Lookup. Week 6
Dingle Coderdojo 6 Week 6 Project Part 2 (of 2) - Movie Poster And Actor! - Lookup This is an extension of what you did the last time (the Movie Poster lookup from Week 5). Make sure you ve finished that
More informationResponsive Web Design and Bootstrap MIS Konstantin Bauman. Department of MIS Fox School of Business Temple University
Responsive Web Design and Bootstrap MIS 2402 Konstantin Bauman Department of MIS Fox School of Business Temple University Exam 3 (FINAL) Date: 12/06/18 four weeks from now! JavaScript, jquery, Bootstrap,
More informationStatic Webpage Development
Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction
More informationIntroduction to AngularJS
CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop
More informationProduced by. Agile Software Development. Eamonn de Leastar
Agile Software Development Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie Pacemaker
More informationFront End Programming
Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page
More informationMobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue
Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native
More informationIntroduction to Computer Science Web Development
Introduction to Computer Science Web Development Flavio Esposito http://cs.slu.edu/~esposito/teaching/1080/ Lecture 14 Lecture outline Discuss HW Intro to Responsive Design Media Queries Responsive Layout
More informationKendo UI Builder by Progress : Using Kendo UI Designer
Kendo UI Builder by Progress : Using Kendo UI Designer Notices 2016 Telerik AD. All rights reserved. November 2016 Last updated with new content: Version 1.1 3 Notices 4 Contents Table of Contents Chapter
More informationColdBox Platform 4.0 AND BEYOND
ColdBox Platform 4.0 AND BEYOND Who am I? ColdFusion Architect (12 years) Geek Android Lover Blogger (codersrevolution.com) ColdBox Platform Evangelist Musician Shade-Tree Mechanic Husband (11 years) Dad
More informationLecture 7. Action View, Bootstrap & Deploying 1 / 40
Lecture 7 Action View, Bootstrap & Deploying 1 / 40 Homeworks 5 & 6 Homework 5 was graded Homework 6 was due last night Any questions? 2 / 40 How would you rate the di culty of Homework 6? Vote at http://pollev.com/cis196776
More informationLAMPIRAN. Index.php. <?php. unset($_session["status"]); //session_destroy(); //session_destroy();
LAMPIRAN Index.php unset($_session["status"]); //session_destroy(); //session_destroy();?>
More informationFatModel Quick Start Guide
FatModel Quick Start Guide Best Practices Framework for ASP.Net MVC By Loma Consulting February 5, 2016 Table of Contents 1. What is FatModel... 3 2. Prerequisites... 4 Visual Studio and Frameworks...
More informationPaythru Remote Fields
Paythru Remote Fields Paythru Remote Fields are an alternative integration method for the Paythru Client POST API. The integration consists of contructing a basic javascript configuration object and including
More informationTHE HITCHHIKERS GUIDE TO. Harper Maddox CTO, EdgeTheory 30 September 2014
THE HITCHHIKERS GUIDE TO! Harper Maddox CTO, EdgeTheory 30 September 2014 DON T PANIC ENJOYMENT OF ANGULAR Services, Modules promises, directives Angular RULEZ I m doing it wrong @#$% Taken from Alicia
More informationHigh Performance Single Page Application with Vue.js
High Performance Single Page Application with Vue.js Premise Static HTML and simple web-pages are already a history now. The novel web applications are advanced and do a lots of functionalities. Also,
More informationAngularJS Intro Homework
AngularJS Intro Homework Contents 1. Overview... 2 2. Database Requirements... 2 3. Navigation Requirements... 3 4. Styling Requirements... 4 5. Project Organization Specs (for the Routing Part of this
More informationTHE LAUNCHER. Patcher, updater, launcher for Unity. Documentation file. - assetstore.unity.com/publishers/19358
THE LAUNCHER Patcher, updater, launcher for Unity. Documentation file Index: 1.What does the Launcher do? 2.Workflow 3.How to upload a build? 4.How to configure the launcher client? 1.What does the Launcher
More informationUnderstanding Angular Directives By Jeffry Houser
Understanding Angular Directives By Jeffry Houser A DotComIt Whitepaper Copyright 2016 by DotComIt, LLC Contents A Simple Directive... 4 Our Directive... 4 Create the App Infrastructure... 4 Creating a
More informationAkumina Digital Workplace
Akumina Digital Workplace Developer Guide Version 1.1 (May 2016) Table of Contents TABLE OF CONTENTS... 2 AN INTRODUCTION TO THE DIGITAL WORKPLACE FRAMEWORK... 3 Understanding Callbacks... 3 Understanding
More informationBy the end of this Angular 6 tutorial, you'll learn by building a real world example application:
Throughout this Angular 6 tutorial, we'll learn to build a full-stack example web application with Angular 6, the latest version of Angular The most popular framework/platform for building mobile and desktop
More informationInstallation Guide. Sitecore Federated Experience Manager. Installation & Configuration Guide
Sitecore Federated Experience Manager Installation Guide Rev: 23 August 2014 Sitecore Federated Experience Manager Installation Guide Installation & Configuration Guide Table of Contents Chapter 1 Overview...
More informationHuman-Computer Interaction Design
Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 4 - Simulating a backend without needing a server (2017-11-03) made by Philip Guo, derived from labs by Michael
More informationStamp Builder. Documentation. v1.0.0
Stamp Email Builder Documentation http://getemailbuilder.com v1.0.0 THANK YOU FOR PURCHASING OUR EMAIL EDITOR! This documentation covers all main features of the STAMP Self-hosted email editor. If you
More informationSimple AngularJS thanks to Best Practices
Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it
More informationUX/UI Controller Component
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:mrte:ux_ui:ux_ui_controller_component_3.5 UX/UI Controller Component Outline egovframework offers the user an experience to enjoy one of the most
More informationDescription: This feature will enable user to send messages from website to phone number.
Web to Phone text message Description: This feature will enable user to send messages from website to phone number. User will use this feature and can send messages from website to phone number, this will
More informationMarkup Language. Made up of elements Elements create a document tree
Patrick Behr Markup Language HTML is a markup language HTML markup instructs browsers how to display the content Provides structure and meaning to the content Does not (should not) describe how
More informationUnifer Documentation. Release V1.0. Matthew S
Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................
More informationDrag and Drop Form Builder. Data Verity #2 Erikka Baker James Miller Jordan Schmerge
Drag and Drop Form Builder Data Verity #2 Erikka Baker James Miller Jordan Schmerge June 21, 2016 Table of Contents Introduction Requirements System Architecture Technical Design Component Highlighting
More informationLab 1 - Introduction to Angular
Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get
More informationWe are assuming you have node installed!
Node.js Hosting We are assuming you have node installed! This lesson assumes you've installed and are a bit familiar with JavaScript and node.js. If you do not have node, you can download and install it
More informationFor your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to
For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author...
More informationAdvantages: simple, quick to get started, perfect for simple forms, don t need to know how form model objects work
1 Forms 1.1 Introduction You cannot enter data in an application without forms. AngularJS allowed the user to create forms quickly, using the NgModel directive to bind the input element to the data in
More informationThe core of Tapestry's form support is the Form component. The Form component encloses (wraps around) all the other field components such
Forms and Validation Forms are the traditional way for most web applications to gather significant information from the user. Whether it's a search form, a login screen or a multi-page registration wizard,
More informationNagaraju Bende
AngularJS Nagaraju Bende Blog Twitter @nbende FaceBook nbende http://angularjs.org Agenda Introduction to AngularJS Pre-Requisites Why AngularJS Only Getting Started MV* pattern of AngularJS Directives,
More informationUsing Development Tools to Examine Webpages
Chapter 9 Using Development Tools to Examine Webpages Skills you will learn: For this tutorial, we will use the developer tools in Firefox. However, these are quite similar to the developer tools found
More informationSingle Page Applications using AngularJS
Single Page Applications using AngularJS About Your Instructor Session Objectives History of AngularJS Introduction & Features of AngularJS Why AngularJS Single Page Application and its challenges Data
More informationBlueMix Hands-On Workshop Lab A - Building and Deploying BlueMix Applications
BlueMix Hands-On Workshop Lab A - Building and Deploying BlueMix Applications Version : 4.00 Last modification date : 13 June 2014 Owner : IBM Ecosystem Development Table of Contents Part 1: Building
More informationSpring Data JPA, Spring Boot, Oracle, AngulerJS 적용게시판실습 게시판리스트보기.
Spring Data JPA, Spring Boot, Oracle, AngulerJS 적용게시판실습 http://ojc.asia, http://ojcedu.com 게시판리스트보기 Spring JDBC 또는 MyBatis로만들때보다쉽고빠르게작성할수있다. 스프링컨트롤러는 RestController를적용했으며, 뷰페이지에 Bootstrap 및 AngulerJS 적용했다.
More informationP a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages
P a g e 1 Online Course k72853 Scripting and Web Languages P a g e 2 Title Estimated Duration (hrs) JsRender Fundamentals 2 Advanced JsRender Features 3 JavaScript SPA: Getting Started with SPA in Visual
More informationUser manual Scilab Cloud API
User manual Scilab Cloud API Scilab Cloud API gives access to your engineering and simulation knowledge through web services which are accessible by any network-connected machine. Table of contents Before
More informationJquery Manually Set Checkbox Checked Or Not
Jquery Manually Set Checkbox Checked Or Not Working Second Time jquery code to set checkbox element to checked not working. Apr 09 I forced a loop to show checked state after the second menu item in the
More informationLearning Objectives. Description. Your AU Expert(s) Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co.
PL17257 JavaScript and PLM: Empowering the User Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co. Learning Objectives Using items and setting data in a Workspace Setting Data in Related Workspaces
More informationSEEM4570 System Design and Implementation. Lecture 3 Events
SEEM4570 System Design and Implementation Lecture 3 Events Preparation Install all necessary software and packages. Follow Tutorial Note 2. Initialize a new project. Follow Lecture Note 2 Page 2. Reset
More informationPlantVisorPRO Plant supervision
PlantVisorPRO Plant supervision Software Development Kit ver. 2.0 Integrated Control Solutions & Energy Savings 2 Contents 1. Key... 5 2. Context... 5 3. File Structure... 6 4. Log Structure and error
More informationComprehensive AngularJS Programming (5 Days)
www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel
About the Tutorial Laravel is a powerful MVC PHP framework, designed for developers who need a simple and elegant toolkit to create full-featured web applications. Laravel was created by Taylor Otwell.
More informationJQUERYUI - WIDGET FACTORY
JQUERYUI - WIDGET FACTORY http://www.tutorialspoint.com/jqueryui/jqueryui_widgetfactory.htm Copyright tutorialspoint.com Earlier, the only way to write custom controls in jquery was to extend the $.fn
More informationjmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc.
jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Agenda What is and Why jmaki? jmaki widgets Using jmaki widget - List widget What makes up
More informationAngularJS Examples pdf
AngularJS Examples pdf Created By: Umar Farooque Khan 1 Angular Directive Example This AngularJS Directive example explain the concept behind the ng-app, ng-model, ng-init, ng-model, ng-repeat. Directives
More informationCSE 115. Introduction to Computer Science I
CSE 115 Introduction to Computer Science I Road map Review JSON Chat App - Part 1 AJAX Chat App - Part 2 Front End JavaScript first Web Page my content
More informationWeb API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs.
Web API Lab In this lab, you will produce three deliverables in folder 07_webApi : 1. A server side Web API (named webapi.jsp) that accepts an input parameter, queries your database, and then returns a
More informationFrontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web
Frontend Frameworks SWE 432, Fall 2016 Design and Implementation of Software for the Web Today How do we build a single page app without dying? MVC/MVVM (AngularJS) For further reading: Book: Learning
More informationModern and Responsive Mobile-enabled Web Applications
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 110 (2017) 410 415 The 12th International Conference on Future Networks and Communications (FNC-2017) Modern and Responsive
More informationIntegrated Dashboard Design
Integrated Dashboard Design integrating Zabbix data with other systems Lukasz Lipski IT Operations Specialist, Nordea Bank Polska SA September 2013 NORDEA IT POLAND AND BALTIC COUNTRIES IT support for
More informationHTML 5 Form Processing
HTML 5 Form Processing In this session we will explore the way that data is passed from an HTML 5 form to a form processor and back again. We are going to start by looking at the functionality of part
More informationConnecting Angular and CFML
Connecting Angular and CFML Trip Ward About Me Senior Technical Specialist at ICF Owner & Chief Consultant at Trir Software Software Architecture and Development ColdFusion(1998), Java, jquery, HTML5,
More informationSportsStore: Administration
C H A P T E R 11 SportsStore: Administration In this chapter, I continue to build the SportsStore application in order to give the site administrator a way of managing orders and products. Managing Orders
More informationUser manual Scilab Cloud API
User manual Scilab Cloud API Scilab Cloud API gives access to your engineering and simulation knowledge through web services which are accessible by any network-connected machine. Table of contents Before
More informationReagent. a ClojureScript interface to React. React Amsterdam Meetup 12 Feb. 2015
Reagent a ClojureScript interface to React React Amsterdam Meetup 12 Feb. 2015 Michiel Borkent Twitter: @borkdude Email: michielborkent@gmail.com Clojure(Script) developer at Clojure since 2009 Former
More informationCSC 615 FINAL EXAM SINGLE PAGE APPS. 1. Introduction
CSC 615 FINAL EXAM SINGLE PAGE APPS DR. GODFREY C. MUGANDA 1. Introduction For the final exam, you are going to write a single page application that is basically a JAX-RS web service with a HTML5/JavaScript
More informationThe starter app has a menu + 2 Views : Dashboard. About
Front End The starter app has a menu + 2 Views : Dashboard About All views will be based on structure laid down in Layout layout/main.hbs. Includes Semantic-UI CSS library View content will
More informationRPG Web Apps with AJAX, JSON, and jquery. Lab Examples
RPG Web Apps with AJAX, JSON, and jquery Lab Examples Jim Cooper Jim.cooper@lambtoncollege.ca Jim.cooper@system-method.ca www.system-method.ca Please send corrections and suggestions to jim.cooper@system-method.ca
More informationSAMPLE CHAPTER IN ACTION. Joachim Haagen Skeie MANNING
SAMPLE CHAPTER IN ACTION Joachim Haagen Skeie MANNING Ember.js in Action by Joachim Haagen Skeie Chapter 1 Copyright 2014 Manning Publications brief contents PART 1 EMBER.JS FUNDAMENTALS... 1 1 Powering
More informationWhere are my Lucee and Adobe ColdFusion log files on CommandBox servers?
Tweet Where are my Lucee and Adobe ColdFusion log files on CommandBox servers? Brad Wood Apr 10, 2017 As more people are starting to use CommandBox to start their Adobe ColdFusion and Lucee servers, I've
More informationOverview... 4 JavaScript Charting and Metric Insights... 5
JAVASCRIPT CHARTING Table of Contents Overview... 4 and Metric Insights... 5 Chart Types...11 Overview of JavaScript chart types...12 d3...13 Highcharts...16 Highstock...18 Google...19 nvd3...21 Dynamic
More informationREST. Web-based APIs
REST Web-based APIs REST Representational State Transfer Style of web software architecture that simplifies application Not a standard, but a design pattern REST Take all resources for web application
More informationWant to read more? You can buy this book at oreilly.com in print and ebook format. Buy 2 books, get the 3rd FREE!
Want to read more? You can buy this book at oreilly.com in print and ebook format. Buy 2 books, get the 3rd FREE! Use discount code: OPC10 All orders over $29.95 qualify for free shipping within the US.
More informationJust Mock It! Leveraging Mock Objects
Just Mock It! Leveraging Mock Objects 1 Who am I? Luis Majano - Computer Engineer Born in San Salvador, El Salvador --> President of Ortus Solutions Manager of the IECFUG (www.iecfug.com) Creator of ColdBox,
More informationThis course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.
HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets
More informationEvent : Common Europe Speaker : Koen Decorte CD-Invest nv
Event : Common Europe 20-06-2017 Speaker : Koen Decorte CD-Invest nv CONTENT WHO ARE WE BACKEND RPG TOOLS FRONT END EXTJS FRAMEWORK JSON INTRO LET RPG TALK JSON BUILD SCREENS IN EXTJS PUTTING EVERYTHING
More informationServerless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016
Serverless Single Page Web Apps, Part Four CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 1 Goals Cover Chapter 4 of Serverless Single Page Web Apps by Ben Rady Present the issues
More informationDjango AdminLTE 2 Documentation
Django AdminLTE 2 Documentation Release 0.1 Adam Charnock Jul 02, 2018 Contents 1 Contents 3 1.1 Quickstart................................................ 3 1.2 Templates & Blocks Reference.....................................
More informationTutorials Php Y Jquery Mysql Database Without Refreshing Code
Tutorials Php Y Jquery Mysql Database Without Refreshing Code Code for Pagination using Php and JQuery. This code for pagination in PHP and MySql gets. Tutorial focused on Programming, Jquery, Ajax, PHP,
More informationThe course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.
Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led
More informationChapter6: Bootstrap 3. Asst.Prof.Dr. Supakit Nootyaskool Information Technology, KMITL
Chapter6: Bootstrap 3 Asst.Prof.Dr. Supakit Nootyaskool Information Technology, KMITL Objective To apply Bootstrap to a web site To know how to build various bootstrap commands to be a content Topics Bootstrap
More informationCSS (Cascading Style Sheets)
CSS (Cascading Style Sheets) CSS (Cascading Style Sheets) is a language used to describe the appearance and formatting of your HTML. It allows designers and users to create style sheets that define how
More informationRoxen Content Provider
Roxen Content Provider Generation 3 Templates Purpose This workbook is designed to provide a training and reference tool for placing University of Alaska information on the World Wide Web (WWW) using the
More informationPHP for PL/SQL Developers. Lewis Cunningham JP Morgan Chase
PHP for PL/SQL Developers Lewis Cunningham JP Morgan Chase 1 What is PHP? PHP is a HTML pre-processor PHP allows you to generate HTML dynamically PHP is a scripting language usable on the web, the server
More informationMobile Web Development
Mobile Web Development By Phil Huhn 2013-04-30 2013 Northern Software Group Agenda Web-site issues for mobile devices Responsive Design Media Queries Twitter Bootstrap As-is (themes) less variables.less
More informationAt the Forge RJS Templates Reuven M. Lerner Abstract The power of Ajax to fetch and run JavaScript generated by your server-side language. The past few months, I've written a number of articles in this
More information