vscroll 1.4.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +17 -16
- package/dist/bundles/vscroll.esm5.js +403 -321
- package/dist/bundles/vscroll.esm5.js.map +1 -1
- package/dist/bundles/vscroll.esm5.min.js +2 -2
- package/dist/bundles/vscroll.esm5.min.js.map +1 -1
- package/dist/bundles/vscroll.esm6.js +310 -244
- package/dist/bundles/vscroll.esm6.js.map +1 -1
- package/dist/bundles/vscroll.esm6.min.js +2 -2
- package/dist/bundles/vscroll.esm6.min.js.map +1 -1
- package/dist/bundles/vscroll.umd.js +404 -322
- package/dist/bundles/vscroll.umd.js.map +1 -1
- package/dist/bundles/vscroll.umd.min.js +2 -2
- package/dist/bundles/vscroll.umd.min.js.map +1 -1
- package/dist/esm2015/classes/domRoutines.js +101 -66
- package/dist/esm2015/classes/domRoutines.js.map +1 -1
- package/dist/esm2015/classes/logger.js +2 -2
- package/dist/esm2015/classes/logger.js.map +1 -1
- package/dist/esm2015/classes/paddings.js +5 -5
- package/dist/esm2015/classes/paddings.js.map +1 -1
- package/dist/esm2015/classes/state/cycle.js +7 -6
- package/dist/esm2015/classes/state/cycle.js.map +1 -1
- package/dist/esm2015/classes/state/render.js +1 -1
- package/dist/esm2015/classes/state/render.js.map +1 -1
- package/dist/esm2015/classes/state/scroll.js +6 -6
- package/dist/esm2015/classes/state/scroll.js.map +1 -1
- package/dist/esm2015/classes/state.js +23 -15
- package/dist/esm2015/classes/state.js.map +1 -1
- package/dist/esm2015/classes/viewport.js +13 -22
- package/dist/esm2015/classes/viewport.js.map +1 -1
- package/dist/esm2015/index.js.map +1 -1
- package/dist/esm2015/interfaces/index.js.map +1 -1
- package/dist/esm2015/interfaces/routines.js +2 -0
- package/dist/esm2015/interfaces/routines.js.map +1 -0
- package/dist/esm2015/interfaces/state.js.map +1 -1
- package/dist/esm2015/interfaces/workflow.js.map +1 -1
- package/dist/esm2015/processes/adapter/reload.js +1 -1
- package/dist/esm2015/processes/adapter/reload.js.map +1 -1
- package/dist/esm2015/processes/adjust.js +44 -15
- package/dist/esm2015/processes/adjust.js.map +1 -1
- package/dist/esm2015/processes/end.js +18 -16
- package/dist/esm2015/processes/end.js.map +1 -1
- package/dist/esm2015/processes/fetch.js +3 -3
- package/dist/esm2015/processes/fetch.js.map +1 -1
- package/dist/esm2015/processes/init.js +2 -2
- package/dist/esm2015/processes/init.js.map +1 -1
- package/dist/esm2015/processes/render.js +6 -6
- package/dist/esm2015/processes/render.js.map +1 -1
- package/dist/esm2015/processes/scroll.js +21 -21
- package/dist/esm2015/processes/scroll.js.map +1 -1
- package/dist/esm2015/scroller.js +4 -4
- package/dist/esm2015/scroller.js.map +1 -1
- package/dist/esm2015/version.js +1 -1
- package/dist/esm2015/version.js.map +1 -1
- package/dist/esm2015/workflow.js +9 -8
- package/dist/esm2015/workflow.js.map +1 -1
- package/dist/esm5/classes/adapter.js +4 -4
- package/dist/esm5/classes/adapter.js.map +1 -1
- package/dist/esm5/classes/buffer/cache.js +1 -1
- package/dist/esm5/classes/buffer/cache.js.map +1 -1
- package/dist/esm5/classes/buffer/checkCall.js +4 -4
- package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm5/classes/buffer.js +3 -3
- package/dist/esm5/classes/buffer.js.map +1 -1
- package/dist/esm5/classes/domRoutines.js +115 -66
- package/dist/esm5/classes/domRoutines.js.map +1 -1
- package/dist/esm5/classes/logger.js +21 -21
- package/dist/esm5/classes/logger.js.map +1 -1
- package/dist/esm5/classes/paddings.js +5 -5
- package/dist/esm5/classes/paddings.js.map +1 -1
- package/dist/esm5/classes/state/cycle.js +9 -8
- package/dist/esm5/classes/state/cycle.js.map +1 -1
- package/dist/esm5/classes/state/render.js +1 -1
- package/dist/esm5/classes/state/render.js.map +1 -1
- package/dist/esm5/classes/state/scroll.js +11 -11
- package/dist/esm5/classes/state/scroll.js.map +1 -1
- package/dist/esm5/classes/state.js +23 -15
- package/dist/esm5/classes/state.js.map +1 -1
- package/dist/esm5/classes/viewport.js +14 -23
- package/dist/esm5/classes/viewport.js.map +1 -1
- package/dist/esm5/index.js.map +1 -1
- package/dist/esm5/inputs/validation.js +4 -4
- package/dist/esm5/inputs/validation.js.map +1 -1
- package/dist/esm5/interfaces/index.js.map +1 -1
- package/dist/esm5/interfaces/routines.js +2 -0
- package/dist/esm5/interfaces/routines.js.map +1 -0
- package/dist/esm5/interfaces/state.js.map +1 -1
- package/dist/esm5/interfaces/workflow.js.map +1 -1
- package/dist/esm5/processes/adapter/reload.js +1 -1
- package/dist/esm5/processes/adapter/reload.js.map +1 -1
- package/dist/esm5/processes/adapter/remove.js +1 -1
- package/dist/esm5/processes/adapter/remove.js.map +1 -1
- package/dist/esm5/processes/adjust.js +48 -19
- package/dist/esm5/processes/adjust.js.map +1 -1
- package/dist/esm5/processes/clip.js +5 -5
- package/dist/esm5/processes/clip.js.map +1 -1
- package/dist/esm5/processes/end.js +18 -16
- package/dist/esm5/processes/end.js.map +1 -1
- package/dist/esm5/processes/fetch.js +5 -5
- package/dist/esm5/processes/fetch.js.map +1 -1
- package/dist/esm5/processes/init.js +2 -2
- package/dist/esm5/processes/init.js.map +1 -1
- package/dist/esm5/processes/misc/base.js +1 -1
- package/dist/esm5/processes/misc/base.js.map +1 -1
- package/dist/esm5/processes/preClip.js +2 -2
- package/dist/esm5/processes/preClip.js.map +1 -1
- package/dist/esm5/processes/preFetch.js +5 -5
- package/dist/esm5/processes/preFetch.js.map +1 -1
- package/dist/esm5/processes/render.js +6 -6
- package/dist/esm5/processes/render.js.map +1 -1
- package/dist/esm5/processes/scroll.js +22 -22
- package/dist/esm5/processes/scroll.js.map +1 -1
- package/dist/esm5/scroller.js +5 -5
- package/dist/esm5/scroller.js.map +1 -1
- package/dist/esm5/version.js +1 -1
- package/dist/esm5/version.js.map +1 -1
- package/dist/esm5/workflow.js +15 -12
- package/dist/esm5/workflow.js.map +1 -1
- package/dist/typings/classes/domRoutines.d.ts +23 -18
- package/dist/typings/classes/logger.d.ts +1 -1
- package/dist/typings/classes/paddings.d.ts +2 -2
- package/dist/typings/classes/state/cycle.d.ts +1 -1
- package/dist/typings/classes/state/render.d.ts +1 -1
- package/dist/typings/classes/state/scroll.d.ts +4 -4
- package/dist/typings/classes/state.d.ts +6 -3
- package/dist/typings/classes/viewport.d.ts +2 -4
- package/dist/typings/index.d.ts +2 -2
- package/dist/typings/interfaces/index.d.ts +3 -2
- package/dist/typings/interfaces/routines.d.ts +157 -0
- package/dist/typings/interfaces/state.d.ts +2 -15
- package/dist/typings/interfaces/workflow.d.ts +3 -0
- package/dist/typings/processes/adjust.d.ts +1 -0
- package/dist/typings/processes/end.d.ts +1 -2
- package/dist/typings/scroller.d.ts +1 -1
- package/dist/typings/workflow.d.ts +2 -2
- package/package.json +18 -17
|
@@ -17,19 +17,19 @@ var Logger = /** @class */ (function () {
|
|
|
17
17
|
return arg;
|
|
18
18
|
}
|
|
19
19
|
else if (Array.isArray(arg)) {
|
|
20
|
-
return "[of "
|
|
20
|
+
return "[of ".concat(arg.length, "]");
|
|
21
21
|
}
|
|
22
22
|
return '{ ' + Object.keys(arg).join(', ') + ' }';
|
|
23
23
|
})
|
|
24
24
|
.join(', ');
|
|
25
|
-
_this.log("adapter: "
|
|
25
|
+
_this.log("adapter: ".concat(methodName, "(").concat(params || '', ")").concat(add || ''));
|
|
26
26
|
};
|
|
27
27
|
var settings = scroller.settings;
|
|
28
28
|
this.debug = settings.debug;
|
|
29
29
|
this.immediateLog = settings.immediateLog;
|
|
30
30
|
this.logTime = settings.logTime;
|
|
31
31
|
this.getTime = function () {
|
|
32
|
-
return scroller.state && " // time: "
|
|
32
|
+
return scroller.state && " // time: ".concat(scroller.state.time);
|
|
33
33
|
};
|
|
34
34
|
this.getStat = function () {
|
|
35
35
|
var buffer = scroller.buffer, viewport = scroller.viewport;
|
|
@@ -41,26 +41,26 @@ var Logger = /** @class */ (function () {
|
|
|
41
41
|
'fwd_p: ' + viewport.paddings.forward.size + ', ' +
|
|
42
42
|
'default: ' + (buffer.defaultSize || 'no') + ', ' +
|
|
43
43
|
'items: ' + buffer.getVisibleItemsCount() + ', ' +
|
|
44
|
-
'range: ' + (first && last ? "["
|
|
44
|
+
'range: ' + (first && last ? "[".concat(first.$index, "..").concat(last.$index, "]") : 'no');
|
|
45
45
|
};
|
|
46
46
|
this.getFetchRange = function () {
|
|
47
47
|
var _a = scroller.state.fetch, first = _a.first.index, last = _a.last.index;
|
|
48
48
|
return !Number.isNaN(first) && !Number.isNaN(last)
|
|
49
|
-
? "["
|
|
49
|
+
? "[".concat(first, "..").concat(last, "]")
|
|
50
50
|
: 'no';
|
|
51
51
|
};
|
|
52
52
|
this.getLoopId = function () { return scroller.state.cycle.loopId; };
|
|
53
53
|
this.getLoopIdNext = function () { return scroller.state.cycle.loopIdNext; };
|
|
54
54
|
this.getWorkflowCycleData = function () {
|
|
55
|
-
return settings.instanceIndex
|
|
55
|
+
return "".concat(settings.instanceIndex, "-").concat(scroller.state.cycle.count);
|
|
56
56
|
};
|
|
57
|
-
this.getScrollPosition = function (
|
|
57
|
+
this.getScrollPosition = function () { return scroller.routines.getScrollPosition(); };
|
|
58
58
|
this.log(function () {
|
|
59
59
|
return 'vscroll Workflow has been started, ' +
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
(!adapter ? 'is not instantiated' : "instance: "
|
|
60
|
+
"core: ".concat(packageInfo.core.name, " v").concat(packageInfo.core.version, ", ") +
|
|
61
|
+
"consumer: ".concat(packageInfo.consumer.name, " v").concat(packageInfo.consumer.version, ", ") +
|
|
62
|
+
"scroller instance: ".concat(settings.instanceIndex, ", adapter ") +
|
|
63
|
+
(!adapter ? 'is not instantiated' : "instance: ".concat(adapter.id));
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
Logger.prototype.object = function (str, obj, stringify) {
|
|
@@ -101,20 +101,20 @@ var Logger = /** @class */ (function () {
|
|
|
101
101
|
'color: #888; border: dashed #888 0; border-bottom-width: 0px',
|
|
102
102
|
'color: #000; border-width: 0'
|
|
103
103
|
];
|
|
104
|
-
this.log(function () { return __spreadArray(['%cstat' + (str ? " "
|
|
104
|
+
this.log(function () { return __spreadArray(['%cstat' + (str ? " ".concat(str) : '') + ',%c ' + _this.getStat()], __read(logStyles_1), false); });
|
|
105
105
|
}
|
|
106
106
|
};
|
|
107
107
|
Logger.prototype.fetch = function (str) {
|
|
108
108
|
var _this = this;
|
|
109
109
|
if (this.debug) {
|
|
110
|
-
var _text_1 = 'fetch interval' + (str ? " "
|
|
110
|
+
var _text_1 = 'fetch interval' + (str ? " ".concat(str) : '');
|
|
111
111
|
var logStyles_2 = ['color: #888', 'color: #000'];
|
|
112
|
-
this.log(function () { return __spreadArray(["%c"
|
|
112
|
+
this.log(function () { return __spreadArray(["%c".concat(_text_1, ": %c").concat(_this.getFetchRange())], __read(logStyles_2), false); });
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
115
|
Logger.prototype.prepareForLog = function (data) {
|
|
116
116
|
return data instanceof Event && data.target
|
|
117
|
-
? this.getScrollPosition(
|
|
117
|
+
? this.getScrollPosition()
|
|
118
118
|
: data;
|
|
119
119
|
};
|
|
120
120
|
Logger.prototype.logProcess = function (data) {
|
|
@@ -125,13 +125,13 @@ var Logger = /** @class */ (function () {
|
|
|
125
125
|
// inner loop start-end log
|
|
126
126
|
var loopLog = [];
|
|
127
127
|
if (process === CommonProcess.init && status === Status.next) {
|
|
128
|
-
loopLog.push("%c---=== loop "
|
|
128
|
+
loopLog.push("%c---=== loop ".concat(this.getLoopIdNext(), " start"));
|
|
129
129
|
}
|
|
130
130
|
else if (process === CommonProcess.end) {
|
|
131
|
-
loopLog.push("%c---=== loop "
|
|
131
|
+
loopLog.push("%c---=== loop ".concat(this.getLoopId(), " done"));
|
|
132
132
|
var parent_1 = payload && payload.process;
|
|
133
133
|
if (status === Status.next && (parent_1 !== AdapterProcess.reset && parent_1 !== AdapterProcess.reload)) {
|
|
134
|
-
loopLog[0] += ", loop "
|
|
134
|
+
loopLog[0] += ", loop ".concat(this.getLoopIdNext(), " start");
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
if (loopLog.length) {
|
|
@@ -142,14 +142,14 @@ var Logger = /** @class */ (function () {
|
|
|
142
142
|
if (start === void 0) { start = true; }
|
|
143
143
|
var logData = this.getWorkflowCycleData();
|
|
144
144
|
var border = start ? '1px 0 0 1px' : '0 0 1px 1px';
|
|
145
|
-
var logStyles = "color: #0000aa; border: solid #555 1px; border-width: "
|
|
146
|
-
this.log(function () { return ["%c ~~~ WF Cycle "
|
|
145
|
+
var logStyles = "color: #0000aa; border: solid #555 1px; border-width: ".concat(border, "; margin-left: -2px");
|
|
146
|
+
this.log(function () { return ["%c ~~~ WF Cycle ".concat(logData, " ").concat(start ? 'STARTED' : 'FINALIZED', " ~~~ "), logStyles]; });
|
|
147
147
|
};
|
|
148
148
|
Logger.prototype.logError = function (str) {
|
|
149
149
|
var _this = this;
|
|
150
150
|
if (this.debug) {
|
|
151
151
|
var logStyles_3 = ['color: #a00;', 'color: #000'];
|
|
152
|
-
this.log(function () { return __spreadArray(['error:%c' + (str ? " "
|
|
152
|
+
this.log(function () { return __spreadArray(['error:%c' + (str ? " ".concat(str) : '') + "%c (loop ".concat(_this.getLoopIdNext(), ")")], __read(logStyles_3), false); });
|
|
153
153
|
}
|
|
154
154
|
};
|
|
155
155
|
Logger.prototype.log = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/classes/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../scroller';\nimport { CommonProcess, AdapterProcess, ProcessStatus as Status } from '../processes/index';\nimport { IPackages, ProcessSubject } from '../interfaces/index';\n\ntype LogType = [unknown?, ...unknown[]];\n\nexport class Logger {\n\n readonly debug: boolean;\n readonly immediateLog: boolean;\n readonly logTime: boolean;\n readonly getTime: () => string;\n readonly getStat: () => string;\n readonly getFetchRange: () => string;\n readonly getWorkflowCycleData: () => string;\n readonly getLoopId: () => string;\n readonly getLoopIdNext: () => string;\n readonly getScrollPosition: (element: HTMLElement) => number;\n private logs: unknown[][] = [];\n\n constructor(scroller: Scroller, packageInfo: IPackages, adapter?: { id: number }) {\n const { settings } = scroller;\n this.debug = settings.debug;\n this.immediateLog = settings.immediateLog;\n this.logTime = settings.logTime;\n this.getTime = (): string =>\n scroller.state && ` // time: ${scroller.state.time}`;\n this.getStat = (): string => {\n const { buffer, viewport } = scroller;\n const first = buffer.getFirstVisibleItem();\n const last = buffer.getLastVisibleItem();\n return 'pos: ' + viewport.scrollPosition + ', ' +\n 'size: ' + viewport.getScrollableSize() + ', ' +\n 'bwd_p: ' + viewport.paddings.backward.size + ', ' +\n 'fwd_p: ' + viewport.paddings.forward.size + ', ' +\n 'default: ' + (buffer.defaultSize || 'no') + ', ' +\n 'items: ' + buffer.getVisibleItemsCount() + ', ' +\n 'range: ' + (first && last ? `[${first.$index}..${last.$index}]` : 'no');\n };\n this.getFetchRange = (): string => {\n const { first: { index: first }, last: { index: last } } = scroller.state.fetch;\n return !Number.isNaN(first) && !Number.isNaN(last)\n ? `[${first}..${last}]`\n : 'no';\n };\n this.getLoopId = (): string => scroller.state.cycle.loopId;\n this.getLoopIdNext = (): string => scroller.state.cycle.loopIdNext;\n this.getWorkflowCycleData = (): string =>\n `${settings.instanceIndex}-${scroller.state.cycle.count}`;\n this.getScrollPosition = (element: HTMLElement) => scroller.routines.getScrollPosition(element);\n this.log(() =>\n 'vscroll Workflow has been started, ' +\n `core: ${packageInfo.core.name} v${packageInfo.core.version}, ` +\n `consumer: ${packageInfo.consumer.name} v${packageInfo.consumer.version}, ` +\n `scroller instance: ${settings.instanceIndex}, adapter ` +\n (!adapter ? 'is not instantiated' : `instance: ${adapter.id}`)\n );\n }\n\n object(str: string, obj: unknown, stringify?: boolean): void {\n this.log(() => [\n str,\n stringify\n ? JSON.stringify(obj, (k, v) => {\n if (Number.isNaN(v)) {\n return 'NaN';\n }\n if (v === Infinity) {\n return 'Infinity';\n }\n if (v === -Infinity) {\n return '-Infinity';\n }\n if (v instanceof Element) {\n return 'HTMLElement';\n }\n if (v instanceof HTMLDocument) {\n return 'HTMLDocument';\n }\n if (typeof v === 'function') {\n return 'Function';\n }\n return v;\n })\n .replace(/\"/g, '')\n .replace(/(\\{|:|,)/g, '$1 ')\n .replace(/(\\})/g, ' $1')\n : obj\n ]);\n }\n\n stat(str?: string): void {\n if (this.debug) {\n const logStyles = [\n 'color: #888; border: dashed #888 0; border-bottom-width: 0px',\n 'color: #000; border-width: 0'\n ];\n this.log(() => ['%cstat' + (str ? ` ${str}` : '') + ',%c ' + this.getStat(), ...logStyles]);\n }\n }\n\n fetch(str?: string): void {\n if (this.debug) {\n const _text = 'fetch interval' + (str ? ` ${str}` : '');\n const logStyles = ['color: #888', 'color: #000'];\n this.log(() => [`%c${_text}: %c${this.getFetchRange()}`, ...logStyles]);\n }\n }\n\n prepareForLog(data: unknown): unknown {\n return data instanceof Event && data.target\n ? this.getScrollPosition(data.target as HTMLElement)\n : data;\n }\n\n logProcess(data: ProcessSubject): void {\n if (!this.debug) {\n return;\n }\n const { process, status, payload } = data;\n\n // inner loop start-end log\n const loopLog: string[] = [];\n if (\n process === CommonProcess.init && status === Status.next\n ) {\n loopLog.push(`%c---=== loop ${this.getLoopIdNext()} start`);\n } else if (\n process === CommonProcess.end\n ) {\n loopLog.push(`%c---=== loop ${this.getLoopId()} done`);\n const parent = payload && payload.process;\n if (status === Status.next && (parent !== AdapterProcess.reset && parent !== AdapterProcess.reload)) {\n loopLog[0] += `, loop ${this.getLoopIdNext()} start`;\n }\n }\n if (loopLog.length) {\n this.log(() => [...loopLog, 'color: #006600;']);\n }\n }\n\n logCycle(start = true): void {\n const logData = this.getWorkflowCycleData();\n const border = start ? '1px 0 0 1px' : '0 0 1px 1px';\n const logStyles = `color: #0000aa; border: solid #555 1px; border-width: ${border}; margin-left: -2px`;\n this.log(() => [`%c ~~~ WF Cycle ${logData} ${start ? 'STARTED' : 'FINALIZED'} ~~~ `, logStyles]);\n }\n\n logError(str: string): void {\n if (this.debug) {\n const logStyles = ['color: #a00;', 'color: #000'];\n this.log(() => ['error:%c' + (str ? ` ${str}` : '') + `%c (loop ${this.getLoopIdNext()})`, ...logStyles]);\n }\n }\n\n logAdapterMethod = (methodName: string, args?: unknown, add?: string): void => {\n if (!this.debug) {\n return;\n }\n const params = (\n args === void 0 ? [] : (Array.isArray(args) ? args : [args])\n )\n .map((arg: unknown) => {\n if (typeof arg === 'function') {\n return 'func';\n } else if (typeof arg !== 'object' || !arg) {\n return arg;\n } else if (Array.isArray(arg)) {\n return `[of ${arg.length}]`;\n }\n return '{ ' + Object.keys(arg).join(', ') + ' }';\n })\n .join(', ');\n this.log(`adapter: ${methodName}(${params || ''})${add || ''}`);\n }\n\n log(...args: any[]): void {\n if (this.debug) {\n if (typeof args[0] === 'function') {\n args = args[0]();\n if (!Array.isArray(args)) {\n args = [args];\n }\n }\n if (args.every(item => item === void 0)) {\n return;\n }\n if (this.logTime) {\n args = [...args, this.getTime()];\n }\n args = args.map((arg: unknown) => this.prepareForLog(arg));\n if (this.immediateLog) {\n console.log.apply(this, args as LogType);\n } else {\n this.logs.push(args);\n }\n }\n }\n\n // logNow(...args: any[]) {\n // const immediateLog = this.immediateLog;\n // const debug = this.debug;\n // (this as any).debug = true;\n // (this as any).immediateLog = true;\n // this.log.apply(this, args);\n // (this as any).debug = debug;\n // (this as any).immediateLog = immediateLog;\n // }\n\n logForce(...args: unknown[]): void {\n if (this.debug) {\n if (!this.immediateLog && this.logs.length) {\n this.logs.forEach(logArgs => console.log.apply(this, logArgs));\n this.logs = [];\n }\n if (args.length) {\n console.log.apply(this, args as LogType);\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/classes/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../scroller';\nimport { CommonProcess, AdapterProcess, ProcessStatus as Status } from '../processes/index';\nimport { IPackages, ProcessSubject } from '../interfaces/index';\n\ntype LogType = [unknown?, ...unknown[]];\n\nexport class Logger {\n\n readonly debug: boolean;\n readonly immediateLog: boolean;\n readonly logTime: boolean;\n readonly getTime: () => string;\n readonly getStat: () => string;\n readonly getFetchRange: () => string;\n readonly getWorkflowCycleData: () => string;\n readonly getLoopId: () => string;\n readonly getLoopIdNext: () => string;\n readonly getScrollPosition: () => number;\n private logs: unknown[][] = [];\n\n constructor(scroller: Scroller, packageInfo: IPackages, adapter?: { id: number }) {\n const { settings } = scroller;\n this.debug = settings.debug;\n this.immediateLog = settings.immediateLog;\n this.logTime = settings.logTime;\n this.getTime = (): string =>\n scroller.state && ` // time: ${scroller.state.time}`;\n this.getStat = (): string => {\n const { buffer, viewport } = scroller;\n const first = buffer.getFirstVisibleItem();\n const last = buffer.getLastVisibleItem();\n return 'pos: ' + viewport.scrollPosition + ', ' +\n 'size: ' + viewport.getScrollableSize() + ', ' +\n 'bwd_p: ' + viewport.paddings.backward.size + ', ' +\n 'fwd_p: ' + viewport.paddings.forward.size + ', ' +\n 'default: ' + (buffer.defaultSize || 'no') + ', ' +\n 'items: ' + buffer.getVisibleItemsCount() + ', ' +\n 'range: ' + (first && last ? `[${first.$index}..${last.$index}]` : 'no');\n };\n this.getFetchRange = (): string => {\n const { first: { index: first }, last: { index: last } } = scroller.state.fetch;\n return !Number.isNaN(first) && !Number.isNaN(last)\n ? `[${first}..${last}]`\n : 'no';\n };\n this.getLoopId = (): string => scroller.state.cycle.loopId;\n this.getLoopIdNext = (): string => scroller.state.cycle.loopIdNext;\n this.getWorkflowCycleData = (): string =>\n `${settings.instanceIndex}-${scroller.state.cycle.count}`;\n this.getScrollPosition = () => scroller.routines.getScrollPosition();\n this.log(() =>\n 'vscroll Workflow has been started, ' +\n `core: ${packageInfo.core.name} v${packageInfo.core.version}, ` +\n `consumer: ${packageInfo.consumer.name} v${packageInfo.consumer.version}, ` +\n `scroller instance: ${settings.instanceIndex}, adapter ` +\n (!adapter ? 'is not instantiated' : `instance: ${adapter.id}`)\n );\n }\n\n object(str: string, obj: unknown, stringify?: boolean): void {\n this.log(() => [\n str,\n stringify\n ? JSON.stringify(obj, (k, v) => {\n if (Number.isNaN(v)) {\n return 'NaN';\n }\n if (v === Infinity) {\n return 'Infinity';\n }\n if (v === -Infinity) {\n return '-Infinity';\n }\n if (v instanceof Element) {\n return 'HTMLElement';\n }\n if (v instanceof HTMLDocument) {\n return 'HTMLDocument';\n }\n if (typeof v === 'function') {\n return 'Function';\n }\n return v;\n })\n .replace(/\"/g, '')\n .replace(/(\\{|:|,)/g, '$1 ')\n .replace(/(\\})/g, ' $1')\n : obj\n ]);\n }\n\n stat(str?: string): void {\n if (this.debug) {\n const logStyles = [\n 'color: #888; border: dashed #888 0; border-bottom-width: 0px',\n 'color: #000; border-width: 0'\n ];\n this.log(() => ['%cstat' + (str ? ` ${str}` : '') + ',%c ' + this.getStat(), ...logStyles]);\n }\n }\n\n fetch(str?: string): void {\n if (this.debug) {\n const _text = 'fetch interval' + (str ? ` ${str}` : '');\n const logStyles = ['color: #888', 'color: #000'];\n this.log(() => [`%c${_text}: %c${this.getFetchRange()}`, ...logStyles]);\n }\n }\n\n prepareForLog(data: unknown): unknown {\n return data instanceof Event && data.target\n ? this.getScrollPosition()\n : data;\n }\n\n logProcess(data: ProcessSubject): void {\n if (!this.debug) {\n return;\n }\n const { process, status, payload } = data;\n\n // inner loop start-end log\n const loopLog: string[] = [];\n if (\n process === CommonProcess.init && status === Status.next\n ) {\n loopLog.push(`%c---=== loop ${this.getLoopIdNext()} start`);\n } else if (\n process === CommonProcess.end\n ) {\n loopLog.push(`%c---=== loop ${this.getLoopId()} done`);\n const parent = payload && payload.process;\n if (status === Status.next && (parent !== AdapterProcess.reset && parent !== AdapterProcess.reload)) {\n loopLog[0] += `, loop ${this.getLoopIdNext()} start`;\n }\n }\n if (loopLog.length) {\n this.log(() => [...loopLog, 'color: #006600;']);\n }\n }\n\n logCycle(start = true): void {\n const logData = this.getWorkflowCycleData();\n const border = start ? '1px 0 0 1px' : '0 0 1px 1px';\n const logStyles = `color: #0000aa; border: solid #555 1px; border-width: ${border}; margin-left: -2px`;\n this.log(() => [`%c ~~~ WF Cycle ${logData} ${start ? 'STARTED' : 'FINALIZED'} ~~~ `, logStyles]);\n }\n\n logError(str: string): void {\n if (this.debug) {\n const logStyles = ['color: #a00;', 'color: #000'];\n this.log(() => ['error:%c' + (str ? ` ${str}` : '') + `%c (loop ${this.getLoopIdNext()})`, ...logStyles]);\n }\n }\n\n logAdapterMethod = (methodName: string, args?: unknown, add?: string): void => {\n if (!this.debug) {\n return;\n }\n const params = (\n args === void 0 ? [] : (Array.isArray(args) ? args : [args])\n )\n .map((arg: unknown) => {\n if (typeof arg === 'function') {\n return 'func';\n } else if (typeof arg !== 'object' || !arg) {\n return arg;\n } else if (Array.isArray(arg)) {\n return `[of ${arg.length}]`;\n }\n return '{ ' + Object.keys(arg).join(', ') + ' }';\n })\n .join(', ');\n this.log(`adapter: ${methodName}(${params || ''})${add || ''}`);\n };\n\n log(...args: any[]): void {\n if (this.debug) {\n if (typeof args[0] === 'function') {\n args = args[0]();\n if (!Array.isArray(args)) {\n args = [args];\n }\n }\n if (args.every(item => item === void 0)) {\n return;\n }\n if (this.logTime) {\n args = [...args, this.getTime()];\n }\n args = args.map((arg: unknown) => this.prepareForLog(arg));\n if (this.immediateLog) {\n console.log.apply(this, args as LogType);\n } else {\n this.logs.push(args);\n }\n }\n }\n\n // logNow(...args: any[]) {\n // const immediateLog = this.immediateLog;\n // const debug = this.debug;\n // (this as any).debug = true;\n // (this as any).immediateLog = true;\n // this.log.apply(this, args);\n // (this as any).debug = debug;\n // (this as any).immediateLog = immediateLog;\n // }\n\n logForce(...args: unknown[]): void {\n if (this.debug) {\n if (!this.immediateLog && this.logs.length) {\n this.logs.forEach(logArgs => console.log.apply(this, logArgs));\n this.logs = [];\n }\n if (args.length) {\n console.log.apply(this, args as LogType);\n }\n }\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Direction } from '../inputs/index';
|
|
2
2
|
var Padding = /** @class */ (function () {
|
|
3
|
-
function Padding(
|
|
4
|
-
var found = routines.findPaddingElement(
|
|
3
|
+
function Padding(direction, routines) {
|
|
4
|
+
var found = routines.findPaddingElement(direction);
|
|
5
5
|
routines.checkElement(found);
|
|
6
6
|
this.element = found;
|
|
7
7
|
this.direction = direction;
|
|
@@ -24,10 +24,10 @@ var Padding = /** @class */ (function () {
|
|
|
24
24
|
}());
|
|
25
25
|
export { Padding };
|
|
26
26
|
var Paddings = /** @class */ (function () {
|
|
27
|
-
function Paddings(
|
|
27
|
+
function Paddings(routines, settings) {
|
|
28
28
|
this.settings = settings;
|
|
29
|
-
this.forward = new Padding(
|
|
30
|
-
this.backward = new Padding(
|
|
29
|
+
this.forward = new Padding(Direction.forward, routines);
|
|
30
|
+
this.backward = new Padding(Direction.backward, routines);
|
|
31
31
|
}
|
|
32
32
|
Paddings.prototype.byDirection = function (direction, opposite) {
|
|
33
33
|
return direction === Direction.backward
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;IAME,iBAAY,
|
|
1
|
+
{"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"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","sourcesContent":["import { Routines } from './domRoutines';\r\nimport { Settings } from './settings';\r\nimport { Direction } from '../inputs/index';\r\n\r\nexport class Padding {\r\n\r\n element: HTMLElement;\r\n direction: Direction;\r\n routines: Routines;\r\n\r\n constructor(direction: Direction, routines: Routines) {\r\n const found = routines.findPaddingElement(direction);\r\n routines.checkElement(found as HTMLElement);\r\n this.element = found as HTMLElement;\r\n this.direction = direction;\r\n this.routines = routines;\r\n }\r\n\r\n reset(size?: number): void {\r\n this.size = size || 0;\r\n }\r\n\r\n get size(): number {\r\n return this.routines.getSizeStyle(this.element);\r\n }\r\n\r\n set size(value: number) {\r\n this.routines.setSizeStyle(this.element, value);\r\n }\r\n\r\n}\r\n\r\nexport class Paddings {\r\n settings: Settings;\r\n forward: Padding;\r\n backward: Padding;\r\n\r\n constructor(routines: Routines, settings: Settings) {\r\n this.settings = settings;\r\n this.forward = new Padding(Direction.forward, routines);\r\n this.backward = new Padding(Direction.backward, routines);\r\n }\r\n\r\n byDirection(direction: Direction, opposite?: boolean): Padding {\r\n return direction === Direction.backward\r\n ? (opposite ? this.forward : this.backward)\r\n : (opposite ? this.backward : this.forward);\r\n }\r\n\r\n reset(viewportSize: number, startIndex: number, offset: number): void {\r\n const positive = this.getPositiveSize(startIndex, viewportSize, offset);\r\n const negative = this.getNegativeSize(startIndex);\r\n if (this.settings.inverse) {\r\n this.forward.reset(negative);\r\n this.backward.reset(positive);\r\n const diff = viewportSize - this.backward.size - offset;\r\n if (diff > 0) {\r\n this.backward.size += diff;\r\n this.forward.size -= diff;\r\n }\r\n } else {\r\n this.forward.reset(positive);\r\n this.backward.reset(negative);\r\n const diff = viewportSize - this.forward.size - offset;\r\n if (diff > 0) {\r\n this.backward.size -= diff;\r\n this.forward.size += diff;\r\n }\r\n }\r\n\r\n }\r\n\r\n getPositiveSize(startIndex: number, viewportSize: number, offset: number): number {\r\n const { settings } = this;\r\n let positiveSize = viewportSize;\r\n if (isFinite(settings.maxIndex)) {\r\n positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;\r\n }\r\n if (offset) {\r\n positiveSize = Math.max(positiveSize - offset, 0);\r\n }\r\n return positiveSize;\r\n }\r\n\r\n getNegativeSize(startIndex: number): number {\r\n const { settings } = this;\r\n let negativeSize = 0;\r\n if (isFinite(settings.minIndex)) {\r\n negativeSize = (startIndex - settings.minIndex) * settings.itemSize;\r\n }\r\n return negativeSize;\r\n }\r\n}\r\n"]}
|
|
@@ -13,6 +13,7 @@ var InnerLoopModel = /** @class */ (function () {
|
|
|
13
13
|
configurable: true
|
|
14
14
|
});
|
|
15
15
|
InnerLoopModel.prototype.done = function () {
|
|
16
|
+
this.isInitial = false;
|
|
16
17
|
this.count++;
|
|
17
18
|
this.total++;
|
|
18
19
|
this.busy.set(false);
|
|
@@ -33,27 +34,22 @@ var WorkflowCycleModel = /** @class */ (function () {
|
|
|
33
34
|
this.innerLoop = new InnerLoopModel(loopCount);
|
|
34
35
|
this.interrupter = null;
|
|
35
36
|
this.busy = new Reactive(false);
|
|
36
|
-
this.
|
|
37
|
+
this.end(cycleCount);
|
|
37
38
|
}
|
|
38
39
|
Object.defineProperty(WorkflowCycleModel.prototype, "loopId", {
|
|
39
40
|
get: function () {
|
|
40
|
-
return this.instanceIndex
|
|
41
|
+
return "".concat(this.instanceIndex, "-").concat(this.count, "-").concat(this.innerLoop.total);
|
|
41
42
|
},
|
|
42
43
|
enumerable: false,
|
|
43
44
|
configurable: true
|
|
44
45
|
});
|
|
45
46
|
Object.defineProperty(WorkflowCycleModel.prototype, "loopIdNext", {
|
|
46
47
|
get: function () {
|
|
47
|
-
return this.instanceIndex
|
|
48
|
+
return "".concat(this.instanceIndex, "-").concat(this.count, "-").concat(this.innerLoop.total + 1);
|
|
48
49
|
},
|
|
49
50
|
enumerable: false,
|
|
50
51
|
configurable: true
|
|
51
52
|
});
|
|
52
|
-
WorkflowCycleModel.prototype.done = function (count) {
|
|
53
|
-
this.count = count;
|
|
54
|
-
this.isInitial = false;
|
|
55
|
-
this.busy.set(false);
|
|
56
|
-
};
|
|
57
53
|
WorkflowCycleModel.prototype.start = function (isInitial, initiator) {
|
|
58
54
|
this.isInitial = isInitial;
|
|
59
55
|
this.initiator = initiator;
|
|
@@ -62,6 +58,11 @@ var WorkflowCycleModel = /** @class */ (function () {
|
|
|
62
58
|
this.interrupter = null;
|
|
63
59
|
this.busy.set(true);
|
|
64
60
|
};
|
|
61
|
+
WorkflowCycleModel.prototype.end = function (count) {
|
|
62
|
+
this.count = count;
|
|
63
|
+
this.isInitial = false;
|
|
64
|
+
this.busy.set(false);
|
|
65
|
+
};
|
|
65
66
|
WorkflowCycleModel.prototype.dispose = function (forever) {
|
|
66
67
|
if (forever) {
|
|
67
68
|
// otherwise the value will be persisted during re-instantiation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../../../src/classes/state/cycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;IAUE,wBAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3C,CAAC;IARD,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1B,CAAC;;;OAAA;IAQD,6BAAI,GAAJ;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,8BAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,
|
|
1
|
+
{"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../../../src/classes/state/cycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;IAUE,wBAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3C,CAAC;IARD,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1B,CAAC;;;OAAA;IAQD,6BAAI,GAAJ;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,8BAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,AA9BD,IA8BC;AAED;IAiBE,4BAAY,aAAqB,EAAE,KAA0B;QAC3D,IAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAU,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;IAjBD,sBAAI,sCAAM;aAAV;YACE,OAAO,UAAG,IAAI,CAAC,aAAa,cAAI,IAAI,CAAC,KAAK,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC;QACvE,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YACE,OAAO,UAAG,IAAI,CAAC,aAAa,cAAI,IAAI,CAAC,KAAK,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC3E,CAAC;;;OAAA;IAaD,kCAAK,GAAL,UAAM,SAAkB,EAAE,SAAsB;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gCAAG,GAAH,UAAI,KAAa;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,oCAAO,GAAP,UAAQ,OAAiB;QACvB,IAAI,OAAO,EAAE;YACX,gEAAgE;YAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACH,yBAAC;AAAD,CAAC,AAlDD,IAkDC","sourcesContent":["import { ProcessName } from '../../interfaces/index';\nimport { Reactive } from '../reactive';\n\nclass InnerLoopModel {\n total: number;\n count: number;\n isInitial: boolean;\n busy: Reactive<boolean>;\n\n get first(): boolean {\n return this.count === 0;\n }\n\n constructor(total: number) {\n this.total = total;\n this.isInitial = false;\n this.busy = new Reactive<boolean>(false);\n }\n\n done() {\n this.isInitial = false;\n this.count++;\n this.total++;\n this.busy.set(false);\n }\n\n start() {\n this.busy.set(true);\n }\n\n dispose() {\n this.busy.dispose();\n }\n}\n\nexport class WorkflowCycleModel {\n instanceIndex: number;\n count: number;\n isInitial: boolean;\n initiator: ProcessName;\n innerLoop: InnerLoopModel;\n interrupter: ProcessName | null;\n busy: Reactive<boolean>;\n\n get loopId(): string {\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total}`;\n }\n\n get loopIdNext(): string {\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total + 1}`;\n }\n\n constructor(instanceIndex: number, cycle?: WorkflowCycleModel) {\n const cycleCount = cycle ? cycle.count : 1;\n const loopCount = cycle ? cycle.innerLoop.count : 0;\n\n this.instanceIndex = instanceIndex;\n this.innerLoop = new InnerLoopModel(loopCount);\n this.interrupter = null;\n this.busy = new Reactive<boolean>(false);\n this.end(cycleCount);\n }\n\n start(isInitial: boolean, initiator: ProcessName): void {\n this.isInitial = isInitial;\n this.initiator = initiator;\n this.innerLoop.isInitial = isInitial;\n this.innerLoop.count = 0;\n this.interrupter = null;\n this.busy.set(true);\n }\n\n end(count: number): void {\n this.count = count;\n this.isInitial = false;\n this.busy.set(false);\n }\n\n dispose(forever?: boolean): void {\n if (forever) {\n // otherwise the value will be persisted during re-instantiation\n this.busy.dispose();\n }\n this.innerLoop.dispose();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/classes/state/render.ts"],"names":[],"mappings":"AAAA;IAUE;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAND,sBAAI,+BAAM;aAAV;YACE,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC;QAC5C,CAAC;;;OAAA;IAMD,2BAAK,GAAL;QACE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/classes/state/render.ts"],"names":[],"mappings":"AAAA;IAUE;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAND,sBAAI,+BAAM;aAAV;YACE,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC;QAC5C,CAAC;;;OAAA;IAMD,2BAAK,GAAL;QACE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IACH,kBAAC;AAAD,CAAC,AApBD,IAoBC","sourcesContent":["export class RenderModel {\n sizeBefore: number;\n sizeAfter: number;\n positionBefore: number;\n cancel: (() => void) | null;\n\n get noSize(): boolean {\n return this.sizeBefore === this.sizeAfter;\n }\n\n constructor() {\n this.reset();\n }\n\n reset(): void {\n this.sizeBefore = 0;\n this.sizeAfter = 0;\n this.positionBefore = 0;\n this.cancel = null;\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var
|
|
2
|
-
function
|
|
1
|
+
var ScrollModel = /** @class */ (function () {
|
|
2
|
+
function ScrollModel() {
|
|
3
3
|
this.reset();
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
ScrollModel.prototype.reset = function () {
|
|
6
6
|
this.previous = null;
|
|
7
7
|
this.current = null;
|
|
8
8
|
this.syntheticPosition = null;
|
|
@@ -10,24 +10,24 @@ var ScrollState = /** @class */ (function () {
|
|
|
10
10
|
this.positionBeforeAsync = null;
|
|
11
11
|
this.positionBeforeAdjust = null;
|
|
12
12
|
this.positionAfterAdjust = null;
|
|
13
|
-
this.
|
|
13
|
+
this.stop();
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
ScrollModel.prototype.stop = function () {
|
|
16
16
|
if (this.scrollTimer) {
|
|
17
17
|
clearTimeout(this.scrollTimer);
|
|
18
18
|
this.scrollTimer = null;
|
|
19
19
|
}
|
|
20
|
-
if (this.
|
|
21
|
-
|
|
22
|
-
this.
|
|
20
|
+
if (this.cancelAnimation) {
|
|
21
|
+
this.cancelAnimation();
|
|
22
|
+
this.cancelAnimation = null;
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
ScrollModel.prototype.hasPositionChanged = function (position) {
|
|
26
26
|
var before = this.positionBeforeAdjust;
|
|
27
27
|
var after = this.positionAfterAdjust;
|
|
28
28
|
return before === null || before !== position || after === null || after !== position;
|
|
29
29
|
};
|
|
30
|
-
return
|
|
30
|
+
return ScrollModel;
|
|
31
31
|
}());
|
|
32
|
-
export {
|
|
32
|
+
export { ScrollModel };
|
|
33
33
|
//# sourceMappingURL=scroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../src/classes/state/scroll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../src/classes/state/scroll.ts"],"names":[],"mappings":"AAEA;IAaE;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,2BAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,0BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;IACH,CAAC;IAED,wCAAkB,GAAlB,UAAmB,QAAgB;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvC,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC;IACxF,CAAC;IACH,kBAAC;AAAD,CAAC,AA5CD,IA4CC","sourcesContent":["import { ScrollEventData as IScrollEventData } from '../../interfaces/index';\n\nexport class ScrollModel {\n previous: IScrollEventData | null;\n current: IScrollEventData | null;\n\n scrollTimer: ReturnType<typeof setTimeout> | null;\n\n syntheticPosition: number | null;\n syntheticFulfill: boolean;\n cancelAnimation: (() => void) | null;\n positionBeforeAsync: number | null;\n positionBeforeAdjust: number | null;\n positionAfterAdjust: number | null;\n\n constructor() {\n this.reset();\n }\n\n reset(): void {\n this.previous = null;\n this.current = null;\n this.syntheticPosition = null;\n this.syntheticFulfill = false;\n this.positionBeforeAsync = null;\n this.positionBeforeAdjust = null;\n this.positionAfterAdjust = null;\n this.stop();\n }\n\n stop(): void {\n if (this.scrollTimer) {\n clearTimeout(this.scrollTimer);\n this.scrollTimer = null;\n }\n if (this.cancelAnimation) {\n this.cancelAnimation();\n this.cancelAnimation = null;\n }\n }\n\n hasPositionChanged(position: number): boolean {\n const before = this.positionBeforeAdjust;\n const after = this.positionAfterAdjust;\n return before === null || before !== position || after === null || after !== position;\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { WorkflowCycleModel } from './state/cycle';
|
|
|
3
3
|
import { FetchModel } from './state/fetch';
|
|
4
4
|
import { ClipModel } from './state/clip';
|
|
5
5
|
import { RenderModel } from './state/render';
|
|
6
|
-
import {
|
|
6
|
+
import { ScrollModel } from './state/scroll';
|
|
7
7
|
var State = /** @class */ (function () {
|
|
8
8
|
function State(packageInfo, settings, state) {
|
|
9
9
|
this.packageInfo = packageInfo;
|
|
@@ -13,7 +13,7 @@ var State = /** @class */ (function () {
|
|
|
13
13
|
this.fetch = new FetchModel(settings.directionPriority);
|
|
14
14
|
this.clip = new ClipModel();
|
|
15
15
|
this.render = new RenderModel();
|
|
16
|
-
this.
|
|
16
|
+
this.scroll = new ScrollModel();
|
|
17
17
|
}
|
|
18
18
|
Object.defineProperty(State.prototype, "time", {
|
|
19
19
|
get: function () {
|
|
@@ -22,20 +22,14 @@ var State = /** @class */ (function () {
|
|
|
22
22
|
enumerable: false,
|
|
23
23
|
configurable: true
|
|
24
24
|
});
|
|
25
|
-
State.prototype.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
if (render.renderTimer) {
|
|
32
|
-
clearTimeout(render.renderTimer);
|
|
33
|
-
render.renderTimer = null;
|
|
34
|
-
}
|
|
35
|
-
cycle.innerLoop.done();
|
|
25
|
+
State.prototype.startWorkflowCycle = function (isInitial, initiator) {
|
|
26
|
+
this.cycle.start(isInitial, initiator);
|
|
27
|
+
};
|
|
28
|
+
State.prototype.endWorkflowCycle = function (count) {
|
|
29
|
+
this.cycle.end(count);
|
|
36
30
|
};
|
|
37
31
|
State.prototype.startInnerLoop = function () {
|
|
38
|
-
var _a = this, cycle = _a.cycle, scroll = _a.
|
|
32
|
+
var _a = this, cycle = _a.cycle, scroll = _a.scroll, fetch = _a.fetch, render = _a.render, clip = _a.clip;
|
|
39
33
|
cycle.innerLoop.start();
|
|
40
34
|
scroll.positionBeforeAsync = null;
|
|
41
35
|
if (!fetch.simulate) {
|
|
@@ -48,10 +42,24 @@ var State = /** @class */ (function () {
|
|
|
48
42
|
doRender: fetch.simulate && fetch.items.length > 0
|
|
49
43
|
} : {}));
|
|
50
44
|
};
|
|
45
|
+
State.prototype.endInnerLoop = function () {
|
|
46
|
+
var _a = this, fetch = _a.fetch, clip = _a.clip, render = _a.render, cycle = _a.cycle;
|
|
47
|
+
fetch.stopSimulate();
|
|
48
|
+
clip.reset(true);
|
|
49
|
+
if (fetch.cancel) {
|
|
50
|
+
fetch.cancel();
|
|
51
|
+
fetch.cancel = null;
|
|
52
|
+
}
|
|
53
|
+
if (render.cancel) {
|
|
54
|
+
render.cancel();
|
|
55
|
+
render.cancel = null;
|
|
56
|
+
}
|
|
57
|
+
cycle.innerLoop.done();
|
|
58
|
+
};
|
|
51
59
|
State.prototype.dispose = function () {
|
|
60
|
+
this.scroll.stop();
|
|
52
61
|
this.cycle.dispose();
|
|
53
62
|
this.endInnerLoop();
|
|
54
|
-
this.scrollState.cleanupTimers();
|
|
55
63
|
};
|
|
56
64
|
return State;
|
|
57
65
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/classes/state.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/classes/state.ts"],"names":[],"mappings":"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","sourcesContent":["import { Settings } from './settings';\r\nimport { WorkflowCycleModel } from './state/cycle';\r\nimport { FetchModel } from './state/fetch';\r\nimport { ClipModel } from './state/clip';\r\nimport { RenderModel } from './state/render';\r\nimport { ScrollModel } from './state/scroll';\r\nimport { State as IState, IPackages, ProcessName } from '../interfaces/index';\r\n\r\nexport class State implements IState {\r\n\r\n readonly packageInfo: IPackages;\r\n private settings: Settings;\r\n initTime: number;\r\n\r\n cycle: WorkflowCycleModel;\r\n fetch: FetchModel;\r\n clip: ClipModel;\r\n render: RenderModel;\r\n scroll: ScrollModel;\r\n\r\n get time(): number {\r\n return Number(new Date()) - this.initTime;\r\n }\r\n\r\n constructor(packageInfo: IPackages, settings: Settings, state?: IState) {\r\n this.packageInfo = packageInfo;\r\n this.settings = settings;\r\n this.initTime = Number(new Date());\r\n\r\n this.cycle = new WorkflowCycleModel(this.settings.instanceIndex, state ? state.cycle : void 0);\r\n this.fetch = new FetchModel(settings.directionPriority);\r\n this.clip = new ClipModel();\r\n this.render = new RenderModel();\r\n this.scroll = new ScrollModel();\r\n }\r\n\r\n startWorkflowCycle(isInitial: boolean, initiator: ProcessName): void {\r\n this.cycle.start(isInitial, initiator);\r\n }\r\n\r\n endWorkflowCycle(count: number): void {\r\n this.cycle.end(count);\r\n }\r\n\r\n startInnerLoop(): { process?: ProcessName, doRender?: boolean } {\r\n const { cycle, scroll: scroll, fetch, render, clip } = this;\r\n\r\n cycle.innerLoop.start();\r\n scroll.positionBeforeAsync = null;\r\n\r\n if (!fetch.simulate) {\r\n fetch.reset();\r\n }\r\n clip.reset(clip.force);\r\n render.reset();\r\n\r\n return {\r\n ...(cycle.innerLoop.first ? {\r\n process: cycle.initiator,\r\n doRender: fetch.simulate && fetch.items.length > 0\r\n } : {})\r\n };\r\n }\r\n\r\n endInnerLoop(): void {\r\n const { fetch, clip, render, cycle } = this;\r\n fetch.stopSimulate();\r\n clip.reset(true);\r\n if (fetch.cancel) {\r\n fetch.cancel();\r\n fetch.cancel = null;\r\n }\r\n if (render.cancel) {\r\n render.cancel();\r\n render.cancel = null;\r\n }\r\n cycle.innerLoop.done();\r\n }\r\n\r\n dispose(): void {\r\n this.scroll.stop();\r\n this.cycle.dispose();\r\n this.endInnerLoop();\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -2,27 +2,18 @@ import { __read, __spreadArray } from "tslib";
|
|
|
2
2
|
import { Paddings } from './paddings';
|
|
3
3
|
import { Direction } from '../inputs/index';
|
|
4
4
|
var Viewport = /** @class */ (function () {
|
|
5
|
-
function Viewport(
|
|
6
|
-
this.element = element;
|
|
5
|
+
function Viewport(settings, routines, state, logger) {
|
|
7
6
|
this.settings = settings;
|
|
8
7
|
this.routines = routines;
|
|
9
8
|
this.state = state;
|
|
10
9
|
this.logger = logger;
|
|
11
|
-
this.
|
|
12
|
-
this.scrollEventReceiver = this.routines.getScrollEventReceiver(this.element);
|
|
13
|
-
if (settings.windowViewport) {
|
|
14
|
-
this.routines.setupScrollRestoration();
|
|
15
|
-
}
|
|
16
|
-
if (settings.dismissOverflowAnchor) {
|
|
17
|
-
this.routines.dismissOverflowAnchor(this.hostElement);
|
|
18
|
-
}
|
|
19
|
-
this.paddings = new Paddings(this.element, this.routines, settings);
|
|
10
|
+
this.paddings = new Paddings(this.routines, settings);
|
|
20
11
|
}
|
|
21
12
|
Viewport.prototype.reset = function (startIndex) {
|
|
22
13
|
this.setOffset();
|
|
23
14
|
this.paddings.reset(this.getSize(), startIndex, this.offset);
|
|
24
15
|
this.scrollPosition = this.paddings.backward.size || 0;
|
|
25
|
-
this.state.
|
|
16
|
+
this.state.scroll.reset();
|
|
26
17
|
};
|
|
27
18
|
Viewport.prototype.setPosition = function (value) {
|
|
28
19
|
var oldPosition = this.scrollPosition;
|
|
@@ -30,16 +21,16 @@ var Viewport = /** @class */ (function () {
|
|
|
30
21
|
this.logger.log(function () { return ['setting scroll position at', value, '[cancelled]']; });
|
|
31
22
|
return value;
|
|
32
23
|
}
|
|
33
|
-
this.routines.setScrollPosition(
|
|
24
|
+
this.routines.setScrollPosition(value);
|
|
34
25
|
var position = this.scrollPosition;
|
|
35
26
|
this.logger.log(function () { return __spreadArray([
|
|
36
27
|
'setting scroll position at', position
|
|
37
|
-
], __read((position !== value ? ["("
|
|
28
|
+
], __read((position !== value ? ["(".concat(value, ")")] : [])), false); });
|
|
38
29
|
return position;
|
|
39
30
|
};
|
|
40
31
|
Object.defineProperty(Viewport.prototype, "scrollPosition", {
|
|
41
32
|
get: function () {
|
|
42
|
-
return this.routines.getScrollPosition(
|
|
33
|
+
return this.routines.getScrollPosition();
|
|
43
34
|
},
|
|
44
35
|
set: function (value) {
|
|
45
36
|
this.setPosition(value);
|
|
@@ -48,25 +39,25 @@ var Viewport = /** @class */ (function () {
|
|
|
48
39
|
configurable: true
|
|
49
40
|
});
|
|
50
41
|
Viewport.prototype.getSize = function () {
|
|
51
|
-
return this.routines.
|
|
42
|
+
return this.routines.getViewportSize();
|
|
52
43
|
};
|
|
53
44
|
Viewport.prototype.getScrollableSize = function () {
|
|
54
|
-
return this.routines.
|
|
45
|
+
return this.routines.getScrollerSize();
|
|
46
|
+
};
|
|
47
|
+
Viewport.prototype.getMaxScrollPosition = function () {
|
|
48
|
+
return this.getScrollableSize() - this.getSize();
|
|
55
49
|
};
|
|
56
50
|
Viewport.prototype.getBufferPadding = function () {
|
|
57
51
|
return this.getSize() * this.settings.padding;
|
|
58
52
|
};
|
|
59
53
|
Viewport.prototype.getEdge = function (direction) {
|
|
60
|
-
return this.routines.
|
|
54
|
+
return this.routines.getViewportEdge(direction);
|
|
61
55
|
};
|
|
62
56
|
Viewport.prototype.setOffset = function () {
|
|
63
|
-
this.offset = this.routines.getOffset(
|
|
64
|
-
if (!this.settings.windowViewport) {
|
|
65
|
-
this.offset -= this.routines.getOffset(this.hostElement);
|
|
66
|
-
}
|
|
57
|
+
this.offset = this.routines.getOffset();
|
|
67
58
|
};
|
|
68
59
|
Viewport.prototype.findItemElementById = function (id) {
|
|
69
|
-
return this.routines.findItemElement(
|
|
60
|
+
return this.routines.findItemElement(id);
|
|
70
61
|
};
|
|
71
62
|
Viewport.prototype.getEdgeVisibleItem = function (items, direction) {
|
|
72
63
|
var bwd = direction === Direction.backward;
|