UNPKG

@rcsb/rcsb-saguaro-app

Version:
33 lines (32 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActionMethods = void 0; const tslib_1 = require("tslib"); const rxjs_1 = require("rxjs"); var ActionMethods; (function (ActionMethods) { function paginationCallback() { let subscription = undefined; return (elementId, pfv, pfvMethod, pfvParams, additionalConfig) => { if (subscription) subscription.unsubscribe(); subscription = rxjs_1.asyncScheduler.schedule(() => tslib_1.__awaiter(this, void 0, void 0, function* () { var _a, _b; const dom = pfv.getFv().getDomain(); const sel = pfv.getFv().getSelection("select"); (_a = additionalConfig === null || additionalConfig === void 0 ? void 0 : additionalConfig.beforeChangeCallback) === null || _a === void 0 ? void 0 : _a.call(additionalConfig, pfv); yield pfvMethod(elementId, ...pfvParams, Object.assign({}, additionalConfig)); pfv.getFv().setDomain(dom); pfv.getFv().setSelection({ elements: sel.map((s) => ({ begin: s.rcsbFvTrackDataElement.begin, end: s.rcsbFvTrackDataElement.end })), mode: "select" }); (_b = additionalConfig === null || additionalConfig === void 0 ? void 0 : additionalConfig.onChangeCallback) === null || _b === void 0 ? void 0 : _b.call(additionalConfig, pfv); }), 333); }; } ActionMethods.paginationCallback = paginationCallback; })(ActionMethods || (exports.ActionMethods = ActionMethods = {}));