@uex/web-extensions
Version:
Uex extensions for Angular 6+ web projects
158 lines • 12.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/modules/table/classes/remote.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as _ from 'lodash';
export class TableRemote {
/**
* @param {?} _tableSettings
* @param {?} _table
*/
constructor(_tableSettings, _table) {
this._tableSettings = _tableSettings;
this._table = _table;
this.error = false;
if (!this._tableSettings.remote) {
this._tableSettings.remote = {};
}
}
/**
* @return {?}
*/
call() {
this.error = false;
return new Promise((/**
* @param {?} resolve
* @param {?} reject
* @return {?}
*/
(resolve, reject) => {
this.model.method(this.params)
.then((/**
* @param {?} response
* @return {?}
*/
(response) => {
this._table.setPagination(response.data.meta.page, true);
/** @type {?} */
const data = ((/** @type {?} */ (_.at(response.data, this.model.accessor))))[0];
resolve(data);
if (this.onChange) {
this.onChange(response);
}
}))
.catch((/**
* @param {?} err
* @return {?}
*/
(err) => {
this.error = true;
reject(err);
}));
}));
}
/**
* @return {?}
*/
get initial_loading() {
return this.valid ? (_.isBoolean(this._tableSettings.remote.initial_loading) ? this._tableSettings.remote.initial_loading : true) : false;
}
/**
* @return {?}
*/
get model() {
return this.valid ? this._tableSettings.remote.model : null;
}
/**
* @param {?} model
* @param {?=} skip_update
* @return {?}
*/
setModel(model, skip_update = false) {
this._tableSettings.remote.model = model;
if (!skip_update) {
this._table.update();
}
}
/**
* @return {?}
*/
get params() {
if (!this.valid) {
return {};
}
/** @type {?} */
const params = this._tableSettings.remote.params ? _.cloneDeep(this._tableSettings.remote.params) : {};
if (!this._tableSettings.pagination.disabled) {
params.page = {
size: this.pagination.size,
number: this.pagination.number
};
}
params.filter = this.filter;
params.sort = this.sort;
return params;
}
/**
* @param {?} params
* @param {?=} skip_update
* @return {?}
*/
setParams(params, skip_update = false) {
this._tableSettings.remote.params = params;
if (!skip_update) {
this._table.update();
}
}
/**
* @return {?}
*/
get sort() {
return this._table.sort.direction === 'asc' ? this._table.sort.accessor : `-${this._table.sort.accessor}`;
}
/**
* @return {?}
*/
get filter() {
return this._table.filter;
}
/**
* @return {?}
*/
get pagination() {
return this._table.pagination;
}
/**
* @return {?}
*/
get valid() {
/** @type {?} */
const remote = this._tableSettings.remote;
return (remote && remote.model && remote.model.method && remote.model.method) ? true : false;
}
/**
* @return {?}
*/
get onChange() {
if (this.valid && _.isFunction(this._tableSettings.remote.onChange)) {
return this._tableSettings.remote.onChange;
}
return;
}
}
if (false) {
/** @type {?} */
TableRemote.prototype.error;
/**
* @type {?}
* @private
*/
TableRemote.prototype._tableSettings;
/**
* @type {?}
* @private
*/
TableRemote.prototype._table;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVleC93ZWItZXh0ZW5zaW9ucy8iLCJzb3VyY2VzIjpbImxpYi9tb2R1bGVzL3RhYmxlL2NsYXNzZXMvcmVtb3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFNNUIsTUFBTSxPQUFPLFdBQVc7Ozs7O0lBQ3RCLFlBQ1UsY0FBNkIsRUFDN0IsTUFBYTtRQURiLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQU87UUFLaEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUhuQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FBRTtJQUN2RSxDQUFDOzs7O0lBSU0sSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxPQUFPOzs7OztRQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7aUJBQzNCLElBQUk7Ozs7WUFBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7O3NCQUNuRCxJQUFJLEdBQWUsQ0FBQyxtQkFBSyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxJQUFJLENBQUMsUUFB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VSxDQUFDO0lBQ2hDLENBQUM7Ozs7SUFFRCxJQUFXLEtBQUs7O2NBQ1IsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTTtRQUN6QyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0YsQ0FBQzs7OztJQUVELElBQVcsUUFBUTtRQUNqQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQUU7UUFDcEgsT0FBTztJQUNULENBQUM7Q0FDRjs7O0lBeEVDLDRCQUFxQjs7Ozs7SUFObkIscUNBQXFDOzs7OztJQUNyQyw2QkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4vdGFibGUnO1xyXG5cclxuaW1wb3J0IHsgVGFibGVTZXR0aW5ncywgVGFibGVSZW1vdGVQYXJhbXMsIFRhYmxlUmVtb3RlUGFnaW5hdGlvbiwgVGFibGVSZW1vdGVGaWx0ZXIsIFRhYmxlUmVtb3RlT25DaGFuZ2UsIFRhYmxlUmVtb3RlTW9kZWwgfSBmcm9tICcuLi90YWJsZS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlUmVtb3RlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RhYmxlU2V0dGluZ3M6IFRhYmxlU2V0dGluZ3MsXHJcbiAgICBwcml2YXRlIF90YWJsZTogVGFibGVcclxuICApIHtcclxuICAgIGlmICghdGhpcy5fdGFibGVTZXR0aW5ncy5yZW1vdGUpIHsgdGhpcy5fdGFibGVTZXR0aW5ncy5yZW1vdGUgPSB7fTsgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVycm9yID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBjYWxsKCk6IFByb21pc2U8QXJyYXk8YW55Pj4ge1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5tb2RlbC5tZXRob2QodGhpcy5wYXJhbXMpXHJcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl90YWJsZS5zZXRQYWdpbmF0aW9uKHJlc3BvbnNlLmRhdGEubWV0YS5wYWdlLCB0cnVlKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGE6IEFycmF5PGFueT4gPSAoPGFueT5fLmF0KHJlc3BvbnNlLmRhdGEsIHRoaXMubW9kZWwuYWNjZXNzb3IpKVswXTtcclxuICAgICAgICAgIHJlc29sdmUoZGF0YSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkgeyB0aGlzLm9uQ2hhbmdlKHJlc3BvbnNlKTsgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xyXG4gICAgICAgICAgcmVqZWN0KGVycik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5pdGlhbF9sb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWQgPyAoXy5pc0Jvb2xlYW4odGhpcy5fdGFibGVTZXR0aW5ncy5yZW1vdGUuaW5pdGlhbF9sb2FkaW5nKSA/IHRoaXMuX3RhYmxlU2V0dGluZ3MucmVtb3RlLmluaXRpYWxfbG9hZGluZyA6IHRydWUpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1vZGVsKCk6IFRhYmxlUmVtb3RlTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWQgPyB0aGlzLl90YWJsZVNldHRpbmdzLnJlbW90ZS5tb2RlbCA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TW9kZWwobW9kZWw6IFRhYmxlUmVtb3RlTW9kZWwsIHNraXBfdXBkYXRlOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIHRoaXMuX3RhYmxlU2V0dGluZ3MucmVtb3RlLm1vZGVsID0gbW9kZWw7XHJcbiAgICBpZiAoIXNraXBfdXBkYXRlKSB7IHRoaXMuX3RhYmxlLnVwZGF0ZSgpOyB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHBhcmFtcygpOiBUYWJsZVJlbW90ZVBhcmFtcyB7XHJcbiAgICBpZiAoIXRoaXMudmFsaWQpIHsgcmV0dXJuIHt9OyB9XHJcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLl90YWJsZVNldHRpbmdzLnJlbW90ZS5wYXJhbXMgPyBfLmNsb25lRGVlcCh0aGlzLl90YWJsZVNldHRpbmdzLnJlbW90ZS5wYXJhbXMpIDoge307XHJcbiAgICBpZiAoIXRoaXMuX3RhYmxlU2V0dGluZ3MucGFnaW5hdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICBwYXJhbXMucGFnZSA9IHtcclxuICAgICAgICBzaXplOiB0aGlzLnBhZ2luYXRpb24uc2l6ZSxcclxuICAgICAgICBudW1iZXI6IHRoaXMucGFnaW5hdGlvbi5udW1iZXJcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHBhcmFtcy5maWx0ZXIgPSB0aGlzLmZpbHRlcjtcclxuICAgIHBhcmFtcy5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgcmV0dXJuIHBhcmFtcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRQYXJhbXMocGFyYW1zOiBUYWJsZVJlbW90ZVBhcmFtcywgc2tpcF91cGRhdGU6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgdGhpcy5fdGFibGVTZXR0aW5ncy5yZW1vdGUucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgaWYgKCFza2lwX3VwZGF0ZSkgeyB0aGlzLl90YWJsZS51cGRhdGUoKTsgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzb3J0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFibGUuc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnID8gdGhpcy5fdGFibGUuc29ydC5hY2Nlc3NvciA6IGAtJHt0aGlzLl90YWJsZS5zb3J0LmFjY2Vzc29yfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGZpbHRlcigpOiBUYWJsZVJlbW90ZUZpbHRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFibGUuZmlsdGVyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwYWdpbmF0aW9uKCk6IFRhYmxlUmVtb3RlUGFnaW5hdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFibGUucGFnaW5hdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZW1vdGUgPSB0aGlzLl90YWJsZVNldHRpbmdzLnJlbW90ZTtcclxuICAgIHJldHVybiAocmVtb3RlICYmIHJlbW90ZS5tb2RlbCAmJiByZW1vdGUubW9kZWwubWV0aG9kICYmIHJlbW90ZS5tb2RlbC5tZXRob2QpID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBvbkNoYW5nZSgpOiBUYWJsZVJlbW90ZU9uQ2hhbmdlIHtcclxuICAgIGlmICh0aGlzLnZhbGlkICYmIF8uaXNGdW5jdGlvbih0aGlzLl90YWJsZVNldHRpbmdzLnJlbW90ZS5vbkNoYW5nZSkpIHsgcmV0dXJuIHRoaXMuX3RhYmxlU2V0dGluZ3MucmVtb3RlLm9uQ2hhbmdlOyB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG59XHJcbiJdfQ==