Using AngularJS In APEX. Dan McGhan Senior Technical Consultant

Similar documents
APEX Unplugged Building Oracle Application Express Applications That Can Survive Without the Internet. Dan McGhan Senior Technical Consultant

Single Page Applications using AngularJS

a Very Short Introduction to AngularJS

ANGULARJS - MOCK TEST ANGULARJS MOCK TEST II

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

AngularJS Fundamentals

Simple AngularJS thanks to Best Practices

,

"Charting the Course... Comprehensive Angular. Course Summary

Financial. AngularJS. AngularJS. Download Full Version :

Financial. AngularJS. AngularJS.

ANGULARJS INTERVIEW QUESTIONS

Frontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Advance AngularJS (with.net)

Comprehensive AngularJS Programming (5 Days)

Frontend UI Training. Whats App :

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE

Nagaraju Bende

Index. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI /

Getting Started with

WELCOME. APEX Security Primer. About Enkitec. About the Presenter. ! Oracle Platinum Partner! Established in 2004

Full Stack Web Developer

Angular 2 Programming

Practical Course: Web Development Angular JS Part I Winter Semester 2016/17. Juliane Franze

Design and Implementation of Single Page Application Based on AngularJS

Full Stack Web Developer

Full Stack Developer (FSD) Dot Net

A WEB BASED OFFICE MARKET. CS 297 Project Report Presented to Dr. Christopher Pollett San José State University

Modern and Responsive Mobile-enabled Web Applications

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek

SKILLBUILDERS CALENDAR

Reading Writing Speaking Reading Writing Speaking. English Intermediate Intermediate Elementary Intermediate Intermediate Elementary

Html5 Css3 Javascript Interview Questions And Answers Pdf >>>CLICK HERE<<<

Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools

Questions and Answers from Lukas Ruebbelke s AngularJS In-Depth Course

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE

What is AngularJS. à Javascript Framework à MVC à for Rich Web Application Development à by Google

3 Days Training Program

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

Pick A Winner! In What Tool Should I Develop My Next App?

Web Application Development

Full Stack Developer (FSD) JAVA

<?php function preprocess_drupalcon($presentation) { if ($drupal && $ionic) { if ($ionic[ app ] = Megalomaniac ) { create $presentation } } }?

JavaScript and MVC Frameworks FRONT-END ENGINEERING

OpenMRS 2.0 User Interface Redesign. Darius Jazayeri

Practic Pr al actic Dynamic Actions Intro Jorge Rimblas 1. 1

Building Web Applications

Node Js Mongodb And Angularjs Webydo

Front End Programming

CIS 3308 Web Application Programming Syllabus

Indiana Nimphius and the JavaScript Temple of Doom

August, HPE Propel Microservices & Jumpstart

Tools for Accessing REST APIs

Django with Python Course Catalog

MongoDB Web Architecture

Understanding Angular Directives By Jeffry Houser

INTERNAL AND EXTERNAL VACANCY ANNOUNCEMENT

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework

All India Council For Research & Training

Building JSR-286 portlets using AngularJS and IBM Web Experience Factory

Web & APP Developer Job Assured Course (3 in 1)

CodeValue. C ollege. Prerequisites: Basic knowledge of web development and especially JavaScript.

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,

Building mobile app using Cordova and AngularJS, common practices. Goran Kopevski

Development of web applications using Google Technology

The Now Platform Reference Guide

2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development

Building Single Page Applications - Synerzip Free Webinar (Feb 2014) Page 1 of 13

Data-Centric Single Page Apps with Angular, Web API, and Breeze

Oracle APEX 18.1 New Features

Jquery Manually Set Checkbox Checked Or Not

Full Stack Web Developer Course

SKILLBUILDERS PASSWORD

PHP + ANGULAR4 CURRICULUM 6 WEEKS

The Great SharePoint 2016/2013 Adventure for Developers

Web Components. Reactive Architecture for the Front End. Steven Skelton. Reactive Programming Toronto December 3, 2014

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Web Premium- Advanced UI Development Course. Duration: 08 Months. [Classroom and Online] ISO 9001:2015 CERTIFIED

Ten interesting features of Google s Angular Project

Angular 2 and TypeScript Web Application Development

CMPE 280 Web UI Design and Development

Web Technologies II + Project Management for Web Applications

ANGULAR 10. Christian Ulbrich (Zalari)

Piotr Donicz. Profile. Education. Technical Skills. Date of birth: 11th April Mobile phone:

Open Source Library Developer & IT Pro

Table of Contents. Introduction 1. 1 Jumping Into JavaScript 5. for Loops 17

Byte Academy. Python Fullstack

MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

CMPE 280 Web UI Design and Development

Is the Web good enough for my app? François Daoust W3C Workshop HTML5 vs Native by software.brussels 4 December 2014

mongodb-tornado-angular Documentation

idealab online platform

Application Integration with WebSphere Portal V7

Salesforce Admin & Development Training

Online. Course Packet PYTHON MEAN.NET

& ( ); INSERT INTO ( ) SELECT

Connecting Angular and CFML

About Me. Name: Jonathan Brown. Job: Full Stack Web Developer. Experience: Almost 3 years of experience in WordPress development

Transcription:

Using AngularJS In APEX Dan McGhan Senior Technical Consultant 1

My background Dan McGhan Senior consultant with Enkitec Joined in March 2013 dmcghan@enkitec.com Co-Author, Expert APEX A.K.A that guy that wrote that plug-in JavaScript fanatic 2

