72

Web Components changes Web Development

Embed Size (px)

Citation preview

Page 1: Web Components changes Web Development
Page 2: Web Components changes Web Development
Page 3: Web Components changes Web Development
Page 4: Web Components changes Web Development
Page 5: Web Components changes Web Development
Page 6: Web Components changes Web Development
Page 7: Web Components changes Web Development
Page 8: Web Components changes Web Development
Page 9: Web Components changes Web Development
Page 10: Web Components changes Web Development
Page 11: Web Components changes Web Development
Page 12: Web Components changes Web Development
Page 13: Web Components changes Web Development
Page 14: Web Components changes Web Development
Page 15: Web Components changes Web Development
Page 16: Web Components changes Web Development
Page 17: Web Components changes Web Development
Page 18: Web Components changes Web Development
Page 19: Web Components changes Web Development
Page 20: Web Components changes Web Development

var XElementPrototype = Object.create(HTMLElement.prototype); var XElement = document.registerElement('x-element', { prototype: XElementPrototype }); new XElement();

Page 21: Web Components changes Web Development

var XElementPrototype = Object.create(HTMLElement.prototype); XElementPrototype.createdCallback = function () { console.log('created'); }; XElementPrototype.attachedCallback = function () { console.log('attached'); }; XElementPrototype.detachedCallback = function () { console.log('detached'); }; XElementPrototype.attributeChangedCallback = function () { console.log('attribute changed'); }; var XElement = document.registerElement('x-element', { prototype: XElementPrototype }); new XElement();

Page 22: Web Components changes Web Development
Page 23: Web Components changes Web Development
Page 24: Web Components changes Web Development
Page 25: Web Components changes Web Development

<template id='tmpl'> <style> input, button { border: 1px solid #000; border-radius: 3px; } </style> <input type='text'> <button>Button</button> </template>

Page 26: Web Components changes Web Development
Page 27: Web Components changes Web Development
Page 28: Web Components changes Web Development
Page 29: Web Components changes Web Development

var template = document.querySelector('#tmpl'); var div = document.querySelector('div');

var clone = document.importNode(template.content, true); var shadowRoot = div.createShadowRoot();

shadowRoot.appendChild(clone);

Page 30: Web Components changes Web Development
Page 31: Web Components changes Web Development

<html> <head> <title>x-element</title> <link rel='import' href='x-element.html'> </head> <body> <x-element></x-element> </body> </html>

Page 32: Web Components changes Web Development
Page 33: Web Components changes Web Development
Page 34: Web Components changes Web Development
Page 35: Web Components changes Web Development
Page 36: Web Components changes Web Development

var options = { zoom: 10, center: new google.map.LatLng(-34.397, 150.644) }; var mapCanvas = document.getElementById('map-canvas'); var map = new google.maps.Map(mapCanvas, options);

var marker = new google.maps.Marker({ position: new google.map.LatLng(-34.397, 150.644), map: map, title: 'Hello World!' });

var flightPlanCoordinates = [ new google.maps.LatLng(37.772323, -122.214897), new google.maps.LatLng(21.291982, -157.821856), new google.maps.LatLng(-18.142599, 178.431), new google.maps.LatLng(-27.46758, 153.027892) ]; var flightPath = new google.maps.Polyline({ path: flightPlanCoordinates, geodesic: true, strokeColor: '#FF0000', strokeOpacity: 1.0, strokeWeight: 2

Page 37: Web Components changes Web Development
Page 38: Web Components changes Web Development
Page 39: Web Components changes Web Development

<google-map latitude=“37.77493" longitude=“-122.41942"> </google-map>

Page 40: Web Components changes Web Development
Page 41: Web Components changes Web Development
Page 42: Web Components changes Web Development
Page 43: Web Components changes Web Development

<x-notification autoshow title='Notification Title' delay='1000' timeout='3000' tag=‘tag’>Body Text</x-notification>

Page 44: Web Components changes Web Development
Page 45: Web Components changes Web Development
Page 46: Web Components changes Web Development
Page 47: Web Components changes Web Development
Page 48: Web Components changes Web Development
Page 49: Web Components changes Web Development
Page 50: Web Components changes Web Development
Page 51: Web Components changes Web Development

<template> <p>lorem ipsum</p> </template> <script> var XElement = document.registerElement('x-element', { prototype: { createdCallback: function () { var template = document.querySelector('template'); var clone = document.importNode(template.content, true); var shadowRoot = element.createShadowRoot(); shadowRoot.appendChild(clone); } } }); </script>

Page 52: Web Components changes Web Development
Page 53: Web Components changes Web Development

<polymer-element name='x-element'> <template> <p>lorem ipsum</p> </template> </polymer-element>

Page 54: Web Components changes Web Development
Page 55: Web Components changes Web Development
Page 56: Web Components changes Web Development
Page 57: Web Components changes Web Development
Page 58: Web Components changes Web Development
Page 59: Web Components changes Web Development
Page 60: Web Components changes Web Development

Page 61: Web Components changes Web Development
Page 62: Web Components changes Web Development
Page 63: Web Components changes Web Development
Page 64: Web Components changes Web Development
Page 65: Web Components changes Web Development
Page 66: Web Components changes Web Development
Page 67: Web Components changes Web Development
Page 68: Web Components changes Web Development
Page 69: Web Components changes Web Development
Page 70: Web Components changes Web Development
Page 71: Web Components changes Web Development
Page 72: Web Components changes Web Development