@fc3/mmcadi 0.1.63 → 0.1.65

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 (121) hide show
  1. package/dist/.last-compile-time +1 -1
  2. package/dist/.last-publish-time +1 -1
  3. package/dist/client.js +485 -184
  4. package/dist/src/client/helper/interaction.d.ts +0 -1
  5. package/dist/src/client/helper/interaction.js +3 -28
  6. package/dist/src/client/helper/interaction.js.map +1 -1
  7. package/dist/src/client/page/cursor.d.ts +3 -0
  8. package/dist/src/client/page/cursor.js +72 -37
  9. package/dist/src/client/page/cursor.js.map +1 -1
  10. package/dist/src/client/page/edit-block.d.ts +11 -0
  11. package/dist/src/client/page/edit-block.js +192 -7
  12. package/dist/src/client/page/edit-block.js.map +1 -1
  13. package/dist/src/client/page/select-block-type.d.ts +1 -1
  14. package/dist/src/client/page/select-block-type.js +34 -22
  15. package/dist/src/client/page/select-block-type.js.map +1 -1
  16. package/dist/src/client/page.js +2 -0
  17. package/dist/src/client/page.js.map +1 -1
  18. package/dist/src/client/utility/recompute-index-paths.d.ts +2 -0
  19. package/dist/src/client/utility/recompute-index-paths.js +24 -0
  20. package/dist/src/client/utility/recompute-index-paths.js.map +1 -0
  21. package/dist/src/common/builder/block/input.d.ts +3 -0
  22. package/dist/src/common/builder/block/input.js +18 -0
  23. package/dist/src/common/builder/block/input.js.map +1 -0
  24. package/dist/src/common/utility/decrement-index-path.d.ts +2 -0
  25. package/dist/src/common/utility/decrement-index-path.js +26 -0
  26. package/dist/src/common/utility/decrement-index-path.js.map +1 -0
  27. package/dist/src/common/utility/get-input-character-for-block-type.d.ts +3 -0
  28. package/dist/src/common/utility/get-input-character-for-block-type.js +42 -0
  29. package/dist/src/common/utility/get-input-character-for-block-type.js.map +1 -0
  30. package/dist/src/common/utility/get-last-index-path-segment.d.ts +2 -0
  31. package/dist/src/common/utility/get-last-index-path-segment.js +17 -0
  32. package/dist/src/common/utility/get-last-index-path-segment.js.map +1 -0
  33. package/dist/src/common/utility/get-parent-index-path.d.ts +2 -0
  34. package/dist/src/common/utility/get-parent-index-path.js +17 -0
  35. package/dist/src/common/utility/get-parent-index-path.js.map +1 -0
  36. package/dist/src/common/utility/increment-index-path.d.ts +2 -0
  37. package/dist/src/common/utility/increment-index-path.js +18 -0
  38. package/dist/src/common/utility/increment-index-path.js.map +1 -0
  39. package/dist/src/enum/action-type.d.ts +1 -0
  40. package/dist/src/enum/action-type.js +1 -0
  41. package/dist/src/enum/action-type.js.map +1 -1
  42. package/dist/src/enum/block-type.d.ts +3 -1
  43. package/dist/src/enum/block-type.js +2 -0
  44. package/dist/src/enum/block-type.js.map +1 -1
  45. package/dist/src/enum/emoji.d.ts +5 -1
  46. package/dist/src/enum/emoji.js +4 -0
  47. package/dist/src/enum/emoji.js.map +1 -1
  48. package/dist/src/index.d.ts +1 -0
  49. package/dist/src/index.js +3 -1
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/server/endpoint/abstract-page.d.ts +0 -2
  52. package/dist/src/server/endpoint/abstract-page.js +0 -11
  53. package/dist/src/server/endpoint/abstract-page.js.map +1 -1
  54. package/dist/src/server/endpoint/action/create.d.ts +1 -0
  55. package/dist/src/server/endpoint/action/create.js +122 -33
  56. package/dist/src/server/endpoint/action/create.js.map +1 -1
  57. package/dist/src/server/endpoint/action/get.d.ts +0 -2
  58. package/dist/src/server/endpoint/action/get.js +32 -16
  59. package/dist/src/server/endpoint/action/get.js.map +1 -1
  60. package/dist/src/server/endpoint/base.d.ts +4 -0
  61. package/dist/src/server/endpoint/base.js +20 -0
  62. package/dist/src/server/endpoint/base.js.map +1 -1
  63. package/dist/src/server/endpoint/playlist/get.d.ts +0 -2
  64. package/dist/src/server/endpoint/playlist/get.js +1 -16
  65. package/dist/src/server/endpoint/playlist/get.js.map +1 -1
  66. package/dist/src/server/endpoint/settings/get.d.ts +0 -2
  67. package/dist/src/server/endpoint/settings/get.js +2 -19
  68. package/dist/src/server/endpoint/settings/get.js.map +1 -1
  69. package/dist/src/server/factory/block-serializer.js +6 -0
  70. package/dist/src/server/factory/block-serializer.js.map +1 -1
  71. package/dist/src/server/middleware/error-handler.js +2 -1
  72. package/dist/src/server/middleware/error-handler.js.map +1 -1
  73. package/dist/src/server/operation/create-session.js +2 -2
  74. package/dist/src/server/operation/create-session.js.map +1 -1
  75. package/dist/src/server/operation/delete-block.d.ts +1 -0
  76. package/dist/src/server/operation/delete-block.js +16 -2
  77. package/dist/src/server/operation/delete-block.js.map +1 -1
  78. package/dist/src/server/operation/load-block.js +12 -2
  79. package/dist/src/server/operation/load-block.js.map +1 -1
  80. package/dist/src/server/operation/load-page.d.ts +0 -2
  81. package/dist/src/server/operation/load-page.js +27 -38
  82. package/dist/src/server/operation/load-page.js.map +1 -1
  83. package/dist/src/server/operation/move-block.d.ts +1 -0
  84. package/dist/src/server/operation/move-block.js +20 -3
  85. package/dist/src/server/operation/move-block.js.map +1 -1
  86. package/dist/src/server/operation/reposition-block.d.ts +5 -7
  87. package/dist/src/server/operation/reposition-block.js +48 -76
  88. package/dist/src/server/operation/reposition-block.js.map +1 -1
  89. package/dist/src/server/serializer/action.d.ts +7 -0
  90. package/dist/src/server/serializer/action.js +223 -61
  91. package/dist/src/server/serializer/action.js.map +1 -1
  92. package/dist/src/server/serializer/base.js +1 -1
  93. package/dist/src/server/serializer/block/button.d.ts +6 -0
  94. package/dist/src/server/serializer/block/button.js +27 -0
  95. package/dist/src/server/serializer/block/button.js.map +1 -0
  96. package/dist/src/server/serializer/block/input.d.ts +6 -0
  97. package/dist/src/server/serializer/block/input.js +44 -0
  98. package/dist/src/server/serializer/block/input.js.map +1 -0
  99. package/dist/src/server/serializer/block.js +20 -16
  100. package/dist/src/server/serializer/block.js.map +1 -1
  101. package/dist/src/server/serializer/page.js +6 -1
  102. package/dist/src/server/serializer/page.js.map +1 -1
  103. package/dist/src/server/utility/account-has-block-permission.d.ts +6 -0
  104. package/dist/src/server/utility/account-has-block-permission.js +24 -0
  105. package/dist/src/server/utility/account-has-block-permission.js.map +1 -0
  106. package/dist/src/server/utility/get-emoji-for-block-type.js +29 -29
  107. package/dist/src/server/utility/get-emoji-for-block-type.js.map +1 -1
  108. package/dist/src/server/utility/get-siblings-and-index-for-index-path.js +23 -29
  109. package/dist/src/server/utility/get-siblings-and-index-for-index-path.js.map +1 -1
  110. package/dist/src/server.js +1 -1
  111. package/dist/src/server.js.map +1 -1
  112. package/dist/src/type/action/add-block.d.ts +11 -1
  113. package/dist/src/type/block/button.d.ts +7 -0
  114. package/dist/src/type/block/button.js +3 -0
  115. package/dist/src/type/block/button.js.map +1 -0
  116. package/dist/src/type/block/input.d.ts +7 -0
  117. package/dist/src/type/block/input.js +3 -0
  118. package/dist/src/type/block/input.js.map +1 -0
  119. package/dist/src/type/block.d.ts +2 -0
  120. package/dist/tsconfig.tsbuildinfo +1 -1
  121. package/package.json +1 -1
