@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.
Files changed (248) hide show
  1. package/dist/.last-compile-time +1 -1
  2. package/dist/.last-publish-time +1 -1
  3. package/dist/client.js +166 -79
  4. package/dist/src/client/factory/page.js +2 -2
  5. package/dist/src/client/factory/page.js.map +1 -1
  6. package/dist/src/client/helper/interaction.js +17 -15
  7. package/dist/src/client/helper/interaction.js.map +1 -1
  8. package/dist/src/client/page/add-block-to-playlist.js +1 -2
  9. package/dist/src/client/page/add-block-to-playlist.js.map +1 -1
  10. package/dist/src/client/page/create-block.js.map +1 -1
  11. package/dist/src/client/page/cursor.js +39 -13
  12. package/dist/src/client/page/cursor.js.map +1 -1
  13. package/dist/src/client/page/day.js +1 -2
  14. package/dist/src/client/page/day.js.map +1 -1
  15. package/dist/src/client/page/edit-block.js +6 -1
  16. package/dist/src/client/page/edit-block.js.map +1 -1
  17. package/dist/src/client/page/home.js +1 -2
  18. package/dist/src/client/page/home.js.map +1 -1
  19. package/dist/src/client/page/login.js +1 -2
  20. package/dist/src/client/page/login.js.map +1 -1
  21. package/dist/src/client/page/logout.js +1 -2
  22. package/dist/src/client/page/logout.js.map +1 -1
  23. package/dist/src/client/page/month.js +1 -2
  24. package/dist/src/client/page/month.js.map +1 -1
  25. package/dist/src/client/page/move-block.js +1 -2
  26. package/dist/src/client/page/move-block.js.map +1 -1
  27. package/dist/src/client/page/role.js +1 -2
  28. package/dist/src/client/page/role.js.map +1 -1
  29. package/dist/src/client/page/select-block-destination.js +1 -2
  30. package/dist/src/client/page/select-block-destination.js.map +1 -1
  31. package/dist/src/client/page/settings.js +1 -2
  32. package/dist/src/client/page/settings.js.map +1 -1
  33. package/dist/src/client/page/view-custom.js.map +1 -1
  34. package/dist/src/client/page/view-playlist.d.ts +1 -1
  35. package/dist/src/client/page/view-playlist.js +1 -1
  36. package/dist/src/client/page/view-playlist.js.map +1 -1
  37. package/dist/src/client/page/week.js +1 -2
  38. package/dist/src/client/page/week.js.map +1 -1
  39. package/dist/src/client/page/year.js +1 -2
  40. package/dist/src/client/page/year.js.map +1 -1
  41. package/dist/src/client/page.d.ts +1 -1
  42. package/dist/src/client/page.js +2 -5
  43. package/dist/src/client/page.js.map +1 -1
  44. package/dist/src/client/shim/logger.d.ts +3 -3
  45. package/dist/src/client/shim/logger.js +7 -3
  46. package/dist/src/client/shim/logger.js.map +1 -1
  47. package/dist/src/client/shim/process.d.ts +2 -2
  48. package/dist/src/client/shim/process.js +3 -2
  49. package/dist/src/client/shim/process.js.map +1 -1
  50. package/dist/src/client/utility/recompute-index-paths.js.map +1 -1
  51. package/dist/src/common/builder/block/background.js +2 -2
  52. package/dist/src/common/builder/block/background.js.map +1 -1
  53. package/dist/src/common/builder/block/button.d.ts +3 -0
  54. package/dist/src/common/builder/block/button.js +18 -0
  55. package/dist/src/common/builder/block/button.js.map +1 -0
  56. package/dist/src/common/builder/block/card.js +2 -2
  57. package/dist/src/common/builder/block/card.js.map +1 -1
  58. package/dist/src/common/builder/block/folder.js +2 -2
  59. package/dist/src/common/builder/block/folder.js.map +1 -1
  60. package/dist/src/common/builder/block/header.js +2 -2
  61. package/dist/src/common/builder/block/header.js.map +1 -1
  62. package/dist/src/common/builder/block/input.js +2 -2
  63. package/dist/src/common/builder/block/input.js.map +1 -1
  64. package/dist/src/common/builder/block/link.js +2 -2
  65. package/dist/src/common/builder/block/link.js.map +1 -1
  66. package/dist/src/common/builder/block/multicolumn.js +2 -2
  67. package/dist/src/common/builder/block/multicolumn.js.map +1 -1
  68. package/dist/src/common/builder/block/note.js +2 -2
  69. package/dist/src/common/builder/block/note.js.map +1 -1
  70. package/dist/src/common/builder/block/parameter.js +2 -2
  71. package/dist/src/common/builder/block/parameter.js.map +1 -1
  72. package/dist/src/common/builder/block/redirect.js +2 -2
  73. package/dist/src/common/builder/block/redirect.js.map +1 -1
  74. package/dist/src/common/builder/block/table.js +2 -2
  75. package/dist/src/common/builder/block/table.js.map +1 -1
  76. package/dist/src/common/builder/block/whitespace.js +2 -2
  77. package/dist/src/common/builder/block/whitespace.js.map +1 -1
  78. package/dist/src/common/utility/get-input-character-for-block-type.js +2 -1
  79. package/dist/src/common/utility/get-input-character-for-block-type.js.map +1 -1
  80. package/dist/src/common/utility/get-parameter.js.map +1 -1
  81. package/dist/src/constant/role/public.js.map +1 -1
  82. package/dist/src/constant/role/unknown.js.map +1 -1
  83. package/dist/src/constant/system-username.d.ts +2 -0
  84. package/dist/src/constant/system-username.js +5 -0
  85. package/dist/src/constant/system-username.js.map +1 -0
  86. package/dist/src/enum/block-type.d.ts +2 -1
  87. package/dist/src/enum/block-type.js +1 -0
  88. package/dist/src/enum/block-type.js.map +1 -1
  89. package/dist/src/enum/calendar-view-mode.js.map +1 -1
  90. package/dist/src/enum/emoji.d.ts +2 -2
  91. package/dist/src/enum/emoji.js +2 -2
  92. package/dist/src/enum/emoji.js.map +1 -1
  93. package/dist/src/enum/permission-type.js +0 -1
  94. package/dist/src/enum/permission-type.js.map +1 -1
  95. package/dist/src/enum/tool-type.js.map +1 -1
  96. package/dist/src/index.d.ts +3 -0
  97. package/dist/src/index.js +5 -1
  98. package/dist/src/index.js.map +1 -1
  99. package/dist/src/interface/repository.d.ts +1 -2
  100. package/dist/src/server/endpoint/abstract-page.d.ts +1 -1
  101. package/dist/src/server/endpoint/abstract-page.js +6 -22
  102. package/dist/src/server/endpoint/abstract-page.js.map +1 -1
  103. package/dist/src/server/endpoint/action/create.js +48 -33
  104. package/dist/src/server/endpoint/action/create.js.map +1 -1
  105. package/dist/src/server/endpoint/action/get.d.ts +1 -1
  106. package/dist/src/server/endpoint/action/get.js +10 -7
  107. package/dist/src/server/endpoint/action/get.js.map +1 -1
  108. package/dist/src/server/endpoint/base.js +1 -1
  109. package/dist/src/server/endpoint/base.js.map +1 -1
  110. package/dist/src/server/endpoint/generic-page.js +1 -1
  111. package/dist/src/server/endpoint/generic-page.js.map +1 -1
  112. package/dist/src/server/endpoint/history.d.ts +1 -1
  113. package/dist/src/server/endpoint/history.js +1 -3
  114. package/dist/src/server/endpoint/history.js.map +1 -1
  115. package/dist/src/server/endpoint/login.d.ts +1 -1
  116. package/dist/src/server/endpoint/login.js +1 -3
  117. package/dist/src/server/endpoint/login.js.map +1 -1
  118. package/dist/src/server/endpoint/logout.d.ts +1 -1
  119. package/dist/src/server/endpoint/logout.js +1 -4
  120. package/dist/src/server/endpoint/logout.js.map +1 -1
  121. package/dist/src/server/endpoint/month.js +1 -4
  122. package/dist/src/server/endpoint/month.js.map +1 -1
  123. package/dist/src/server/endpoint/playlist/create.js.map +1 -1
  124. package/dist/src/server/endpoint/playlist/get.d.ts +1 -1
  125. package/dist/src/server/endpoint/playlist/get.js.map +1 -1
  126. package/dist/src/server/endpoint/robots.js +1 -3
  127. package/dist/src/server/endpoint/robots.js.map +1 -1
  128. package/dist/src/server/endpoint/session/create.js +1 -4
  129. package/dist/src/server/endpoint/session/create.js.map +1 -1
  130. package/dist/src/server/endpoint/settings/get.d.ts +1 -1
  131. package/dist/src/server/endpoint/settings/get.js +1 -3
  132. package/dist/src/server/endpoint/settings/get.js.map +1 -1
  133. package/dist/src/server/endpoint/settings/update.js +1 -4
  134. package/dist/src/server/endpoint/settings/update.js.map +1 -1
  135. package/dist/src/server/endpoint/week.js +1 -4
  136. package/dist/src/server/endpoint/week.js.map +1 -1
  137. package/dist/src/server/endpoint/year.js +1 -4
  138. package/dist/src/server/endpoint/year.js.map +1 -1
  139. package/dist/src/server/factory/block-serializer.js +3 -0
  140. package/dist/src/server/factory/block-serializer.js.map +1 -1
  141. package/dist/src/server/middleware/base.js.map +1 -1
  142. package/dist/src/server/middleware/error-handler.js +21 -47
  143. package/dist/src/server/middleware/error-handler.js.map +1 -1
  144. package/dist/src/server/middleware/static-file.js.map +1 -1
  145. package/dist/src/server/operation/add-block.js +6 -5
  146. package/dist/src/server/operation/add-block.js.map +1 -1
  147. package/dist/src/server/operation/add-entry-to-playlist.js +3 -5
  148. package/dist/src/server/operation/add-entry-to-playlist.js.map +1 -1
  149. package/dist/src/server/operation/build-block-move-targets.d.ts +13 -0
  150. package/dist/src/server/operation/build-block-move-targets.js +117 -0
  151. package/dist/src/server/operation/build-block-move-targets.js.map +1 -0
  152. package/dist/src/server/operation/create-playlist.js +2 -1
  153. package/dist/src/server/operation/create-playlist.js.map +1 -1
  154. package/dist/src/server/operation/create-session.js +1 -4
  155. package/dist/src/server/operation/create-session.js.map +1 -1
  156. package/dist/src/server/operation/delete-block.js.map +1 -1
  157. package/dist/src/server/operation/demote-block.js +2 -9
  158. package/dist/src/server/operation/demote-block.js.map +1 -1
  159. package/dist/src/server/operation/find-account.d.ts +3 -3
  160. package/dist/src/server/operation/find-account.js +9 -10
  161. package/dist/src/server/operation/find-account.js.map +1 -1
  162. package/dist/src/server/operation/hide-block.js.map +1 -1
  163. package/dist/src/server/operation/load-account.js +3 -3
  164. package/dist/src/server/operation/load-account.js.map +1 -1
  165. package/dist/src/server/operation/load-block.js +7 -0
  166. package/dist/src/server/operation/load-block.js.map +1 -1
  167. package/dist/src/server/operation/load-page.d.ts +1 -2
  168. package/dist/src/server/operation/load-page.js +49 -86
  169. package/dist/src/server/operation/load-page.js.map +1 -1
  170. package/dist/src/server/operation/move-block.js +17 -0
  171. package/dist/src/server/operation/move-block.js.map +1 -1
  172. package/dist/src/server/operation/promote-block.js.map +1 -1
  173. package/dist/src/server/operation/reposition-block.js.map +1 -1
  174. package/dist/src/server/operation/store-file.js.map +1 -1
  175. package/dist/src/server/operation/update-account-settings.js +1 -4
  176. package/dist/src/server/operation/update-account-settings.js.map +1 -1
  177. package/dist/src/server/operation/update-block.js.map +1 -1
  178. package/dist/src/server/repository/filesystem.d.ts +2 -4
  179. package/dist/src/server/repository/filesystem.js +17 -45
  180. package/dist/src/server/repository/filesystem.js.map +1 -1
  181. package/dist/src/server/repository/memory.d.ts +1 -3
  182. package/dist/src/server/repository/memory.js +8 -25
  183. package/dist/src/server/repository/memory.js.map +1 -1
  184. package/dist/src/server/serializer/action.d.ts +1 -1
  185. package/dist/src/server/serializer/action.js +150 -87
  186. package/dist/src/server/serializer/action.js.map +1 -1
  187. package/dist/src/server/serializer/base.js +55 -4
  188. package/dist/src/server/serializer/base.js.map +1 -1
  189. package/dist/src/server/serializer/block/calendar.js +6 -2
  190. package/dist/src/server/serializer/block/calendar.js.map +1 -1
  191. package/dist/src/server/serializer/block/folder.js.map +1 -1
  192. package/dist/src/server/serializer/block/image.js.map +1 -1
  193. package/dist/src/server/serializer/block/list.js.map +1 -1
  194. package/dist/src/server/serializer/block/multi-column.js +1 -1
  195. package/dist/src/server/serializer/block/multi-column.js.map +1 -1
  196. package/dist/src/server/serializer/block/table.js.map +1 -1
  197. package/dist/src/server/serializer/block/term.d.ts +6 -0
  198. package/dist/src/server/serializer/block/term.js +33 -0
  199. package/dist/src/server/serializer/block/term.js.map +1 -0
  200. package/dist/src/server/serializer/block.js +3 -10
  201. package/dist/src/server/serializer/block.js.map +1 -1
  202. package/dist/src/server/serializer/common/time-place-options.js.map +1 -1
  203. package/dist/src/server/serializer/page.d.ts +1 -1
  204. package/dist/src/server/serializer/page.js +12 -12
  205. package/dist/src/server/serializer/page.js.map +1 -1
  206. package/dist/src/server/serializer/settings.js.map +1 -1
  207. package/dist/src/server/serializer/week.js +1 -5
  208. package/dist/src/server/serializer/week.js.map +1 -1
  209. package/dist/src/server/utility/accepts-content-type.js.map +1 -1
  210. package/dist/src/server/utility/create-date.js.map +1 -1
  211. package/dist/src/server/utility/dates-are-on-the-same-day.js +3 -3
  212. package/dist/src/server/utility/dates-are-on-the-same-day.js.map +1 -1
  213. package/dist/src/server/utility/day-to-date.js.map +1 -1
  214. package/dist/src/server/utility/get-emoji-for-block-type.js +2 -1
  215. package/dist/src/server/utility/get-emoji-for-block-type.js.map +1 -1
  216. package/dist/src/server/utility/get-end-of-week.js.map +1 -1
  217. package/dist/src/server/utility/get-label-for-time-place-visibility.js.map +1 -1
  218. package/dist/src/server/utility/get-random-emoji-for-date.js +4 -4
  219. package/dist/src/server/utility/get-random-emoji-for-date.js.map +1 -1
  220. package/dist/src/server/utility/get-siblings-and-index-for-index-path.js.map +1 -1
  221. package/dist/src/server/utility/get-thumbnail-filename.js.map +1 -1
  222. package/dist/src/server/utility/key-to-date.js.map +1 -1
  223. package/dist/src/server/utility/month-to-date.js +1 -1
  224. package/dist/src/server/utility/month-to-date.js.map +1 -1
  225. package/dist/src/server/utility/satisfies-role.js.map +1 -1
  226. package/dist/src/server/utility/validate-page.js +3 -2
  227. package/dist/src/server/utility/validate-page.js.map +1 -1
  228. package/dist/src/server/utility/validate-url.js +1 -1
  229. package/dist/src/server/utility/validate-url.js.map +1 -1
  230. package/dist/src/server.js +0 -1
  231. package/dist/src/server.js.map +1 -1
  232. package/dist/src/type/account.d.ts +0 -1
  233. package/dist/src/type/action/add-block.d.ts +6 -1
  234. package/dist/src/type/action/edit-block.js +0 -1
  235. package/dist/src/type/action/edit-block.js.map +1 -1
  236. package/dist/src/type/action/move-block.d.ts +6 -0
  237. package/dist/src/type/block/term.d.ts +8 -0
  238. package/dist/src/type/block/term.js +3 -0
  239. package/dist/src/type/block/term.js.map +1 -0
  240. package/dist/src/type/block.d.ts +1 -1
  241. package/dist/src/type/page.d.ts +1 -0
  242. package/dist/src/type/playlist.d.ts +1 -1
  243. package/dist/test/unit/index.js +1 -1
  244. package/dist/test/unit/index.js.map +1 -1
  245. package/dist/test/unit/server/operation/promote-block.js +6 -5
  246. package/dist/test/unit/server/operation/promote-block.js.map +1 -1
  247. package/dist/tsconfig.tsbuildinfo +1 -1
  248. package/package.json +2 -2
