ngx-firebase-cms
Version:
Angular Content Management System using Google Firebase (Authentication, Storage & Firestore)
124 lines • 8.82 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { UnsubscriptionService } from '../../service/unsubscription.service';
import { AngularFirestore } from '@angular/fire/firestore';
import { AuthService } from '../../service/auth.service';
import { mergeMap, map, takeUntil } from 'rxjs/operators';
import { HelperService } from '../../service/helper.service';
export class EmailsComponent {
/**
* @param {?} auth
* @param {?} afs
* @param {?} helper
* @param {?} unsubscription
*/
constructor(auth, afs, helper, unsubscription) {
this.auth = auth;
this.afs = afs;
this.helper = helper;
this.unsubscription = unsubscription;
this.titlebar = {
title: "Email",
description: "Send mass emails using template",
breadcrumbs: [
{
title: "Emails",
icon: 'inbox'
}
]
};
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"
}
];
}
/**
* @return {?}
*/
ngOnInit() {
this.items = this.auth.user$.pipe(mergeMap((/**
* @param {?} user
* @return {?}
*/
user => this.afs.collection(`posts`, (/**
* @param {?} ref
* @return {?}
*/
ref => this.helper.roleFilter(ref, user.roles, user.uid, "email"))).snapshotChanges())), map((/**
* @param {?} actions
* @return {?}
*/
actions => actions.map((/**
* @param {?} action
* @return {?}
*/
action => (Object.assign({ $key: action.payload.doc.id }, action.payload.doc.data())))))), takeUntil(this.unsubscription.componentDestroyed(this)));
}
/**
* @return {?}
*/
ngOnDestroy() { }
}
EmailsComponent.decorators = [
{ type: Component, args: [{
selector: 'aq-emails',
template: "<aq-title-bar [data]=\"titlebar\"></aq-title-bar>\n<aq-table [data]=\"(items | async) || []\" [headers]=\"header\"></aq-table>\n",
styles: [""]
}] }
];
/** @nocollapse */
EmailsComponent.ctorParameters = () => [
{ type: AuthService },
{ type: AngularFirestore },
{ type: HelperService },
{ type: UnsubscriptionService }
];
if (false) {
/** @type {?} */
EmailsComponent.prototype.titlebar;
/** @type {?} */
EmailsComponent.prototype.items;
/** @type {?} */
EmailsComponent.prototype.header;
/**
* @type {?}
* @private
*/
EmailsComponent.prototype.auth;
/**
* @type {?}
* @private
*/
EmailsComponent.prototype.afs;
/**
* @type {?}
* @private
*/
EmailsComponent.prototype.helper;
/**
* @type {?}
* @private
*/
EmailsComponent.prototype.unsubscription;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1maXJlYmFzZS1jbXMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L2VtYWlscy9lbWFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUk3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUTdELE1BQU0sT0FBTyxlQUFlOzs7Ozs7O0lBb0MxQixZQUNVLElBQWlCLEVBQ2pCLEdBQXFCLEVBQ3JCLE1BQXFCLEVBQ3JCLGNBQXFDO1FBSHJDLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUF0Qy9DLGFBQVEsR0FBYTtZQUNuQixLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsV0FBVyxFQUFFO2dCQUNYO29CQUNFLEtBQUssRUFBRSxRQUFRO29CQUNmLElBQUksRUFBRSxPQUFPO2lCQUNkO2FBQ0Y7U0FDRixDQUFBO1FBR0QsV0FBTSxHQUFHO1lBQ1A7Z0JBQ0UsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsR0FBRyxFQUFFLE9BQU87YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLEdBQUcsRUFBRSxRQUFRO2dCQUNiLElBQUksRUFBRSxNQUFNO2dCQUNaLGFBQWEsRUFBRTtvQkFDYixNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3ZCLFdBQVcsRUFBRSxHQUFHO2lCQUNqQjthQUNGO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLEdBQUcsRUFBRSxhQUFhO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixhQUFhLEVBQUUsUUFBUTthQUN4QjtTQUNGLENBQUE7SUFPRyxDQUFDOzs7O0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUMvQixRQUFROzs7O1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPOzs7O1FBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFDLENBQUMsZUFBZSxFQUFFLEVBQUMsRUFDbkksR0FBRzs7OztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUc7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGlCQUFHLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUcsRUFBQyxFQUFDLEVBQ3RHLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3hELENBQUE7SUFDSCxDQUFDOzs7O0lBRUQsV0FBVyxLQUFLLENBQUM7OztZQXhEbEIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiw0SUFBc0M7O2FBRXZDOzs7O1lBVFEsV0FBVztZQURYLGdCQUFnQjtZQUdoQixhQUFhO1lBUGIscUJBQXFCOzs7O0lBaUI1QixtQ0FTQzs7SUFFRCxnQ0FBOEM7O0lBQzlDLGlDQW9CQzs7Ozs7SUFHQywrQkFBeUI7Ozs7O0lBQ3pCLDhCQUE2Qjs7Ozs7SUFDN0IsaUNBQTZCOzs7OztJQUM3Qix5Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Vuc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZS9icmVhZGNydW1iJztcbmltcG9ydCB7IFRpdGxlYmFyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3RpdGxlYmFyJztcbmltcG9ydCB7IFBvc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvcG9zdCc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FxLWVtYWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbWFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbWFpbHMuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVtYWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgdGl0bGViYXI6IFRpdGxlYmFyID0ge1xuICAgIHRpdGxlOiBcIkVtYWlsXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2VuZCBtYXNzIGVtYWlscyB1c2luZyB0ZW1wbGF0ZVwiLFxuICAgIGJyZWFkY3J1bWJzOiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBcIkVtYWlsc1wiLFxuICAgICAgICBpY29uOiAnaW5ib3gnXG4gICAgICB9XG4gICAgXVxuICB9XG5cbiAgaXRlbXM6IE9ic2VydmFibGU8UG9zdFtdIHwgeyAka2V5OiBzdHJpbmcgfVtdPlxuICBoZWFkZXIgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IFwiVGl0bGVcIixcbiAgICAgIGtleTogXCJ0aXRsZVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogXCJBdXRob3JcIixcbiAgICAgIGtleTogXCJhdXRob3JcIixcbiAgICAgIHBpcGU6IFwidXNlclwiLFxuICAgICAgcGlwZVBhcmFtZXRlcjoge1xuICAgICAgICBcImtleXNcIjogW1wiZGlzcGxheU5hbWVcIl0sXG4gICAgICAgIFwic2VwYXJhdG9yXCI6IFwiLFwiXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogXCJMYXN0IFVwZGF0ZVwiLFxuICAgICAga2V5OiBcInVwZGF0ZWRUaW1lXCIsXG4gICAgICBwaXBlOiBcImRhdGVcIixcbiAgICAgIHBpcGVQYXJhbWV0ZXI6IFwibWVkaXVtXCJcbiAgICB9XG4gIF1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWZzOiBBbmd1bGFyRmlyZXN0b3JlLFxuICAgIHByaXZhdGUgaGVscGVyOiBIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdW5zdWJzY3JpcHRpb246IFVuc3Vic2NyaXB0aW9uU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXRlbXMgPSB0aGlzLmF1dGgudXNlciQucGlwZShcbiAgICAgIG1lcmdlTWFwKHVzZXIgPT4gdGhpcy5hZnMuY29sbGVjdGlvbihgcG9zdHNgLCByZWYgPT4gdGhpcy5oZWxwZXIucm9sZUZpbHRlcihyZWYsIHVzZXIucm9sZXMsIHVzZXIudWlkLCBcImVtYWlsXCIpKS5zbmFwc2hvdENoYW5nZXMoKSksXG4gICAgICBtYXAoYWN0aW9ucyA9PiBhY3Rpb25zLm1hcChhY3Rpb24gPT4gKHsgJGtleTogYWN0aW9uLnBheWxvYWQuZG9jLmlkLCAuLi5hY3Rpb24ucGF5bG9hZC5kb2MuZGF0YSgpIH0pKSksXG4gICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmlwdGlvbi5jb21wb25lbnREZXN0cm95ZWQodGhpcykpXG4gICAgKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7IH1cblxufVxuIl19