@rucken/todo-web
Version:
Base components and ui for todo application maked on Angular7+ and based on Rucken template
150 lines • 13 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';
var StatusesGridComponent = /** @class */ (function (_super) {
tslib_1.__extends(StatusesGridComponent, _super);
function StatusesGridComponent(modalsService, errorsExtractor, translateService, dynamicRepository, statusesConfig) {
var _this = _super.call(this, dynamicRepository.fork(StatusWithProject), modalsService, StatusWithProject) || this;
_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 _this;
}
/**
* @return {?}
*/
StatusesGridComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
if (!this.mockedItems) {
this.useRest(tslib_1.__assign({ apiUrl: this.apiUrl }, this.statusesConfig, { autoload: this.autoload }));
}
if (this.mockedItems) {
this.useMock(tslib_1.__assign({ items: this.mockedItems }, this.statusesConfig, { autoload: this.autoload }));
}
this.onChangeFilter();
};
/**
* @param {?=} filter
* @return {?}
*/
StatusesGridComponent.prototype.onChangeFilter = /**
* @param {?=} filter
* @return {?}
*/
function (filter) {
filter = filter ? filter : {};
if (this.project) {
filter.project = this.project.id;
}
else {
filter.project = -1;
}
_super.prototype.onChangeFilter.call(this, filter);
};
/**
* @param {?=} item
* @return {?}
*/
StatusesGridComponent.prototype.defaultCreateCreateModal = /**
* @param {?=} item
* @return {?}
*/
function (item) {
item = item || new StatusWithProject();
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 {?}
*/
StatusesGridComponent.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);
};
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 = function () { return [
{ 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);
return StatusesGridComponent;
}(BaseEntityListComponent));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnVja2VuL3RvZG8td2ViLyIsInNvdXJjZXMiOlsibGliL2VudGl0aWVzL3N0YXR1c2VzL3N0YXR1c2VzLWdyaWQvc3RhdHVzZXMtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixlQUFlLEVBR2YsYUFBYSxFQUNiLFNBQVMsRUFDVixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7O0lBUUMsaURBQTBDO0lBWW5GLCtCQUNFLGFBQTRCLEVBQ2xCLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFFcEMsY0FBdUQ7UUFObkUsWUFRRSxrQkFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQW9CLGlCQUFpQixDQUFDLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDLFNBQ3RHO1FBUFcscUJBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHNCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsdUJBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVwQyxvQkFBYyxHQUFkLGNBQWMsQ0FBeUM7UUFoQm5FLGNBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIs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QThDOzs7OztJQUM5QywrQ0FDaUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VFbnRpdHlMaXN0Q29tcG9uZW50LFxuICBFcnJvcnNFeHRyYWN0b3IsXG4gIElCYXNlRW50aXR5R3JpZEZpbHRlcixcbiAgSUJhc2VFbnRpdHlNb2RhbE9wdGlvbnMsXG4gIE1vZGFsc1NlcnZpY2UsXG4gIHRyYW5zbGF0ZVxufSBmcm9tICdAcnVja2VuL2NvcmUnO1xuaW1wb3J0IHsgUHJvamVjdCwgU1RBVFVTRVNfQ09ORklHX1RPS0VOLCBTdGF0dXNXaXRoUHJvamVjdCB9IGZyb20gJ0BydWNrZW4vdG9kby1jb3JlJztcbmltcG9ydCB7IER5bmFtaWNSZXBvc2l0b3J5LCBJUmVzdFByb3ZpZGVyT3B0aW9ucyB9IGZyb20gJ25neC1yZXBvc2l0b3J5JztcbmltcG9ydCB7IFN0YXR1c01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vc3RhdHVzLW1vZGFsL3N0YXR1cy1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmluZElvSW5uZXIgfSBmcm9tICduZ3gtYmluZC1pbyc7XG5cbkBCaW5kSW9Jbm5lcigpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdGF0dXNlcy1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1c2VzLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNlc0dyaWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRW50aXR5TGlzdENvbXBvbmVudDxTdGF0dXNXaXRoUHJvamVjdD4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBhdXRvbG9hZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBtb2RhbEl0ZW06IElCYXNlRW50aXR5TW9kYWxPcHRpb25zID0ge1xuICAgIGNvbXBvbmVudDogU3RhdHVzTW9kYWxDb21wb25lbnRcbiAgfTtcbiAgQElucHV0KClcbiAgdGl0bGUgPSB0cmFuc2xhdGUoJ1N0YXR1c2VzJyk7XG4gIEBJbnB1dCgpXG4gIHByb2plY3Q6IFByb2plY3QgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbW9kYWxzU2VydmljZTogTW9kYWxzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZXJyb3JzRXh0cmFjdG9yOiBFcnJvcnNFeHRyYWN0b3IsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGR5bmFtaWNSZXBvc2l0b3J5OiBEeW5hbWljUmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KFNUQVRVU0VTX0NPTkZJR19UT0tFTilcbiAgICBwcm90ZWN0ZWQgc3RhdHVzZXNDb25maWc6IElSZXN0UHJvdmlkZXJPcHRpb25zPFN0YXR1c1dpdGhQcm9qZWN0PlxuICApIHtcbiAgICBzdXBlcihkeW5hbWljUmVwb3NpdG9yeS5mb3JrPFN0YXR1c1dpdGhQcm9qZWN0PihTdGF0dXNXaXRoUHJvamVjdCksIG1vZGFsc1NlcnZpY2UsIFN0YXR1c1dpdGhQcm9qZWN0KTtcbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubW9ja2VkSXRlbXMpIHtcbiAgICAgIHRoaXMudXNlUmVzdCh7XG4gICAgICAgIGFwaVVybDogdGhpcy5hcGlVcmwsXG4gICAgICAgIC4uLnRoaXMuc3RhdHVzZXNDb25maWcsXG4gICAgICAgIGF1dG9sb2FkOiB0aGlzLmF1dG9sb2FkXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9ja2VkSXRlbXMpIHtcbiAgICAgIHRoaXMudXNlTW9jayh7XG4gICAgICAgIGl0ZW1zOiB0aGlzLm1vY2tlZEl0ZW1zLFxuICAgICAgICAuLi50aGlzLnN0YXR1c2VzQ29uZmlnLFxuICAgICAgICBhdXRvbG9hZDogdGhpcy5hdXRvbG9hZFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMub25DaGFuZ2VGaWx0ZXIoKTtcbiAgfVxuICBvbkNoYW5nZUZpbHRlcihmaWx0ZXI/OiBJQmFzZUVudGl0eUdyaWRGaWx0ZXIpIHtcbiAgICBmaWx0ZXIgPSBmaWx0ZXIgPyBmaWx0ZXIgOiB7fTtcbiAgICBpZiAodGhpcy5wcm9qZWN0KSB7XG4gICAgICBmaWx0ZXIucHJvamVjdCA9IHRoaXMucHJvamVjdC5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyLnByb2plY3QgPSAtMTtcbiAgICB9XG4gICAgc3VwZXIub25DaGFuZ2VGaWx0ZXIoZmlsdGVyKTtcbiAgfVxuICBkZWZhdWx0Q3JlYXRlQ3JlYXRlTW9kYWwoaXRlbT86IFN0YXR1c1dpdGhQcm9qZWN0KSB7XG4gICAgaXRlbSA9IGl0ZW0gfHwgbmV3IFN0YXR1c1dpdGhQcm9qZWN0KCk7XG4gICAgaXRlbS5wcm9qZWN0ID0gdGhpcy5wcm9qZWN0O1xuICAgIHRoaXMubW9kYWxDcmVhdGUgPSB7XG4gICAgICAuLi50aGlzLm1vZGFsQ3JlYXRlLFxuICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgIC4uLnRoaXMubW9kYWxDcmVhdGUuaW5pdGlhbFN0YXRlLFxuICAgICAgICBkYXRhOiBpdGVtXG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gc3VwZXIuZGVmYXVsdENyZWF0ZUNyZWF0ZU1vZGFsKGl0ZW0pO1xuICB9XG4gIGRlZmF1bHRDcmVhdGVVcGRhdGVNb2RhbChpdGVtPzogU3RhdHVzV2l0aFByb2plY3QpIHtcbiAgICBpdGVtLnByb2plY3QgPSB0aGlzLnByb2plY3Q7XG4gICAgdGhpcy5tb2RhbFVwZGF0ZSA9IHtcbiAgICAgIC4uLnRoaXMubW9kYWxVcGRhdGUsXG4gICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgLi4udGhpcy5tb2RhbFVwZGF0ZS5pbml0aWFsU3RhdGUsXG4gICAgICAgIGRhdGE6IGl0ZW1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBzdXBlci5kZWZhdWx0Q3JlYXRlVXBkYXRlTW9kYWwoaXRlbSk7XG4gIH1cbn1cbiJdfQ==