1.2.1 • Published 3 years ago

ng-flamelink v1.2.1

Weekly downloads
133
License
-
Repository
-
Last release
3 years ago

AngularFlamelink

Angular wrapper modules for Flamelink SDK.

Installation

Run npm i -s firebase flamelink@next @angular/fire ng-flamelink.

Then, import FlamelinkModule in your app.module.ts:

...
import { FlamelinkModule, FLContentModule, FLStorageModule } from 'ng-flamelink';
...

@NgModule({
	imports: [
		FlamelinkModule.initialize(
			{
				dbType: 'cf', // Cloud Firestore or 'rtdb' for Real-Time Database
				firebaseApp: {
					apiKey: 'YOUR_API_KEY_FROM_FIREBASE',
					authDomain: '...',
					databaseURL: '...',
					projectId: '...',
					storageBucket: '...',
					messagingSenderId: '...'
				}
			}
		),
		FLContentModule,
		FLStorageModule,
		
		// Import other services you're using...
		// FLSchemasModule,
		// FLUsersModule,
		// FLSettingsModule,
		// FLNavigationModule,
		// ...
	]
})

Usage

app.component.ts

...
import { FLContent } from 'ng-flamelink';
...

@Component({
	// ...
})
export class AppComponent {

	public projects = this.content.valueChanges({
		schemaKey: 'projects',
		filters: [['category', '==', 'web']]
		// ... other settings
	});

	constructor(
		private content: FLContent
	) { }

}

app.component.html

<div *ngFor="let project of projects | async">
	{{ project.title }}
</div>

Api

Angular Flamelink extends the same api used in Flamelink SDK with few differences mentioned below:

FLContent

Extends native functionalities listed under Flamelink official docs: https://flamelink.github.io/flamelink-js-sdk/#/content.

Extended Properties and Methods:

FLContent.valueChanges(settings)

The native .subscribe() is replace by .valueChanges(). Both take the same settings except that .valueChanges() does not expect the callback property, instead it returns an Observable of the result to which you can subscribe.

Example:

	constructor(
		private content: FLContent
	) { 
		this.content.valueChanges({
			schemaKey: 'projects'
		}).subscribe((data) => {
			console.log(data);
		});
	}

FLContent.valueChangesRaw(settings)

Similarly to .valueChanges() explained above, .valueChangesRaw() replaces the native .subscribeRaw() retuning an Observable of the raw result.

FLContent.ref(id)

returns a Firestore DocumentReference.

Note:

If needed, The AngularFirestore service could be accessed from within the FLContent service as below:

	constructor(
		private content: FLContent
	) { 
		const contentCollection = this.content.firestore.collection('fl_content');
	}

FLUsers

Extends native functionalities listed under Flamelink official docs: https://flamelink.github.io/flamelink-js-sdk/#/users

Extended Properties and Methods:

FLUsers.valueChanges(settings)

The native .subscribe() is replace by .valueChanges(). Both take the same settings except that .valueChanges() does not expect the callback property, instead it returns an Observable of the result to which you can subscribe.

Example:

this.users.valueChanges().subscribe((data) => {
	console.log(data);
});

FLUsers.valueChangesRaw(settings)

Similarly to .valueChanges() explained above, .valueChangesRaw() replaces the native .subscribeRaw() retuning an Observable of the raw result.

FLUsers.ref(uid)

returns a Firestore DocumentReference for the user.

Note:

If needed, The AngularFireAuth service could be accessed from within the FLUsers service as below:

	constructor(
		private users: FLUsers
	) { 
		this.users.fireAuth.auth.signInWithEmailAndPassword('name@email.com', 'password');
	}

FLStorage

Extends native functionalities listed under Flamelink official docs: https://flamelink.github.io/flamelink-js-sdk/#/storage

FLSettings

Extends native functionalities listed under Flamelink official docs: https://flamelink.github.io/flamelink-js-sdk/#/settings

FLNavigation

Extends native functionalities listed under Flamelink official docs: https://flamelink.github.io/flamelink-js-sdk/#/navigation

FLSchemas

Extends native functionalities listed under Flamelink official docs: https://flamelink.github.io/flamelink-js-sdk/#/schemas

1.2.1

3 years ago

1.2.0

3 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

0.0.2

4 years ago

1.0.17

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.0.1

4 years ago