mbed connector webapp quickstart
views/index.hbs@0:4233b7b10255, 2017-02-10 (annotated)
- Committer:
- group-Make-NTU-Hackathon
- Date:
- Fri Feb 10 08:36:15 2017 +0000
- Revision:
- 0:4233b7b10255
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
group-Make-NTU-Hackathon | 0:4233b7b10255 | 1 | <!DOCTYPE html> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 2 | <html lang="en"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 3 | <head> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 4 | <meta charset="utf-8"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 6 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 7 | <title>mbed Device Connector Webapp Quickstart</title> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 8 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 9 | <link rel="stylesheet" href="static/css/normalize.css"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 10 | <link rel="stylesheet" href="static/css/foundation.min.css"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 11 | <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 12 | <link rel="stylesheet" href="static/css/styles.css"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 13 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 14 | <!--[if lt IE 9]> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 15 | <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 16 | <![endif]--> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 17 | </head> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 18 | <body> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 19 | <div class="row margin"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 20 | <div class="small-12 columns"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 21 | <div><img src="static/img/ARMmbedLogo.png" alt="ARM mbed"></div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 22 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 23 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 24 | <div class="blueband"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 25 | <div class="row"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 26 | <div class="small-12 columns"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 27 | <h1>Webapp Quickstart</h1> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 28 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 29 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 30 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 31 | <div id="endpoints"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 32 | {{#each endpoints}} |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 33 | <div class="row" id="{{name}}"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 34 | <div class="small-12 columns"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 35 | <div class="row"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 36 | <div class="small-12 columns"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 37 | <h2>{{name}}</h2> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 38 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 39 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 40 | <div class="row"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 41 | <div class="small-12 medium-6 columns"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 42 | <h4>Presses: <span class="presses-value">Unknown</span></h4> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 43 | <label><input type="checkbox" class="subscribe-presses"> Subscribe</label> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 44 | <button class="get-presses">GET</button> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 45 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 46 | <div class="small-12 medium-6 columns"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 47 | <h4>LED Blink Pattern</h4> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 48 | <div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 49 | <input type="text" value="{{blinkPattern}}" class="blink-pattern"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 50 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 51 | <div class="row"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 52 | <div class="small-6 columns"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 53 | <button class="update-blink-pattern">Update (PUT)</button> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 54 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 55 | <div class="small-6 columns text-right"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 56 | <button class="blink">Blink (POST)</button> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 57 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 58 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 59 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 60 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 61 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 62 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 63 | {{/each}} |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 64 | </div> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 65 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 66 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 67 | <script type="text/javascript" src="/static/js/jquery-2.1.4.min.js"></script> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 68 | <script type="text/javascript" src="/static/js/socket.io.js"></script> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 69 | <script type="text/javascript"> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 70 | $(function() { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 71 | var socket = io(); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 72 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 73 | $('#endpoints').children().each(function(index, element) { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 74 | var _this = $(this); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 75 | _this.find('.subscribe-presses').change(function() { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 76 | if ($(this).is(":checked")) { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 77 | _this.find('.get-presses').prop('disabled', true); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 78 | socket.emit('subscribe_to_presses', { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 79 | endpointName: _this.attr('id') |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 80 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 81 | } else { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 82 | _this.find('.get-presses').prop('disabled', false); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 83 | socket.emit('unsubscribe_to_presses', { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 84 | endpointName: _this.attr('id') |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 85 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 86 | } |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 87 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 88 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 89 | _this.find('.get-presses').on('click', function() { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 90 | socket.emit('get_presses', { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 91 | endpointName: _this.attr('id') |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 92 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 93 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 94 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 95 | _this.find('.blink-pattern').bind('input', function() { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 96 | _this.find('.update-blink-pattern').addClass('active'); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 97 | }) |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 98 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 99 | _this.find('.update-blink-pattern').on('click', function() { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 100 | socket.emit('update_blink_pattern', { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 101 | endpointName: _this.attr('id'), |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 102 | blinkPattern: _this.find('.blink-pattern').val() |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 103 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 104 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 105 | $(this).removeClass('active'); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 106 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 107 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 108 | _this.find('.blink').on('click', function() { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 109 | socket.emit('blink', { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 110 | endpointName: _this.attr('id') |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 111 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 112 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 113 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 114 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 115 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 116 | socket.on('presses', function (data) { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 117 | console.log('presses', data); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 118 | $('#' + data.endpointName + ' .presses-value').html(data.value); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 119 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 120 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 121 | socket.on('subscribed-to-presses', function (data) { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 122 | console.log('subscribed-to-presses', data); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 123 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 124 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 125 | socket.on('unsubscribed-to-presses', function (data) { |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 126 | console.log('unsubscribed-to-presses', data); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 127 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 128 | |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 129 | }); |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 130 | </script> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 131 | </body> |
group-Make-NTU-Hackathon | 0:4233b7b10255 | 132 | </html> |