@fc3/mmcadi 0.1.67 → 0.1.69
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/dist/.last-compile-time +1 -1
- package/dist/.last-publish-time +1 -1
- package/dist/client.js +166 -79
- package/dist/src/client/factory/page.js +2 -2
- package/dist/src/client/factory/page.js.map +1 -1
- package/dist/src/client/helper/interaction.js +17 -15
- package/dist/src/client/helper/interaction.js.map +1 -1
- package/dist/src/client/page/add-block-to-playlist.js +1 -2
- package/dist/src/client/page/add-block-to-playlist.js.map +1 -1
- package/dist/src/client/page/create-block.js.map +1 -1
- package/dist/src/client/page/cursor.js +39 -13
- package/dist/src/client/page/cursor.js.map +1 -1
- package/dist/src/client/page/day.js +1 -2
- package/dist/src/client/page/day.js.map +1 -1
- package/dist/src/client/page/edit-block.js +6 -1
- package/dist/src/client/page/edit-block.js.map +1 -1
- package/dist/src/client/page/home.js +1 -2
- package/dist/src/client/page/home.js.map +1 -1
- package/dist/src/client/page/login.js +1 -2
- package/dist/src/client/page/login.js.map +1 -1
- package/dist/src/client/page/logout.js +1 -2
- package/dist/src/client/page/logout.js.map +1 -1
- package/dist/src/client/page/month.js +1 -2
- package/dist/src/client/page/month.js.map +1 -1
- package/dist/src/client/page/move-block.js +1 -2
- package/dist/src/client/page/move-block.js.map +1 -1
- package/dist/src/client/page/role.js +1 -2
- package/dist/src/client/page/role.js.map +1 -1
- package/dist/src/client/page/select-block-destination.js +1 -2
- package/dist/src/client/page/select-block-destination.js.map +1 -1
- package/dist/src/client/page/settings.js +1 -2
- package/dist/src/client/page/settings.js.map +1 -1
- package/dist/src/client/page/view-custom.js.map +1 -1
- package/dist/src/client/page/view-playlist.d.ts +1 -1
- package/dist/src/client/page/view-playlist.js +1 -1
- package/dist/src/client/page/view-playlist.js.map +1 -1
- package/dist/src/client/page/week.js +1 -2
- package/dist/src/client/page/week.js.map +1 -1
- package/dist/src/client/page/year.js +1 -2
- package/dist/src/client/page/year.js.map +1 -1
- package/dist/src/client/page.d.ts +1 -1
- package/dist/src/client/page.js +2 -5
- package/dist/src/client/page.js.map +1 -1
- package/dist/src/client/shim/logger.d.ts +3 -3
- package/dist/src/client/shim/logger.js +7 -3
- package/dist/src/client/shim/logger.js.map +1 -1
- package/dist/src/client/shim/process.d.ts +2 -2
- package/dist/src/client/shim/process.js +3 -2
- package/dist/src/client/shim/process.js.map +1 -1
- package/dist/src/client/utility/recompute-index-paths.js.map +1 -1
- package/dist/src/common/builder/block/background.js +2 -2
- package/dist/src/common/builder/block/background.js.map +1 -1
- package/dist/src/common/builder/block/button.d.ts +3 -0
- package/dist/src/common/builder/block/button.js +18 -0
- package/dist/src/common/builder/block/button.js.map +1 -0
- package/dist/src/common/builder/block/card.js +2 -2
- package/dist/src/common/builder/block/card.js.map +1 -1
- package/dist/src/common/builder/block/folder.js +2 -2
- package/dist/src/common/builder/block/folder.js.map +1 -1
- package/dist/src/common/builder/block/header.js +2 -2
- package/dist/src/common/builder/block/header.js.map +1 -1
- package/dist/src/common/builder/block/input.js +2 -2
- package/dist/src/common/builder/block/input.js.map +1 -1
- package/dist/src/common/builder/block/link.js +2 -2
- package/dist/src/common/builder/block/link.js.map +1 -1
- package/dist/src/common/builder/block/multicolumn.js +2 -2
- package/dist/src/common/builder/block/multicolumn.js.map +1 -1
- package/dist/src/common/builder/block/note.js +2 -2
- package/dist/src/common/builder/block/note.js.map +1 -1
- package/dist/src/common/builder/block/parameter.js +2 -2
- package/dist/src/common/builder/block/parameter.js.map +1 -1
- package/dist/src/common/builder/block/redirect.js +2 -2
- package/dist/src/common/builder/block/redirect.js.map +1 -1
- package/dist/src/common/builder/block/table.js +2 -2
- package/dist/src/common/builder/block/table.js.map +1 -1
- package/dist/src/common/builder/block/whitespace.js +2 -2
- package/dist/src/common/builder/block/whitespace.js.map +1 -1
- package/dist/src/common/utility/get-input-character-for-block-type.js +2 -1
- package/dist/src/common/utility/get-input-character-for-block-type.js.map +1 -1
- package/dist/src/common/utility/get-parameter.js.map +1 -1
- package/dist/src/constant/role/public.js.map +1 -1
- package/dist/src/constant/role/unknown.js.map +1 -1
- package/dist/src/constant/system-username.d.ts +2 -0
- package/dist/src/constant/system-username.js +5 -0
- package/dist/src/constant/system-username.js.map +1 -0
- package/dist/src/enum/block-type.d.ts +2 -1
- package/dist/src/enum/block-type.js +1 -0
- package/dist/src/enum/block-type.js.map +1 -1
- package/dist/src/enum/calendar-view-mode.js.map +1 -1
- package/dist/src/enum/emoji.d.ts +2 -2
- package/dist/src/enum/emoji.js +2 -2
- package/dist/src/enum/emoji.js.map +1 -1
- package/dist/src/enum/permission-type.js +0 -1
- package/dist/src/enum/permission-type.js.map +1 -1
- package/dist/src/enum/tool-type.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +5 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interface/repository.d.ts +1 -2
- package/dist/src/server/endpoint/abstract-page.d.ts +1 -1
- package/dist/src/server/endpoint/abstract-page.js +6 -22
- package/dist/src/server/endpoint/abstract-page.js.map +1 -1
- package/dist/src/server/endpoint/action/create.js +48 -33
- package/dist/src/server/endpoint/action/create.js.map +1 -1
- package/dist/src/server/endpoint/action/get.d.ts +1 -1
- package/dist/src/server/endpoint/action/get.js +10 -7
- package/dist/src/server/endpoint/action/get.js.map +1 -1
- package/dist/src/server/endpoint/base.js +1 -1
- package/dist/src/server/endpoint/base.js.map +1 -1
- package/dist/src/server/endpoint/generic-page.js +1 -1
- package/dist/src/server/endpoint/generic-page.js.map +1 -1
- package/dist/src/server/endpoint/history.d.ts +1 -1
- package/dist/src/server/endpoint/history.js +1 -3
- package/dist/src/server/endpoint/history.js.map +1 -1
- package/dist/src/server/endpoint/login.d.ts +1 -1
- package/dist/src/server/endpoint/login.js +1 -3
- package/dist/src/server/endpoint/login.js.map +1 -1
- package/dist/src/server/endpoint/logout.d.ts +1 -1
- package/dist/src/server/endpoint/logout.js +1 -4
- package/dist/src/server/endpoint/logout.js.map +1 -1
- package/dist/src/server/endpoint/month.js +1 -4
- package/dist/src/server/endpoint/month.js.map +1 -1
- package/dist/src/server/endpoint/playlist/create.js.map +1 -1
- package/dist/src/server/endpoint/playlist/get.d.ts +1 -1
- package/dist/src/server/endpoint/playlist/get.js.map +1 -1
- package/dist/src/server/endpoint/robots.js +1 -3
- package/dist/src/server/endpoint/robots.js.map +1 -1
- package/dist/src/server/endpoint/session/create.js +1 -4
- package/dist/src/server/endpoint/session/create.js.map +1 -1
- package/dist/src/server/endpoint/settings/get.d.ts +1 -1
- package/dist/src/server/endpoint/settings/get.js +1 -3
- package/dist/src/server/endpoint/settings/get.js.map +1 -1
- package/dist/src/server/endpoint/settings/update.js +1 -4
- package/dist/src/server/endpoint/settings/update.js.map +1 -1
- package/dist/src/server/endpoint/week.js +1 -4
- package/dist/src/server/endpoint/week.js.map +1 -1
- package/dist/src/server/endpoint/year.js +1 -4
- package/dist/src/server/endpoint/year.js.map +1 -1
- package/dist/src/server/factory/block-serializer.js +3 -0
- package/dist/src/server/factory/block-serializer.js.map +1 -1
- package/dist/src/server/middleware/base.js.map +1 -1
- package/dist/src/server/middleware/error-handler.js +21 -47
- package/dist/src/server/middleware/error-handler.js.map +1 -1
- package/dist/src/server/middleware/static-file.js.map +1 -1
- package/dist/src/server/operation/add-block.js +6 -5
- package/dist/src/server/operation/add-block.js.map +1 -1
- package/dist/src/server/operation/add-entry-to-playlist.js +3 -5
- package/dist/src/server/operation/add-entry-to-playlist.js.map +1 -1
- package/dist/src/server/operation/build-block-move-targets.d.ts +13 -0
- package/dist/src/server/operation/build-block-move-targets.js +117 -0
- package/dist/src/server/operation/build-block-move-targets.js.map +1 -0
- package/dist/src/server/operation/create-playlist.js +2 -1
- package/dist/src/server/operation/create-playlist.js.map +1 -1
- package/dist/src/server/operation/create-session.js +1 -4
- package/dist/src/server/operation/create-session.js.map +1 -1
- package/dist/src/server/operation/delete-block.js.map +1 -1
- package/dist/src/server/operation/demote-block.js +2 -9
- package/dist/src/server/operation/demote-block.js.map +1 -1
- package/dist/src/server/operation/find-account.d.ts +3 -3
- package/dist/src/server/operation/find-account.js +9 -10
- package/dist/src/server/operation/find-account.js.map +1 -1
- package/dist/src/server/operation/hide-block.js.map +1 -1
- package/dist/src/server/operation/load-account.js +3 -3
- package/dist/src/server/operation/load-account.js.map +1 -1
- package/dist/src/server/operation/load-block.js +7 -0
- package/dist/src/server/operation/load-block.js.map +1 -1
- package/dist/src/server/operation/load-page.d.ts +1 -2
- package/dist/src/server/operation/load-page.js +49 -86
- package/dist/src/server/operation/load-page.js.map +1 -1
- package/dist/src/server/operation/move-block.js +17 -0
- package/dist/src/server/operation/move-block.js.map +1 -1
- package/dist/src/server/operation/promote-block.js.map +1 -1
- package/dist/src/server/operation/reposition-block.js.map +1 -1
- package/dist/src/server/operation/store-file.js.map +1 -1
- package/dist/src/server/operation/update-account-settings.js +1 -4
- package/dist/src/server/operation/update-account-settings.js.map +1 -1
- package/dist/src/server/operation/update-block.js.map +1 -1
- package/dist/src/server/repository/filesystem.d.ts +2 -4
- package/dist/src/server/repository/filesystem.js +17 -45
- package/dist/src/server/repository/filesystem.js.map +1 -1
- package/dist/src/server/repository/memory.d.ts +1 -3
- package/dist/src/server/repository/memory.js +8 -25
- package/dist/src/server/repository/memory.js.map +1 -1
- package/dist/src/server/serializer/action.d.ts +1 -1
- package/dist/src/server/serializer/action.js +150 -87
- package/dist/src/server/serializer/action.js.map +1 -1
- package/dist/src/server/serializer/base.js +55 -4
- package/dist/src/server/serializer/base.js.map +1 -1
- package/dist/src/server/serializer/block/calendar.js +6 -2
- package/dist/src/server/serializer/block/calendar.js.map +1 -1
- package/dist/src/server/serializer/block/folder.js.map +1 -1
- package/dist/src/server/serializer/block/image.js.map +1 -1
- package/dist/src/server/serializer/block/list.js.map +1 -1
- package/dist/src/server/serializer/block/multi-column.js +1 -1
- package/dist/src/server/serializer/block/multi-column.js.map +1 -1
- package/dist/src/server/serializer/block/table.js.map +1 -1
- package/dist/src/server/serializer/block/term.d.ts +6 -0
- package/dist/src/server/serializer/block/term.js +33 -0
- package/dist/src/server/serializer/block/term.js.map +1 -0
- package/dist/src/server/serializer/block.js +3 -10
- package/dist/src/server/serializer/block.js.map +1 -1
- package/dist/src/server/serializer/common/time-place-options.js.map +1 -1
- package/dist/src/server/serializer/page.d.ts +1 -1
- package/dist/src/server/serializer/page.js +12 -12
- package/dist/src/server/serializer/page.js.map +1 -1
- package/dist/src/server/serializer/settings.js.map +1 -1
- package/dist/src/server/serializer/week.js +1 -5
- package/dist/src/server/serializer/week.js.map +1 -1
- package/dist/src/server/utility/accepts-content-type.js.map +1 -1
- package/dist/src/server/utility/create-date.js.map +1 -1
- package/dist/src/server/utility/dates-are-on-the-same-day.js +3 -3
- package/dist/src/server/utility/dates-are-on-the-same-day.js.map +1 -1
- package/dist/src/server/utility/day-to-date.js.map +1 -1
- package/dist/src/server/utility/get-emoji-for-block-type.js +2 -1
- package/dist/src/server/utility/get-emoji-for-block-type.js.map +1 -1
- package/dist/src/server/utility/get-end-of-week.js.map +1 -1
- package/dist/src/server/utility/get-label-for-time-place-visibility.js.map +1 -1
- package/dist/src/server/utility/get-random-emoji-for-date.js +4 -4
- package/dist/src/server/utility/get-random-emoji-for-date.js.map +1 -1
- package/dist/src/server/utility/get-siblings-and-index-for-index-path.js.map +1 -1
- package/dist/src/server/utility/get-thumbnail-filename.js.map +1 -1
- package/dist/src/server/utility/key-to-date.js.map +1 -1
- package/dist/src/server/utility/month-to-date.js +1 -1
- package/dist/src/server/utility/month-to-date.js.map +1 -1
- package/dist/src/server/utility/satisfies-role.js.map +1 -1
- package/dist/src/server/utility/validate-page.js +3 -2
- package/dist/src/server/utility/validate-page.js.map +1 -1
- package/dist/src/server/utility/validate-url.js +1 -1
- package/dist/src/server/utility/validate-url.js.map +1 -1
- package/dist/src/server.js +0 -1
- package/dist/src/server.js.map +1 -1
- package/dist/src/type/account.d.ts +0 -1
- package/dist/src/type/action/add-block.d.ts +6 -1
- package/dist/src/type/action/edit-block.js +0 -1
- package/dist/src/type/action/edit-block.js.map +1 -1
- package/dist/src/type/action/move-block.d.ts +6 -0
- package/dist/src/type/block/term.d.ts +8 -0
- package/dist/src/type/block/term.js +3 -0
- package/dist/src/type/block/term.js.map +1 -0
- package/dist/src/type/block.d.ts +1 -1
- package/dist/src/type/page.d.ts +1 -0
- package/dist/src/type/playlist.d.ts +1 -1
- package/dist/test/unit/index.js +1 -1
- package/dist/test/unit/index.js.map +1 -1
- package/dist/test/unit/server/operation/promote-block.js +6 -5
- package/dist/test/unit/server/operation/promote-block.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/.last-compile-time
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1772026916
|
package/dist/.last-publish-time
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1772027085
|
package/dist/client.js
CHANGED
|
@@ -363,12 +363,12 @@
|
|
|
363
363
|
bindProcessLifespanTo: () => bindProcessLifespanTo,
|
|
364
364
|
execute: () => execute
|
|
365
365
|
});
|
|
366
|
-
function execute(
|
|
366
|
+
function execute(_command) {
|
|
367
367
|
throw new import_errors.InvariantViolation(`
|
|
368
368
|
Tried to call process.execute() in client context
|
|
369
369
|
`);
|
|
370
370
|
}
|
|
371
|
-
function bindProcessLifespanTo(
|
|
371
|
+
function bindProcessLifespanTo(_promise) {
|
|
372
372
|
throw new import_errors.InvariantViolation(`
|
|
373
373
|
Tried to call process.bindProcessLifespanTo in client context
|
|
374
374
|
`);
|
|
@@ -1828,7 +1828,7 @@
|
|
|
1828
1828
|
}
|
|
1829
1829
|
initView() {
|
|
1830
1830
|
}
|
|
1831
|
-
handleKey(
|
|
1831
|
+
handleKey(_key_code) {
|
|
1832
1832
|
}
|
|
1833
1833
|
getPreviousKeyCode() {
|
|
1834
1834
|
return this.previous_key_code;
|
|
@@ -1847,10 +1847,7 @@
|
|
|
1847
1847
|
const [target_top, viewport_min] = (() => {
|
|
1848
1848
|
const header = document.querySelector("header");
|
|
1849
1849
|
if (header === null) {
|
|
1850
|
-
return [
|
|
1851
|
-
current_top,
|
|
1852
|
-
window.scrollY
|
|
1853
|
-
];
|
|
1850
|
+
return [current_top, window.scrollY];
|
|
1854
1851
|
} else {
|
|
1855
1852
|
return [
|
|
1856
1853
|
current_top - header.offsetHeight,
|
|
@@ -1945,6 +1942,7 @@
|
|
|
1945
1942
|
BlockType2["CARD"] = "card";
|
|
1946
1943
|
BlockType2["TABLE"] = "table";
|
|
1947
1944
|
BlockType2["BUTTON"] = "button";
|
|
1945
|
+
BlockType2["TERM"] = "term";
|
|
1948
1946
|
return BlockType2;
|
|
1949
1947
|
})(BlockType || {});
|
|
1950
1948
|
var block_type_default = BlockType;
|
|
@@ -2165,7 +2163,8 @@
|
|
|
2165
2163
|
[block_type_default.PARAMETER]: "p",
|
|
2166
2164
|
[block_type_default.CARD]: "c",
|
|
2167
2165
|
[block_type_default.TABLE]: "",
|
|
2168
|
-
[block_type_default.BUTTON]: ""
|
|
2166
|
+
[block_type_default.BUTTON]: "",
|
|
2167
|
+
[block_type_default.TERM]: "g"
|
|
2169
2168
|
};
|
|
2170
2169
|
function getInputCharacterForBlockType(block_type) {
|
|
2171
2170
|
const character = BlockTypeCharacters[block_type];
|
|
@@ -2374,7 +2373,9 @@
|
|
|
2374
2373
|
Tried to read block parent element, but it was not set
|
|
2375
2374
|
`);
|
|
2376
2375
|
}
|
|
2377
|
-
const multicolumn_ancestor = block_parent.closest(
|
|
2376
|
+
const multicolumn_ancestor = block_parent.closest(
|
|
2377
|
+
"section.block.multi_column"
|
|
2378
|
+
);
|
|
2378
2379
|
if (multicolumn_ancestor === null) {
|
|
2379
2380
|
const index_path = index.toString();
|
|
2380
2381
|
block.setAttribute("data-index-path", index_path);
|
|
@@ -2414,30 +2415,62 @@
|
|
|
2414
2415
|
return;
|
|
2415
2416
|
}
|
|
2416
2417
|
this.applyNonInteractiveClasses();
|
|
2417
|
-
document.addEventListener(
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
document.addEventListener(
|
|
2439
|
-
|
|
2440
|
-
|
|
2418
|
+
document.addEventListener(
|
|
2419
|
+
"touchstart",
|
|
2420
|
+
(event) => {
|
|
2421
|
+
this.handleTouchStart(event);
|
|
2422
|
+
},
|
|
2423
|
+
{ capture: true }
|
|
2424
|
+
);
|
|
2425
|
+
document.addEventListener(
|
|
2426
|
+
"mousedown",
|
|
2427
|
+
(event) => {
|
|
2428
|
+
this.handleTouchStart(event);
|
|
2429
|
+
},
|
|
2430
|
+
{ capture: true }
|
|
2431
|
+
);
|
|
2432
|
+
document.addEventListener(
|
|
2433
|
+
"touchmove",
|
|
2434
|
+
(event) => {
|
|
2435
|
+
this.handleTouchMove(event);
|
|
2436
|
+
},
|
|
2437
|
+
{ capture: true, passive: false }
|
|
2438
|
+
);
|
|
2439
|
+
document.addEventListener(
|
|
2440
|
+
"mousemove",
|
|
2441
|
+
(event) => {
|
|
2442
|
+
this.handleTouchMove(event);
|
|
2443
|
+
},
|
|
2444
|
+
{ capture: true, passive: false }
|
|
2445
|
+
);
|
|
2446
|
+
document.addEventListener(
|
|
2447
|
+
"touchend",
|
|
2448
|
+
(_event) => {
|
|
2449
|
+
this.handleTouchEnd();
|
|
2450
|
+
},
|
|
2451
|
+
{ capture: true }
|
|
2452
|
+
);
|
|
2453
|
+
document.addEventListener(
|
|
2454
|
+
"mouseup",
|
|
2455
|
+
(_event) => {
|
|
2456
|
+
this.handleTouchEnd();
|
|
2457
|
+
},
|
|
2458
|
+
{ capture: true }
|
|
2459
|
+
);
|
|
2460
|
+
document.addEventListener(
|
|
2461
|
+
"click",
|
|
2462
|
+
(event) => {
|
|
2463
|
+
this.handleGenericClick(event);
|
|
2464
|
+
},
|
|
2465
|
+
{ capture: true }
|
|
2466
|
+
);
|
|
2467
|
+
document.addEventListener(
|
|
2468
|
+
"dragstart",
|
|
2469
|
+
(event) => {
|
|
2470
|
+
this.handleNativeDragStart(event);
|
|
2471
|
+
},
|
|
2472
|
+
{ capture: true }
|
|
2473
|
+
);
|
|
2441
2474
|
}
|
|
2442
2475
|
isDragging() {
|
|
2443
2476
|
const elements = Array.from(document.querySelectorAll(".dragging"));
|
|
@@ -2535,8 +2568,8 @@
|
|
|
2535
2568
|
ghost.classList.add("ghost");
|
|
2536
2569
|
ghost.setAttribute("data-for", index_path);
|
|
2537
2570
|
candidate.classList.remove("drag-candidate");
|
|
2538
|
-
const
|
|
2539
|
-
if (
|
|
2571
|
+
const parent_node = candidate.parentNode;
|
|
2572
|
+
if (parent_node === null) {
|
|
2540
2573
|
throw new import_errors11.InvariantViolation(`
|
|
2541
2574
|
Expected drag candidate to be located in a parent, but it was null
|
|
2542
2575
|
`);
|
|
@@ -2552,7 +2585,7 @@
|
|
|
2552
2585
|
candidate.setAttribute("data-drag-start-y", rect.top.toString());
|
|
2553
2586
|
candidate.setAttribute("data-dragging", "true");
|
|
2554
2587
|
candidate.classList.add("dragging");
|
|
2555
|
-
|
|
2588
|
+
parent_node.insertBefore(ghost, candidate);
|
|
2556
2589
|
});
|
|
2557
2590
|
}
|
|
2558
2591
|
handleNativeDragStart(event) {
|
|
@@ -2752,10 +2785,7 @@
|
|
|
2752
2785
|
const new_x = parsed_x + x_delta;
|
|
2753
2786
|
const new_y = Math.max(
|
|
2754
2787
|
container_rect.top,
|
|
2755
|
-
Math.min(
|
|
2756
|
-
parsed_y + y_delta,
|
|
2757
|
-
container_rect.bottom
|
|
2758
|
-
)
|
|
2788
|
+
Math.min(parsed_y + y_delta, container_rect.bottom)
|
|
2759
2789
|
);
|
|
2760
2790
|
block.style.left = `${new_x}px`;
|
|
2761
2791
|
block.style.top = `${new_y}px`;
|
|
@@ -2896,11 +2926,11 @@
|
|
|
2896
2926
|
if (sibling === block) {
|
|
2897
2927
|
continue;
|
|
2898
2928
|
}
|
|
2899
|
-
const
|
|
2900
|
-
if (!
|
|
2929
|
+
const class_list = sibling.classList;
|
|
2930
|
+
if (!class_list.contains("block")) {
|
|
2901
2931
|
continue;
|
|
2902
2932
|
}
|
|
2903
|
-
if (
|
|
2933
|
+
if (class_list.contains("ghost")) {
|
|
2904
2934
|
continue;
|
|
2905
2935
|
}
|
|
2906
2936
|
return sibling;
|
|
@@ -2921,11 +2951,11 @@
|
|
|
2921
2951
|
if (sibling === block) {
|
|
2922
2952
|
continue;
|
|
2923
2953
|
}
|
|
2924
|
-
const
|
|
2925
|
-
if (!
|
|
2954
|
+
const class_list = sibling.classList;
|
|
2955
|
+
if (!class_list.contains("block")) {
|
|
2926
2956
|
continue;
|
|
2927
2957
|
}
|
|
2928
|
-
if (
|
|
2958
|
+
if (class_list.contains("ghost")) {
|
|
2929
2959
|
continue;
|
|
2930
2960
|
}
|
|
2931
2961
|
return sibling;
|
|
@@ -3112,29 +3142,49 @@
|
|
|
3112
3142
|
}
|
|
3113
3143
|
initEvents() {
|
|
3114
3144
|
super.initEvents();
|
|
3115
|
-
document.addEventListener(
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3145
|
+
document.addEventListener(
|
|
3146
|
+
"canplay",
|
|
3147
|
+
(event) => {
|
|
3148
|
+
this.handleMediaCanPlay(event);
|
|
3149
|
+
},
|
|
3150
|
+
true
|
|
3151
|
+
);
|
|
3152
|
+
document.addEventListener(
|
|
3153
|
+
"ended",
|
|
3154
|
+
(event) => {
|
|
3155
|
+
this.handleMediaPlaybackEnded(event);
|
|
3156
|
+
},
|
|
3157
|
+
true
|
|
3158
|
+
);
|
|
3159
|
+
document.addEventListener(
|
|
3160
|
+
"pointerdown",
|
|
3161
|
+
(event) => {
|
|
3162
|
+
this.handlePointerDown(event);
|
|
3163
|
+
},
|
|
3164
|
+
true
|
|
3165
|
+
);
|
|
3166
|
+
document.addEventListener(
|
|
3167
|
+
"pointermove",
|
|
3168
|
+
(event) => {
|
|
3169
|
+
this.handlePointerMove(event);
|
|
3170
|
+
},
|
|
3171
|
+
true
|
|
3172
|
+
);
|
|
3173
|
+
document.addEventListener(
|
|
3174
|
+
"pointerup",
|
|
3175
|
+
(event) => {
|
|
3176
|
+
this.handlePointerUp(event);
|
|
3177
|
+
},
|
|
3178
|
+
true
|
|
3179
|
+
);
|
|
3130
3180
|
window.addEventListener("popstate", (event) => {
|
|
3131
3181
|
this.handlePopstate(event);
|
|
3132
3182
|
});
|
|
3133
3183
|
}
|
|
3134
|
-
handlePointerDown(
|
|
3184
|
+
handlePointerDown(_event) {
|
|
3135
3185
|
this.pointer_moved = false;
|
|
3136
3186
|
}
|
|
3137
|
-
handlePointerMove(
|
|
3187
|
+
handlePointerMove(_event) {
|
|
3138
3188
|
this.pointer_moved = true;
|
|
3139
3189
|
}
|
|
3140
3190
|
handlePointerUp(event) {
|
|
@@ -3197,7 +3247,7 @@
|
|
|
3197
3247
|
async fetchAndDisplay(path) {
|
|
3198
3248
|
const response = await fetch(path, {
|
|
3199
3249
|
headers: {
|
|
3200
|
-
|
|
3250
|
+
ACCEPT: "text/html"
|
|
3201
3251
|
}
|
|
3202
3252
|
});
|
|
3203
3253
|
if (!response.ok) {
|
|
@@ -3225,8 +3275,17 @@
|
|
|
3225
3275
|
}
|
|
3226
3276
|
old_element.replaceWith(new_element);
|
|
3227
3277
|
}
|
|
3278
|
+
const new_data = updated_document.querySelector("#page-data");
|
|
3279
|
+
const old_data = document.getElementById("page-data");
|
|
3280
|
+
if (new_data !== null) {
|
|
3281
|
+
if (old_data !== null) {
|
|
3282
|
+
old_data.replaceWith(new_data);
|
|
3283
|
+
} else {
|
|
3284
|
+
document.body.appendChild(new_data);
|
|
3285
|
+
}
|
|
3286
|
+
}
|
|
3228
3287
|
}
|
|
3229
|
-
handlePopstate(
|
|
3288
|
+
handlePopstate(_event) {
|
|
3230
3289
|
const { pathname, search, hash } = window.location;
|
|
3231
3290
|
const path = pathname + search + hash;
|
|
3232
3291
|
this.fetchAndDisplay(path);
|
|
@@ -3356,7 +3415,7 @@
|
|
|
3356
3415
|
credentials: "same-origin",
|
|
3357
3416
|
redirect: "follow",
|
|
3358
3417
|
headers: {
|
|
3359
|
-
|
|
3418
|
+
ACCEPT: "text/html"
|
|
3360
3419
|
}
|
|
3361
3420
|
});
|
|
3362
3421
|
const html = await response.text();
|
|
@@ -3386,8 +3445,23 @@
|
|
|
3386
3445
|
window.scrollTo(0, document.documentElement.scrollHeight);
|
|
3387
3446
|
}
|
|
3388
3447
|
navigateToParentPage() {
|
|
3389
|
-
const
|
|
3390
|
-
|
|
3448
|
+
const current_path = window.location.pathname;
|
|
3449
|
+
const parent_path = get_parent_path_default(current_path);
|
|
3450
|
+
const url = new URL(window.location.origin + parent_path);
|
|
3451
|
+
const editing = this.getQueryParameter("editing");
|
|
3452
|
+
const data_element = document.getElementById("page-data");
|
|
3453
|
+
if (data_element !== null) {
|
|
3454
|
+
const text = data_element.textContent || "";
|
|
3455
|
+
const page = JSON.parse(text);
|
|
3456
|
+
const { path, folder_index_path } = page;
|
|
3457
|
+
if (path === current_path) {
|
|
3458
|
+
url.searchParams.set("index_path", folder_index_path);
|
|
3459
|
+
}
|
|
3460
|
+
}
|
|
3461
|
+
if (editing === "true") {
|
|
3462
|
+
url.searchParams.set("editing", "true");
|
|
3463
|
+
}
|
|
3464
|
+
this.navigateToPath(url.pathname + url.search + url.hash);
|
|
3391
3465
|
}
|
|
3392
3466
|
navigateToHistory() {
|
|
3393
3467
|
window.location.href = "/history";
|
|
@@ -3613,7 +3687,9 @@
|
|
|
3613
3687
|
const track_target = document.getElementById("persistent-track-name");
|
|
3614
3688
|
const artist_target = document.getElementById("persistent-artist-name");
|
|
3615
3689
|
const track_source = media_block.querySelector('[data-role="track_name"]');
|
|
3616
|
-
const artist_source = media_block.querySelector(
|
|
3690
|
+
const artist_source = media_block.querySelector(
|
|
3691
|
+
'[data-role="artist_name"]'
|
|
3692
|
+
);
|
|
3617
3693
|
if (track_target === null) {
|
|
3618
3694
|
throw new import_errors12.InvariantViolation(`
|
|
3619
3695
|
Tried to access persistent track name element, but it was not found
|
|
@@ -3643,7 +3719,7 @@
|
|
|
3643
3719
|
document.body.classList.add("media-visible");
|
|
3644
3720
|
persistent_audio.currentTime = 0;
|
|
3645
3721
|
persistent_audio.play();
|
|
3646
|
-
if (typeof navigator.mediaSession ===
|
|
3722
|
+
if (typeof navigator.mediaSession === "undefined") {
|
|
3647
3723
|
return;
|
|
3648
3724
|
}
|
|
3649
3725
|
this.determineMediaSessionArtworkUrl().then((artwork_url) => {
|
|
@@ -3651,9 +3727,7 @@
|
|
|
3651
3727
|
if (artwork_url === null) {
|
|
3652
3728
|
return [];
|
|
3653
3729
|
}
|
|
3654
|
-
return [
|
|
3655
|
-
{ src: artwork_url, sizes: "256x256", type: "image/png" }
|
|
3656
|
-
];
|
|
3730
|
+
return [{ src: artwork_url, sizes: "256x256", type: "image/png" }];
|
|
3657
3731
|
})();
|
|
3658
3732
|
navigator.mediaSession.metadata = new MediaMetadata({
|
|
3659
3733
|
title: track_name,
|
|
@@ -3772,7 +3846,7 @@
|
|
|
3772
3846
|
|
|
3773
3847
|
// src/client/page/view-playlist.ts
|
|
3774
3848
|
var ViewPlaylistPage = class extends cursor_default {
|
|
3775
|
-
deleteBlockElement(
|
|
3849
|
+
deleteBlockElement(_block_element) {
|
|
3776
3850
|
if (!this.isLoggedIn()) {
|
|
3777
3851
|
return;
|
|
3778
3852
|
}
|
|
@@ -3816,13 +3890,17 @@
|
|
|
3816
3890
|
inputs.forEach((input) => {
|
|
3817
3891
|
const handler = () => {
|
|
3818
3892
|
const value = input.value;
|
|
3819
|
-
const container = input.closest(
|
|
3893
|
+
const container = input.closest(
|
|
3894
|
+
'[data-role="numeric-range-container"]'
|
|
3895
|
+
);
|
|
3820
3896
|
if (container === null) {
|
|
3821
3897
|
throw new import_errors13.InvariantViolation(`
|
|
3822
3898
|
Unable to find numeric range container for range input
|
|
3823
3899
|
`);
|
|
3824
3900
|
}
|
|
3825
|
-
const raw_labels = container.querySelectorAll(
|
|
3901
|
+
const raw_labels = container.querySelectorAll(
|
|
3902
|
+
'[data-role="numeric-range-value"]'
|
|
3903
|
+
);
|
|
3826
3904
|
const labels = Array.from(raw_labels);
|
|
3827
3905
|
labels.forEach((label) => {
|
|
3828
3906
|
label.innerHTML = value;
|
|
@@ -3837,7 +3915,6 @@
|
|
|
3837
3915
|
this.queuePreview();
|
|
3838
3916
|
});
|
|
3839
3917
|
});
|
|
3840
|
-
;
|
|
3841
3918
|
}
|
|
3842
3919
|
async loadPreview() {
|
|
3843
3920
|
this.last_preview_time = Date.now();
|
|
@@ -3901,6 +3978,12 @@
|
|
|
3901
3978
|
const label = this.getPreviewInputValue("label");
|
|
3902
3979
|
form.set("label", label);
|
|
3903
3980
|
}
|
|
3981
|
+
if (block_type === block_type_default.TERM) {
|
|
3982
|
+
const term = this.getPreviewInputValue("term");
|
|
3983
|
+
const definition = this.getPreviewInputValue("definition");
|
|
3984
|
+
form.set("term", term);
|
|
3985
|
+
form.set("definition", definition);
|
|
3986
|
+
}
|
|
3904
3987
|
const response = await fetch(`/actions`, {
|
|
3905
3988
|
method: "POST",
|
|
3906
3989
|
body: form,
|
|
@@ -4004,7 +4087,9 @@
|
|
|
4004
4087
|
}
|
|
4005
4088
|
getPreviewRadioValue(input_name) {
|
|
4006
4089
|
const edit_form = this.getEditForm();
|
|
4007
|
-
const input_element = edit_form.querySelector(
|
|
4090
|
+
const input_element = edit_form.querySelector(
|
|
4091
|
+
`[name="${input_name}"]:checked`
|
|
4092
|
+
);
|
|
4008
4093
|
if (input_element === null) {
|
|
4009
4094
|
throw new import_errors13.InvariantViolation(`
|
|
4010
4095
|
Tried to read radio value for input named "${input_name}",
|
|
@@ -4092,7 +4177,9 @@
|
|
|
4092
4177
|
if (isNaN(top_level_index)) {
|
|
4093
4178
|
throw new import_errors14.InvariantViolation(`Invalid index path: ${current_path}`);
|
|
4094
4179
|
}
|
|
4095
|
-
const add_block_links = document.querySelectorAll(
|
|
4180
|
+
const add_block_links = document.querySelectorAll(
|
|
4181
|
+
'[data-role="add_block_link"]'
|
|
4182
|
+
);
|
|
4096
4183
|
const link_index = (() => {
|
|
4097
4184
|
if (this.shiftIsPressed()) {
|
|
4098
4185
|
return top_level_index;
|
|
@@ -46,7 +46,7 @@ const PageConstructors = {
|
|
|
46
46
|
[page_type_1.default.SETTINGS]: settings_1.default,
|
|
47
47
|
[page_type_1.default.ROLE]: role_1.default,
|
|
48
48
|
[page_type_1.default.ADD_BLOCK_TO_PLAYLIST]: add_block_to_playlist_1.default,
|
|
49
|
-
[page_type_1.default.VIEW_PLAYLIST]: view_playlist_1.default
|
|
49
|
+
[page_type_1.default.VIEW_PLAYLIST]: view_playlist_1.default
|
|
50
50
|
};
|
|
51
51
|
class PageFactory {
|
|
52
52
|
constructor(page_type) {
|
|
@@ -55,7 +55,7 @@ class PageFactory {
|
|
|
55
55
|
create() {
|
|
56
56
|
const page_type = this.getPageType();
|
|
57
57
|
const page_constructor = PageConstructors[page_type];
|
|
58
|
-
return new page_constructor;
|
|
58
|
+
return new page_constructor();
|
|
59
59
|
}
|
|
60
60
|
getPageType() {
|
|
61
61
|
return this.page_type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/client/factory/page.ts"],"names":[],"mappings":";;;;;AACA,sEAA6C;AAE7C,4DAAwC;AACxC,kEAA8C;AAC9C,8DAA0C;AAC1C,gEAA4C;AAC5C,0DAAsC;AACtC,4DAAwC;AACxC,8DAA0C;AAC1C,4DAAwC;AACxC,4DAAwC;AACxC,sFAAgE;AAChE,8EAAyD;AACzD,8FAAuE;AACvE,oGAA8E;AAC9E,4EAAuD;AACvD,wEAAmD;AACnD,0EAAqD;AACrD,0EAAqD;AACrD,4FAAsE;AACtE,wFAAkE;AAClE,wEAAmD;AACnD,oEAAgD;AAMhD,MAAM,gBAAgB,GAAsC;IAC3D,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,OAAO,CAAC,EAAE,iBAAW;IAC/B,CAAC,mBAAQ,CAAC,KAAK,CAAC,EAAE,eAAS;IAC3B,CAAC,mBAAQ,CAAC,MAAM,CAAC,EAAE,gBAAU;IAC7B,CAAC,mBAAQ,CAAC,GAAG,CAAC,EAAE,aAAO;IACvB,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,KAAK,CAAC,EAAE,eAAS;IAC3B,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,EAAE,2BAAmB;IACjD,CAAC,mBAAQ,CAAC,wBAAwB,CAAC,EAAE,kCAA0B;IAC/D,CAAC,mBAAQ,CAAC,YAAY,CAAC,EAAE,sBAAe;IACxC,CAAC,mBAAQ,CAAC,UAAU,CAAC,EAAE,oBAAa;IACpC,CAAC,mBAAQ,CAAC,WAAW,CAAC,EAAE,qBAAc;IACtC,CAAC,mBAAQ,CAAC,WAAW,CAAC,EAAE,qBAAc;IACtC,CAAC,mBAAQ,CAAC,oBAAoB,CAAC,EAAE,8BAAsB;IACvD,CAAC,mBAAQ,CAAC,kBAAkB,CAAC,EAAE,4BAAoB;IACnD,CAAC,mBAAQ,CAAC,UAAU,CAAC,EAAE,oBAAa;IACpC,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAY;IACjC,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,qBAAqB,CAAC,EAAE,+BAAsB;IACxD,CAAC,mBAAQ,CAAC,aAAa,CAAC,EAAE,uBAAgB;CAC1C,CAAC;AAEF,MAAM,WAAW;IAGhB,YAAmB,SAAmB;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,MAAM;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAErD,OAAO,IAAI,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/client/factory/page.ts"],"names":[],"mappings":";;;;;AACA,sEAA6C;AAE7C,4DAAwC;AACxC,kEAA8C;AAC9C,8DAA0C;AAC1C,gEAA4C;AAC5C,0DAAsC;AACtC,4DAAwC;AACxC,8DAA0C;AAC1C,4DAAwC;AACxC,4DAAwC;AACxC,sFAAgE;AAChE,8EAAyD;AACzD,8FAAuE;AACvE,oGAA8E;AAC9E,4EAAuD;AACvD,wEAAmD;AACnD,0EAAqD;AACrD,0EAAqD;AACrD,4FAAsE;AACtE,wFAAkE;AAClE,wEAAmD;AACnD,oEAAgD;AAMhD,MAAM,gBAAgB,GAAsC;IAC3D,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,OAAO,CAAC,EAAE,iBAAW;IAC/B,CAAC,mBAAQ,CAAC,KAAK,CAAC,EAAE,eAAS;IAC3B,CAAC,mBAAQ,CAAC,MAAM,CAAC,EAAE,gBAAU;IAC7B,CAAC,mBAAQ,CAAC,GAAG,CAAC,EAAE,aAAO;IACvB,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,KAAK,CAAC,EAAE,eAAS;IAC3B,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,EAAE,2BAAmB;IACjD,CAAC,mBAAQ,CAAC,wBAAwB,CAAC,EAAE,kCAA0B;IAC/D,CAAC,mBAAQ,CAAC,YAAY,CAAC,EAAE,sBAAe;IACxC,CAAC,mBAAQ,CAAC,UAAU,CAAC,EAAE,oBAAa;IACpC,CAAC,mBAAQ,CAAC,WAAW,CAAC,EAAE,qBAAc;IACtC,CAAC,mBAAQ,CAAC,WAAW,CAAC,EAAE,qBAAc;IACtC,CAAC,mBAAQ,CAAC,oBAAoB,CAAC,EAAE,8BAAsB;IACvD,CAAC,mBAAQ,CAAC,kBAAkB,CAAC,EAAE,4BAAoB;IACnD,CAAC,mBAAQ,CAAC,UAAU,CAAC,EAAE,oBAAa;IACpC,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAY;IACjC,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,CAAC,mBAAQ,CAAC,qBAAqB,CAAC,EAAE,+BAAsB;IACxD,CAAC,mBAAQ,CAAC,aAAa,CAAC,EAAE,uBAAgB;CAC1C,CAAC;AAEF,MAAM,WAAW;IAGhB,YAAmB,SAAmB;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,MAAM;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAErD,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAC/B,CAAC;IAEO,WAAW;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;CACD;AAED,kBAAe,WAAW,CAAC"}
|
|
@@ -41,10 +41,10 @@ class InteractionHelper {
|
|
|
41
41
|
document.addEventListener('mousemove', (event) => {
|
|
42
42
|
this.handleTouchMove(event);
|
|
43
43
|
}, { capture: true, passive: false });
|
|
44
|
-
document.addEventListener('touchend', (
|
|
44
|
+
document.addEventListener('touchend', (_event) => {
|
|
45
45
|
this.handleTouchEnd();
|
|
46
46
|
}, { capture: true });
|
|
47
|
-
document.addEventListener('mouseup', (
|
|
47
|
+
document.addEventListener('mouseup', (_event) => {
|
|
48
48
|
this.handleTouchEnd();
|
|
49
49
|
}, { capture: true });
|
|
50
50
|
document.addEventListener('click', (event) => {
|
|
@@ -154,8 +154,8 @@ class InteractionHelper {
|
|
|
154
154
|
ghost.classList.add('ghost');
|
|
155
155
|
ghost.setAttribute('data-for', index_path);
|
|
156
156
|
candidate.classList.remove('drag-candidate');
|
|
157
|
-
const
|
|
158
|
-
if (
|
|
157
|
+
const parent_node = candidate.parentNode;
|
|
158
|
+
if (parent_node === null) {
|
|
159
159
|
throw new errors_1.InvariantViolation(`
|
|
160
160
|
Expected drag candidate to be located in a parent, but it was null
|
|
161
161
|
`);
|
|
@@ -171,7 +171,7 @@ class InteractionHelper {
|
|
|
171
171
|
candidate.setAttribute('data-drag-start-y', rect.top.toString());
|
|
172
172
|
candidate.setAttribute('data-dragging', 'true');
|
|
173
173
|
candidate.classList.add('dragging');
|
|
174
|
-
|
|
174
|
+
parent_node.insertBefore(ghost, candidate);
|
|
175
175
|
});
|
|
176
176
|
}
|
|
177
177
|
handleNativeDragStart(event) {
|
|
@@ -383,7 +383,7 @@ class InteractionHelper {
|
|
|
383
383
|
let swapped = false;
|
|
384
384
|
if (previous_block !== null) {
|
|
385
385
|
const previous_rect = previous_block.getBoundingClientRect();
|
|
386
|
-
const previous_block_y_threshold = previous_rect.top +
|
|
386
|
+
const previous_block_y_threshold = previous_rect.top + previous_rect.height * 0.4;
|
|
387
387
|
if (block_rect.top < previous_block_y_threshold) {
|
|
388
388
|
swapped = true;
|
|
389
389
|
const next_sibling = ghost.nextElementSibling;
|
|
@@ -395,9 +395,11 @@ class InteractionHelper {
|
|
|
395
395
|
}
|
|
396
396
|
if (next_block !== null && swapped === false) {
|
|
397
397
|
const next_rect = next_block.getBoundingClientRect();
|
|
398
|
-
const next_block_y_threshold = next_rect.top +
|
|
398
|
+
const next_block_y_threshold = next_rect.top + next_rect.height * 0.6;
|
|
399
399
|
if (block_rect.bottom > next_block_y_threshold) {
|
|
400
|
-
const next_sibling = ghost.nextElementSibling === next_block
|
|
400
|
+
const next_sibling = ghost.nextElementSibling === next_block
|
|
401
|
+
? ghost
|
|
402
|
+
: ghost.nextElementSibling;
|
|
401
403
|
next_block.replaceWith(ghost);
|
|
402
404
|
if (next_sibling) {
|
|
403
405
|
next_sibling.before(next_block);
|
|
@@ -477,7 +479,7 @@ class InteractionHelper {
|
|
|
477
479
|
const scroll_amount = scroll_speed_per_second * time_ratio;
|
|
478
480
|
const scroll_y = this.getCurrentScrollY();
|
|
479
481
|
const sign = scroll_direction === ScrollDirection.UP ? -1 : 1;
|
|
480
|
-
const new_scroll_y = Math.max(0, Math.min(document.documentElement.scrollHeight, scroll_y +
|
|
482
|
+
const new_scroll_y = Math.max(0, Math.min(document.documentElement.scrollHeight, scroll_y + scroll_amount * sign));
|
|
481
483
|
this.setCurrentScrollY(new_scroll_y);
|
|
482
484
|
this.setLastScrollTime(now);
|
|
483
485
|
const window_moved = new_scroll_y !== scroll_y;
|
|
@@ -510,11 +512,11 @@ class InteractionHelper {
|
|
|
510
512
|
if (sibling === block) {
|
|
511
513
|
continue;
|
|
512
514
|
}
|
|
513
|
-
const
|
|
514
|
-
if (!
|
|
515
|
+
const class_list = sibling.classList;
|
|
516
|
+
if (!class_list.contains('block')) {
|
|
515
517
|
continue;
|
|
516
518
|
}
|
|
517
|
-
if (
|
|
519
|
+
if (class_list.contains('ghost')) {
|
|
518
520
|
continue;
|
|
519
521
|
}
|
|
520
522
|
return sibling;
|
|
@@ -536,11 +538,11 @@ class InteractionHelper {
|
|
|
536
538
|
if (sibling === block) {
|
|
537
539
|
continue;
|
|
538
540
|
}
|
|
539
|
-
const
|
|
540
|
-
if (!
|
|
541
|
+
const class_list = sibling.classList;
|
|
542
|
+
if (!class_list.contains('block')) {
|
|
541
543
|
continue;
|
|
542
544
|
}
|
|
543
|
-
if (
|
|
545
|
+
if (class_list.contains('ghost')) {
|
|
544
546
|
continue;
|
|
545
547
|
}
|
|
546
548
|
return sibling;
|