UNPKG

@snapmobile/snapjs-admin

Version:
46 lines 12.3 kB
import { Component } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { AdminService } from '../admin.service'; import 'rxjs/add/operator/switchMap'; var AdminDetailComponent = (function () { function AdminDetailComponent(route, router, adminService) { this.route = route; this.router = router; this.adminService = adminService; } AdminDetailComponent.prototype.ngOnInit = function () { var _this = this; this.route.params .switchMap(function (params) { _this.adminService.className = params.className; _this.adminService.loadSchema(); return _this.adminService.getById(params.id); }) .subscribe(function (object) { return _this.object = object; }); }; AdminDetailComponent.prototype.deleteItem = function (object) { var _this = this; this.adminService.delete(object) .then(function (response) { _this.router.navigate(["/admin/" + _this.adminService.className]); }) .catch(function (err) { console.error(err); }); }; return AdminDetailComponent; }()); export { AdminDetailComponent }; AdminDetailComponent.decorators = [ { type: Component, args: [{ selector: 'app-admin-detail', template: "\n <div class=\"container-fluid\" *ngIf=\"object\">\n\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <div class=\"panel\">\n <div class=\"panel-body table-responsive\">\n <ul class=\"list-group\">\n <ng-template ngFor let-key [ngForOf]=\"adminService.schemaKeys\">\n <li class=\"list-group-item\"\n *ngIf=\"adminService.schema[key] && adminService.schema[key].instanceOverride !== 'Hidden' && adminService.schema[key].instanceOverride !== 'Remove'\"\n [ngSwitch]=\"adminService.schema[key].instanceOverride || adminService.schema[key].instance\">\n\n <!-- Image -->\n <div *ngSwitchCase=\"'Image'\">\n <span>\n <div class=\"row\">\n <div class=\"col-sm-1\">\n <strong class=\"text-wordwrap\">{{adminService.schema[key].displayName || key}}:</strong>\n </div>\n <app-display-file\n *ngIf=\"object[key]\"\n [files]=\"[object[key]]\">\n </app-display-file>\n </div>\n </span>\n </div>\n\n <!-- Multiple Images -->\n <div *ngSwitchCase=\"'ImageArray'\">\n <span>\n <div class=\"row\">\n <div class=\"col-sm-1\">\n <strong class=\"text-wordwrap\">{{adminService.schema[key].displayName || key}}:</strong>\n </div>\n <app-display-file\n *ngIf=\"object[key]\"\n [files]=\"object[key]\">\n </app-display-file>\n </div>\n </span>\n </div>\n\n <!-- File -->\n <div *ngSwitchCase=\"'File'\">\n <span>\n <div class=\"row\">\n <div class=\"col-sm-1\">\n <strong class=\"text-wordwrap\">{{adminService.schema[key].displayName || key}}:</strong>\n </div>\n <app-display-file\n *ngIf=\"object[key]\"\n [files]=\"[object[key]]\">\n </app-display-file>\n </div>\n </span>\n </div>\n\n <!-- Multiple Files -->\n <div *ngSwitchCase=\"'FileArray'\">\n <span>\n <div class=\"row\">\n <div class=\"col-sm-1\">\n <strong class=\"text-wordwrap\">{{adminService.schema[key].displayName || key}}:</strong>\n </div>\n <app-display-file\n [files]=\"object[key]\">\n </app-display-file>\n </div>\n </span>\n </div>\n\n <!-- Select array of strings -->\n <div *ngSwitchCase=\"'Array'\">\n <span \n *ngIf=\"adminService.schema[key].caster && adminService.schema[key].caster.options && !adminService.schema[key].caster.options.ref\">\n <strong>{{key}}: </strong>\n <app-display-array\n [field]=\"adminService.schema[key].displayName || key\"\n [value]=\"object[key]\"> \n </app-display-array>\n </span>\n </div>\n\n <!-- Single string -->\n <div *ngSwitchCase=\"'SingleSelect'\">\n <app-display-text\n *ngIf=\"adminService.schema[key].instanceOverride !== 'Hidden'\"\n [field]=\"adminService.schema[key].displayName || key\"\n [value]=\"object[key]\">\n </app-display-text>\n </div>\n\n <!-- Multi select of strings -->\n <div *ngSwitchCase=\"'MultiSelect'\">\n <span>\n <strong>{{adminService.schema[key].displayName || key}}: </strong>\n <app-display-array\n [field]=\"key\"\n [value]=\"object[key]\">\n </app-display-array>\n </span>\n </div>\n\n <!-- Single relationship -->\n <div *ngSwitchCase=\"'ObjectID'\">\n <app-display-single-rel \n *ngIf=\"adminService.schema[key].options &&\n adminService.schema[key].options.ref &&\n key !== '_id'\"\n [value]=\"object[key]\"\n [field]=\"adminService.schema[key].displayName || key\"\n [className]=\"adminService.schema[key].options.ref\"\n [displayKey]=\"adminService.schema[key].displayKey || adminService.schema[key].searchField\"> \n </app-display-single-rel>\n </div>\n\n <!-- Select array of relationships -->\n <div *ngSwitchCase=\"'Array'\">\n <app-display-array-rel \n *ngIf=\"adminService.schema[key].caster && adminService.schema[key].caster.options && adminService.schema[key].caster.options.ref\"\n [className]=\"adminService.schema[key].caster.options.ref\"\n [displayKey]=\"adminService.schema[key].displayKey || adminService.schema[key].searchField\"\n [field]=\"adminService.schema[key].displayName || key\"\n [value]=\"object[key]\">\n </app-display-array-rel>\n </div>\n\n <!-- Object Id -->\n <div *ngSwitchCase=\"'ObjectID'\">\n <app-display-text\n *ngIf=\"key === '_id'\"\n [field]=\"adminService.schema[key].displayName || key\"\n [value]=\"object[key]\">\n </app-display-text>\n </div>\n\n <!-- Wysiwyg editor -->\n <div *ngSwitchCase=\"'Wysiwyg'\">\n <span>\n <strong>{{adminService.schema[key].displayName || key}}:</strong>\n <div [innerHTML]=\"object[key]\"></div>\n </span>\n </div>\n\n <!-- Single embedded document -->\n <div *ngSwitchCase=\"'Embedded'\">\n <div class=\"row\">\n <div class=\"col-sm-2\">\n <label>{{adminService.schema[key].displayName || key}}: </label>\n </div>\n <app-display-array-embedded\n *ngIf=\"object[key]\"\n [value]=\"[object[key]]\"\n [key]=\"key\">\n </app-display-array-embedded>\n </div>\n </div>\n\n <!-- Single custom object -->\n <div *ngSwitchCase=\"'CustomObject'\">\n <div class=\"row\">\n <div class=\"col-sm-2\">\n <label>{{adminService.schema[key].displayName || key}}: </label>\n </div>\n <app-display-array-embedded\n *ngIf=\"object[key]\"\n [value]=\"[object[key]]\"\n [key]=\"key\">\n </app-display-array-embedded>\n </div>\n </div>\n\n <!-- Array of embedded schemas or custom objects -->\n <div *ngSwitchCase=\"'Array'\">\n <div class=\"row\" *ngIf=\"!adminService.schema[key].caster && adminService.schema[key].schema.tree.id\">\n <div class=\"col-sm-2\">\n <label>{{adminService.schema[key].displayName || key}}: </label>\n </div>\n <app-display-array-embedded [value]=\"object[key]\" [key]=\"key\">\n </app-display-array-embedded>\n </div>\n </div>\n\n <!-- SubDocument -->\n <div *ngSwitchCase=\"'SubDocument'\">\n <app-display-text\n [field]=\"adminService.schema[key].displayName || key\"\n [value]=\"object[key] && adminService.schema[key].displayKey ? object[key][adminService.schema[key].displayKey] : object[key]\">\n </app-display-text>\n </div>\n\n <!-- Date type -->\n <div *ngSwitchCase=\"'Date'\">\n <app-display-text\n *ngIf=\"adminService.schema[key].instanceOverride !== 'Hidden'\"\n [field]=\"adminService.schema[key].displayName || key\"\n [value]=\"object[key]\"\n [isDate]=\"true\">\n </app-display-text>\n </div>\n\n <!-- Default type -->\n <div *ngSwitchDefault>\n <app-display-text\n *ngIf=\"adminService.schema[key].instanceOverride !== 'Hidden'\"\n [field]=\"adminService.schema[key].displayName || key\"\n [value]=\"object[key]\">\n </app-display-text>\n </div>\n </li>\n </ng-template>\n </ul>\n\n <a [routerLink]=\"['/admin', adminService.className, object._id, 'edit']\">Edit</a>\n <button (click)=\"deleteItem(object)\">Delete</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: ["\n\n "], },] }, ]; AdminDetailComponent.ctorParameters = function () { return [ { type: ActivatedRoute, }, { type: Router, }, { type: AdminService, }, ]; }; //# sourceMappingURL=admin-detail.component.js.map