@rucken/todo-web
Version:
Base components and ui for todo application maked on Angular7+ and based on Rucken template
139 lines • 12.3 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, STATUSES_CONFIG_TOKEN, StatusWithProject } from '@rucken/todo-core';
import { DynamicRepository } from 'ngx-repository';
import { StatusModalComponent } from '../status-modal/status-modal.component';
import { BindIoInner } from 'ngx-bind-io';
let StatusesGridComponent = class StatusesGridComponent extends BaseEntityListComponent {
/**
* @param {?} modalsService
* @param {?} errorsExtractor
* @param {?} translateService
* @param {?} dynamicRepository
* @param {?} statusesConfig
*/
constructor(modalsService, errorsExtractor, translateService, dynamicRepository, statusesConfig) {
super(dynamicRepository.fork(StatusWithProject), modalsService, StatusWithProject);
this.errorsExtractor = errorsExtractor;
this.translateService = translateService;
this.dynamicRepository = dynamicRepository;
this.statusesConfig = statusesConfig;
this.autoload = false;
this.modalItem = {
component: StatusModalComponent
};
this.title = translate('Statuses');
this.project = undefined;
}
/**
* @return {?}
*/
ngOnInit() {
if (!this.mockedItems) {
this.useRest(Object.assign({ apiUrl: this.apiUrl }, this.statusesConfig, { autoload: this.autoload }));
}
if (this.mockedItems) {
this.useMock(Object.assign({ items: this.mockedItems }, this.statusesConfig, { autoload: this.autoload }));
}
this.onChangeFilter();
}
/**
* @param {?=} filter
* @return {?}
*/
onChangeFilter(filter) {
filter = filter ? filter : {};
if (this.project) {
filter.project = this.project.id;
}
else {
filter.project = -1;
}
super.onChangeFilter(filter);
}
/**
* @param {?=} item
* @return {?}
*/
defaultCreateCreateModal(item) {
item = item || new StatusWithProject();
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);
}
};
StatusesGridComponent.decorators = [
{ type: Component, args: [{
selector: 'statuses-grid',
template: "<entity-grid\n [bindIO]\n [columns]=\"['title','action']\"\n [enableCreate]=\"'add_status' | perm:false | async\"\n [enableUpdate]=\"'change_status' | perm:false | async\"\n [enableDelete]=\"'delete_status' | perm:false | async\">\n</entity-grid>\n",
changeDetection: ChangeDetectionStrategy.OnPush
}] }
];
/** @nocollapse */
StatusesGridComponent.ctorParameters = () => [
{ type: ModalsService },
{ type: ErrorsExtractor },
{ type: TranslateService },
{ type: DynamicRepository },
{ type: undefined, decorators: [{ type: Inject, args: [STATUSES_CONFIG_TOKEN,] }] }
];
StatusesGridComponent.propDecorators = {
autoload: [{ type: Input }],
modalItem: [{ type: Input }],
title: [{ type: Input }],
project: [{ type: Input }]
};
StatusesGridComponent = tslib_1.__decorate([
BindIoInner(),
tslib_1.__metadata("design:paramtypes", [ModalsService,
ErrorsExtractor,
TranslateService,
DynamicRepository, Object])
], StatusesGridComponent);
export { StatusesGridComponent };
if (false) {
/** @type {?} */
StatusesGridComponent.prototype.autoload;
/** @type {?} */
StatusesGridComponent.prototype.modalItem;
/** @type {?} */
StatusesGridComponent.prototype.title;
/** @type {?} */
StatusesGridComponent.prototype.project;
/**
* @type {?}
* @protected
*/
StatusesGridComponent.prototype.errorsExtractor;
/**
* @type {?}
* @protected
*/
StatusesGridComponent.prototype.translateService;
/**
* @type {?}
* @protected
*/
StatusesGridComponent.prototype.dynamicRepository;
/**
* @type {?}
* @protected
*/
StatusesGridComponent.prototype.statusesConfig;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnVja2VuL3RvZG8td2ViLyIsInNvdXJjZXMiOlsibGliL2VudGl0aWVzL3N0YXR1c2VzL3N0YXR1c2VzLWdyaWQvc3RhdHVzZXMtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixlQUFlLEVBR2YsYUFBYSxFQUNiLFNBQVMsRUFDVixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7SUFRN0IscUJBQXFCLFNBQXJCLHFCQUFzQixTQUFRLHVCQUEwQzs7Ozs7Ozs7SUFZbkYsWUFDRSxhQUE0QixFQUNsQixlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsaUJBQW9DLEVBRXBDLGNBQXVEO1FBRWpFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQW9CLGlCQUFpQixDQUFDLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFONUYsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBeUM7UUFo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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlRW50aXR5TGlzdENvbXBvbmVudCxcbiAgRXJyb3JzRXh0cmFjdG9yLFxuICBJQmFzZUVudGl0eUdyaWRGaWx0ZXIsXG4gIElCYXNlRW50aXR5TW9kYWxPcHRpb25zLFxuICBNb2RhbHNTZXJ2aWNlLFxuICB0cmFuc2xhdGVcbn0gZnJvbSAnQHJ1Y2tlbi9jb3JlJztcbmltcG9ydCB7IFByb2plY3QsIFNUQVRVU0VTX0NPTkZJR19UT0tFTiwgU3RhdHVzV2l0aFByb2plY3QgfSBmcm9tICdAcnVja2VuL3RvZG8tY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljUmVwb3NpdG9yeSwgSVJlc3RQcm92aWRlck9wdGlvbnMgfSBmcm9tICduZ3gtcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBTdGF0dXNNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL3N0YXR1cy1tb2RhbC9zdGF0dXMtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbmRJb0lubmVyIH0gZnJvbSAnbmd4LWJpbmQtaW8nO1xuXG5AQmluZElvSW5uZXIoKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RhdHVzZXMtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0dXNlcy1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzZXNHcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUVudGl0eUxpc3RDb21wb25lbnQ8U3RhdHVzV2l0aFByb2plY3Q+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgYXV0b2xvYWQgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgbW9kYWxJdGVtOiBJQmFzZUVudGl0eU1vZGFsT3B0aW9ucyA9IHtcbiAgICBjb21wb25lbnQ6IFN0YXR1c01vZGFsQ29tcG9uZW50XG4gIH07XG4gIEBJbnB1dCgpXG4gIHRpdGxlID0gdHJhbnNsYXRlKCdTdGF0dXNlcycpO1xuICBASW5wdXQoKVxuICBwcm9qZWN0OiBQcm9qZWN0ID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1vZGFsc1NlcnZpY2U6IE1vZGFsc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVycm9yc0V4dHJhY3RvcjogRXJyb3JzRXh0cmFjdG9yLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBkeW5hbWljUmVwb3NpdG9yeTogRHluYW1pY1JlcG9zaXRvcnksXG4gICAgQEluamVjdChTVEFUVVNFU19DT05GSUdfVE9LRU4pXG4gICAgcHJvdGVjdGVkIHN0YXR1c2VzQ29uZmlnOiBJUmVzdFByb3ZpZGVyT3B0aW9uczxTdGF0dXNXaXRoUHJvamVjdD5cbiAgKSB7XG4gICAgc3VwZXIoZHluYW1pY1JlcG9zaXRvcnkuZm9yazxTdGF0dXNXaXRoUHJvamVjdD4oU3RhdHVzV2l0aFByb2plY3QpLCBtb2RhbHNTZXJ2aWNlLCBTdGF0dXNXaXRoUHJvamVjdCk7XG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLm1vY2tlZEl0ZW1zKSB7XG4gICAgICB0aGlzLnVzZVJlc3Qoe1xuICAgICAgICBhcGlVcmw6IHRoaXMuYXBpVXJsLFxuICAgICAgICAuLi50aGlzLnN0YXR1c2VzQ29uZmlnLFxuICAgICAgICBhdXRvbG9hZDogdGhpcy5hdXRvbG9hZFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vY2tlZEl0ZW1zKSB7XG4gICAgICB0aGlzLnVzZU1vY2soe1xuICAgICAgICBpdGVtczogdGhpcy5tb2NrZWRJdGVtcyxcbiAgICAgICAgLi4udGhpcy5zdGF0dXNlc0NvbmZpZyxcbiAgICAgICAgYXV0b2xvYWQ6IHRoaXMuYXV0b2xvYWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlRmlsdGVyKCk7XG4gIH1cbiAgb25DaGFuZ2VGaWx0ZXIoZmlsdGVyPzogSUJhc2VFbnRpdHlHcmlkRmlsdGVyKSB7XG4gICAgZmlsdGVyID0gZmlsdGVyID8gZmlsdGVyIDoge307XG4gICAgaWYgKHRoaXMucHJvamVjdCkge1xuICAgICAgZmlsdGVyLnByb2plY3QgPSB0aGlzLnByb2plY3QuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbHRlci5wcm9qZWN0ID0gLTE7XG4gICAgfVxuICAgIHN1cGVyLm9uQ2hhbmdlRmlsdGVyKGZpbHRlcik7XG4gIH1cbiAgZGVmYXVsdENyZWF0ZUNyZWF0ZU1vZGFsKGl0ZW0/OiBTdGF0dXNXaXRoUHJvamVjdCkge1xuICAgIGl0ZW0gPSBpdGVtIHx8IG5ldyBTdGF0dXNXaXRoUHJvamVjdCgpO1xuICAgIGl0ZW0ucHJvamVjdCA9IHRoaXMucHJvamVjdDtcbiAgICB0aGlzLm1vZGFsQ3JlYXRlID0ge1xuICAgICAgLi4udGhpcy5tb2RhbENyZWF0ZSxcbiAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAuLi50aGlzLm1vZGFsQ3JlYXRlLmluaXRpYWxTdGF0ZSxcbiAgICAgICAgZGF0YTogaXRlbVxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHN1cGVyLmRlZmF1bHRDcmVhdGVDcmVhdGVNb2RhbChpdGVtKTtcbiAgfVxuICBkZWZhdWx0Q3JlYXRlVXBkYXRlTW9kYWwoaXRlbT86IFN0YXR1c1dpdGhQcm9qZWN0KSB7XG4gICAgaXRlbS5wcm9qZWN0ID0gdGhpcy5wcm9qZWN0O1xuICAgIHRoaXMubW9kYWxVcGRhdGUgPSB7XG4gICAgICAuLi50aGlzLm1vZGFsVXBkYXRlLFxuICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgIC4uLnRoaXMubW9kYWxVcGRhdGUuaW5pdGlhbFN0YXRlLFxuICAgICAgICBkYXRhOiBpdGVtXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gc3VwZXIuZGVmYXVsdENyZWF0ZVVwZGF0ZU1vZGFsKGl0ZW0pO1xuICB9XG59XG4iXX0=