UNPKG

vscroll

Version:
45 lines 1.75 kB
import { __extends, __read, __spreadArray } from "tslib"; import Insert from './insert'; import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index'; var Append = /** @class */ (function (_super) { __extends(Append, _super); function Append() { return _super !== null && _super.apply(this, arguments) || this; } Append.run = function (scroller, _a) { var process = _a.process, options = _a.options; var params = Append.parseInput(scroller, options, false, process).params; if (!params) { return; } var shouldAppend = Append.doAppend(scroller, process, params); scroller.workflow.call({ process: Append.process, status: shouldAppend ? ProcessStatus.next : ProcessStatus.done }); }; Append.doAppend = function (scroller, process, params) { var bof = params.bof, eof = params.eof, increase = params.increase, decrease = params.decrease; var buffer = scroller.buffer; var prepend = process === AdapterProcess.prepend; var opposite = prepend ? !increase : decrease; var beforeIndex, afterIndex, items = params.items; if (prepend) { beforeIndex = (bof ? buffer.absMinIndex : buffer.minIndex) + (!buffer.size ? 1 : 0); items = __spreadArray([], __read(items), false).reverse(); } else { afterIndex = (eof ? buffer.absMaxIndex : buffer.maxIndex) - (!buffer.size && !opposite ? 1 : 0); } return Insert.doInsert(scroller, { items: items, beforeIndex: beforeIndex, afterIndex: afterIndex, decrease: opposite, virtualize: params.virtualize }); }; return Append; }(BaseAdapterProcessFactory(AdapterProcess.append))); export default Append; //# sourceMappingURL=append.js.map