UNPKG

vscroll

Version:
48 lines 1.55 kB
import { __extends } from "tslib"; import Update from './update'; import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index'; var Replace = /** @class */ (function (_super) { __extends(Replace, _super); function Replace() { return _super !== null && _super.apply(this, arguments) || this; } Replace.run = function (scroller, options) { var params = Replace.parseInput(scroller, options).params; if (!params) { return; } var shouldReplace = Replace.doReplace(scroller, params); scroller.workflow.call({ process: Replace.process, status: shouldReplace ? ProcessStatus.next : ProcessStatus.done, }); }; Replace.doReplace = function (scroller, params) { var toRemove = scroller.buffer.items .filter(function (item) { return params.predicate(item); }) .map(function (item) { return item.$index; }); if (!toRemove.length) { scroller.logger.log('no items to be replaced'); return false; } var injected = false; var updateOptions = { predicate: function (_a) { var $index = _a.$index; if (!toRemove.includes($index)) { return true; } if (!injected) { injected = true; return params.items; } return false; }, fixRight: params.fixRight }; return Update.doUpdate(scroller, updateOptions); }; return Replace; }(BaseAdapterProcessFactory(AdapterProcess.replace))); export default Replace; //# sourceMappingURL=replace.js.map