@fc3/mmcadi 0.1.22 → 0.1.23

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 (194) hide show
  1. package/dist/.last-compile-time +1 -1
  2. package/dist/.last-publish-time +1 -1
  3. package/dist/client.js +254 -47
  4. package/dist/src/client/enum/page-type.d.ts +3 -0
  5. package/dist/src/client/enum/page-type.js +3 -0
  6. package/dist/src/client/enum/page-type.js.map +1 -1
  7. package/dist/src/client/factory/page.js +6 -0
  8. package/dist/src/client/factory/page.js.map +1 -1
  9. package/dist/src/client/page/confirm-hide-block.d.ts +7 -0
  10. package/dist/src/client/page/confirm-hide-block.js +28 -0
  11. package/dist/src/client/page/confirm-hide-block.js.map +1 -0
  12. package/dist/src/client/page/history.d.ts +16 -0
  13. package/dist/src/client/page/history.js +126 -0
  14. package/dist/src/client/page/history.js.map +1 -0
  15. package/dist/src/client/page/select-block-destination.d.ts +5 -0
  16. package/dist/src/client/page/select-block-destination.js +12 -0
  17. package/dist/src/client/page/select-block-destination.js.map +1 -0
  18. package/dist/src/client/page/view-custom.d.ts +3 -1
  19. package/dist/src/client/page/view-custom.js +60 -26
  20. package/dist/src/client/page/view-custom.js.map +1 -1
  21. package/dist/src/client/utility/get-block-activation-href.d.ts +2 -0
  22. package/dist/src/client/utility/get-block-activation-href.js +25 -0
  23. package/dist/src/client/utility/get-block-activation-href.js.map +1 -0
  24. package/dist/src/enum/action-type.d.ts +2 -0
  25. package/dist/src/enum/action-type.js +2 -0
  26. package/dist/src/enum/action-type.js.map +1 -1
  27. package/dist/src/enum/emoji.d.ts +1 -0
  28. package/dist/src/enum/emoji.js +1 -0
  29. package/dist/src/enum/emoji.js.map +1 -1
  30. package/dist/src/enum/tool-type.d.ts +1 -0
  31. package/dist/src/enum/tool-type.js +1 -0
  32. package/dist/src/enum/tool-type.js.map +1 -1
  33. package/dist/src/lib/server/http/endpoint.js +1 -1
  34. package/dist/src/lib/server/http/endpoint.js.map +1 -1
  35. package/dist/src/server/endpoint/abstract-page.d.ts +1 -1
  36. package/dist/src/server/endpoint/abstract-page.js +21 -3
  37. package/dist/src/server/endpoint/abstract-page.js.map +1 -1
  38. package/dist/src/server/endpoint/action/create.d.ts +3 -1
  39. package/dist/src/server/endpoint/action/create.js +61 -25
  40. package/dist/src/server/endpoint/action/create.js.map +1 -1
  41. package/dist/src/server/endpoint/action/get.d.ts +3 -1
  42. package/dist/src/server/endpoint/action/get.js +47 -1
  43. package/dist/src/server/endpoint/action/get.js.map +1 -1
  44. package/dist/src/server/endpoint/history.d.ts +13 -0
  45. package/dist/src/server/endpoint/history.js +61 -0
  46. package/dist/src/server/endpoint/history.js.map +1 -0
  47. package/dist/src/server/endpoint/login.d.ts +1 -1
  48. package/dist/src/server/endpoint/login.js +1 -1
  49. package/dist/src/server/endpoint/login.js.map +1 -1
  50. package/dist/src/server/endpoint/logout.js +7 -2
  51. package/dist/src/server/endpoint/logout.js.map +1 -1
  52. package/dist/src/server/endpoint/month.d.ts +1 -1
  53. package/dist/src/server/endpoint/month.js +1 -1
  54. package/dist/src/server/endpoint/month.js.map +1 -1
  55. package/dist/src/server/endpoint/settings/get.d.ts +1 -1
  56. package/dist/src/server/endpoint/settings/get.js +1 -1
  57. package/dist/src/server/endpoint/settings/get.js.map +1 -1
  58. package/dist/src/server/endpoint/week.d.ts +1 -1
  59. package/dist/src/server/endpoint/week.js +1 -1
  60. package/dist/src/server/endpoint/week.js.map +1 -1
  61. package/dist/src/server/endpoint/year.d.ts +1 -1
  62. package/dist/src/server/endpoint/year.js +1 -1
  63. package/dist/src/server/endpoint/year.js.map +1 -1
  64. package/dist/src/server/factory/block-result-serializer.d.ts +1 -1
  65. package/dist/src/server/factory/block-result-serializer.js +14 -14
  66. package/dist/src/server/factory/block-result-serializer.js.map +1 -1
  67. package/dist/src/server/factory/block-serializer.d.ts +15 -0
  68. package/dist/src/server/factory/block-serializer.js +80 -0
  69. package/dist/src/server/factory/block-serializer.js.map +1 -0
  70. package/dist/src/server/middleware/error-handler.js +14 -4
  71. package/dist/src/server/middleware/error-handler.js.map +1 -1
  72. package/dist/src/server/operation/add-block.js +1 -0
  73. package/dist/src/server/operation/add-block.js.map +1 -1
  74. package/dist/src/server/operation/delete-block.d.ts +5 -3
  75. package/dist/src/server/operation/delete-block.js +30 -9
  76. package/dist/src/server/operation/delete-block.js.map +1 -1
  77. package/dist/src/server/operation/destroy-session.js +13 -1
  78. package/dist/src/server/operation/destroy-session.js.map +1 -1
  79. package/dist/src/server/operation/find-account.js +3 -2
  80. package/dist/src/server/operation/find-account.js.map +1 -1
  81. package/dist/src/server/operation/hide-block.d.ts +14 -0
  82. package/dist/src/server/operation/hide-block.js +55 -0
  83. package/dist/src/server/operation/hide-block.js.map +1 -0
  84. package/dist/src/server/operation/load-page.d.ts +3 -1
  85. package/dist/src/server/operation/load-page.js +99 -39
  86. package/dist/src/server/operation/load-page.js.map +1 -1
  87. package/dist/src/server/operation/move-block.d.ts +16 -0
  88. package/dist/src/server/operation/move-block.js +101 -0
  89. package/dist/src/server/operation/move-block.js.map +1 -0
  90. package/dist/src/server/operation/store-file.d.ts +14 -0
  91. package/dist/src/server/operation/store-file.js +83 -0
  92. package/dist/src/server/operation/store-file.js.map +1 -0
  93. package/dist/src/server/operation/update-block.js +4 -4
  94. package/dist/src/server/operation/update-block.js.map +1 -1
  95. package/dist/src/server/serializer/action.d.ts +40 -0
  96. package/dist/src/server/serializer/action.js +940 -0
  97. package/dist/src/server/serializer/action.js.map +1 -0
  98. package/dist/src/server/serializer/base.d.ts +31 -0
  99. package/dist/src/server/serializer/base.js +1222 -0
  100. package/dist/src/server/serializer/base.js.map +1 -0
  101. package/dist/src/server/serializer/block/audio.d.ts +6 -0
  102. package/dist/src/server/serializer/block/audio.js +26 -0
  103. package/dist/src/server/serializer/block/audio.js.map +1 -0
  104. package/dist/src/server/serializer/block/background.d.ts +6 -0
  105. package/dist/src/server/serializer/block/background.js +22 -0
  106. package/dist/src/server/serializer/block/background.js.map +1 -0
  107. package/dist/src/server/serializer/block/calendar.d.ts +7 -0
  108. package/dist/src/server/serializer/block/calendar.js +140 -0
  109. package/dist/src/server/serializer/block/calendar.js.map +1 -0
  110. package/dist/src/server/serializer/block/directory.d.ts +7 -0
  111. package/dist/src/server/serializer/block/directory.js +53 -0
  112. package/dist/src/server/serializer/block/directory.js.map +1 -0
  113. package/dist/src/server/serializer/block/ephemeral.d.ts +6 -0
  114. package/dist/src/server/serializer/block/ephemeral.js +16 -0
  115. package/dist/src/server/serializer/block/ephemeral.js.map +1 -0
  116. package/dist/src/server/serializer/block/folder.d.ts +14 -0
  117. package/dist/src/server/serializer/block/folder.js +145 -0
  118. package/dist/src/server/serializer/block/folder.js.map +1 -0
  119. package/dist/src/server/serializer/block/header.d.ts +6 -0
  120. package/dist/src/server/serializer/block/header.js +35 -0
  121. package/dist/src/server/serializer/block/header.js.map +1 -0
  122. package/dist/src/server/serializer/block/image.d.ts +6 -0
  123. package/dist/src/server/serializer/block/image.js +45 -0
  124. package/dist/src/server/serializer/block/image.js.map +1 -0
  125. package/dist/src/server/serializer/block/link.d.ts +6 -0
  126. package/dist/src/server/serializer/block/link.js +39 -0
  127. package/dist/src/server/serializer/block/link.js.map +1 -0
  128. package/dist/src/server/serializer/block/list.d.ts +13 -0
  129. package/dist/src/server/serializer/block/list.js +113 -0
  130. package/dist/src/server/serializer/block/list.js.map +1 -0
  131. package/dist/src/server/serializer/block/multi-column.d.ts +6 -0
  132. package/dist/src/server/serializer/block/multi-column.js +78 -0
  133. package/dist/src/server/serializer/block/multi-column.js.map +1 -0
  134. package/dist/src/server/serializer/block/note.d.ts +6 -0
  135. package/dist/src/server/serializer/block/note.js +40 -0
  136. package/dist/src/server/serializer/block/note.js.map +1 -0
  137. package/dist/src/server/serializer/block/parameter.d.ts +6 -0
  138. package/dist/src/server/serializer/block/parameter.js +13 -0
  139. package/dist/src/server/serializer/block/parameter.js.map +1 -0
  140. package/dist/src/server/serializer/block/todo.d.ts +6 -0
  141. package/dist/src/server/serializer/block/todo.js +76 -0
  142. package/dist/src/server/serializer/block/todo.js.map +1 -0
  143. package/dist/src/server/serializer/block/whitespace.d.ts +6 -0
  144. package/dist/src/server/serializer/block/whitespace.js +17 -0
  145. package/dist/src/server/serializer/block/whitespace.js.map +1 -0
  146. package/dist/src/server/serializer/block.d.ts +27 -0
  147. package/dist/src/server/serializer/block.js +226 -0
  148. package/dist/src/server/serializer/block.js.map +1 -0
  149. package/dist/src/server/serializer/common/time-place-options.d.ts +2 -0
  150. package/dist/src/server/serializer/common/time-place-options.js +34 -0
  151. package/dist/src/server/serializer/common/time-place-options.js.map +1 -0
  152. package/dist/src/server/serializer/history.d.ts +19 -0
  153. package/dist/src/server/serializer/history.js +77 -0
  154. package/dist/src/server/serializer/history.js.map +1 -0
  155. package/dist/src/server/serializer/login.d.ts +12 -0
  156. package/dist/src/server/serializer/login.js +54 -0
  157. package/dist/src/server/serializer/login.js.map +1 -0
  158. package/dist/src/server/serializer/month.d.ts +10 -0
  159. package/dist/src/server/serializer/month.js +160 -0
  160. package/dist/src/server/serializer/month.js.map +1 -0
  161. package/dist/src/server/serializer/page.d.ts +47 -0
  162. package/dist/src/server/serializer/page.js +454 -0
  163. package/dist/src/server/serializer/page.js.map +1 -0
  164. package/dist/src/server/serializer/settings.d.ts +9 -0
  165. package/dist/src/server/serializer/settings.js +80 -0
  166. package/dist/src/server/serializer/settings.js.map +1 -0
  167. package/dist/src/server/serializer/week.d.ts +10 -0
  168. package/dist/src/server/serializer/week.js +175 -0
  169. package/dist/src/server/serializer/week.js.map +1 -0
  170. package/dist/src/server/serializer/year.d.ts +10 -0
  171. package/dist/src/server/serializer/year.js +142 -0
  172. package/dist/src/server/serializer/year.js.map +1 -0
  173. package/dist/src/server/utility/get-emoji-for-tool-type.js +1 -0
  174. package/dist/src/server/utility/get-emoji-for-tool-type.js.map +1 -1
  175. package/dist/src/server.js +2 -0
  176. package/dist/src/server.js.map +1 -1
  177. package/dist/src/type/account-settings.d.ts +3 -2
  178. package/dist/src/type/action/hide-block.d.ts +9 -0
  179. package/dist/src/type/action/hide-block.js +3 -0
  180. package/dist/src/type/action/hide-block.js.map +1 -0
  181. package/dist/src/type/action/move-block.d.ts +10 -0
  182. package/dist/src/type/action/move-block.js +3 -0
  183. package/dist/src/type/action/move-block.js.map +1 -0
  184. package/dist/src/type/block/audio.d.ts +2 -0
  185. package/dist/src/type/block/image.d.ts +2 -0
  186. package/dist/src/type/block.d.ts +2 -2
  187. package/dist/src/type/history-item.d.ts +5 -0
  188. package/dist/src/type/history-item.js +3 -0
  189. package/dist/src/type/history-item.js.map +1 -0
  190. package/dist/src/type/page.d.ts +2 -0
  191. package/dist/test/unit/server/operation/promote-block.js +11 -0
  192. package/dist/test/unit/server/operation/promote-block.js.map +1 -1
  193. package/dist/tsconfig.tsbuildinfo +1 -1
  194. package/package.json +1 -1
