@ngx-meta/core
Version:
Dynamic page title & meta tags utility for Angular (w/server-side rendering)
24 lines • 2.97 kB
JavaScript
import { Injectable } from '@angular/core';
import { MetaService } from './meta.service';
import * as i0 from "@angular/core";
import * as i1 from "./meta.service";
export class MetaGuard {
constructor(meta) {
this.meta = meta;
}
canActivate(route, state) {
const url = state.url;
const metaSettings = route.hasOwnProperty('data') ? route.data.meta : undefined;
this.meta.update(url, metaSettings);
return true;
}
canActivateChild(route, state) {
return this.canActivate(route, state);
}
}
MetaGuard.ɵfac = function MetaGuard_Factory(t) { return new (t || MetaGuard)(i0.ɵɵinject(i1.MetaService)); };
MetaGuard.ɵprov = i0.ɵɵdefineInjectable({ token: MetaGuard, factory: MetaGuard.ɵfac });
(function () { i0.ɵsetClassMetadata(MetaGuard, [{
type: Injectable
}], function () { return [{ type: i1.MetaService }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3gtbWV0YS9jb3JlLyIsInNvdXJjZXMiOlsibWV0YS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLFlBQTZCLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBRyxDQUFDO0lBRWxELFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFFdEIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVoRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUN4RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O2tFQWZVLFNBQVM7aURBQVQsU0FBUyxXQUFULFNBQVM7b0NBQVQsU0FBUztjQURyQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBNZXRhU2VydmljZSB9IGZyb20gJy4vbWV0YS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1ldGFHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtZXRhOiBNZXRhU2VydmljZSkge31cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICBjb25zdCB1cmwgPSBzdGF0ZS51cmw7XG5cbiAgICBjb25zdCBtZXRhU2V0dGluZ3MgPSByb3V0ZS5oYXNPd25Qcm9wZXJ0eSgnZGF0YScpID8gcm91dGUuZGF0YS5tZXRhIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5tZXRhLnVwZGF0ZSh1cmwsIG1ldGFTZXR0aW5ncyk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlQ2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FuQWN0aXZhdGUocm91dGUsIHN0YXRlKTtcbiAgfVxufVxuIl19