Simple chat ionic, using Firebase
Forked from Alexandre Carvalho's Pen Ionic Public Chat Firebase.
A Pen by Captain Anonymous on CodePen.
| <html ng-app="ionicApp"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> | |
| <title>Tabs Example</title> | |
| <link href="http://code.ionicframework.com/nightly/css/ionic.min.css" rel="stylesheet"> | |
| <script src="http://code.ionicframework.com/nightly/js/ionic.min.js"></script> | |
| <script src="http://code.ionicframework.com/nightly/js/angular/angular.min.js"></script> | |
| <script src="http://code.ionicframework.com/nightly/js/angular/angular-animate.js"></script> | |
| <script src="http://code.ionicframework.com/nightly/js/angular/angular-sanitize.min.js"></script> | |
| <script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.10/angular-ui-router.min.js"></script> | |
| <script src="http://code.ionicframework.com/nightly/js/ionic-angular.js"></script> | |
| <script src="https://cdn.firebase.com/js/client/1.0.17/firebase.js"></script> | |
| <script src="https://cdn.firebase.com/libs/angularfire/0.7.1/angularfire.min.js"></script> | |
| <script src="https://rawgithub.com/Luegg/angularjs-scroll-glue/master/src/scrollglue.js"></script> | |
| </head> | |
| <body> | |
| <ion-nav-bar class="nav-title-slide-ios7 bar-positive"> | |
| <ion-nav-back-button class="button-icon ion-arrow-left-c"> | |
| </ion-nav-back-button> | |
| </ion-nav-bar> | |
| <ion-nav-view animation="slide-left-right"></ion-nav-view> | |
| <script id="tabs.html" type="text/ng-template"> | |
| <ion-tabs class="tabs-icon-top tabs-positive"> | |
| <ion-tab title="Home" icon="ion-home" href="#/tab/home"> | |
| <ion-nav-view name="home-tab"></ion-nav-view> | |
| </ion-tab> | |
| <ion-tab title="About" icon="ion-ios7-information" href="#/tab/about"> | |
| <ion-nav-view name="about-tab"></ion-nav-view> | |
| </ion-tab> | |
| <ion-tab title="Contact" icon="ion-ios7-world" ui-sref="tabs.contact"> | |
| <ion-nav-view name="contact-tab"></ion-nav-view> | |
| </ion-tab> | |
| </ion-tabs> | |
| </script> | |
| <script id="home.html" type="text/ng-template"> | |
| <ion-view title="Home"> | |
| <ion-content class="padding"> | |
| <div ng-controller="HomeTabCtrl"> | |
| <div scroll-glue> | |
| <ul> | |
| <li ng-repeat="msg in messages">[<em>{{msg.from}}</em>] Msg: {{msg.body}}</li> | |
| </ul> | |
| </div> | |
| <div class="list"> | |
| <input type="text" ng-model="name" placeholder="Name"> | |
| <input type="text" ng-model="msg" ng-keydown="addMessage($event)" placeholder="Message..."> | |
| </div> | |
| <button class="button button-full button-positive ng-click="sendMsg()"> Send </button> | |
| </div> | |
| </ion-content> | |
| </ion-view> | |
| </script> | |
| </body> | |
| </html> |
Simple chat ionic, using Firebase
Forked from Alexandre Carvalho's Pen Ionic Public Chat Firebase.
A Pen by Captain Anonymous on CodePen.
| angular.module('ionicApp', ['ionic', 'firebase']) | |
| .config(function($stateProvider, $urlRouterProvider) { | |
| $stateProvider | |
| .state('tabs', { | |
| url: "/tab", | |
| abstract: true, | |
| templateUrl: "tabs.html" | |
| }) | |
| .state('tabs.home', { | |
| url: "/home", | |
| views: { | |
| 'home-tab': { | |
| templateUrl: "home.html", | |
| controller: 'HomeTabCtrl' | |
| } | |
| } | |
| }) | |
| $urlRouterProvider.otherwise("/tab/home"); | |
| }) | |
| .controller('HomeTabCtrl', function($scope, $state, $firebase) { | |
| var ref = new Firebase("https://gs1u27f4k74.firebaseio-demo.com/"); | |
| $scope.messages = $firebase(ref); | |
| $scope.addMessage = function(e) { | |
| $scope.sendMsg = function() { | |
| $scope.messages.$add({from: $scope.name, body: $scope.msg}); | |
| $scope.msg = ""; | |
| } | |
| } | |
| $scope.clear = function(){ | |
| $scope.name = ""; | |
| } | |
| console.log('HomeTabCtrl'); | |
| }); |
| [scroll-glue]{ | |
| height: 200px; | |
| overflow-y: scroll; | |
| border: 2px solid grey; | |
| } |