@@ -1 +1 @@
1
- 1762173988
1
+ 1762954547
@@ -1 +1 @@
1
- 1762207151
1
+ 1762954547
package/dist/client.js CHANGED
@@ -75,6 +75,7 @@
75
75
  // src/client/enum/page-type.ts
76
76
  var PageType = /* @__PURE__ */ ((PageType2) => {
77
77
  PageType2["HOME"] = "home";
78
+ PageType2["HISTORY"] = "history";
78
79
  PageType2["LOGIN"] = "login";
79
80
  PageType2["LOGOUT"] = "logout";
80
81
  PageType2["DAY"] = "day";
@@ -82,11 +83,13 @@
82
83
  PageType2["MONTH"] = "month";
83
84
  PageType2["YEAR"] = "year";
84
85
  PageType2["SELECT_BLOCK_TYPE"] = "select_block_type";
86
+ PageType2["SELECT_BLOCK_DESTINATION"] = "select_block_destination";
85
87
  PageType2["CREATE_BLOCK"] = "create_block";
86
88
  PageType2["EDIT_BLOCK"] = "edit_block";
87
89
  PageType2["VIEW_CUSTOM"] = "view_custom";
88
90
  PageType2["EDIT_CUSTOM"] = "edit_custom";
89
91
  PageType2["CONFIRM_DELETE_BLOCK"] = "confirm_delete_block";
92
+ PageType2["CONFIRM_HIDE_BLOCK"] = "confirm_hide_block";
90
93
  PageType2["MOVE_BLOCK"] = "move_block";
91
94
  PageType2["SETTINGS"] = "settings";
92
95
  PageType2["ROLE"] = "role";
@@ -243,6 +246,167 @@
243
246
  };
244
247
  var home_default = HomePage;
245
248
 
249
+ // src/enum/block-type.ts
250
+ var BlockType = /* @__PURE__ */ ((BlockType2) => {
251
+ BlockType2["HEADER"] = "header";
252
+ BlockType2["NOTE"] = "note";
253
+ BlockType2["IMAGE"] = "image";
254
+ BlockType2["AUDIO"] = "audio";
255
+ BlockType2["EPHEMERAL"] = "ephemeral";
256
+ BlockType2["CALENDAR"] = "calendar";
257
+ BlockType2["DIRECTORY"] = "directory";
258
+ BlockType2["FOLDER"] = "folder";
259
+ BlockType2["MULTI_COLUMN"] = "multi_column";
260
+ BlockType2["LINK"] = "link";
261
+ BlockType2["TODO"] = "todo";
262
+ BlockType2["LIST"] = "list";
263
+ BlockType2["BACKGROUND"] = "background";
264
+ BlockType2["WHITESPACE"] = "whitespace";
265
+ BlockType2["PARAMETER"] = "parameter";
266
+ return BlockType2;
267
+ })(BlockType || {});
268
+ var block_type_default = BlockType;
269
+
270
+ // src/client/utility/get-block-activation-href.ts
271
+ function getBlockActivationHref(block_element) {
272
+ const link_nodes = block_element.getElementsByTagName("a");
273
+ const links = Array.from(link_nodes);
274
+ const matching_link = links.find((link) => {
275
+ const role = link.getAttribute("data-role");
276
+ return role === "block_activation";
277
+ });
278
+ if (matching_link === void 0) {
279
+ throw new invariant_violation_default(`
280
+ Tried to activate link for folder block, but it was not set
281
+ `);
282
+ }
283
+ const href = matching_link.getAttribute("href");
284
+ if (href === null) {
285
+ throw new invariant_violation_default(`
286
+ Tried to activate link for folder block, but its href was not set
287
+ `);
288
+ }
289
+ return href;
290
+ }
291
+ var get_block_activation_href_default = getBlockActivationHref;
292
+
293
+ // src/client/page/history.ts
294
+ var HistoryPage = class extends page_default {
295
+ handleKey(key_code) {
296
+ switch (key_code) {
297
+ case key_code_default.ENTER:
298
+ case key_code_default.O:
299
+ return this.activateBlock();
300
+ case key_code_default.J:
301
+ return this.selectNextBlock();
302
+ case key_code_default.K:
303
+ return this.selectPreviousBlock();
304
+ default:
305
+ return super.handleKey(key_code);
306
+ }
307
+ }
308
+ activateBlock() {
309
+ const block_element = this.getCurrentBlockElement();
310
+ if (block_element === null) {
311
+ return;
312
+ }
313
+ const attribute = block_element.getAttribute("data-block-type");
314
+ if (attribute === null) {
315
+ throw new invariant_violation_default(`
316
+ Tried to activate current block, but it did not have a block type
317
+ `);
318
+ }
319
+ const block_type = attribute;
320
+ const block_types = Object.values(block_type_default);
321
+ if (!block_types.includes(block_type)) {
322
+ throw new invariant_violation_default(`
323
+ Invalid block type: ${block_type}
324
+ `);
325
+ }
326
+ if (block_type !== block_type_default.FOLDER) {
327
+ return console.warn(`no-op activation for block of type ${block_type}`);
328
+ }
329
+ const href = get_block_activation_href_default(block_element);
330
+ window.location.href = href;
331
+ }
332
+ selectPreviousBlock() {
333
+ this.navigateToIndex(this.getPreviousBlockIndex());
334
+ this.focusCurrentBlockElement();
335
+ }
336
+ selectNextBlock() {
337
+ this.navigateToIndex(this.getNextBlockIndex());
338
+ this.focusCurrentBlockElement();
339
+ }
340
+ navigateToIndex(index) {
341
+ if (index === null) {
342
+ return;
343
+ }
344
+ const block_elements = this.getBlockElements();
345
+ block_elements.forEach((block_element, block_index) => {
346
+ const is_match = block_index === index;
347
+ block_element.classList.toggle("selected", is_match);
348
+ });
349
+ const url = new URL(window.location.href);
350
+ url.searchParams.set("index", index.toString());
351
+ window.history.replaceState({}, "", url);
352
+ }
353
+ getPreviousBlockIndex() {
354
+ const block_elements = this.getBlockElements();
355
+ const current_index = this.getCurrentIndex();
356
+ const previous_block = block_elements[current_index - 1];
357
+ if (previous_block === void 0) {
358
+ return null;
359
+ }
360
+ return current_index - 1;
361
+ }
362
+ getNextBlockIndex() {
363
+ const block_elements = this.getBlockElements();
364
+ const current_index = this.getCurrentIndex();
365
+ const next_block = block_elements[current_index + 1];
366
+ if (next_block === void 0) {
367
+ return null;
368
+ }
369
+ return current_index + 1;
370
+ }
371
+ getCurrentIndex() {
372
+ const current_block = this.getCurrentBlockElement();
373
+ const blocks = this.getBlockElements();
374
+ const current_index = current_block ? blocks.indexOf(current_block) : -1;
375
+ return current_index;
376
+ }
377
+ focusCurrentBlockElement() {
378
+ const element = this.getCurrentBlockElement();
379
+ if (element === null) {
380
+ return;
381
+ }
382
+ this.focusElement(element);
383
+ }
384
+ getCurrentBlockElement() {
385
+ const block_elements = this.getBlockElements();
386
+ const selected_element = block_elements.find((element2) => {
387
+ return element2.classList.contains("selected");
388
+ });
389
+ if (selected_element !== void 0) {
390
+ return selected_element;
391
+ }
392
+ const index = (() => {
393
+ const parameter = this.getQueryParameter("index");
394
+ if (parameter === void 0) {
395
+ return 0;
396
+ }
397
+ const parsed_parameter = parseInt(parameter);
398
+ return parsed_parameter || 0;
399
+ })();
400
+ const element = block_elements[index];
401
+ return element || null;
402
+ }
403
+ getBlockElements() {
404
+ const elements = document.getElementsByClassName("block");
405
+ return Array.from(elements);
406
+ }
407
+ };
408
+ var history_default = HistoryPage;
409
+
246
410
  // src/client/page/login.ts
247
411
  var LoginPage = class extends page_default {
248
412
  initEvents() {
@@ -292,27 +456,6 @@
292
456
  };
293
457
  var year_default = YearPage;
294
458
 
295
- // src/enum/block-type.ts
296
- var BlockType = /* @__PURE__ */ ((BlockType2) => {
297
- BlockType2["HEADER"] = "header";
298
- BlockType2["NOTE"] = "note";
299
- BlockType2["IMAGE"] = "image";
300
- BlockType2["AUDIO"] = "audio";
301
- BlockType2["EPHEMERAL"] = "ephemeral";
302
- BlockType2["CALENDAR"] = "calendar";
303
- BlockType2["DIRECTORY"] = "directory";
304
- BlockType2["FOLDER"] = "folder";
305
- BlockType2["MULTI_COLUMN"] = "multi_column";
306
- BlockType2["LINK"] = "link";
307
- BlockType2["TODO"] = "todo";
308
- BlockType2["LIST"] = "list";
309
- BlockType2["BACKGROUND"] = "background";
310
- BlockType2["WHITESPACE"] = "whitespace";
311
- BlockType2["PARAMETER"] = "parameter";
312
- return BlockType2;
313
- })(BlockType || {});
314
- var block_type_default = BlockType;
315
-
316
459
  // src/client/page/select-block-type.ts
317
460
  var SelectBlockTypePage = class extends page_default {
318
461
  handleKey(key_code) {
@@ -358,6 +501,13 @@
358
501
  };
359
502
  var select_block_type_default = SelectBlockTypePage;
360
503
 
504
+ // src/client/page/select-block-destination.ts
505
+ var SelectBlockDestinationPage = class extends page_default {
506
+ initEvents() {
507
+ }
508
+ };
509
+ var select_block_destination_default = SelectBlockDestinationPage;
510
+
361
511
  // src/client/page/create-block.ts
362
512
  var CreateBlockPage = class extends page_default {
363
513
  };
@@ -452,26 +602,6 @@
452
602
  }
453
603
  return value;
454
604
  }
455
- function getBlockActivationHref(block_element) {
456
- const link_nodes = block_element.getElementsByTagName("a");
457
- const links = Array.from(link_nodes);
458
- const matching_link = links.find((link) => {
459
- const role = link.getAttribute("data-role");
460
- return role === "block_activation";
461
- });
462
- if (matching_link === void 0) {
463
- throw new invariant_violation_default(`
464
- Tried to activate link for folder block, but it was not set
465
- `);
466
- }
467
- const href = matching_link.getAttribute("href");
468
- if (href === null) {
469
- throw new invariant_violation_default(`
470
- Tried to activate link for folder block, but its href was not set
471
- `);
472
- }
473
- return href;
474
- }
475
605
  function getIndexPathForElement(element) {
476
606
  return getAttributeForElement(element, "data-index-path");
477
607
  }
@@ -501,8 +631,6 @@
501
631
  return this.toggleEditMode();
502
632
  case key_code_default.G:
503
633
  return this.performPageJump();
504
- case key_code_default.M:
505
- return this.showModificationMenu();
506
634
  case key_code_default.J:
507
635
  return this.selectNextBlock();
508
636
  case key_code_default.K:
@@ -511,10 +639,16 @@
511
639
  return this.navigateToParentPage();
512
640
  case key_code_default.D:
513
641
  return this.deleteCurrentBlock();
642
+ case key_code_default.M:
643
+ return this.moveCurrentBlock();
514
644
  case key_code_default.A:
515
645
  return this.addBlock();
516
646
  case key_code_default.E:
517
647
  return this.beginEditingBlock();
648
+ case key_code_default.H:
649
+ return this.navigateToHistory();
650
+ case key_code_default.I:
651
+ return this.hideCurrentBlock();
518
652
  default:
519
653
  return super.handleKey(key_code);
520
654
  }