@@ -4,13 +4,151 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const errors_1 = require("@fc3/errors");
7
+ const time_1 = require("@fc3/time");
7
8
  const key_code_1 = __importDefault(require("./../enum/key-code.js"));
9
+ const block_type_1 = __importDefault(require("./../../enum/block-type.js"));
10
+ const action_type_1 = __importDefault(require("./../../enum/action-type.js"));
8
11
  const page_1 = __importDefault(require("./../page.js"));
9
12
  class EditBlockPage extends page_1.default {
13
+ constructor() {
14
+ super();
15
+ this.last_preview_time = Date.now();
16
+ }
10
17
  initEvents() {
11
18
  super.initEvents();
19
+ this.initNumericRangeInputEvents();
12
20
  this.initFileInputEvents();
13
21
  this.initTextareaEvents();
22
+ this.initTextInputEvents();
23
+ }
24
+ initNumericRangeInputEvents() {
25
+ const input_nodes = document.querySelectorAll('input[type="range"]');
26
+ const inputs = Array.from(input_nodes);
27
+ inputs.forEach((input) => {
28
+ const handler = () => {
29
+ const value = input.value;
30
+ const container = input.closest('[data-role="numeric-range-container"]');
31
+ if (container === null) {
32
+ throw new errors_1.InvariantViolation(`
33
+ Unable to find numeric range container for range input
34
+ `);
35
+ }
36
+ const raw_labels = container.querySelectorAll('[data-role="numeric-range-value"]');
37
+ const labels = Array.from(raw_labels);
38
+ labels.forEach((label) => {
39
+ label.innerHTML = value;
40
+ });
41
+ };
42
+ input.addEventListener('change', () => {
43
+ handler();
44
+ this.loadPreview();
45
+ });
46
+ input.addEventListener('input', () => {
47
+ handler();
48
+ this.queuePreview();
49
+ });
50
+ });
51
+ ;
52
+ }
53
+ async loadPreview() {
54
+ this.last_preview_time = Date.now();
55
+ this.clearPreviewTimer();
56
+ const form = new FormData();
57
+ const block_type = this.getPreviewInputValue('block_type');
58
+ const color = this.getPreviewRadioValue('color');
59
+ const index_path = this.getPreviewInputValue('index_path');
60
+ const border_width = this.getPreviewInputValue('border_width');
61
+ const create_role = this.getPreviewInputValue('create_role');
62
+ const read_role = this.getPreviewInputValue('read_role');
63
+ const update_role = this.getPreviewInputValue('update_role');
64
+ const delete_role = this.getPreviewInputValue('delete_role');
65
+ const visibility = this.getPreviewRadioValue('time_place_visibility');
66
+ form.set('path', window.location.pathname);
67
+ form.set('action_type', action_type_1.default.PREVIEW_BLOCK);
68
+ form.set('color', color);
69
+ form.set('block_type', block_type);
70
+ form.set('index_path', index_path);
71
+ form.set('border_width', border_width);
72
+ form.set('create_role', create_role);
73
+ form.set('read_role', read_role);
74
+ form.set('update_role', update_role);
75
+ form.set('delete_role', delete_role);
76
+ form.set('time_place_visibility', visibility);
77
+ if (block_type === block_type_1.default.NOTE) {
78
+ const text = this.getPreviewInputValue('text');
79
+ form.set('text', text);
80
+ }
81
+ if (block_type === block_type_1.default.TODO) {
82
+ const title = this.getPreviewInputValue('title');
83
+ form.set('title', title);
84
+ }
85
+ if (block_type === block_type_1.default.LINK) {
86
+ const href = this.getPreviewInputValue('href');
87
+ const label = this.getPreviewInputValue('label');
88
+ form.set('href', href);
89
+ form.set('label', label);
90
+ }
91
+ if (block_type === block_type_1.default.FOLDER) {
92
+ const title = this.getPreviewInputValue('title');
93
+ const emoji = this.getPreviewInputValue('emoji');
94
+ const subtitle = this.getPreviewInputValue('subtitle');
95
+ form.set('title', title);
96
+ form.set('emoji', emoji);
97
+ form.set('subtitle', subtitle);
98
+ }
99
+ if (block_type === block_type_1.default.HEADER) {
100
+ const title = this.getPreviewInputValue('title');
101
+ const emoji = this.getPreviewInputValue('emoji');
102
+ const size = this.getPreviewRadioValue('size');
103
+ form.set('title', title);
104
+ form.set('emoji', emoji);
105
+ form.set('size', size);
106
+ }
107
+ if (block_type === block_type_1.default.INPUT) {
108
+ const parameter_name = this.getPreviewInputValue('parameter_name');
109
+ form.set('parameter_name', parameter_name);
110
+ }
111
+ if (block_type === block_type_1.default.BUTTON) {
112
+ const label = this.getPreviewInputValue('label');
113
+ form.set('label', label);
114
+ }
115
+ const response = await fetch(`/actions`, {
116
+ method: 'POST',
117
+ body: form,
118
+ credentials: 'same-origin',
119
+ redirect: 'follow'
120
+ });
121
+ const html = await response.text();
122
+ const parser = new DOMParser();
123
+ const old_element = document.querySelector('[data-role="preview_wrapper"]');
124
+ const fragment = parser.parseFromString(html, 'text/html');
125
+ const new_element = fragment.querySelector('section');
126
+ if (old_element === null) {
127
+ throw new errors_1.InvariantViolation(`
128
+ Unable to find current preview wrapper element
129
+ `);
130
+ }
131
+ if (new_element === null) {
132
+ throw new errors_1.InvariantViolation(`
133
+ Unable to find <section> element on block preview HTML response
134
+ `);
135
+ }
136
+ old_element.replaceWith(new_element);
137
+ new_element.setAttribute('data-role', 'preview_wrapper');
138
+ }
139
+ clearPreviewTimer() {
140
+ if (this.preview_timer !== undefined) {
141
+ clearTimeout(this.preview_timer);
142
+ }
143
+ }
144
+ queuePreview() {
145
+ this.clearPreviewTimer();
146
+ const time_since_last_preview = Date.now() - this.last_preview_time;
147
+ const max_delay = time_1.TimeInterval.ONE_SECOND / 2;
148
+ const delay = max_delay - time_since_last_preview;
149
+ this.preview_timer = setTimeout(() => {
150
+ this.loadPreview();
151
+ }, delay);
14
152
  }
15
153
  initFileInputEvents() {
16
154
  const input_nodes = document.querySelectorAll('input[type="file"]');
@@ -40,16 +178,24 @@ class EditBlockPage extends page_1.default {
40
178
  });
41
179
  });
