Comment définir le premier jour de la semaine avec le matériau 2?
Actuellement, la valeur par défaut est dimanche même si je règle les paramètres régionaux sur hu ou autre chose.
J'ai trouvé une solution de contournement:
Écrire cette classe
import {NativeDateAdapter} from '@angular/material';
import {Injectable} from '@angular/core';
@Injectable()
export class MyDateAdapter extends NativeDateAdapter {
getFirstDayOfWeek(): number {
return 1;
}
}
Puis importez dans le module app.module comme ceci:
{provide: DateAdapter, useClass: MyDateAdapter},
Le sam répond à peu près comme Béla mais je devais implémenter le constructeur pour le faire fonctionner.
import { NativeDateAdapter } from '@angular/material';
import { Injectable } from '@angular/core';
import { Platform } from '@angular/cdk/platform';
@Injectable()
export class SwedishDateAdapter extends NativeDateAdapter {
constructor() {
super('sv-SE', new Platform());
}
getFirstDayOfWeek(): number {
return 1;
}
}
constructor(
private dateAdapter: DateAdapter<Date>
) { }
ngOnInit() {
this.dateAdapter.setLocale('es');
this.dateAdapter.getFirstDayOfWeek = () => { return 1; }
}
J'utilise actuellement 6 angulaire avec la version correspondante du matériau.
Les solutions ci-dessus ont toutefois fonctionné, car je me servais de l’adaptateur moment.js, l’application a cessé de fonctionner correctement.
Utiliser le code à https://github.com/angular/material2/blob/master/src/material-moment-adapter/adapter/moment-date-adapter.ts et l'injecter dans le module a rendu l'application détecter la région correcte et régler le jour de départ à lundi (le mien était pt-pt).
Le seul changement nécessaire était de définir le bon moment d'importation.