@@ -576,6 +710,54 @@
576
710
  }
577
711
  window.location.href = href;
578
712
  }
713
+ moveCurrentBlock() {
714
+ if (!this.isLoggedIn()) {
715
+ return;
716
+ }
717
+ const block_element = this.getCurrentBlockElement();
718
+ if (block_element === null) {
719
+ return;
720
+ }
721
+ const block_id = block_element.id;
722
+ const link_id = `${block_id}-move`;
723
+ const link_element = document.getElementById(link_id);
724
+ if (link_element === null) {
725
+ throw new invariant_violation_default(`
726
+ Unable to find move link element for block: ${block_id}
727
+ `);
728
+ }
729
+ const href = link_element.getAttribute("href");
730
+ if (href === null) {
731
+ throw new invariant_violation_default(`
732
+ Unable to find move link href for block: ${block_id}
733
+ `);
734
+ }
735
+ window.location.href = href;
736
+ }
737
+ hideCurrentBlock() {
738
+ if (!this.isLoggedIn()) {
739
+ return;
740
+ }
741
+ const block_element = this.getCurrentBlockElement();
742
+ if (block_element === null) {
743
+ return;
744
+ }
745
+ const block_id = block_element.id;
746
+ const link_id = `${block_id}-hide`;
747
+ const link_element = document.getElementById(link_id);
748
+ if (link_element === null) {
749
+ throw new invariant_violation_default(`
750
+ Unable to find hide link element for block: ${block_id}
751
+ `);
752
+ }
753
+ const href = link_element.getAttribute("href");
754
+ if (href === null) {
755
+ throw new invariant_violation_default(`
756
+ Unable to find hide link href for block: ${block_id}
757
+ `);
758
+ }
759
+ window.location.href = href;
760
+ }
579
761
  deleteCurrentBlock() {
580
762
  if (!this.isLoggedIn()) {
581
763
  return;
@@ -659,6 +841,9 @@
659
841
  const parent_path = get_parent_path_default(window.location.pathname);
660
842
  window.location.href = parent_path;
661
843
  }
844
+ navigateToHistory() {
845
+ window.location.href = "/history";
846
+ }
662
847
  navigateToIndex(index_path) {
663
848
  if (index_path === null) {
664
849
  return;
@@ -820,15 +1005,13 @@
820
1005
  form.submit();
821
1006
  }
822
1007
  activateFolderBlock(block_element) {
823
- const href = getBlockActivationHref(block_element);
1008
+ const href = get_block_activation_href_default(block_element);
824
1009
  window.location.href = href;
825
1010
  }
826
1011
  activateImageBlock(block_element) {
827
- const href = getBlockActivationHref(block_element);
1012
+ const href = get_block_activation_href_default(block_element);
828
1013
  window.location.href = href;
829
1014
  }
830
- showModificationMenu() {
831
- }
832
1015
  isLoggedIn() {
833
1016
  return this.logged_in;
834
1017
  }
@@ -869,6 +1052,27 @@
869
1052
  };
870
1053
  var confirm_delete_block_default = ConfirmDeleteBlockPage;
871
1054
 
1055
+ // src/client/page/confirm-hide-block.ts
1056
+ var ConfirmHideBlockPage = class extends page_default {
1057
+ handleKey(key_code) {
1058
+ switch (key_code) {
1059
+ case key_code_default.I:
1060
+ return this.submitHideForm();
1061
+ default:
1062
+ return super.handleKey(key_code);
1063
+ }
1064
+ }
1065
+ submitHideForm() {
1066
+ const element = document.getElementById("hide-form");
1067
+ if (element === null) {
1068
+ throw new invariant_violation_default("Could not find hide form element");
1069
+ }
1070
+ const form = element;
1071
+ form.submit();
1072
+ }
1073
+ };
1074
+ var confirm_hide_block_default = ConfirmHideBlockPage;
1075
+
872
1076
  // src/client/page/move-block.ts
873
1077
  var MoveBlockPage = class extends page_default {
874
1078
  initEvents() {
@@ -886,6 +1090,7 @@
886
1090
  // src/client/factory/page.ts
887
1091
  var PageConstructors = {
888
1092
  [page_type_default.HOME]: home_default,
1093
+ [page_type_default.HISTORY]: history_default,
889
1094
  [page_type_default.LOGIN]: login_default,
890
1095
  [page_type_default.LOGOUT]: logout_default,
891
1096
  [page_type_default.DAY]: day_default,
@@ -893,11 +1098,13 @@
893
1098
  [page_type_default.MONTH]: month_default,
894
1099
  [page_type_default.YEAR]: year_default,
895
1100
  [page_type_default.SELECT_BLOCK_TYPE]: select_block_type_default,
1101
+ [page_type_default.SELECT_BLOCK_DESTINATION]: select_block_destination_default,
896
1102
  [page_type_default.CREATE_BLOCK]: create_block_default,
897
1103
  [page_type_default.EDIT_BLOCK]: edit_block_default,
898
1104
  [page_type_default.VIEW_CUSTOM]: view_custom_default,
899
1105
  [page_type_default.EDIT_CUSTOM]: edit_custom_default,
900
1106
  [page_type_default.CONFIRM_DELETE_BLOCK]: confirm_delete_block_default,
1107
+ [page_type_default.CONFIRM_HIDE_BLOCK]: confirm_hide_block_default,
901
1108
  [page_type_default.MOVE_BLOCK]: move_block_default,
902
1109
  [page_type_default.SETTINGS]: settings_default,
903
1110
  [page_type_default.ROLE]: role_default
@@ -1,5 +1,6 @@
1
1
  declare enum PageType {
2
2
  HOME = "home",
3
+ HISTORY = "history",
3
4
  LOGIN = "login",
4
5
  LOGOUT = "logout",
5
6
  DAY = "day",
@@ -7,11 +8,13 @@ declare enum PageType {
7
8
  MONTH = "month",
8
9
  YEAR = "year",
9
10
  SELECT_BLOCK_TYPE = "select_block_type",
11
+ SELECT_BLOCK_DESTINATION = "select_block_destination",
10
12
  CREATE_BLOCK = "create_block",
11
13
  EDIT_BLOCK = "edit_block",
12
14
  VIEW_CUSTOM = "view_custom",
13
15
  EDIT_CUSTOM = "edit_custom",
14
16
  CONFIRM_DELETE_BLOCK = "confirm_delete_block",
17
+ CONFIRM_HIDE_BLOCK = "confirm_hide_block",
15
18
  MOVE_BLOCK = "move_block",
16
19
  SETTINGS = "settings",
17
20
  ROLE = "role"
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var PageType;
4
4
  (function (PageType) {
5
5
  PageType["HOME"] = "home";
6
+ PageType["HISTORY"] = "history";
6
7
  PageType["LOGIN"] = "login";
7
8
  PageType["LOGOUT"] = "logout";
8
9
  PageType["DAY"] = "day";
@@ -10,11 +11,13 @@ var PageType;
10
11
  PageType["MONTH"] = "month";
11
12
  PageType["YEAR"] = "year";
12
13
  PageType["SELECT_BLOCK_TYPE"] = "select_block_type";
14
+ PageType["SELECT_BLOCK_DESTINATION"] = "select_block_destination";
13
15
  PageType["CREATE_BLOCK"] = "create_block";
14
16
  PageType["EDIT_BLOCK"] = "edit_block";
15
17
  PageType["VIEW_CUSTOM"] = "view_custom";
16
18
  PageType["EDIT_CUSTOM"] = "edit_custom";
17
19
  PageType["CONFIRM_DELETE_BLOCK"] = "confirm_delete_block";
20
+ PageType["CONFIRM_HIDE_BLOCK"] = "confirm_hide_block";
18
21
  PageType["MOVE_BLOCK"] = "move_block";
19
22
  PageType["SETTINGS"] = "settings";
20
23
  PageType["ROLE"] = "role";
@@ -1 +1 @@
1
- {"version":3,"file":"page-type.js","sourceRoot":"","sources":["../../../../src/client/enum/page-type.ts"],"names":[],"mappings":";;AAAA,IAAK,QAiBJ;AAjBD,WAAK,QAAQ;IACZ,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,mDAAuC,CAAA;IACvC,yCAA6B,CAAA;IAC7B,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;IAC3B,yDAA6C,CAAA;IAC7C,qCAAyB,CAAA;IACzB,iCAAqB,CAAA;IACrB,yBAAa,CAAA;AACd,CAAC,EAjBI,QAAQ,KAAR,QAAQ,QAiBZ;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"page-type.js","sourceRoot":"","sources":["../../../../src/client/enum/page-type.ts"],"names":[],"mappings":";;AAAA,IAAK,QAoBJ;AApBD,WAAK,QAAQ;IACZ,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,mDAAuC,CAAA;IACvC,iEAAqD,CAAA;IACrD,yCAA6B,CAAA;IAC7B,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;IAC3B,yDAA6C,CAAA;IAC7C,qDAAyC,CAAA;IACzC,qCAAyB,CAAA;IACzB,iCAAqB,CAAA;IACrB,yBAAa,CAAA;AACd,CAAC,EApBI,QAAQ,KAAR,QAAQ,QAoBZ;AAED,kBAAe,QAAQ,CAAC"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const page_type_1 = __importDefault(require("./../enum/page-type.js"));
7
7
  const home_1 = __importDefault(require("./../page/home.js"));
8
+ const history_1 = __importDefault(require("./../page/history.js"));
8
9
  const login_1 = __importDefault(require("./../page/login.js"));
9
10
  const logout_1 = __importDefault(require("./../page/logout.js"));
10
11
  const day_1 = __importDefault(require("./../page/day.js"));
@@ -13,15 +14,18 @@ const month_1 = __importDefault(require("./../page/month.js"));
13
14
  const week_1 = __importDefault(require("./../page/week.js"));
14
15
  const year_1 = __importDefault(require("./../page/year.js"));
15
16
  const select_block_type_1 = __importDefault(require("./../page/select-block-type.js"));
17
+ const select_block_destination_1 = __importDefault(require("./../page/select-block-destination.js"));
16
18
  const create_block_1 = __importDefault(require("./../page/create-block.js"));
17
19
  const edit_block_1 = __importDefault(require("./../page/edit-block.js"));
18
20
  const view_custom_1 = __importDefault(require("./../page/view-custom.js"));
19
21
  const edit_custom_1 = __importDefault(require("./../page/edit-custom.js"));
20
22
  const confirm_delete_block_1 = __importDefault(require("./../page/confirm-delete-block.js"));
23
+ const confirm_hide_block_1 = __importDefault(require("./../page/confirm-hide-block.js"));
21
24
  const move_block_1 = __importDefault(require("./../page/move-block.js"));
22
25
  const settings_1 = __importDefault(require("./../page/settings.js"));
23
26
  const PageConstructors = {
24
27
  [page_type_1.default.HOME]: home_1.default,
28
+ [page_type_1.default.HISTORY]: history_1.default,
25
29
  [page_type_1.default.LOGIN]: login_1.default,
26
30
  [page_type_1.default.LOGOUT]: logout_1.default,
27
31
  [page_type_1.default.DAY]: day_1.default,
@@ -29,11 +33,13 @@ const PageConstructors = {
29
33
  [page_type_1.default.MONTH]: month_1.default,
30
34
  [page_type_1.default.YEAR]: year_1.default,
31
35
  [page_type_1.default.SELECT_BLOCK_TYPE]: select_block_type_1.default,
36
+ [page_type_1.default.SELECT_BLOCK_DESTINATION]: select_block_destination_1.default,
32
37
  [page_type_1.default.CREATE_BLOCK]: create_block_1.default,
33
38
  [page_type_1.default.EDIT_BLOCK]: edit_block_1.default,
34
39
  [page_type_1.default.VIEW_CUSTOM]: view_custom_1.default,
35
40
  [page_type_1.default.EDIT_CUSTOM]: edit_custom_1.default,
36
41
  [page_type_1.default.CONFIRM_DELETE_BLOCK]: confirm_delete_block_1.default,
42
+ [page_type_1.default.CONFIRM_HIDE_BLOCK]: confirm_hide_block_1.default,
37
43
  [page_type_1.default.MOVE_BLOCK]: move_block_1.default,
38
44
  [page_type_1.default.SETTINGS]: settings_1.default,
39
45
  [page_type_1.default.ROLE]: role_1.default
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/client/factory/page.ts"],"names":[],"mappings":";;;;;AACA,sEAA6C;AAE7C,4DAAwC;AACxC,8DAA0C;AAC1C,gEAA4C;AAC5C,0DAAsC;AACtC,4DAAwC;AACxC,8DAA0C;AAC1C,4DAAwC;AACxC,4DAAwC;AACxC,sFAAgE;AAChE,4EAAuD;AACvD,wEAAmD;AACnD,0EAAqD;AACrD,0EAAqD;AACrD,4FAAsE;AACtE,wEAAmD;AACnD,oEAAgD;AAMhD,MAAM,gBAAgB,GAAsC;IAC3D,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;IACzB,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,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,UAAU,CAAC,EAAE,oBAAa;IACpC,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAY;IACjC,CAAC,mBAAQ,CAAC,IAAI,CAAC,EAAE,cAAQ;CACzB,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,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;CACzB,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"}
@@ -0,0 +1,7 @@
1
+ import Page from './../page';
2
+ import KeyCode from './../enum/key-code';
3
+ declare class ConfirmHideBlockPage extends Page {
4
+ protected handleKey(key_code: KeyCode): void;
5
+ private submitHideForm;
6
+ }
7
+ export default ConfirmHideBlockPage;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const errors_1 = require("./../../lib/errors/index.js");
7
+ const page_1 = __importDefault(require("./../page.js"));
8
+ const key_code_1 = __importDefault(require("./../enum/key-code.js"));
9
+ class ConfirmHideBlockPage extends page_1.default {
10
+ handleKey(key_code) {
11
+ switch (key_code) {
12
+ case key_code_1.default.I:
13
+ return this.submitHideForm();
14
+ default:
15
+ return super.handleKey(key_code);
16
+ }
17
+ }
18
+ submitHideForm() {
19
+ const element = document.getElementById('hide-form');
20
+ if (element === null) {
21
+ throw new errors_1.InvariantViolation('Could not find hide form element');
22
+ }
23
+ const form = element;
24
+ form.submit();
25
+ }
26
+ }
27
+ exports.default = ConfirmHideBlockPage;
28
+ //# sourceMappingURL=confirm-hide-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-hide-block.js","sourceRoot":"","sources":["../../../../src/client/page/confirm-hide-block.ts"],"names":[],"mappings":";;;;;AAAA,uCAA8C;AAE9C,uDAA+B;AAC/B,oEAA2C;AAE3C,MAAM,oBAAqB,SAAQ,cAAI;IAC5B,SAAS,CAAC,QAAiB;QACpC,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;YAE9B;gBACC,OAAO,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAEO,cAAc;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,2BAAkB,CAAC,kCAAkC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GAAG,OAA0B,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;CACD;AAED,kBAAe,oBAAoB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import Page from './../page';
2
+ import KeyCode from './../enum/key-code';
3
+ declare class HistoryPage extends Page {
4
+ protected handleKey(key_code: KeyCode): void;
5
+ private activateBlock;
6
+ protected selectPreviousBlock(): void;
7
+ protected selectNextBlock(): void;
8
+ private navigateToIndex;
9
+ private getPreviousBlockIndex;
10
+ private getNextBlockIndex;
11
+ private getCurrentIndex;
12
+ private focusCurrentBlockElement;
13
+ private getCurrentBlockElement;
14
+ private getBlockElements;
15
+ }
16
+ export default HistoryPage;