UNPKG

@rucken/todo-web

Version:

Base components and ui for todo application maked on Angular7+ and based on Rucken template

130 lines 11.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BaseEntityListComponent, ErrorsExtractor, ModalsService, translate, UserPermPipe } from '@rucken/core'; import { Project, PROJECTS_CONFIG_TOKEN } from '@rucken/todo-core'; import { DynamicRepository } from 'ngx-repository'; import { ProjectModalComponent } from '../project-modal/project-modal.component'; import { BindIoInner } from 'ngx-bind-io'; var ProjectsGridComponent = /** @class */ (function (_super) { tslib_1.__extends(ProjectsGridComponent, _super); function ProjectsGridComponent(modalsService, errorsExtractor, translateService, dynamicRepository, projectsConfig, userPermPipe) { var _this = _super.call(this, dynamicRepository.fork(Project), modalsService, Project) || this; _this.errorsExtractor = errorsExtractor; _this.translateService = translateService; _this.dynamicRepository = dynamicRepository; _this.projectsConfig = projectsConfig; _this.userPermPipe = userPermPipe; _this.autoload = false; _this.modalItem = { component: ProjectModalComponent, class: 'modal-lg' }; _this.modalDelete = { class: 'modal-md' }; _this.title = translate('Projects'); return _this; } /** * @return {?} */ ProjectsGridComponent.prototype.ngOnInit = /** * @return {?} */ function () { if (!this.mockedItems) { this.useRest(tslib_1.__assign({ apiUrl: this.apiUrl }, this.projectsConfig, { autoload: this.autoload })); } if (this.mockedItems) { this.useMock(tslib_1.__assign({ items: this.mockedItems }, this.projectsConfig, { autoload: this.autoload })); } }; /** * @param {?} item * @return {?} */ ProjectsGridComponent.prototype.onDblClick = /** * @param {?} item * @return {?} */ function (item) { if (this.userPermPipe.transform(item)) { this.onUpdateClick(item); } else { this.onViewClick(item); } }; ProjectsGridComponent.decorators = [ { type: Component, args: [{ selector: 'projects-grid', template: "<entity-grid\n [bindIO]\n [columns]=\"'change_project'|perm:false:['title','users','isPublic','action']:['title','users']|async\"\n [translatedCells]=\"['isPublic']\"\n [enableCreate]=\"'add_project' | perm:false | async\"\n [enableUpdate]=\"'change_project' | perm:false | async\"\n [enableDelete]=\"'delete_project' | perm:false | async\"\n [gridCellActionContent]=\"gridCellActionContent\"\n #grid>\n</entity-grid>\n<ng-template\n #gridCellActionContent\n let-ctx>\n <button\n type=\"button\"\n class=\"btn btn-default btn-sm\"\n (click)=\"grid.onUpdate(ctx.item)\"\n *ngIf=\"(grid.notReadonlyAndEnableUpdate$ | async) && (ctx.item|userPerm)\">\n <fa-icon [icon]=\"['fas', 'edit']\"></fa-icon>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-sm\"\n (click)=\"grid.onDelete(ctx.item)\"\n *ngIf=\"(grid.notReadonlyAndEnableDelete$ | async) && (ctx.item|userPerm)\">\n <fa-icon [icon]=\"['fas', 'trash']\"></fa-icon>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-default btn-sm\"\n (click)=\"grid.onView(ctx.item)\"\n *ngIf=\"!(ctx.item|userPerm)\">\n <fa-icon [icon]=\"['fas', 'eye']\"></fa-icon>\n </button>\n</ng-template>\n", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ ProjectsGridComponent.ctorParameters = function () { return [ { type: ModalsService }, { type: ErrorsExtractor }, { type: TranslateService }, { type: DynamicRepository }, { type: undefined, decorators: [{ type: Inject, args: [PROJECTS_CONFIG_TOKEN,] }] }, { type: UserPermPipe } ]; }; ProjectsGridComponent.propDecorators = { autoload: [{ type: Input }], modalItem: [{ type: Input }], modalDelete: [{ type: Input }], title: [{ type: Input }] }; ProjectsGridComponent = tslib_1.__decorate([ BindIoInner(), tslib_1.__metadata("design:paramtypes", [ModalsService, ErrorsExtractor, TranslateService, DynamicRepository, Object, UserPermPipe]) ], ProjectsGridComponent); return ProjectsGridComponent; }(BaseEntityListComponent)); export { ProjectsGridComponent }; if (false) { /** @type {?} */ ProjectsGridComponent.prototype.autoload; /** @type {?} */ ProjectsGridComponent.prototype.modalItem; /** @type {?} */ ProjectsGridComponent.prototype.modalDelete; /** @type {?} */ ProjectsGridComponent.prototype.title; /** * @type {?} * @protected */ ProjectsGridComponent.prototype.errorsExtractor; /** * @type {?} * @protected */ ProjectsGridComponent.prototype.translateService; /** * @type {?} * @protected */ ProjectsGridComponent.prototype.dynamicRepository; /** * @type {?} * @protected */ ProjectsGridComponent.prototype.projectsConfig; /** * @type {?} * @protected */ ProjectsGridComponent.prototype.userPermPipe; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnVja2VuL3RvZG8td2ViLyIsInNvdXJjZXMiOlsibGliL2VudGl0aWVzL3Byb2plY3RzL3Byb2plY3RzLWdyaWQvcHJvamVjdHMtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixlQUFlLEVBRWYsYUFBYSxFQUNiLFNBQVMsRUFDVCxZQUFZLEVBQ2IsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOztJQVFDLGlEQUFnQztJQWN6RSwrQkFDRSxhQUE0QixFQUNsQixlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsaUJBQW9DLEVBRXBDLGNBQTZDLEVBQzdDLFlBQTJCO1FBUHZDLFlBU0Usa0JBQU0saUJBQWlCLENBQUMsSUFBSSxDQUFVLE9BQU8sQ0FBQyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsU0FDeEU7UUFSVyxxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsc0JBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRXBDLG9CQUFjLEdBQWQsY0FBYyxDQUErQjtRQUM3QyxrQkFBWSxHQUFaLFlBQVksQ0FBZTtRQW5CdkMsY0FBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixlQUFTLEdBQTRCO1lBQ25DLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQztRQUVGLGlCQUFXLEdBQUc7WUFDWixLQUFLLEVBQUUsVUFBVTtTQUNsQixDQUFDO1FBRUYsV0FBSyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQzs7SUFXOUIsQ0FBQzs7OztJQUNELHdDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLG9CQUNWLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUNoQixJQUFJLENBQUMsY0FBYyxJQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFDdkIsQ0FBQztTQUNKO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLG9CQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxJQUNwQixJQUFJLENBQUMsY0FBYyxJQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFDdkIsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Ozs7SUFDRCwwQ0FBVTs7OztJQUFWLFVBQVcsSUFBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDOztnQkFwREYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6Qiw4eUNBQTZDO29CQUM3QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7Ozs7Z0JBZEMsYUFBYTtnQkFGYixlQUFlO2dCQUhSLGdCQUFnQjtnQkFVaEIsaUJBQWlCO2dEQTZCckIsTUFBTSxTQUFDLHFCQUFxQjtnQkFoQy9CLFlBQVk7OzsyQkFjWCxLQUFLOzRCQUVMLEtBQUs7OEJBS0wsS0FBSzt3QkFJTCxLQUFLOztJQVpLLHFCQUFxQjtRQU5qQyxXQUFXLEVBQUU7aURBcUJLLGFBQWE7WUFDRCxlQUFlO1lBQ2QsZ0JBQWdCO1lBQ2YsaUJBQWlCLFVBR3JCLFlBQVk7T0FyQjVCLHFCQUFxQixDQWdEakM7SUFBRCw0QkFBQztDQUFBLENBaEQwQyx1QkFBdUIsR0FnRGpFO1NBaERZLHFCQUFxQjs7O0lBQ2hDLHlDQUNpQjs7SUFDakIsMENBSUU7O0lBQ0YsNENBR0U7O0lBQ0Ysc0NBQzhCOzs7OztJQUc1QixnREFBMEM7Ozs7O0lBQzFDLGlEQUE0Qzs7Ozs7SUFDNUMsa0RBQThDOzs7OztJQUM5QywrQ0FDdUQ7Ozs7O0lBQ3ZELDZDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZUVudGl0eUxpc3RDb21wb25lbnQsXG4gIEVycm9yc0V4dHJhY3RvcixcbiAgSUJhc2VFbnRpdHlNb2RhbE9wdGlvbnMsXG4gIE1vZGFsc1NlcnZpY2UsXG4gIHRyYW5zbGF0ZSxcbiAgVXNlclBlcm1QaXBlXG59IGZyb20gJ0BydWNrZW4vY29yZSc7XG5pbXBvcnQgeyBQcm9qZWN0LCBQUk9KRUNUU19DT05GSUdfVE9LRU4gfSBmcm9tICdAcnVja2VuL3RvZG8tY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljUmVwb3NpdG9yeSwgSVJlc3RQcm92aWRlck9wdGlvbnMgfSBmcm9tICduZ3gtcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBQcm9qZWN0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9wcm9qZWN0LW1vZGFsL3Byb2plY3QtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbmRJb0lubmVyIH0gZnJvbSAnbmd4LWJpbmQtaW8nO1xuXG5AQmluZElvSW5uZXIoKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJvamVjdHMtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9qZWN0cy1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJvamVjdHNHcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUVudGl0eUxpc3RDb21wb25lbnQ8UHJvamVjdD4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBhdXRvbG9hZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBtb2RhbEl0ZW06IElCYXNlRW50aXR5TW9kYWxPcHRpb25zID0ge1xuICAgIGNvbXBvbmVudDogUHJvamVjdE1vZGFsQ29tcG9uZW50LFxuICAgIGNsYXNzOiAnbW9kYWwtbGcnXG4gIH07XG4gIEBJbnB1dCgpXG4gIG1vZGFsRGVsZXRlID0ge1xuICAgIGNsYXNzOiAnbW9kYWwtbWQnXG4gIH07XG4gIEBJbnB1dCgpXG4gIHRpdGxlID0gdHJhbnNsYXRlKCdQcm9qZWN0cycpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBtb2RhbHNTZXJ2aWNlOiBNb2RhbHNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBlcnJvcnNFeHRyYWN0b3I6IEVycm9yc0V4dHJhY3RvcixcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZHluYW1pY1JlcG9zaXRvcnk6IER5bmFtaWNSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoUFJPSkVDVFNfQ09ORklHX1RPS0VOKVxuICAgIHByb3RlY3RlZCBwcm9qZWN0c0NvbmZpZzogSVJlc3RQcm92aWRlck9wdGlvbnM8UHJvamVjdD4sXG4gICAgcHJvdGVjdGVkIHVzZXJQZXJtUGlwZT86IFVzZXJQZXJtUGlwZVxuICApIHtcbiAgICBzdXBlcihkeW5hbWljUmVwb3NpdG9yeS5mb3JrPFByb2plY3Q+KFByb2plY3QpLCBtb2RhbHNTZXJ2aWNlLCBQcm9qZWN0KTtcbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubW9ja2VkSXRlbXMpIHtcbiAgICAgIHRoaXMudXNlUmVzdCh7XG4gICAgICAgIGFwaVVybDogdGhpcy5hcGlVcmwsXG4gICAgICAgIC4uLnRoaXMucHJvamVjdHNDb25maWcsXG4gICAgICAgIGF1dG9sb2FkOiB0aGlzLmF1dG9sb2FkXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9ja2VkSXRlbXMpIHtcbiAgICAgIHRoaXMudXNlTW9jayh7XG4gICAgICAgIGl0ZW1zOiB0aGlzLm1vY2tlZEl0ZW1zLFxuICAgICAgICAuLi50aGlzLnByb2plY3RzQ29uZmlnLFxuICAgICAgICBhdXRvbG9hZDogdGhpcy5hdXRvbG9hZFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG9uRGJsQ2xpY2soaXRlbTogUHJvamVjdCkge1xuICAgIGlmICh0aGlzLnVzZXJQZXJtUGlwZS50cmFuc2Zvcm0oaXRlbSkpIHtcbiAgICAgIHRoaXMub25VcGRhdGVDbGljayhpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vblZpZXdDbGljayhpdGVtKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==