@rucken/todo-web
Version:
Base components and ui for todo application maked on Angular7+ and based on Rucken template
153 lines • 13.1 kB
JavaScript
/**
* @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