About Enkitec Oracle Platinum Partner Established in 2004 Headquartered in Dallas, TX Locations throughout the US & EMEA Specialties include Exadata Implementations Development Services PL/SQL / Java / APEX DBA/Data Warehouse/RAC Business Intelligence 3

Hammer syndrom I call it the law of the instrument, and it may be formulated as follows: Give a small boy a hammer, and he will find that everything he encounters needs pounding ~Abraham Kaplan 4

New Year s Resolutions Get MEAN Mongo, Express, Angular, Node Many other supporting technologies Git, Grunt, Bower, Bootstrap, Yeoman, and many more 5

What is Angular? A JavaScript MVC framework Others include Backbone, Ember, & Knockout Created by and maintained by Google Typically used to build SPAs Requires a new way of thinking 6

Thinking with MVC Developing a UI? think state 1st, actions 2nd. Model the UI's state as observable. Then, make actions that update state. Everything else calls actions to update state, and listens to state changes. Click -> action > state change -> update UI ~Justin B. Meyer 7

Why use Angular in APEX? Your boss wants a Todo app Seems simple enough, APEX to the rescue! 10 minutes later you deliver the app 8

But your boss wants more Dashboard w/today, Tomorrow, & Future columns Inline edit ability w/auto filtering & sorting Drag & drop functionality Custom validations & notifications Who knows what else! 9

Stage 1: Mock it up Download and include Bootstrap Add to /c/todos/vendor Include Bootstrap JS & CSS in page Create HTML region w/html & CSS 10

Stage 1: Mock it up 11

Stage 1: Mock it up 12

Stage 1: Mock it up 13

Stage 2: Get Angular working Download & include Angular Add to /c/todos/vendor Create todos module Move HTML to todos.tpl.html Move CSS to todos.css Include content via ng-app & ng-include 14

Stage 2: Get Angular working 15

Stage 2: Get Angular working 16

What is a directive? Extend HTML w/custom attributes and elements Adds some web component functionality today Angular includes many directives by default Developers can create their own directives 17

Stage 2: Get Angular working app.js 18

Stage 2: Get Angular working 19

Stage 2: Get Angular working 20

Stage 3: Get filter buttons working Create todos-controller.js Link controller to template via ng-controller Use ng-class and ng-click to get buttons working 21

What is a controller? The business logic behind views Typically used for two things Initialize scope Handle interaction with the user 22

What is scope? The glue between the model and the view + = 23

Stage 3: Get filter buttons working todos-controller.js todos.tpl.html 24

Stage 3: Get filter buttons working todos.tpl.html 25

Stage 3: Get filter buttons working 26

Stage 4: Get checkbox working Create PL/SQL procedure to generate JSON Create a service to fetch the data Use module config to override Ajax POST Expose data from service to template Use ng-repeat to iterate over data Create the PL/SQL process to save state Add the save completed method to the service Add ng-change directive 27

Stage 4: Get/set real data GET_TODOS_JSON 28

What is a service? Reusable business logic independent of views Can be created different ways value factory service constant provider 29

Stage 4: Get/set real data todos-service.js 30

Stage 4: Get/set real data app.js 31

Stage 4: Get/set real data todos-controller.js 32

Stage 4: Get/set real data todos.tpl.html 33

Stage 4: Get/set real data SAVE_COMPLETED 34

Stage 4: Get/set real data todos-service.js 35

Stage 4: Get/set real data todos.tpl.html 36

Stage 5: Add filters Add orderby filter Create custom filters for Today Tomorrow Future 37

What is a filter? Ummmm, a filter But wait, there s more! Filters also sort and format date currency uppercase lowercase 38

Stage 5: Add filters todos.tpl.html 39

Stage 5: Add filters today-filter.js 40

Stage 5: Add filters todos.tpl.html 41

Stage 6: Move todos to a directive Move todo HTML to todo.tpl.html Create todo-directive.js 42

Stage 6: Move todos to a directive todo.tpl.html 43

Stage 6: Move todos to a directive todo-directive.js 44

Stage 6: Move todos to a directive todos.tpl.html or 45

Stage 7: Start edit functionality Create DELETE_TODO process Add edit and remove methods to the service Update todo.tpl.html to handle edit state Create todo.css Edit todo directive to use datepicker/timepicker 46

Stage 7: Start edit functionality DELETE_TODO 47

Stage 7: Start edit functionality todos-service.js 48

Stage 7: Start edit functionality todos-service.js 49

Stage 7: Start edit functionality todo.tpl.html 50

Stage 7: Start edit functionality todo.css 51

Stage 7: Start edit functionality todo-directive.js 52

Stage 8: Finish edit functionality Add the UPDATE_TODO process Add save and discardchanges methods to service Update the template to call the methods 53

Stage 8: Finish edit functionality UPDATE_TODO 54

Stage 8: Finish edit functionality todo-service.js 55

Stage 8: Finish edit functionality todo-service.js 56

Stage 8: Finish edit functionality todo.tpl.html 57

Stage 9: Add new ability Add add method to service Add the CREATE_TODO process Update change method to accommodate Update template to call the method 58

Stage 9: Add new ability todo-service.js 59

Stage 9: Add new ability CREATE_TODO 60

Stage 9: Add new ability todo-service.js 61

Stage 9: Add new ability todo-service.js 62

Summary Angular is complex Lots of new terms Steep learning curve But it s also very powerful Feature rich Built for testing (yes, you should be testing) Want to learn more? Google: angularjs in 60ish minutes 63

http://www.enkitec.com 64