Aller au contenu principal

SDK Angular

@bailaya/angular fournit un service et des composants standalone pour Angular 17+.

Installation

npm install @bailaya/angular @bailaya/core

Configuration

Enregistrez le fournisseur dans app.config.ts :

import { ApplicationConfig } from '@angular/core';
import { provideBailaya } from '@bailaya/angular';

export const appConfig: ApplicationConfig = {
providers: [
provideBailaya({ studioId: 'your-studio-id' }),
],
};

BailayaService

Injectez BailayaService pour un acces direct par Observable a toutes les methodes de l'API :

import { Component, inject, OnInit } from '@angular/core';
import { AsyncPipe } from '@angular/common';
import { BailayaService } from '@bailaya/angular';
import { Observable } from 'rxjs';
import type { StudioClass } from '@bailaya/angular';

@Component({
standalone: true,
imports: [AsyncPipe],
template: `
<ul>
@for (cls of classes$ | async; track cls.id) {
<li>{{ cls.name }}</li>
}
</ul>
`,
})
export class ScheduleComponent implements OnInit {
private bailaya = inject(BailayaService);
classes$!: Observable<StudioClass[]>;

ngOnInit() {
this.classes$ = this.bailaya.getClasses();
}
}

Composants

Tous les composants sont standalone et utilisent le flux de controle @if/@for d'Angular 17.

SelecteurDescription
<bailaya-studio-profile-card>Logo, nom, description et adresse du studio
<bailaya-studio-description>Paragraphes de description localisee
<bailaya-instructor-list>Photos et biographies des instructeurs
<bailaya-user-profile-card>Profil d'un utilisateur individuel
<bailaya-class-schedule>Cours a venir avec CTA de reservation
<bailaya-class-schedule-by-type>Cours filtres par type de danse
<bailaya-event-schedule>Evenements a venir avec CTA de reservation
<bailaya-studio-types-list>Types de danse en liste
<bailaya-studio-types-grid>Types de danse en grille
<bailaya-private-lesson-list>Instructeurs de cours prives avec tarifs
<bailaya-package-list>Forfaits disponibles avec CTA d'achat

Exemple d'utilisation

<!-- app.component.html -->
<bailaya-class-schedule
locale="en"
currency="USD"
bookNowText="Book This Class"
bookBaseUrl="https://www.bailaya.com/book/"
/>

<bailaya-private-lesson-list
locale="en"
bookBaseUrl="https://www.bailaya.com/en/book/private-lesson/"
/>

Importer les composants

import {
ClassScheduleComponent,
PrivateLessonListComponent,
PackageListComponent,
} from '@bailaya/angular';

@Component({
standalone: true,
imports: [ClassScheduleComponent, PrivateLessonListComponent],
templateUrl: './my.component.html',
})
export class MyComponent {}