@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
20 lines • 2.51 kB
JavaScript
import { APP_INITIALIZER } from '@angular/core';
import { LanguageService, WindowRef } from '@spartacus/core';
export const htmlLangProvider = {
provide: APP_INITIALIZER,
multi: true,
useFactory: setHtmlLangAttribute,
deps: [WindowRef, LanguageService],
};
/**
* Sets active language in <html lang="">
*/
export function setHtmlLangAttribute(winRef, languageService) {
const result = () => {
languageService.getActive().subscribe((lang) => {
winRef.document.documentElement.lang = lang.replace(/_/g, '-');
});
};
return result;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1sYW5nLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RvcmVmcm9udGxpYi9jbXMtc3RydWN0dXJlL3Nlby9odG1sLWxhbmctcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFhO0lBQ3hDLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLG9CQUFvQjtJQUNoQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO0NBQ25DLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsTUFBaUIsRUFDakIsZUFBZ0M7SUFFaEMsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFO1FBQ2xCLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBXaW5kb3dSZWYgfSBmcm9tICdAc3BhcnRhY3VzL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgaHRtbExhbmdQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgbXVsdGk6IHRydWUsXG4gIHVzZUZhY3Rvcnk6IHNldEh0bWxMYW5nQXR0cmlidXRlLFxuICBkZXBzOiBbV2luZG93UmVmLCBMYW5ndWFnZVNlcnZpY2VdLFxufTtcblxuLyoqXG4gKiBTZXRzIGFjdGl2ZSBsYW5ndWFnZSBpbiA8aHRtbCBsYW5nPVwiXCI+XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRIdG1sTGFuZ0F0dHJpYnV0ZShcbiAgd2luUmVmOiBXaW5kb3dSZWYsXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXG4pOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gKCkgPT4ge1xuICAgIGxhbmd1YWdlU2VydmljZS5nZXRBY3RpdmUoKS5zdWJzY3JpYmUoKGxhbmcpID0+IHtcbiAgICAgIHdpblJlZi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmcucmVwbGFjZSgvXy9nLCAnLScpO1xuICAgIH0pO1xuICB9O1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19