@fc3/mmcadi 0.1.66 → 0.1.68
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 +175 -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 +18 -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 +10 -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/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/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/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 +1 -0
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/server/endpoint/abstract-page.d.ts +1 -1
- package/dist/src/server/endpoint/abstract-page.js +4 -5
- package/dist/src/server/endpoint/abstract-page.js.map +1 -1
- package/dist/src/server/endpoint/action/create.js +30 -14
- 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 +8 -5
- package/dist/src/server/endpoint/action/get.js.map +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 +20 -41
- 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 +2 -1
- package/dist/src/server/operation/add-block.js.map +1 -1
- package/dist/src/server/operation/add-entry-to-playlist.js +1 -4
- 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-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/hide-block.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 +39 -76
- 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.map +1 -1
- package/dist/src/server/operation/update-block.js.map +1 -1
- package/dist/src/server/repository/filesystem.js +1 -4
- package/dist/src/server/repository/filesystem.js.map +1 -1
- package/dist/src/server/repository/memory.js +2 -8
- 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 +137 -74
- package/dist/src/server/serializer/action.js.map +1 -1
- package/dist/src/server/serializer/base.js +53 -2
- 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.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 -0
- package/dist/src/server/serializer/page.js +10 -1
- 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-url.js +1 -1
- package/dist/src/server/utility/validate-url.js.map +1 -1
- package/dist/src/server.js.map +1 -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/page.d.ts +1 -0
- 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 +2 -1
- package/dist/test/unit/server/operation/promote-block.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/.last-compile-time
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1771260790
|
package/dist/.last-publish-time
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1771260824
|
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
|
`);
|
|
@@ -1810,7 +1810,15 @@
|
|
|
1810
1810
|
}
|
|
1811
1811
|
initEvents() {
|
|
1812
1812
|
window.addEventListener("keydown", (event) => {
|
|
1813
|
+
const target = event.target;
|
|
1814
|
+
if (target === null) {
|
|
1815
|
+
return;
|
|
1816
|
+
}
|
|
1817
|
+
const input = target.closest("input, textarea");
|
|
1813
1818
|
const key_code = event.keyCode || event.charCode;
|
|
1819
|
+
if (input !== null) {
|
|
1820
|
+
return;
|
|
1821
|
+
}
|
|
1814
1822
|
this.shift_pressed = event.shiftKey;
|
|
1815
1823
|
this.handleKey(key_code);
|
|
1816
1824
|
if (key_code !== key_code_default.SHIFT) {
|
|
@@ -1820,7 +1828,7 @@
|
|
|
1820
1828
|
}
|
|
1821
1829
|
initView() {
|
|
1822
1830
|
}
|
|
1823
|
-
handleKey(
|
|
1831
|
+
handleKey(_key_code) {
|
|
1824
1832
|
}
|
|
1825
1833
|
getPreviousKeyCode() {
|
|
1826
1834
|
return this.previous_key_code;
|
|
@@ -1839,10 +1847,7 @@
|
|
|
1839
1847
|
const [target_top, viewport_min] = (() => {
|
|
1840
1848
|
const header = document.querySelector("header");
|
|
1841
1849
|
if (header === null) {
|
|
1842
|
-
return [
|
|
1843
|
-
current_top,
|
|
1844
|
-
window.scrollY
|
|
1845
|
-
];
|
|
1850
|
+
return [current_top, window.scrollY];
|
|
1846
1851
|
} else {
|
|
1847
1852
|
return [
|
|
1848
1853
|
current_top - header.offsetHeight,
|
|
@@ -1937,6 +1942,7 @@
|
|
|
1937
1942
|
BlockType2["CARD"] = "card";
|
|
1938
1943
|
BlockType2["TABLE"] = "table";
|
|
1939
1944
|
BlockType2["BUTTON"] = "button";
|
|
1945
|
+
BlockType2["TERM"] = "term";
|
|
1940
1946
|
return BlockType2;
|
|
1941
1947
|
})(BlockType || {});
|
|
1942
1948
|
var block_type_default = BlockType;
|
|
@@ -2157,7 +2163,8 @@
|
|
|
2157
2163
|
[block_type_default.PARAMETER]: "p",
|
|
2158
2164
|
[block_type_default.CARD]: "c",
|
|
2159
2165
|
[block_type_default.TABLE]: "",
|
|
2160
|
-
[block_type_default.BUTTON]: ""
|
|
2166
|
+
[block_type_default.BUTTON]: "",
|
|
2167
|
+
[block_type_default.TERM]: "g"
|
|
2161
2168
|
};
|
|
2162
2169
|
function getInputCharacterForBlockType(block_type) {
|
|
2163
2170
|
const character = BlockTypeCharacters[block_type];
|
|
@@ -2366,7 +2373,9 @@
|
|
|
2366
2373
|
Tried to read block parent element, but it was not set
|
|
2367
2374
|
`);
|
|
2368
2375
|
}
|
|
2369
|
-
const multicolumn_ancestor = block_parent.closest(
|
|
2376
|
+
const multicolumn_ancestor = block_parent.closest(
|
|
2377
|
+
"section.block.multi_column"
|
|
2378
|
+
);
|
|
2370
2379
|
if (multicolumn_ancestor === null) {
|
|
2371
2380
|
const index_path = index.toString();
|
|
2372
2381
|
block.setAttribute("data-index-path", index_path);
|
|
@@ -2406,30 +2415,62 @@
|
|
|
2406
2415
|
return;
|
|
2407
2416
|
}
|
|
2408
2417
|
this.applyNonInteractiveClasses();
|
|
2409
|
-
document.addEventListener(
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
document.addEventListener(
|
|
2431
|
-
|
|
2432
|
-
|
|
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
|
+
);
|
|
2433
2474
|
}
|
|
2434
2475
|
isDragging() {
|
|
2435
2476
|
const elements = Array.from(document.querySelectorAll(".dragging"));
|
|
@@ -2527,8 +2568,8 @@
|
|
|
2527
2568
|
ghost.classList.add("ghost");
|
|
2528
2569
|
ghost.setAttribute("data-for", index_path);
|
|
2529
2570
|
candidate.classList.remove("drag-candidate");
|
|
2530
|
-
const
|
|
2531
|
-
if (
|
|
2571
|
+
const parent_node = candidate.parentNode;
|
|
2572
|
+
if (parent_node === null) {
|
|
2532
2573
|
throw new import_errors11.InvariantViolation(`
|
|
2533
2574
|
Expected drag candidate to be located in a parent, but it was null
|
|
2534
2575
|
`);
|
|
@@ -2544,7 +2585,7 @@
|
|
|
2544
2585
|
candidate.setAttribute("data-drag-start-y", rect.top.toString());
|
|
2545
2586
|
candidate.setAttribute("data-dragging", "true");
|
|
2546
2587
|
candidate.classList.add("dragging");
|
|
2547
|
-
|
|
2588
|
+
parent_node.insertBefore(ghost, candidate);
|
|
2548
2589
|
});
|
|
2549
2590
|
}
|
|
2550
2591
|
handleNativeDragStart(event) {
|
|
@@ -2744,10 +2785,7 @@
|
|
|
2744
2785
|
const new_x = parsed_x + x_delta;
|
|
2745
2786
|
const new_y = Math.max(
|
|
2746
2787
|
container_rect.top,
|
|
2747
|
-
Math.min(
|
|
2748
|
-
parsed_y + y_delta,
|
|
2749
|
-
container_rect.bottom
|
|
2750
|
-
)
|
|
2788
|
+
Math.min(parsed_y + y_delta, container_rect.bottom)
|
|
2751
2789
|
);
|
|
2752
2790
|
block.style.left = `${new_x}px`;
|
|
2753
2791
|
block.style.top = `${new_y}px`;
|
|
@@ -2888,11 +2926,11 @@
|
|
|
2888
2926
|
if (sibling === block) {
|
|
2889
2927
|
continue;
|
|
2890
2928
|
}
|
|
2891
|
-
const
|
|
2892
|
-
if (!
|
|
2929
|
+
const class_list = sibling.classList;
|
|
2930
|
+
if (!class_list.contains("block")) {
|
|
2893
2931
|
continue;
|
|
2894
2932
|
}
|
|
2895
|
-
if (
|
|
2933
|
+
if (class_list.contains("ghost")) {
|
|
2896
2934
|
continue;
|
|
2897
2935
|
}
|
|
2898
2936
|
return sibling;
|
|
@@ -2913,11 +2951,11 @@
|
|
|
2913
2951
|
if (sibling === block) {
|
|
2914
2952
|
continue;
|
|
2915
2953
|
}
|
|
2916
|
-
const
|
|
2917
|
-
if (!
|
|
2954
|
+
const class_list = sibling.classList;
|
|
2955
|
+
if (!class_list.contains("block")) {
|
|
2918
2956
|
continue;
|
|
2919
2957
|
}
|
|
2920
|
-
if (
|
|
2958
|
+
if (class_list.contains("ghost")) {
|
|
2921
2959
|
continue;
|
|
2922
2960
|
}
|
|
2923
2961
|
return sibling;
|
|
@@ -2927,6 +2965,7 @@
|
|
|
2927
2965
|
handleTouchEnd() {
|
|
2928
2966
|
this.demoteAllDragCandidates();
|
|
2929
2967
|
this.cancelDelayedDrag();
|
|
2968
|
+
this.setDragStartCoordinate(null);
|
|
2930
2969
|
if (this.isSwiping()) {
|
|
2931
2970
|
this.deactivateSwiping();
|
|
2932
2971
|
}
|
|
@@ -3103,29 +3142,49 @@
|
|
|
3103
3142
|
}
|
|
3104
3143
|
initEvents() {
|
|
3105
3144
|
super.initEvents();
|
|
3106
|
-
document.addEventListener(
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
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
|
+
);
|
|
3121
3180
|
window.addEventListener("popstate", (event) => {
|
|
3122
3181
|
this.handlePopstate(event);
|
|
3123
3182
|
});
|
|
3124
3183
|
}
|
|
3125
|
-
handlePointerDown(
|
|
3184
|
+
handlePointerDown(_event) {
|
|
3126
3185
|
this.pointer_moved = false;
|
|
3127
3186
|
}
|
|
3128
|
-
handlePointerMove(
|
|
3187
|
+
handlePointerMove(_event) {
|
|
3129
3188
|
this.pointer_moved = true;
|
|
3130
3189
|
}
|
|
3131
3190
|
handlePointerUp(event) {
|
|
@@ -3188,7 +3247,7 @@
|
|
|
3188
3247
|
async fetchAndDisplay(path) {
|
|
3189
3248
|
const response = await fetch(path, {
|
|
3190
3249
|
headers: {
|
|
3191
|
-
|
|
3250
|
+
ACCEPT: "text/html"
|
|
3192
3251
|
}
|
|
3193
3252
|
});
|
|
3194
3253
|
if (!response.ok) {
|
|
@@ -3216,8 +3275,17 @@
|
|
|
3216
3275
|
}
|
|
3217
3276
|
old_element.replaceWith(new_element);
|
|
3218
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
|
+
}
|
|
3219
3287
|
}
|
|
3220
|
-
handlePopstate(
|
|
3288
|
+
handlePopstate(_event) {
|
|
3221
3289
|
const { pathname, search, hash } = window.location;
|
|
3222
3290
|
const path = pathname + search + hash;
|
|
3223
3291
|
this.fetchAndDisplay(path);
|
|
@@ -3347,7 +3415,7 @@
|
|
|
3347
3415
|
credentials: "same-origin",
|
|
3348
3416
|
redirect: "follow",
|
|
3349
3417
|
headers: {
|
|
3350
|
-
|
|
3418
|
+
ACCEPT: "text/html"
|
|
3351
3419
|
}
|
|
3352
3420
|
});
|
|
3353
3421
|
const html = await response.text();
|
|
@@ -3377,8 +3445,23 @@
|
|
|
3377
3445
|
window.scrollTo(0, document.documentElement.scrollHeight);
|
|
3378
3446
|
}
|
|
3379
3447
|
navigateToParentPage() {
|
|
3380
|
-
const
|
|
3381
|
-
|
|
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);
|
|
3382
3465
|
}
|
|
3383
3466
|
navigateToHistory() {
|
|
3384
3467
|
window.location.href = "/history";
|
|
@@ -3604,7 +3687,9 @@
|
|
|
3604
3687
|
const track_target = document.getElementById("persistent-track-name");
|
|
3605
3688
|
const artist_target = document.getElementById("persistent-artist-name");
|
|
3606
3689
|
const track_source = media_block.querySelector('[data-role="track_name"]');
|
|
3607
|
-
const artist_source = media_block.querySelector(
|
|
3690
|
+
const artist_source = media_block.querySelector(
|
|
3691
|
+
'[data-role="artist_name"]'
|
|
3692
|
+
);
|
|
3608
3693
|
if (track_target === null) {
|
|
3609
3694
|
throw new import_errors12.InvariantViolation(`
|
|
3610
3695
|
Tried to access persistent track name element, but it was not found
|
|
@@ -3634,7 +3719,7 @@
|
|
|
3634
3719
|
document.body.classList.add("media-visible");
|
|
3635
3720
|
persistent_audio.currentTime = 0;
|
|
3636
3721
|
persistent_audio.play();
|
|
3637
|
-
if (typeof navigator.mediaSession ===
|
|
3722
|
+
if (typeof navigator.mediaSession === "undefined") {
|
|
3638
3723
|
return;
|
|
3639
3724
|
}
|
|
3640
3725
|
this.determineMediaSessionArtworkUrl().then((artwork_url) => {
|
|
@@ -3642,9 +3727,7 @@
|
|
|
3642
3727
|
if (artwork_url === null) {
|
|
3643
3728
|
return [];
|
|
3644
3729
|
}
|
|
3645
|
-
return [
|
|
3646
|
-
{ src: artwork_url, sizes: "256x256", type: "image/png" }
|
|
3647
|
-
];
|
|
3730
|
+
return [{ src: artwork_url, sizes: "256x256", type: "image/png" }];
|
|
3648
3731
|
})();
|
|
3649
3732
|
navigator.mediaSession.metadata = new MediaMetadata({
|
|
3650
3733
|
title: track_name,
|
|
@@ -3763,7 +3846,7 @@
|
|
|
3763
3846
|
|
|
3764
3847
|
// src/client/page/view-playlist.ts
|
|
3765
3848
|
var ViewPlaylistPage = class extends cursor_default {
|
|
3766
|
-
deleteBlockElement(
|
|
3849
|
+
deleteBlockElement(_block_element) {
|
|
3767
3850
|
if (!this.isLoggedIn()) {
|
|
3768
3851
|
return;
|
|
3769
3852
|
}
|
|
@@ -3807,13 +3890,17 @@
|
|
|
3807
3890
|
inputs.forEach((input) => {
|
|
3808
3891
|
const handler = () => {
|
|
3809
3892
|
const value = input.value;
|
|
3810
|
-
const container = input.closest(
|
|
3893
|
+
const container = input.closest(
|
|
3894
|
+
'[data-role="numeric-range-container"]'
|
|
3895
|
+
);
|
|
3811
3896
|
if (container === null) {
|
|
3812
3897
|
throw new import_errors13.InvariantViolation(`
|
|
3813
3898
|
Unable to find numeric range container for range input
|
|
3814
3899
|
`);
|
|
3815
3900
|
}
|
|
3816
|
-
const raw_labels = container.querySelectorAll(
|
|
3901
|
+
const raw_labels = container.querySelectorAll(
|
|
3902
|
+
'[data-role="numeric-range-value"]'
|
|
3903
|
+
);
|
|
3817
3904
|
const labels = Array.from(raw_labels);
|
|
3818
3905
|
labels.forEach((label) => {
|
|
3819
3906
|
label.innerHTML = value;
|
|
@@ -3828,7 +3915,6 @@
|
|
|
3828
3915
|
this.queuePreview();
|
|
3829
3916
|
});
|
|
3830
3917
|
});
|
|
3831
|
-
;
|
|
3832
3918
|
}
|
|
3833
3919
|
async loadPreview() {
|
|
3834
3920
|
this.last_preview_time = Date.now();
|
|
@@ -3892,6 +3978,12 @@
|
|
|
3892
3978
|
const label = this.getPreviewInputValue("label");
|
|
3893
3979
|
form.set("label", label);
|
|
3894
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
|
+
}
|
|
3895
3987
|
const response = await fetch(`/actions`, {
|
|
3896
3988
|
method: "POST",
|
|
3897
3989
|
body: form,
|
|
@@ -3995,7 +4087,9 @@
|
|
|
3995
4087
|
}
|
|
3996
4088
|
getPreviewRadioValue(input_name) {
|
|
3997
4089
|
const edit_form = this.getEditForm();
|
|
3998
|
-
const input_element = edit_form.querySelector(
|
|
4090
|
+
const input_element = edit_form.querySelector(
|
|
4091
|
+
`[name="${input_name}"]:checked`
|
|
4092
|
+
);
|
|
3999
4093
|
if (input_element === null) {
|
|
4000
4094
|
throw new import_errors13.InvariantViolation(`
|
|
4001
4095
|
Tried to read radio value for input named "${input_name}",
|
|
@@ -4083,7 +4177,9 @@
|
|
|
4083
4177
|
if (isNaN(top_level_index)) {
|
|
4084
4178
|
throw new import_errors14.InvariantViolation(`Invalid index path: ${current_path}`);
|
|
4085
4179
|
}
|
|
4086
|
-
const add_block_links = document.querySelectorAll(
|
|
4180
|
+
const add_block_links = document.querySelectorAll(
|
|
4181
|
+
'[data-role="add_block_link"]'
|
|
4182
|
+
);
|
|
4087
4183
|
const link_index = (() => {
|
|
4088
4184
|
if (this.shiftIsPressed()) {
|
|
4089
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;
|
|
@@ -550,6 +552,7 @@ class InteractionHelper {
|
|
|
550
552
|
handleTouchEnd() {
|
|
551
553
|
this.demoteAllDragCandidates();
|
|
552
554
|
this.cancelDelayedDrag();
|
|
555
|
+
this.setDragStartCoordinate(null);
|
|
553
556
|
if (this.isSwiping()) {
|
|
554
557
|
this.deactivateSwiping();
|
|
555
558
|
}
|