@rucken/todo-web
Version:
Base components and ui for todo application maked on Angular7+ and based on Rucken template
167 lines • 13.9 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';
var TasksGridComponent = /** @class */ (function (_super) {
tslib_1.__extends(TasksGridComponent, _super);
function TasksGridComponent(modalsService, errorsExtractor, translateService, dynamicRepository, tasksConfig) {
var _this = _super.call(this, dynamicRepository.fork(Task), modalsService, Task) || this;
_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 _this;
}
/**
* @return {?}
*/
TasksGridComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
if (!this.mockedItems) {
this.useRest(tslib_1.__assign({ apiUrl: this.apiUrl }, this.tasksConfig, { autoload: this.autoload }));
}
if (this.mockedItems) {
this.useMock(tslib_1.__assign({ items: this.mockedItems }, this.tasksConfig, { autoload: this.autoload }));
}
this.items$ = this.repository.items$.pipe(map((/**
* @param {?} items
* @return {?}
*/
function (items) {
return items.map((/**
* @param {?} item
* @return {?}
*/
function (item) {
item.project = _this.project;
return item;
}));
})));
};
/**
* @param {?=} filter
* @return {?}
*/
TasksGridComponent.prototype.onChangeFilter = /**
* @param {?=} filter
* @return {?}
*/
function (filter) {
filter = filter ? filter : {};
if (this.project) {
filter.project = this.project.id;
this.mockedItems = undefined;
}
else {
this.mockedItems = [];
}
this.ngOnInit();
_super.prototype.onChangeFilter.call(this, filter);
};
/**
* @param {?=} item
* @return {?}
*/
TasksGridComponent.prototype.defaultCreateCreateModal = /**
* @param {?=} item
* @return {?}
*/
function (item) {
item = item || new Task();
item.project = this.project;
this.modalCreate = tslib_1.__assign({}, this.modalCreate, { initialState: tslib_1.__assign({}, this.modalCreate.initialState, { data: item }) });
return _super.prototype.defaultCreateCreateModal.call(this, item);
};
/**
* @param {?=} item
* @return {?}
*/
TasksGridComponent.prototype.defaultCreateUpdateModal = /**
* @param {?=} item
* @return {?}
*/
function (item) {
item.project = this.project;
this.modalUpdate = tslib_1.__assign({}, this.modalUpdate, { initialState: tslib_1.__assign({}, this.modalUpdate.initialState, { data: item }) });
return _super.prototype.defaultCreateUpdateModal.call(this, 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 = function () { return [
{ 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);
return TasksGridComponent;
}(BaseEntityListComponent));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnVja2VuL3RvZG8td2ViLyIsInNvdXJjZXMiOlsibGliL2VudGl0aWVzL3Rhc2tzL3Rhc2tzLWdyaWQvdGFza3MtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixlQUFlLEVBR2YsYUFBYSxFQUNiLFNBQVMsRUFDVixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7SUFRaEMsOENBQTZCO0lBWW5FLDRCQUNFLGFBQTRCLEVBQ2xCLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFFcEMsV0FBdUM7UUFObkQsWUFRRSxrQkFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUMvRDtRQVBXLHFCQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxzQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHVCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFFcEMsaUJBQVcsR0FBWCxXQUFXLENBQTRCO1FBaEJuRCxj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QyxrQkFBa0I7OzsyQkFoQjNCLEtBQUs7NEJBRUwsS0FBSzt3QkFJTCxLQUFLOzBCQUVMLEtBQUs7O0lBVEssa0JBQWtCO1FBTjlCLFdBQVcsRUFBRTtpREFtQkssYUFBYTtZQUNELGVBQWU7WUFDZCxnQkFBZ0I7WUFDZixpQkFBaUI7T0FoQnJDLGtCQUFrQixDQWdGOUI7SUFBRCx5QkFBQztDQUFBLENBaEZ1Qyx1QkFBdUIsR0FnRjlEO1NBaEZZLGtCQUFrQjs7O0lBQzdCLHNDQUNpQjs7SUFDakIsdUNBR0U7O0lBQ0YsbUNBQzJCOztJQUMzQixxQ0FDNkI7Ozs7O0lBSTNCLDZDQUEwQzs7Ozs7SUFDMUMsOENBQTRDOzs7OztJQUM1QywrQ0FBOEM7Ozs7O0lBQzlDLHlDQUNpRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZUVudGl0eUxpc3RDb21wb25lbnQsXG4gIEVycm9yc0V4dHJhY3RvcixcbiAgSUJhc2VFbnRpdHlHcmlkRmlsdGVyLFxuICBJQmFzZUVudGl0eU1vZGFsT3B0aW9ucyxcbiAgTW9kYWxzU2VydmljZSxcbiAgdHJhbnNsYXRlXG59IGZyb20gJ0BydWNrZW4vY29yZSc7XG5pbXBvcnQgeyBQcm9qZWN0LCBUYXNrLCBUQVNLU19DT05GSUdfVE9LRU4gfSBmcm9tICdAcnVja2VuL3RvZG8tY29yZSc7XG5pbXBvcnQgeyBCaW5kSW9Jbm5lciB9IGZyb20gJ25neC1iaW5kLWlvJztcbmltcG9ydCB7IER5bmFtaWNSZXBvc2l0b3J5LCBJUmVzdFByb3ZpZGVyT3B0aW9ucyB9IGZyb20gJ25neC1yZXBvc2l0b3J5JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhc2tNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL3Rhc2stbW9kYWwvdGFzay1tb2RhbC5jb21wb25lbnQnO1xuXG5AQmluZElvSW5uZXIoKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGFza3MtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrcy1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFza3NHcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUVudGl0eUxpc3RDb21wb25lbnQ8VGFzaz4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBhdXRvbG9hZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBtb2RhbEl0ZW06IElCYXNlRW50aXR5TW9kYWxPcHRpb25zID0ge1xuICAgIGNvbXBvbmVudDogVGFza01vZGFsQ29tcG9uZW50XG4gIH07XG4gIEBJbnB1dCgpXG4gIHRpdGxlID0gdHJhbnNsYXRlKCdUYXNrcycpO1xuICBASW5wdXQoKVxuICBwcm9qZWN0OiBQcm9qZWN0ID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1vZGFsc1NlcnZpY2U6IE1vZGFsc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVycm9yc0V4dHJhY3RvcjogRXJyb3JzRXh0cmFjdG9yLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBkeW5hbWljUmVwb3NpdG9yeTogRHluYW1pY1JlcG9zaXRvcnksXG4gICAgQEluamVjdChUQVNLU19DT05GSUdfVE9LRU4pXG4gICAgcHJvdGVjdGVkIHRhc2tzQ29uZmlnOiBJUmVzdFByb3ZpZGVyT3B0aW9uczxUYXNrPlxuICApIHtcbiAgICBzdXBlcihkeW5hbWljUmVwb3NpdG9yeS5mb3JrPFRhc2s+KFRhc2spLCBtb2RhbHNTZXJ2aWNlLCBUYXNrKTtcbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubW9ja2VkSXRlbXMpIHtcbiAgICAgIHRoaXMudXNlUmVzdCh7XG4gICAgICAgIGFwaVVybDogdGhpcy5hcGlVcmwsXG4gICAgICAgIC4uLnRoaXMudGFza3NDb25maWcsXG4gICAgICAgIGF1dG9sb2FkOiB0aGlzLmF1dG9sb2FkXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9ja2VkSXRlbXMpIHtcbiAgICAgIHRoaXMudXNlTW9jayh7XG4gICAgICAgIGl0ZW1zOiB0aGlzLm1vY2tlZEl0ZW1zLFxuICAgICAgICAuLi50aGlzLnRhc2tzQ29uZmlnLFxuICAgICAgICBhdXRvbG9hZDogdGhpcy5hdXRvbG9hZFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuaXRlbXMkID0gdGhpcy5yZXBvc2l0b3J5Lml0ZW1zJC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+XG4gICAgICAgIGl0ZW1zLm1hcChpdGVtID0+IHtcbiAgICAgICAgICBpdGVtLnByb2plY3QgPSB0aGlzLnByb2plY3Q7XG4gICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuICBvbkNoYW5nZUZpbHRlcihmaWx0ZXI/OiBJQmFzZUVudGl0eUdyaWRGaWx0ZXIpIHtcbiAgICBmaWx0ZXIgPSBmaWx0ZXIgPyBmaWx0ZXIgOiB7fTtcbiAgICBpZiAodGhpcy5wcm9qZWN0KSB7XG4gICAgICBmaWx0ZXIucHJvamVjdCA9IHRoaXMucHJvamVjdC5pZDtcbiAgICAgIHRoaXMubW9ja2VkSXRlbXMgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9ja2VkSXRlbXMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5uZ09uSW5pdCgpO1xuICAgIHN1cGVyLm9uQ2hhbmdlRmlsdGVyKGZpbHRlcik7XG4gIH1cbiAgZGVmYXVsdENyZWF0ZUNyZWF0ZU1vZGFsKGl0ZW0/OiBUYXNrKSB7XG4gICAgaXRlbSA9IGl0ZW0gfHwgbmV3IFRhc2soKTtcbiAgICBpdGVtLnByb2plY3QgPSB0aGlzLnByb2plY3Q7XG4gICAgdGhpcy5tb2RhbENyZWF0ZSA9IHtcbiAgICAgIC4uLnRoaXMubW9kYWxDcmVhdGUsXG4gICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgLi4udGhpcy5tb2RhbENyZWF0ZS5pbml0aWFsU3RhdGUsXG4gICAgICAgIGRhdGE6IGl0ZW1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBzdXBlci5kZWZhdWx0Q3JlYXRlQ3JlYXRlTW9kYWwoaXRlbSk7XG4gIH1cbiAgZGVmYXVsdENyZWF0ZVVwZGF0ZU1vZGFsKGl0ZW0/OiBUYXNrKSB7XG4gICAgaXRlbS5wcm9qZWN0ID0gdGhpcy5wcm9qZWN0O1xuICAgIHRoaXMubW9kYWxVcGRhdGUgPSB7XG4gICAgICAuLi50aGlzLm1vZGFsVXBkYXRlLFxuICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgIC4uLnRoaXMubW9kYWxVcGRhdGUuaW5pdGlhbFN0YXRlLFxuICAgICAgICBkYXRhOiBpdGVtXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gc3VwZXIuZGVmYXVsdENyZWF0ZVVwZGF0ZU1vZGFsKGl0ZW0pO1xuICB9XG59XG4iXX0=