42
180
  }
181
+ initTextInputEvents() {
182
+ const form = this.getEditForm();
183
+ const input_nodes = form.querySelectorAll('input,textarea');
184
+ const inputs = Array.from(input_nodes);
185
+ inputs.forEach((input) => {
186
+ input.addEventListener('change', () => {
187
+ this.loadPreview();
188
+ });
189
+ input.addEventListener('input', () => {
190
+ this.queuePreview();
191
+ });
192
+ });
193
+ }
43
194
  initTextareaEvents() {
44
- const textarea_nodes = document.querySelectorAll('textarea');
195
+ const form = this.getEditForm();
196
+ const textarea_nodes = form.querySelectorAll('textarea');
45
197
  const textareas = Array.from(textarea_nodes);
46
198
  textareas.forEach((textarea) => {
47
- const form = textarea.closest('form');
48
- if (form === null) {
49
- throw new errors_1.InvariantViolation(`
50
- Tried to read form for textarea, but it was not set
51
- `);
52
- }
53
199
  textarea.addEventListener('keydown', (event) => {
54
200
  const key_code = event.keyCode || event.charCode;
55
201
  if (key_code === key_code_1.default.ENTER && event.shiftKey) {
@@ -59,6 +205,45 @@ class EditBlockPage extends page_1.default {
59
205
  });
60
206
  });
61
207
  }
208
+ getEditForm() {
209
+ const form = document.querySelector('form[data-role="edit_block"]');
210
+ if (form === null) {
211
+ throw new errors_1.InvariantViolation(`
212
+ Tried to read edit block form, but it was not found
213
+ `);
214
+ }
215
+ return form;
216
+ }
217
+ getPreviewRadioValue(input_name) {
218
+ const edit_form = this.getEditForm();
219
+ const input_element = edit_form.querySelector(`[name="${input_name}"]:checked`);
220
+ if (input_element === null) {
221
+ throw new errors_1.InvariantViolation(`
222
+ Tried to read radio value for input named "${input_name}",
223
+ but it was not found
224
+ `);
225
+ }
226
+ const input = input_element;
227
+ return input.value;
228
+ }
229
+ getPreviewInputValue(input_name) {
230
+ const edit_form = this.getEditForm();
231
+ const input_element = edit_form.querySelector(`[name="${input_name}"]`);
232
+ if (input_element === null) {
233
+ throw new errors_1.InvariantViolation(`
234
+ Tried to read input value for input named "${input_name}",
235
+ but it was not found
236
+ `);
237
+ }
238
+ const input = input_element;
239
+ const input_type = input.getAttribute('type');
240
+ if (input_type === 'radio') {
241
+ throw new errors_1.InvariantViolation(`
242
+ You must use .getPreviewRadioValue() for dealing with radio inputs
243
+ `);
244
+ }
245
+ return input.value;
246
+ }
62
247
  }
63
248
  exports.default = EditBlockPage;
64
249
  //# sourceMappingURL=edit-block.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-block.js","sourceRoot":"","sources":["../../../../src/client/page/edit-block.ts"],"names":[],"mappings":";;;;;AAAA,wCAA+C;AAE/C,oEAA2C;AAC3C,uDAA+B;AAE/B,MAAM,aAAc,SAAQ,cAAI;IACrB,UAAU;QACnB,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAEO,mBAAmB;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAuB,CAAC;QAE7D,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACrC,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC;gBAEtB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO;gBACR,CAAC;gBAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChD,OAAO,IAAI,CAAC,IAAI,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBAEvC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;oBACvD,MAAM,IAAI,2BAAkB,CAAC;;;MAG5B,CAAC,CAAC;gBACJ,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;gBACjC,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACzB,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAA0B,CAAC;QAEtE,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,2BAAkB,CAAC;;KAE5B,CAAC,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE;gBAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC;gBAEjD,IAAI,QAAQ,KAAK,kBAAO,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAClD,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"edit-block.js","sourceRoot":"","sources":["../../../../src/client/page/edit-block.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import Page from './../page';
2
2
  import KeyCode from './../enum/key-code';
3
3
  declare class SelectBlockTypePage extends Page {
4
- protected handleKey(key_code: KeyCode): void;
4
+ protected handleKey(keycode: KeyCode): void;
5
5
  private createBlockOfType;
6
6
  }
7
7
  export default SelectBlockTypePage;
@@ -7,29 +7,41 @@ const errors_1 = require("@fc3/errors");
7
7
  const page_1 = __importDefault(require("./../page.js"));
8
8
  const key_code_1 = __importDefault(require("./../enum/key-code.js"));
9
9
  const block_type_1 = __importDefault(require("./../../enum/block-type.js"));
10
+ const get_input_character_for_block_type_1 = __importDefault(require("./../../common/utility/get-input-character-for-block-type.js"));
11
+ function getKeyCodeForCharacter(character) {
12
+ const uppercase_character = character.toUpperCase();
13
+ const entries = Object.entries(key_code_1.default);
14
+ const entry = entries.find((entry) => {
15
+ const [key, _] = entry;
16
+ return key === uppercase_character;
17
+ });
18
+ if (entry === undefined) {
19
+ return null;
20
+ }
21
+ const [_, value] = entry;
22
+ return value;
23
+ }
24
+ function getKeyCodeForBlockType(block_type) {
25
+ const input_character = (0, get_input_character_for_block_type_1.default)(block_type);
26
+ if (input_character === '') {
27
+ return null;
28
+ }
29
+ const keycode = getKeyCodeForCharacter(input_character);
30
+ return keycode;
31
+ }
10
32
  class SelectBlockTypePage extends page_1.default {
11
- handleKey(key_code) {
12
- switch (key_code) {
13
- case key_code_1.default.N:
14
- return this.createBlockOfType(block_type_1.default.NOTE);
15
- case key_code_1.default.I:
16
- return this.createBlockOfType(block_type_1.default.IMAGE);
17
- case key_code_1.default.A:
18
- return this.createBlockOfType(block_type_1.default.AUDIO);
19
- case key_code_1.default.T:
20
- return this.createBlockOfType(block_type_1.default.TODO);
21
- case key_code_1.default.H:
22
- return this.createBlockOfType(block_type_1.default.HEADER);
23
- case key_code_1.default.F:
24
- return this.createBlockOfType(block_type_1.default.FOLDER);
25
- case key_code_1.default.L:
26
- return this.createBlockOfType(block_type_1.default.LINK);
27
- case key_code_1.default.M:
28
- return this.createBlockOfType(block_type_1.default.MULTI_COLUMN);
29
- case key_code_1.default.W:
30
- return this.createBlockOfType(block_type_1.default.WHITESPACE);
31
- default:
32
- return super.handleKey(key_code);
33
+ handleKey(keycode) {
34
+ const block_types = Object.values(block_type_1.default);
35
+ const found = block_types.some((block_type) => {
36
+ const block_keycode = getKeyCodeForBlockType(block_type);
37
+ if (block_keycode !== keycode) {
38
+ return false;
39
+ }
40
+ this.createBlockOfType(block_type);
41
+ return true;
42
+ });
43
+ if (!found) {
44
+ return super.handleKey(keycode);
33
45
  }
34
46
  }
35
47
  createBlockOfType(block_type) {
@@ -1 +1 @@
1
- {"version":3,"file":"select-block-type.js","sourceRoot":"","sources":["../../../../src/client/page/select-block-type.ts"],"names":[],"mappings":";;;;;AAAA,wCAA+C;AAE/C,uDAA+B;AAC/B,oEAA2C;AAC3C,iEAAwC;AAExC,MAAM,mBAAoB,SAAQ,cAAI;IAC3B,SAAS,CAAC,QAAiB;QACpC,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC;YAChD,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC;YAChD,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,MAAM,CAAC,CAAC;YACjD,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,MAAM,CAAC,CAAC;YACjD,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,YAAY,CAAC,CAAC;YACvD,KAAK,kBAAO,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAS,CAAC,UAAU,CAAC,CAAC;YAErD;gBACC,OAAO,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAEO,iBAAiB,CAAC,UAAqB;QAC9C,MAAM,EAAE,GAAG,aAAa,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAE5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,2BAAkB,CAAC;oCACI,UAAU;;IAE1C,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,2BAAkB,CAAC;oCACI,UAAU;;IAE1C,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;CACD;AAED,kBAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"select-block-type.js","sourceRoot":"","sources":["../../../../src/client/page/select-block-type.ts"],"names":[],"mappings":";;;;;AAAA,wCAA+C;AAE/C,uDAA+B;AAC/B,oEAA2C;AAC3C,iEAAwC;AACxC,2HAA8F;AAE9F,SAAS,sBAAsB,CAAC,SAAiB;IAChD,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAO,CAAwB,CAAC;IAE/D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QAEvB,OAAO,GAAG,KAAK,mBAAmB,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAEzB,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAqB;IACpD,MAAM,eAAe,GAAG,IAAA,4CAA6B,EAAC,UAAU,CAAC,CAAC;IAElE,IAAI,eAAe,KAAK,EAAE,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAExD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,mBAAoB,SAAQ,cAAI;IAC3B,SAAS,CAAC,OAAgB;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAS,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YAC7C,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAEO,iBAAiB,CAAC,UAAqB;QAC9C,MAAM,EAAE,GAAG,aAAa,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAE5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,2BAAkB,CAAC;oCACI,UAAU;;IAE1C,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,2BAAkB,CAAC;oCACI,UAAU;;IAE1C,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;CACD;AAED,kBAAe,mBAAmB,CAAC"}
@@ -96,6 +96,8 @@ class Page {
96
96
  setQueryParameter(key, value) {
97
97
  const url = new URL(window.location.href);
98
98
  url.searchParams.set(key, value.toString());
99
+ // Duplicate toast-clearing logic inline just because we're about to trigger
100
+ // a page refresh, and we want to make sure the toast does not carry over.
99
101
  url.searchParams.delete('toast_message');
100
102
  url.searchParams.delete('toast_color');
101
103
  window.location.href = url.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/client/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/client/page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare function recomputeIndexPaths(): void;
2
+ export default recomputeIndexPaths;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const errors_1 = require("@fc3/errors");
4
+ function recomputeIndexPaths() {
5
+ const raw_blocks = document.querySelectorAll('section.block');
6
+ const blocks = Array.from(raw_blocks);
7
+ let index = 0;
8
+ blocks.forEach((block) => {
9
+ const block_parent = block.parentNode;
10
+ if (block_parent === null) {
11
+ throw new errors_1.InvariantViolation(`
12
+ Tried to read block parent element, but it was not set
13
+ `);
14
+ }
15
+ const multicolumn_ancestor = block_parent.closest('section.block.multi_column');
16
+ if (multicolumn_ancestor === null) {
17
+ const index_path = index.toString();
18
+ block.setAttribute('data-index-path', index_path);
19
+ index++;
20
+ }
21
+ });
22
+ }
23
+ exports.default = recomputeIndexPaths;
24
+ //# sourceMappingURL=recompute-index-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recompute-index-paths.js","sourceRoot":"","sources":["../../../../src/client/utility/recompute-index-paths.ts"],"names":[],"mappings":";;AAAA,wCAA+C;AAE/C,SAAS,mBAAmB;IAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAkB,CAAC;IAEvD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,MAAM,YAAY,GAAG,KAAK,CAAC,UAAgC,CAAC;QAE5D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,2BAAkB,CAAC;;IAE5B,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhF,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEpC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;YAClD,KAAK,EAAE,CAAC;QACT,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import InputBlock from './../../../type/block/input';
2
+ declare function input(parameter_name: string): InputBlock;
3
+ export default input;
@@ -0,0 +1,18 @@
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 system_id_1 = __importDefault(require("./../../../constant/system-id.js"));
7
+ const block_type_1 = __importDefault(require("./../../../enum/block-type.js"));
8
+ function input(parameter_name) {
9
+ return {
10
+ block_type: block_type_1.default.INPUT,
11
+ parameter_name,
12
+ created_at: Date.now(),
13
+ creator_id: system_id_1.default,
14
+ show_time: false
15
+ };
16
+ }
17
+ exports.default = input;
18
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../../src/common/builder/block/input.ts"],"names":[],"mappings":";;;;;AACA,mEAA0C;AAC1C,iEAAwC;AAExC,SAAS,KAAK,CAAC,cAAsB;IACpC,OAAO;QACN,UAAU,EAAE,oBAAS,CAAC,KAAK;QAC3B,cAAc;QACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;QACtB,UAAU,EAAE,mBAAQ;QACpB,SAAS,EAAE,KAAK;KAChB,CAAC;AACH,CAAC;AAED,kBAAe,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function decrementIndexPath(index_path: string): string;
2
+ export default decrementIndexPath;
@@ -0,0 +1,26 @@
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("@fc3/errors");
7
+ const create_index_path_1 = __importDefault(require("./../../server/utility/create-index-path.js"));
8
+ const parse_index_path_1 = __importDefault(require("./../../server/utility/parse-index-path.js"));
9
+ function decrementIndexPath(index_path) {
10
+ const parsed_path = (0, parse_index_path_1.default)(index_path);
11
+ const last_segment = parsed_path.pop();
12
+ if (last_segment === undefined) {
13
+ throw new errors_1.InvariantViolation(`
14
+ Unable to decrement invalid index path: ${index_path}
15
+ `);
16
+ }
17
+ if (last_segment === 0) {
18
+ throw new errors_1.InvariantViolation(`
19
+ Unable to decrement index path that was already at zero: ${index_path}
20
+ `);
21
+ }
22
+ parsed_path.push(last_segment - 1);
23
+ return (0, create_index_path_1.default)(parsed_path);
24
+ }
25
+ exports.default = decrementIndexPath;
26
+ //# sourceMappingURL=decrement-index-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decrement-index-path.js","sourceRoot":"","sources":["../../../../src/common/utility/decrement-index-path.ts"],"names":[],"mappings":";;;;;AAAA,wCAA+C;AAE/C,yFAA+D;AAC/D,uFAA6D;AAE7D,SAAS,kBAAkB,CAAC,UAAkB;IAC7C,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEvC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,2BAAkB,CAAC;6CACc,UAAU;GACpD,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,2BAAkB,CAAC;8DAC+B,UAAU;GACrE,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAEnC,OAAO,IAAA,2BAAe,EAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import BlockType from './../../enum/block-type';
2
+ declare function getInputCharacterForBlockType(block_type: BlockType): string;
3
+ export default getInputCharacterForBlockType;
@@ -0,0 +1,42 @@
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("@fc3/errors");
7
+ const block_type_1 = __importDefault(require("./../../enum/block-type.js"));
8
+ const BlockTypeCharacters = {
9
+ [block_type_1.default.HEADER]: 'h',
10
+ [block_type_1.default.NOTE]: 'n',
11
+ [block_type_1.default.IMAGE]: 'i',
12
+ [block_type_1.default.VIDEO]: 'v',
13
+ [block_type_1.default.AUDIO]: 'a',
14
+ [block_type_1.default.EPHEMERAL]: '',
15
+ [block_type_1.default.CALENDAR]: '',
16
+ [block_type_1.default.DIRECTORY]: '',
17
+ [block_type_1.default.FOLDER]: 'f',
18
+ [block_type_1.default.MULTI_COLUMN]: 'm',
19
+ [block_type_1.default.LINK]: 'l',
20
+ [block_type_1.default.INPUT]: 'x',
21
+ [block_type_1.default.TODO]: 't',
22
+ [block_type_1.default.LIST]: '',
23
+ [block_type_1.default.REDIRECT]: 'r',
24
+ [block_type_1.default.BACKGROUND]: 'b',
25
+ [block_type_1.default.WHITESPACE]: 'w',
26
+ [block_type_1.default.PARAMETER]: 'p',
27
+ [block_type_1.default.CARD]: 'c',
28
+ [block_type_1.default.TABLE]: '',
29
+ [block_type_1.default.BUTTON]: ''
30
+ };
31
+ function getInputCharacterForBlockType(block_type) {
32
+ const character = BlockTypeCharacters[block_type];
33
+ if (character === undefined) {
34
+ throw new errors_1.InvariantViolation(`
35
+ Tried to read input character for block type "${block_type}",
36
+ but it was not set
37
+ `);
38
+ }
39
+ return character;
40
+ }
41
+ exports.default = getInputCharacterForBlockType;
42
+ //# sourceMappingURL=get-input-character-for-block-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-input-character-for-block-type.js","sourceRoot":"","sources":["../../../../src/common/utility/get-input-character-for-block-type.ts"],"names":[],"mappings":";;;;;AAAA,wCAA+C;AAE/C,iEAAwC;AAExC,MAAM,mBAAmB,GAA8B;IACtD,CAAC,oBAAS,CAAC,MAAM,CAAC,EAAE,GAAG;IACvB,CAAC,oBAAS,CAAC,IAAI,CAAC,EAAE,GAAG;IACrB,CAAC,oBAAS,CAAC,KAAK,CAAC,EAAE,GAAG;IACtB,CAAC,oBAAS,CAAC,KAAK,CAAC,EAAE,GAAG;IACtB,CAAC,oBAAS,CAAC,KAAK,CAAC,EAAE,GAAG;IACtB,CAAC,oBAAS,CAAC,SAAS,CAAC,EAAE,EAAE;IACzB,CAAC,oBAAS,CAAC,QAAQ,CAAC,EAAE,EAAE;IACxB,CAAC,oBAAS,CAAC,SAAS,CAAC,EAAE,EAAE;IACzB,CAAC,oBAAS,CAAC,MAAM,CAAC,EAAE,GAAG;IACvB,CAAC,oBAAS,CAAC,YAAY,CAAC,EAAE,GAAG;IAC7B,CAAC,oBAAS,CAAC,IAAI,CAAC,EAAE,GAAG;IACrB,CAAC,oBAAS,CAAC,KAAK,CAAC,EAAE,GAAG;IACtB,CAAC,oBAAS,CAAC,IAAI,CAAC,EAAE,GAAG;IACrB,CAAC,oBAAS,CAAC,IAAI,CAAC,EAAE,EAAE;IACpB,CAAC,oBAAS,CAAC,QAAQ,CAAC,EAAE,GAAG;IACzB,CAAC,oBAAS,CAAC,UAAU,CAAC,EAAE,GAAG;IAC3B,CAAC,oBAAS,CAAC,UAAU,CAAC,EAAE,GAAG;IAC3B,CAAC,oBAAS,CAAC,SAAS,CAAC,EAAE,GAAG;IAC1B,CAAC,oBAAS,CAAC,IAAI,CAAC,EAAE,GAAG;IACrB,CAAC,oBAAS,CAAC,KAAK,CAAC,EAAE,EAAE;IACrB,CAAC,oBAAS,CAAC,MAAM,CAAC,EAAE,EAAE;CACtB,CAAC;AAEF,SAAS,6BAA6B,CAAC,UAAqB;IAC3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAElD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,2BAAkB,CAAC;mDACoB,UAAU;;GAE1D,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,kBAAe,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function getLastIndexPathSegment(index_path: string): number;
2
+ export default getLastIndexPathSegment;
@@ -0,0 +1,17 @@
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("@fc3/errors");
7
+ const parse_index_path_1 = __importDefault(require("./../../server/utility/parse-index-path.js"));
8
+ function getLastIndexPathSegment(index_path) {
9
+ const parsed_path = (0, parse_index_path_1.default)(index_path);
10
+ const last_part = parsed_path.pop();
11
+ if (last_part === undefined) {
12
+ throw new errors_1.InvariantViolation(`Invalid index path: ${index_path}`);
13
+ }
14
+ return last_part;
15
+ }
16
+ exports.default = getLastIndexPathSegment;
17
+ //# sourceMappingURL=get-last-index-path-segment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-last-index-path-segment.js","sourceRoot":"","sources":["../../../../src/common/utility/get-last-index-path-segment.ts"],"names":[],"mappings":";;;;;AAAA,wCAA+C;AAE/C,uFAA6D;AAE7D,SAAS,uBAAuB,CAAC,UAAkB;IAClD,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,2BAAkB,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function getParentIndexPath(child_path: string): string | null;
2
+ export default getParentIndexPath;
@@ -0,0 +1,17 @@
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 parse_index_path_1 = __importDefault(require("./../../server/utility/parse-index-path.js"));
7
+ const create_index_path_1 = __importDefault(require("./../../server/utility/create-index-path.js"));
8
+ function getParentIndexPath(child_path) {
9
+ const parts = (0, parse_index_path_1.default)(child_path);
10
+ parts.pop();
11
+ if (parts.length === 0) {
12
+ return null;
13
+ }
14
+ return (0, create_index_path_1.default)(parts);
15
+ }
16
+ exports.default = getParentIndexPath;
17
+ //# sourceMappingURL=get-parent-index-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-parent-index-path.js","sourceRoot":"","sources":["../../../../src/common/utility/get-parent-index-path.ts"],"names":[],"mappings":";;;;;AAAA,uFAA6D;AAC7D,yFAA+D;AAE/D,SAAS,kBAAkB,CAAC,UAAkB;IAC7C,MAAM,KAAK,GAAG,IAAA,0BAAc,EAAC,UAAU,CAAC,CAAC;IAEzC,KAAK,CAAC,GAAG,EAAE,CAAC;IAEZ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,IAAA,2BAAe,EAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function incrementIndexPath(index_path: string): string;
2
+ export default incrementIndexPath;
@@ -0,0 +1,18 @@
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 parse_index_path_1 = __importDefault(require("./../../server/utility/parse-index-path.js"));
7
+ const create_index_path_1 = __importDefault(require("./../../server/utility/create-index-path.js"));
8
+ function incrementIndexPath(index_path) {
9
+ const parsed_path = (0, parse_index_path_1.default)(index_path);
10
+ const last_value = parsed_path.pop();
11
+ if (last_value === undefined) {
12
+ return '0';
13
+ }
14
+ parsed_path.push(last_value + 1);
15
+ return (0, create_index_path_1.default)(parsed_path);
16
+ }
17
+ exports.default = incrementIndexPath;
18
+ //# sourceMappingURL=increment-index-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"increment-index-path.js","sourceRoot":"","sources":["../../../../src/common/utility/increment-index-path.ts"],"names":[],"mappings":";;;;;AAAA,uFAA6D;AAC7D,yFAA+D;AAE/D,SAAS,kBAAkB,CAAC,UAAkB;IAC7C,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAErC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAEjC,OAAO,IAAA,2BAAe,EAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  declare enum ActionType {
2
+ PREVIEW_BLOCK = "preview_block",
2
3
  ADD_BLOCK = "add_block",
3
4
  DELETE_BLOCK = "delete_block",
4
5
  MOVE_BLOCK = "move_block",
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var ActionType;
4
4
  (function (ActionType) {
5
+ ActionType["PREVIEW_BLOCK"] = "preview_block";
5
6
  ActionType["ADD_BLOCK"] = "add_block";
6
7
  ActionType["DELETE_BLOCK"] = "delete_block";
7
8
  ActionType["MOVE_BLOCK"] = "move_block";
@@ -1 +1 @@
1
- {"version":3,"file":"action-type.js","sourceRoot":"","sources":["../../../src/enum/action-type.ts"],"names":[],"mappings":";;AAAA,IAAK,UAYJ;AAZD,WAAK,UAAU;IACd,qCAAuB,CAAA;IACvB,2CAA6B,CAAA;IAC7B,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6CAA+B,CAAA;IAC/B,2CAA6B,CAAA;IAC7B,mDAAqC,CAAA;IACrC,uCAAyB,CAAA;IACzB,yCAA2B,CAAA;IAC3B,+CAAiC,CAAA;IACjC,uDAAyC,CAAA;AAC1C,CAAC,EAZI,UAAU,KAAV,UAAU,QAYd;AAED,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"action-type.js","sourceRoot":"","sources":["../../../src/enum/action-type.ts"],"names":[],"mappings":";;AAAA,IAAK,UAaJ;AAbD,WAAK,UAAU;IACd,6CAA+B,CAAA;IAC/B,qCAAuB,CAAA;IACvB,2CAA6B,CAAA;IAC7B,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6CAA+B,CAAA;IAC/B,2CAA6B,CAAA;IAC7B,mDAAqC,CAAA;IACrC,uCAAyB,CAAA;IACzB,yCAA2B,CAAA;IAC3B,+CAAiC,CAAA;IACjC,uDAAyC,CAAA;AAC1C,CAAC,EAbI,UAAU,KAAV,UAAU,QAad;AAED,kBAAe,UAAU,CAAC"}