vscroll
Version:
Virtual scroll engine
36 lines • 1.22 kB
JavaScript
import { DatasourceProps } from '../../inputs/index';
import { Datasource } from '../../classes/datasource';
import { BaseAdapterProcessFactory, AdapterProcess, ProcessStatus } from '../misc/index';
export default class Reset extends BaseAdapterProcessFactory(AdapterProcess.reset) {
static run(scroller, options) {
const { datasource, buffer, viewport, state } = scroller;
if (options) {
const { data } = Reset.parseInput(scroller, options);
if (!data.isValid) {
return;
}
const constructed = options instanceof Datasource;
Object.keys(DatasourceProps).forEach(key => {
const param = data.params[key];
const ds = datasource;
if (param.isSet || (constructed && ds[key])) {
ds[key] = param.value;
}
});
}
buffer.reset(true);
viewport.paddings.backward.reset();
viewport.paddings.forward.reset();
const payload = { datasource };
if (state.cycle.busy.get()) {
payload.finalize = true;
state.cycle.interrupter = Reset.process;
}
scroller.workflow.call({
process: Reset.process,
status: ProcessStatus.next,
payload
});
}
}
//# sourceMappingURL=reset.js.map