web-dev-qa-db-fra.com

Angular 4 - matériel 2 - md datepicker réglé le premier jour de la semaine

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.

11
Béla Olcsán

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},
22
Béla Olcsán

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;
  }
}
3
Magnus Erkenfelt
constructor(
    private dateAdapter: DateAdapter<Date>
  ) { }

  ngOnInit() {
    this.dateAdapter.setLocale('es');
    this.dateAdapter.getFirstDayOfWeek = () => { return 1; }
  }
2
David Pestana

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.

0
GatoPingado