@@ -1 +1 @@
1
- 1770480816
1
+ 1772026916
@@ -1 +1 @@
1
- 1770483195
1
+ 1772027085
package/dist/client.js CHANGED
@@ -363,12 +363,12 @@
363
363
  bindProcessLifespanTo: () => bindProcessLifespanTo,
364
364
  execute: () => execute
365
365
  });
366
- function execute(command) {
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(promise) {
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(key_code) {
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("section.block.multi_column");
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("touchstart", (event) => {
2418
- this.handleTouchStart(event);
2419
- }, { capture: true });
2420
- document.addEventListener("mousedown", (event) => {
2421
- this.handleTouchStart(event);
2422
- }, { capture: true });
2423
- document.addEventListener("touchmove", (event) => {
2424
- this.handleTouchMove(event);
2425
- }, { capture: true, passive: false });
2426
- document.addEventListener("mousemove", (event) => {
2427
- this.handleTouchMove(event);
2428
- }, { capture: true, passive: false });
2429
- document.addEventListener("touchend", (event) => {
2430
- this.handleTouchEnd();
2431
- }, { capture: true });
2432
- document.addEventListener("mouseup", (event) => {
2433
- this.handleTouchEnd();
2434
- }, { capture: true });
2435
- document.addEventListener("click", (event) => {
2436
- this.handleGenericClick(event);
2437
- }, { capture: true });
2438
- document.addEventListener("dragstart", (event) => {
2439
- this.handleNativeDragStart(event);
2440
- }, { capture: true });
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 { parentNode } = candidate;
2539
- if (parentNode === null) {
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
- parentNode.insertBefore(ghost, candidate);
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 { classList } = sibling;
2900
- if (!classList.contains("block")) {
2929
+ const class_list = sibling.classList;
2930
+ if (!class_list.contains("block")) {
2901
2931
  continue;
2902
2932
  }
2903
- if (classList.contains("ghost")) {
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 { classList } = sibling;
2925
- if (!classList.contains("block")) {
2954
+ const class_list = sibling.classList;
2955
+ if (!class_list.contains("block")) {
2926
2956
  continue;
2927
2957
  }
2928
- if (classList.contains("ghost")) {
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("canplay", (event) => {
3116
- this.handleMediaCanPlay(event);
3117
- }, true);
3118
- document.addEventListener("ended", (event) => {
3119
- this.handleMediaPlaybackEnded(event);
3120
- }, true);
3121
- document.addEventListener("pointerdown", (event) => {
3122
- this.handlePointerDown(event);
3123
- }, true);
3124
- document.addEventListener("pointermove", (event) => {
3125
- this.handlePointerMove(event);
3126
- }, true);
3127
- document.addEventListener("pointerup", (event) => {
3128
- this.handlePointerUp(event);
3129
- }, true);
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(event) {
3184
+ handlePointerDown(_event) {
3135
3185
  this.pointer_moved = false;
3136
3186
  }
3137
- handlePointerMove(event) {
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
- "Accept": "text/html"
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(event) {
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
- "Accept": "text/html"
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 parent_path = get_parent_path_default(window.location.pathname);
3390
- this.navigateToPath(parent_path);
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('[data-role="artist_name"]');
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 === void 0) {
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(block_element) {
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('[data-role="numeric-range-container"]');
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('[data-role="numeric-range-value"]');
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(`[name="${input_name}"]:checked`);
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('[data-role="add_block_link"]');
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;IAC7B,CAAC;IAEO,WAAW;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;CACD;AAED,kBAAe,WAAW,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', (event) => {
44
+ document.addEventListener('touchend', (_event) => {
45
45
  this.handleTouchEnd();
46
46
  }, { capture: true });
47
- document.addEventListener('mouseup', (event) => {
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 { parentNode } = candidate;
158
- if (parentNode === null) {
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
- parentNode.insertBefore(ghost, candidate);
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 + (previous_rect.height * 0.4);
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 + (next_rect.height * 0.6);
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 ? ghost : ghost.nextElementSibling;
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 + (scroll_amount * sign)));
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 { classList } = sibling;
514
- if (!classList.contains('block')) {
515
+ const class_list = sibling.classList;
516
+ if (!class_list.contains('block')) {
515
517
  continue;
516
518
  }
517
- if (classList.contains('ghost')) {
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 { classList } = sibling;
540
- if (!classList.contains('block')) {
541
+ const class_list = sibling.classList;
542
+ if (!class_list.contains('block')) {
541
543
  continue;
542
544
  }
543
- if (classList.contains('ghost')) {
545
+ if (class_list.contains('ghost')) {
544
546
  continue;
545
547
  }
546
548
  return sibling;