@circe/table
Version:
Circe Components for Angular :: Table Component
47 lines • 6.6 kB
JavaScript
import { Injectable } from '@angular/core';
export class TableService {
constructor() {
this.tables = {};
}
_checkExists(tableId, columnId, asArray = false) {
if (!this.tables[tableId]) {
this.tables[tableId] = {};
}
if (!this.tables[tableId][columnId]) {
this.tables[tableId][columnId] = asArray ? [] : {};
}
}
addCheckboxData(tableId, rowId, columnId) {
if (!this.tables[tableId]) {
this.tables[tableId] = {};
}
if (!this.tables[tableId][columnId]) {
this.tables[tableId][columnId] = [];
}
this.tables[tableId][columnId].push(rowId);
}
setRadioData(tableId, rowId, columnId) {
this._checkExists(tableId, columnId);
this.tables[tableId][columnId] = rowId;
}
setSelectData(tableId, rowId, columnId, value) {
this._checkExists(tableId, columnId);
if (!this.tables[tableId][columnId][rowId]) {
this.tables[tableId][columnId][rowId] = {};
}
this.tables[tableId][columnId][rowId] = value;
}
deleteCheckboxData(tableId, rowId, columnId) {
this._checkExists(tableId, columnId, true);
this.tables[tableId][columnId] = this.tables[tableId][columnId].filter((id) => id !== rowId);
}
getColumnData(tableId, columnId) {
const _table = this.tables[tableId];
return _table[columnId] ? _table[columnId] : {};
}
}
TableService.decorators = [
{ type: Injectable }
];
TableService.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RhYmxlL3NyYy9saWIvdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdCLE1BQU0sT0FBTyxZQUFZO0lBR3JDO1FBRk8sV0FBTSxHQUFzQyxFQUFFLENBQUM7SUFFdkMsQ0FBQztJQUVSLFlBQVksQ0FBQyxPQUFjLEVBQUUsUUFBZSxFQUFFLFVBQW1CLEtBQUs7UUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLE9BQWMsRUFBRSxLQUFZLEVBQUUsUUFBZTtRQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFlBQVksQ0FBQyxPQUFjLEVBQUUsS0FBWSxFQUFFLFFBQWU7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFjLEVBQUUsS0FBWSxFQUFFLFFBQWUsRUFBRSxLQUFVO1FBQzVFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE9BQWMsRUFBRSxLQUFZLEVBQUUsUUFBZTtRQUNyRSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBYyxFQUFFLFFBQWU7UUFDbEQsTUFBTSxNQUFNLEdBQXVCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2xELENBQUM7OztZQTdDRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnBhSWQgfSBmcm9tICdAY2lyY2UvY29yZSc7XG5cbkBJbmplY3RhYmxlKCkgZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZSB7XG4gIHB1YmxpYyB0YWJsZXM6IFJlY29yZDxOcGFJZCwgUmVjb3JkPE5wYUlkLCBhbnk+PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwcml2YXRlIF9jaGVja0V4aXN0cyh0YWJsZUlkOiBOcGFJZCwgY29sdW1uSWQ6IE5wYUlkLCBhc0FycmF5OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudGFibGVzW3RhYmxlSWRdKSB7XG4gICAgICB0aGlzLnRhYmxlc1t0YWJsZUlkXSA9IHt9O1xuICAgIH1cbiAgICBpZiAoIXRoaXMudGFibGVzW3RhYmxlSWRdW2NvbHVtbklkXSkge1xuICAgICAgdGhpcy50YWJsZXNbdGFibGVJZF1bY29sdW1uSWRdID0gYXNBcnJheSA/IFtdIDoge307XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZENoZWNrYm94RGF0YSh0YWJsZUlkOiBOcGFJZCwgcm93SWQ6IE5wYUlkLCBjb2x1bW5JZDogTnBhSWQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudGFibGVzW3RhYmxlSWRdKSB7XG4gICAgICB0aGlzLnRhYmxlc1t0YWJsZUlkXSA9IHt9O1xuICAgIH1cbiAgICBpZiAoIXRoaXMudGFibGVzW3RhYmxlSWRdW2NvbHVtbklkXSkge1xuICAgICAgdGhpcy50YWJsZXNbdGFibGVJZF1bY29sdW1uSWRdID0gW107XG4gICAgfVxuICAgIHRoaXMudGFibGVzW3RhYmxlSWRdW2NvbHVtbklkXS5wdXNoKHJvd0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRSYWRpb0RhdGEodGFibGVJZDogTnBhSWQsIHJvd0lkOiBOcGFJZCwgY29sdW1uSWQ6IE5wYUlkKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tFeGlzdHModGFibGVJZCwgY29sdW1uSWQpO1xuICAgIHRoaXMudGFibGVzW3RhYmxlSWRdW2NvbHVtbklkXSA9IHJvd0lkO1xuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdERhdGEodGFibGVJZDogTnBhSWQsIHJvd0lkOiBOcGFJZCwgY29sdW1uSWQ6IE5wYUlkLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tFeGlzdHModGFibGVJZCwgY29sdW1uSWQpO1xuICAgIGlmICghdGhpcy50YWJsZXNbdGFibGVJZF1bY29sdW1uSWRdW3Jvd0lkXSkge1xuICAgICAgdGhpcy50YWJsZXNbdGFibGVJZF1bY29sdW1uSWRdW3Jvd0lkXSA9IHt9O1xuICAgIH1cbiAgICB0aGlzLnRhYmxlc1t0YWJsZUlkXVtjb2x1bW5JZF1bcm93SWRdID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQ2hlY2tib3hEYXRhKHRhYmxlSWQ6IE5wYUlkLCByb3dJZDogTnBhSWQsIGNvbHVtbklkOiBOcGFJZCk6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrRXhpc3RzKHRhYmxlSWQsIGNvbHVtbklkLCB0cnVlKTtcbiAgICB0aGlzLnRhYmxlc1t0YWJsZUlkXVtjb2x1bW5JZF0gPSB0aGlzLnRhYmxlc1t0YWJsZUlkXVtjb2x1bW5JZF0uZmlsdGVyKChpZDogTnBhSWQpID0+IGlkICE9PSByb3dJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29sdW1uRGF0YSh0YWJsZUlkOiBOcGFJZCwgY29sdW1uSWQ6IE5wYUlkKTogUmVjb3JkPE5wYUlkLCBhbnk+IHwgTnBhSWRbXSB7XG4gICAgY29uc3QgX3RhYmxlOiBSZWNvcmQ8TnBhSWQsIGFueT4gPSB0aGlzLnRhYmxlc1t0YWJsZUlkXTtcbiAgICByZXR1cm4gX3RhYmxlW2NvbHVtbklkXSA/IF90YWJsZVtjb2x1bW5JZF0gOiB7fTtcbiAgfVxufVxuIl19