UNPKG

@rucken/todo-web

Version:

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

153 lines 13.1 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 } from '@rucken/core'; import { Project, Task, TASKS_CONFIG_TOKEN } from '@rucken/todo-core'; import { BindIoInner } from 'ngx-bind-io'; import { DynamicRepository } from 'ngx-repository'; import { map } from 'rxjs/operators'; import { TaskModalComponent } from '../task-modal/task-modal.component'; let TasksGridComponent = class TasksGridComponent extends BaseEntityListComponent { /** * @param {?} modalsService * @param {?} errorsExtractor * @param {?} translateService * @param {?} dynamicRepository * @param {?} tasksConfig */ constructor(modalsService, errorsExtractor, translateService, dynamicRepository, tasksConfig) { super(dynamicRepository.fork(Task), modalsService, Task); this.errorsExtractor = errorsExtractor; this.translateService = translateService; this.dynamicRepository = dynamicRepository; this.tasksConfig = tasksConfig; this.autoload = false; this.modalItem = { component: TaskModalComponent }; this.title = translate('Tasks'); this.project = undefined; } /** * @return {?} */ ngOnInit() { if (!this.mockedItems) { this.useRest(Object.assign({ apiUrl: this.apiUrl }, this.tasksConfig, { autoload: this.autoload })); } if (this.mockedItems) { this.useMock(Object.assign({ items: this.mockedItems }, this.tasksConfig, { autoload: this.autoload })); } this.items$ = this.repository.items$.pipe(map((/** * @param {?} items * @return {?} */ items => items.map((/** * @param {?} item * @return {?} */ item => { item.project = this.project; return item; }))))); } /** * @param {?=} filter * @return {?} */ onChangeFilter(filter) { filter = filter ? filter : {}; if (this.project) { filter.project = this.project.id; this.mockedItems = undefined; } else { this.mockedItems = []; } this.ngOnInit(); super.onChangeFilter(filter); } /** * @param {?=} item * @return {?} */ defaultCreateCreateModal(item) { item = item || new Task(); item.project = this.project; this.modalCreate = Object.assign({}, this.modalCreate, { initialState: Object.assign({}, this.modalCreate.initialState, { data: item }) }); return super.defaultCreateCreateModal(item); } /** * @param {?=} item * @return {?} */ defaultCreateUpdateModal(item) { item.project = this.project; this.modalUpdate = Object.assign({}, this.modalUpdate, { initialState: Object.assign({}, this.modalUpdate.initialState, { data: item }) }); return super.defaultCreateUpdateModal(item); } }; TasksGridComponent.decorators = [ { type: Component, args: [{ selector: 'tasks-grid', template: "<entity-grid\n [bindIO]\n [columns]=\"['title','range','status','action']\"\n [enableCreate]=\"'add_task' | perm:false | async\"\n [enableUpdate]=\"'change_task' | perm:false | async\"\n [enableDelete]=\"'delete_task' | perm:false | async\">\n</entity-grid>\n", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ TasksGridComponent.ctorParameters = () => [ { type: ModalsService }, { type: ErrorsExtractor }, { type: TranslateService }, { type: DynamicRepository }, { type: undefined, decorators: [{ type: Inject, args: [TASKS_CONFIG_TOKEN,] }] } ]; TasksGridComponent.propDecorators = { autoload: [{ type: Input }], modalItem: [{ type: Input }], title: [{ type: Input }], project: [{ type: Input }] }; TasksGridComponent = tslib_1.__decorate([ BindIoInner(), tslib_1.__metadata("design:paramtypes", [ModalsService, ErrorsExtractor, TranslateService, DynamicRepository, Object]) ], TasksGridComponent); export { TasksGridComponent }; if (false) { /** @type {?} */ TasksGridComponent.prototype.autoload; /** @type {?} */ TasksGridComponent.prototype.modalItem; /** @type {?} */ TasksGridComponent.prototype.title; /** @type {?} */ TasksGridComponent.prototype.project; /** * @type {?} * @protected */ TasksGridComponent.prototype.errorsExtractor; /** * @type {?} * @protected */ TasksGridComponent.prototype.translateService; /** * @type {?} * @protected */ TasksGridComponent.prototype.dynamicRepository; /** * @type {?} * @protected */ TasksGridComponent.prototype.tasksConfig; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnVja2VuL3RvZG8td2ViLyIsInNvdXJjZXMiOlsibGliL2VudGl0aWVzL3Rhc2tzL3Rhc2tzLWdyaWQvdGFza3MtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixlQUFlLEVBR2YsYUFBYSxFQUNiLFNBQVMsRUFDVixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztJQVEzRCxrQkFBa0IsU0FBbEIsa0JBQW1CLFNBQVEsdUJBQTZCOzs7Ozs7OztJQVluRSxZQUNFLGFBQTRCLEVBQ2xCLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFFcEMsV0FBdUM7UUFFakQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFOckQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVwQyxn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QWhCM0IsS0FBSzt3QkFFTCxLQUFLO29CQUlMLEtBQUs7c0JBRUwsS0FBSzs7QUFUSyxrQkFBa0I7SUFOOUIsV0FBVyxFQUFFOzZDQW1CSyxhQUFhO1FBQ0QsZUFBZTtRQUNkLGdCQUFnQjtRQUNmLGlCQUFpQjtHQWhCckMsa0JBQWtCLENBZ0Y5QjtTQWhGWSxrQkFBa0I7OztJQUM3QixzQ0FDaUI7O0lBQ2pCLHVDQUdFOztJQUNGLG1DQUMyQjs7SUFDM0IscUNBQzZCOzs7OztJQUkzQiw2Q0FBMEM7Ozs7O0lBQzFDLDhDQUE0Qzs7Ozs7SUFDNUMsK0NBQThDOzs7OztJQUM5Qyx5Q0FDaUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VFbnRpdHlMaXN0Q29tcG9uZW50LFxuICBFcnJvcnNFeHRyYWN0b3IsXG4gIElCYXNlRW50aXR5R3JpZEZpbHRlcixcbiAgSUJhc2VFbnRpdHlNb2RhbE9wdGlvbnMsXG4gIE1vZGFsc1NlcnZpY2UsXG4gIHRyYW5zbGF0ZVxufSBmcm9tICdAcnVja2VuL2NvcmUnO1xuaW1wb3J0IHsgUHJvamVjdCwgVGFzaywgVEFTS1NfQ09ORklHX1RPS0VOIH0gZnJvbSAnQHJ1Y2tlbi90b2RvLWNvcmUnO1xuaW1wb3J0IHsgQmluZElvSW5uZXIgfSBmcm9tICduZ3gtYmluZC1pbyc7XG5pbXBvcnQgeyBEeW5hbWljUmVwb3NpdG9yeSwgSVJlc3RQcm92aWRlck9wdGlvbnMgfSBmcm9tICduZ3gtcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYXNrTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi90YXNrLW1vZGFsL3Rhc2stbW9kYWwuY29tcG9uZW50JztcblxuQEJpbmRJb0lubmVyKClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rhc2tzLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFza3MtZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tzR3JpZENvbXBvbmVudCBleHRlbmRzIEJhc2VFbnRpdHlMaXN0Q29tcG9uZW50PFRhc2s+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgYXV0b2xvYWQgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgbW9kYWxJdGVtOiBJQmFzZUVudGl0eU1vZGFsT3B0aW9ucyA9IHtcbiAgICBjb21wb25lbnQ6IFRhc2tNb2RhbENvbXBvbmVudFxuICB9O1xuICBASW5wdXQoKVxuICB0aXRsZSA9IHRyYW5zbGF0ZSgnVGFza3MnKTtcbiAgQElucHV0KClcbiAgcHJvamVjdDogUHJvamVjdCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtb2RhbHNTZXJ2aWNlOiBNb2RhbHNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBlcnJvcnNFeHRyYWN0b3I6IEVycm9yc0V4dHJhY3RvcixcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZHluYW1pY1JlcG9zaXRvcnk6IER5bmFtaWNSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoVEFTS1NfQ09ORklHX1RPS0VOKVxuICAgIHByb3RlY3RlZCB0YXNrc0NvbmZpZzogSVJlc3RQcm92aWRlck9wdGlvbnM8VGFzaz5cbiAgKSB7XG4gICAgc3VwZXIoZHluYW1pY1JlcG9zaXRvcnkuZm9yazxUYXNrPihUYXNrKSwgbW9kYWxzU2VydmljZSwgVGFzayk7XG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLm1vY2tlZEl0ZW1zKSB7XG4gICAgICB0aGlzLnVzZVJlc3Qoe1xuICAgICAgICBhcGlVcmw6IHRoaXMuYXBpVXJsLFxuICAgICAgICAuLi50aGlzLnRhc2tzQ29uZmlnLFxuICAgICAgICBhdXRvbG9hZDogdGhpcy5hdXRvbG9hZFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vY2tlZEl0ZW1zKSB7XG4gICAgICB0aGlzLnVzZU1vY2soe1xuICAgICAgICBpdGVtczogdGhpcy5tb2NrZWRJdGVtcyxcbiAgICAgICAgLi4udGhpcy50YXNrc0NvbmZpZyxcbiAgICAgICAgYXV0b2xvYWQ6IHRoaXMuYXV0b2xvYWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLml0ZW1zJCA9IHRoaXMucmVwb3NpdG9yeS5pdGVtcyQucGlwZShcbiAgICAgIG1hcChpdGVtcyA9PlxuICAgICAgICBpdGVtcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgaXRlbS5wcm9qZWN0ID0gdGhpcy5wcm9qZWN0O1xuICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cbiAgb25DaGFuZ2VGaWx0ZXIoZmlsdGVyPzogSUJhc2VFbnRpdHlHcmlkRmlsdGVyKSB7XG4gICAgZmlsdGVyID0gZmlsdGVyID8gZmlsdGVyIDoge307XG4gICAgaWYgKHRoaXMucHJvamVjdCkge1xuICAgICAgZmlsdGVyLnByb2plY3QgPSB0aGlzLnByb2plY3QuaWQ7XG4gICAgICB0aGlzLm1vY2tlZEl0ZW1zID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vY2tlZEl0ZW1zID0gW107XG4gICAgfVxuICAgIHRoaXMubmdPbkluaXQoKTtcbiAgICBzdXBlci5vbkNoYW5nZUZpbHRlcihmaWx0ZXIpO1xuICB9XG4gIGRlZmF1bHRDcmVhdGVDcmVhdGVNb2RhbChpdGVtPzogVGFzaykge1xuICAgIGl0ZW0gPSBpdGVtIHx8IG5ldyBUYXNrKCk7XG4gICAgaXRlbS5wcm9qZWN0ID0gdGhpcy5wcm9qZWN0O1xuICAgIHRoaXMubW9kYWxDcmVhdGUgPSB7XG4gICAgICAuLi50aGlzLm1vZGFsQ3JlYXRlLFxuICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgIC4uLnRoaXMubW9kYWxDcmVhdGUuaW5pdGlhbFN0YXRlLFxuICAgICAgICBkYXRhOiBpdGVtXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gc3VwZXIuZGVmYXVsdENyZWF0ZUNyZWF0ZU1vZGFsKGl0ZW0pO1xuICB9XG4gIGRlZmF1bHRDcmVhdGVVcGRhdGVNb2RhbChpdGVtPzogVGFzaykge1xuICAgIGl0ZW0ucHJvamVjdCA9IHRoaXMucHJvamVjdDtcbiAgICB0aGlzLm1vZGFsVXBkYXRlID0ge1xuICAgICAgLi4udGhpcy5tb2RhbFVwZGF0ZSxcbiAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAuLi50aGlzLm1vZGFsVXBkYXRlLmluaXRpYWxTdGF0ZSxcbiAgICAgICAgZGF0YTogaXRlbVxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHN1cGVyLmRlZmF1bHRDcmVhdGVVcGRhdGVNb2RhbChpdGVtKTtcbiAgfVxufVxuIl19