Fix compile errors

This commit is contained in:
Dénes Harmath
2014-02-15 23:53:59 +01:00
parent f300bab557
commit 4238c803af
3 changed files with 34 additions and 24 deletions

View File

@@ -1,58 +1,62 @@
/// <reference path="angularfire.d.ts"/>
// Based on https://www.firebase.com/docs/angular/index.html
var myapp = angular.module("myapp", ["firebase"]);
interface AngularFireScope {
interface AngularFireScope extends ng.IScope {
items: AngularFire;
remoteItems: RemoteItems;
}
interface RemoteItems {
bar: string;
}
var url = "https://myapp.firebaseio.com";
myapp.controller("MyController", ["$scope", "$firebase",
function($scope: AngularFireScope, $firebase: AngularFireService) {
$scope.items = $firebase(new Firebase(URL));
$scope.items = $firebase(new Firebase(url));
$scope.items.$add({ foo: "bar" });
$scope.items.$remove("foo"); // Removes child named "foo".
$scope.items.$remove(); // Removes the entire object.
$scope.items.foo = "baz";
$scope.items.$save("foo"); // new Firebase(URL + "/foo") now contains "baz".
$scope.items.$remove("foo");
$scope.items.$remove();
$scope.items.$save();
var child = $scope.items.$child("foo");
child.$remove(); // Same as calling $scope.items.$remove("foo");
$scope.items.$set({ bar: "baz" }); // new Firebase(URL + "/foo") is now null.
child.$remove();
$scope.items.$set({ bar: "baz" });
var keys = $scope.items.$getIndex();
keys.forEach(function(key, i) {
console.log(i, $scope.items[key]); // prints items in order they appear in Firebase
console.log(i, $scope.items[key]);
});
$scope.items.foo.$priority = 20;
$scope.items.$save("foo"); // new Firebase(URL + "foo")'s priority is now 20.
$scope.items.$on("loaded", function() {
console.log("Initial data received!");
});
$scope.items.$on("change", function() {
console.log("A remote change was applied locally!");
});
// Detaches all `loaded` event handlers.
$scope.items.$off('loaded');
// Stops synchronization on `$scope.items` completely.
function stopSync() {
$scope.items.$off();
}
$scope.items.$bind($scope, "remoteItems");
$scope.remoteItems.bar = "foo"; // new Firebase(URL + "/bar") is now "foo".
$scope.remoteItems.bar = "foo";
$scope.items.$bind($scope, "remote").then(function(unbind) {
unbind();
$scope.remote.bar = "foo"; // No changes have been made to the remote data.
$scope.remoteItems.bar = "foo";
});
}
]);
interface AngularFireAuthScope {
var foo: AngularFireObject = {
$priority: 0
};
interface AngularFireAuthScope extends ng.IScope {
loginObj: AngularFireAuth;
}
myapp.controller("MyAuthController", ["$scope", "$firebaseSimpleLogin",
function($scope: AngularFireAuthScope, $firebaseSimpleLogin) {
var dataRef = new Firebase("https://myapp.firebaseio.com");
function($scope: AngularFireAuthScope, $firebaseSimpleLogin: AngularFireAuthService) {
var dataRef = new Firebase(url);
$scope.loginObj = $firebaseSimpleLogin(dataRef);
$scope.loginObj.$getCurrentUser().then(_ => {
});

View File

@@ -3,6 +3,9 @@
// Definitions by: Dénes Harmath <http://github.com/thSoft>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../angularjs/angular.d.ts"/>
/// <reference path="../firebase/firebase.d.ts"/>
interface AngularFireService {
(firebase: Firebase): AngularFire;
}
@@ -13,13 +16,16 @@ interface AngularFire {
$save(key?: string): void;
$child(key: string): AngularFire;
$set(value: any): void;
$getIndex(): number;
$priority: number;
$getIndex(): string[];
$on(eventType: string, callback: (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void, cancelCallback?: ()=> void, context?: Object): (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void;
$off(eventType: string, callback: (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void, cancelCallback?: ()=> void, context?: Object): (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void;
$off(eventType?: string, callback?: (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void, cancelCallback?: ()=> void, context?: Object): (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void;
$bind($scope: ng.IScope, modelName: string): ng.IPromise<any>;
}
interface AngularFireObject {
$priority: number;
}
interface AngularFireAuthService {
(firebase: Firebase): AngularFireAuth;
}

View File

@@ -53,7 +53,7 @@ declare class Firebase implements IFirebaseQuery {
toString(): string;
set(value: any, onComplete?: (error: any) => void): void;
update(value: any, onComplete?: (error: any) => void): void;
remove(onComplete?: (error: any) => void);
remove(onComplete?: (error: any) => void): void;
push(value: any, onComplete?: (error: any) => void): Firebase;
setWithPriority(value: any, priority: string, onComplete?: (error: any) => void): void;
setWithPriority(value: any, priority: number, onComplete?: (error: any) => void): void;