ngx-firebase-cms
Version:
Angular Content Management System using Google Firebase (Authentication, Storage & Firestore)
124 lines • 8.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { HelperService } from '../../service/helper.service';
import { AngularFirestore } from '@angular/fire/firestore';
import { AuthService } from '../../service/auth.service';
import { mergeMap, map } from 'rxjs/operators';
import { UnsubscriptionService } from '../../service/unsubscription.service';
export class UsersComponent {
/**
* @param {?} unsubscription
* @param {?} auth
* @param {?} afs
* @param {?} helper
*/
constructor(unsubscription, auth, afs, helper) {
this.unsubscription = unsubscription;
this.auth = auth;
this.afs = afs;
this.helper = helper;
this.header = [
{
label: "Title",
key: "title"
},
{
label: "Author",
key: "author",
pipe: "user",
pipeParameter: {
"keys": ["displayName"],
"separator": ","
}
},
{
label: "Last Update",
key: "updatedTime",
pipe: "date",
pipeParameter: "medium"
}
];
this.titlebar = {
title: "Profile",
description: "User Management",
breadcrumbs: [
{
title: "Profile",
icon: 'team'
}
]
};
}
/**
* @return {?}
*/
ngOnInit() {
this.items = this.auth.user$.pipe(mergeMap((/**
* @param {?} user
* @return {?}
*/
user => this.afs.collection(`users`, (/**
* @param {?} ref
* @return {?}
*/
ref => this.helper.roleFilter(ref, user.roles, user.uid))).snapshotChanges())), map((/**
* @param {?} actions
* @return {?}
*/
actions => actions.map((/**
* @param {?} action
* @return {?}
*/
action => (Object.assign({ $key: action.payload.doc.id }, action.payload.doc.data())))))));
}
/**
* @return {?}
*/
ngOnDestroy() { }
}
UsersComponent.decorators = [
{ type: Component, args: [{
selector: 'aq-users',
template: "<aq-title-bar [data]=\"titlebar\"></aq-title-bar>\n<aq-table [data]=\"(items | async) || []\" [headers]=\"header\"></aq-table>",
styles: [""]
}] }
];
/** @nocollapse */
UsersComponent.ctorParameters = () => [
{ type: UnsubscriptionService },
{ type: AuthService },
{ type: AngularFirestore },
{ type: HelperService }
];
if (false) {
/** @type {?} */
UsersComponent.prototype.items;
/** @type {?} */
UsersComponent.prototype.header;
/** @type {?} */
UsersComponent.prototype.titlebar;
/**
* @type {?}
* @private
*/
UsersComponent.prototype.unsubscription;
/**
* @type {?}
* @private
*/
UsersComponent.prototype.auth;
/**
* @type {?}
* @private
*/
UsersComponent.prototype.afs;
/**
* @type {?}
* @private
*/
UsersComponent.prototype.helper;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWZpcmViYXNlLWNtcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvdXNlcnMvdXNlcnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFPN0UsTUFBTSxPQUFPLGNBQWM7Ozs7Ozs7SUFvQ3pCLFlBQ1UsY0FBcUMsRUFDckMsSUFBaUIsRUFDakIsR0FBcUIsRUFDckIsTUFBcUI7UUFIckIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXJDL0IsV0FBTSxHQUFHO1lBQ1A7Z0JBQ0UsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsR0FBRyxFQUFFLE9BQU87YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLEdBQUcsRUFBRSxRQUFRO2dCQUNiLElBQUksRUFBRSxNQUFNO2dCQUNaLGFBQWEsRUFBRTtvQkFDYixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3ZCLFdBQVcsRUFBRSxHQUFHO2lCQUNqQjthQUNGO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLEdBQUcsRUFBRSxhQUFhO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixhQUFhLEVBQUUsUUFBUTthQUN4QjtTQUNGLENBQUE7UUFFRCxhQUFRLEdBQWE7WUFDbkIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtZQUM5QixXQUFXLEVBQUU7Z0JBQ1g7b0JBQ0UsS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLElBQUksRUFBRSxNQUFNO2lCQUNiO2FBQ0Y7U0FDRixDQUFBO0lBT0csQ0FBQzs7OztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDL0IsUUFBUTs7OztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTzs7OztRQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsZUFBZSxFQUFFLEVBQUMsRUFDMUgsR0FBRzs7OztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUc7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGlCQUFHLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUcsRUFBQyxFQUFDLENBQ3ZHLENBQUE7SUFDSCxDQUFDOzs7O0lBRUQsV0FBVyxLQUFLLENBQUM7OztZQXZEbEIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQiwwSUFBcUM7O2FBRXRDOzs7O1lBTlEscUJBQXFCO1lBSHJCLFdBQVc7WUFEWCxnQkFBZ0I7WUFEaEIsYUFBYTs7OztJQWNwQiwrQkFBOEM7O0lBQzlDLGdDQW9CQzs7SUFFRCxrQ0FTQzs7Ozs7SUFHQyx3Q0FBNkM7Ozs7O0lBQzdDLDhCQUF5Qjs7Ozs7SUFDekIsNkJBQTZCOzs7OztJQUM3QixnQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb3N0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3Bvc3QnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRpdGxlYmFyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3RpdGxlYmFyJztcbmltcG9ydCB7IFVuc3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvdW5zdWJzY3JpcHRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FxLXVzZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXNlcnMuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGl0ZW1zOiBPYnNlcnZhYmxlPFBvc3RbXSB8IHsgJGtleTogc3RyaW5nIH1bXT5cbiAgaGVhZGVyID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiBcIlRpdGxlXCIsXG4gICAgICBrZXk6IFwidGl0bGVcIlxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IFwiQXV0aG9yXCIsXG4gICAgICBrZXk6IFwiYXV0aG9yXCIsXG4gICAgICBwaXBlOiBcInVzZXJcIixcbiAgICAgIHBpcGVQYXJhbWV0ZXI6IHtcbiAgICAgICAgXCJrZXlzXCI6IFtcImRpc3BsYXlOYW1lXCJdLFxuICAgICAgICBcInNlcGFyYXRvclwiOiBcIixcIlxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IFwiTGFzdCBVcGRhdGVcIixcbiAgICAgIGtleTogXCJ1cGRhdGVkVGltZVwiLFxuICAgICAgcGlwZTogXCJkYXRlXCIsXG4gICAgICBwaXBlUGFyYW1ldGVyOiBcIm1lZGl1bVwiXG4gICAgfVxuICBdXG4gIFxuICB0aXRsZWJhcjogVGl0bGViYXIgPSB7XG4gICAgdGl0bGU6IFwiUHJvZmlsZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlVzZXIgTWFuYWdlbWVudFwiLFxuICAgIGJyZWFkY3J1bWJzOiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBcIlByb2ZpbGVcIixcbiAgICAgICAgaWNvbjogJ3RlYW0nXG4gICAgICB9XG4gICAgXVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmlwdGlvbjogVW5zdWJzY3JpcHRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhZnM6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgcHJpdmF0ZSBoZWxwZXI6IEhlbHBlclNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLml0ZW1zID0gdGhpcy5hdXRoLnVzZXIkLnBpcGUoXG4gICAgICBtZXJnZU1hcCh1c2VyID0+IHRoaXMuYWZzLmNvbGxlY3Rpb24oYHVzZXJzYCwgcmVmID0+IHRoaXMuaGVscGVyLnJvbGVGaWx0ZXIocmVmLCB1c2VyLnJvbGVzLCB1c2VyLnVpZCkpLnNuYXBzaG90Q2hhbmdlcygpKSxcbiAgICAgIG1hcChhY3Rpb25zID0+IGFjdGlvbnMubWFwKGFjdGlvbiA9PiAoeyAka2V5OiBhY3Rpb24ucGF5bG9hZC5kb2MuaWQsIC4uLmFjdGlvbi5wYXlsb2FkLmRvYy5kYXRhKCkgfSkpKVxuICAgIClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkgeyB9XG5cbn1cbiJdfQ==