@talrace/ngx-noder 0.0.17 → 0.0.19

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 (305) hide show
  1. package/README.md +72 -9
  2. package/assets/i18n/noder.en.json +93 -0
  3. package/assets/i18n/noder.es.json +93 -0
  4. package/assets/i18n/noder.ru.json +93 -0
  5. package/fesm2022/talrace-ngx-noder.mjs +371 -298
  6. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  7. package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +1 -10
  8. package/lib/apart-components/editor-title/editor-title.component.d.ts +5 -3
  9. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
  10. package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +3 -1
  11. package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +23 -23
  12. package/lib/editor/components/edges/edge.component.d.ts +10 -3
  13. package/lib/editor/components/edges/edges.d.ts +0 -2
  14. package/lib/editor/components/external-element/external.component.d.ts +1 -1
  15. package/lib/editor/components/external-element/models/external-element.model.d.ts +3 -3
  16. package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
  17. package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
  18. package/lib/editor/components/table/overlay-menu/overlay-menu.component.d.ts +3 -1
  19. package/lib/editor/editor.module.d.ts +2 -1
  20. package/lib/editor/gadgets/scrollbar.d.ts +1 -0
  21. package/lib/translate/noder-translate.loader.d.ts +11 -0
  22. package/package.json +3 -3
  23. package/public-api.d.ts +1 -0
  24. package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
  25. package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
  26. package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
  27. package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
  28. package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
  29. package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
  30. package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
  31. package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
  32. package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
  33. package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
  34. package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
  35. package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
  36. package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
  37. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
  38. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
  39. package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
  40. package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
  41. package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
  42. package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
  43. package/src/lib/editor/components/_editor.theme.scss +25 -28
  44. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
  45. package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
  46. package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -47
  47. package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -32
  48. package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -64
  49. package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -92
  50. package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -22
  51. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
  52. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
  53. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
  54. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
  55. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
  56. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
  57. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +0 -22
  58. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
  59. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
  60. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
  61. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
  62. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -106
  63. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -24
  64. package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
  65. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -84
  66. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
  67. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -127
  68. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
  69. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
  70. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
  71. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
  72. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
  73. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
  74. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
  75. package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
  76. package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
  77. package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
  78. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
  79. package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
  80. package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -84
  81. package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -123
  82. package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
  83. package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
  84. package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -99
  85. package/esm2022/lib/editor/components/edges/edges.mjs +0 -142
  86. package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
  87. package/esm2022/lib/editor/components/editor.component.mjs +0 -112
  88. package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
  89. package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
  90. package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
  91. package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
  92. package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
  93. package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
  94. package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
  95. package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
  96. package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
  97. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
  98. package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
  99. package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
  100. package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
  101. package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
  102. package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
  103. package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
  104. package/esm2022/lib/editor/components/image/size.mjs +0 -2
  105. package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
  106. package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
  107. package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
  108. package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
  109. package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
  110. package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
  111. package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
  112. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
  113. package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
  114. package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
  115. package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
  116. package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
  117. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
  118. package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
  119. package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
  120. package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
  121. package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
  122. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
  123. package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
  124. package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
  125. package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
  126. package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -74
  127. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
  128. package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
  129. package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
  130. package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
  131. package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
  132. package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
  133. package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
  134. package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
  135. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
  136. package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
  137. package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
  138. package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
  139. package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
  140. package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
  141. package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
  142. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
  143. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
  144. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
  145. package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
  146. package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
  147. package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
  148. package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
  149. package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
  150. package/esm2022/lib/editor/content/margin.model.mjs +0 -16
  151. package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
  152. package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
  153. package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
  154. package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
  155. package/esm2022/lib/editor/display/event.helper.mjs +0 -18
  156. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
  157. package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
  158. package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
  159. package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
  160. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
  161. package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
  162. package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
  163. package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
  164. package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
  165. package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
  166. package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
  167. package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
  168. package/esm2022/lib/editor/display/renderer.mjs +0 -204
  169. package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
  170. package/esm2022/lib/editor/display/renderloop.mjs +0 -26
  171. package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
  172. package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
  173. package/esm2022/lib/editor/editor.module.mjs +0 -67
  174. package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
  175. package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
  176. package/esm2022/lib/editor/execution/editor.mjs +0 -1367
  177. package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
  178. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
  179. package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
  180. package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
  181. package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
  182. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
  183. package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
  184. package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
  185. package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
  186. package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
  187. package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
  188. package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
  189. package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
  190. package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
  191. package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
  192. package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
  193. package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
  194. package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
  195. package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
  196. package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
  197. package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
  198. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
  199. package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
  200. package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
  201. package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -81
  202. package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
  203. package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
  204. package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
  205. package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
  206. package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
  207. package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
  208. package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
  209. package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
  210. package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
  211. package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
  212. package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
  213. package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
  214. package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
  215. package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
  216. package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
  217. package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
  218. package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
  219. package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
  220. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
  221. package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
  222. package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
  223. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
  224. package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
  225. package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
  226. package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
  227. package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
  228. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
  229. package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
  230. package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
  231. package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
  232. package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
  233. package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
  234. package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
  235. package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
  236. package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
  237. package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
  238. package/esm2022/lib/editor/positioning/range.mjs +0 -94
  239. package/esm2022/lib/editor/positioning/selection.mjs +0 -351
  240. package/esm2022/lib/editor/revision.helper.mjs +0 -94
  241. package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
  242. package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
  243. package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
  244. package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
  245. package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
  246. package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
  247. package/esm2022/lib/models/generated/break.model.mjs +0 -8
  248. package/esm2022/lib/models/generated/cell.model.mjs +0 -12
  249. package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
  250. package/esm2022/lib/models/generated/column.model.mjs +0 -8
  251. package/esm2022/lib/models/generated/command.model.mjs +0 -120
  252. package/esm2022/lib/models/generated/delete.model.mjs +0 -8
  253. package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
  254. package/esm2022/lib/models/generated/document.model.mjs +0 -8
  255. package/esm2022/lib/models/generated/docx.model.mjs +0 -12
  256. package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
  257. package/esm2022/lib/models/generated/edge.model.mjs +0 -8
  258. package/esm2022/lib/models/generated/element.model.mjs +0 -8
  259. package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
  260. package/esm2022/lib/models/generated/format.model.mjs +0 -12
  261. package/esm2022/lib/models/generated/heading.model.mjs +0 -16
  262. package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
  263. package/esm2022/lib/models/generated/image.model.mjs +0 -12
  264. package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
  265. package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
  266. package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
  267. package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
  268. package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
  269. package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
  270. package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
  271. package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
  272. package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
  273. package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
  274. package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
  275. package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
  276. package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
  277. package/esm2022/lib/models/generated/link.model.mjs +0 -8
  278. package/esm2022/lib/models/generated/margins.model.mjs +0 -8
  279. package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
  280. package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
  281. package/esm2022/lib/models/generated/operation.model.mjs +0 -12
  282. package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
  283. package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
  284. package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
  285. package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
  286. package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
  287. package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
  288. package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
  289. package/esm2022/lib/models/generated/replace.model.mjs +0 -44
  290. package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
  291. package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
  292. package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
  293. package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
  294. package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
  295. package/esm2022/lib/models/generated/restore.model.mjs +0 -8
  296. package/esm2022/lib/models/generated/revision.model.mjs +0 -12
  297. package/esm2022/lib/models/generated/row.model.mjs +0 -8
  298. package/esm2022/lib/models/generated/tab.model.mjs +0 -8
  299. package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
  300. package/esm2022/lib/models/generated/table.model.mjs +0 -12
  301. package/esm2022/lib/models/generated/target.model.mjs +0 -16
  302. package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
  303. package/esm2022/public-api.mjs +0 -53
  304. package/esm2022/talrace-ngx-noder.mjs +0 -5
  305. package/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.d.ts +0 -8
@@ -1,73 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReactiveFormsModule, Validators } from '@angular/forms';
4
- import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatIconModule } from '@angular/material/icon';
8
- import { MatInputModule } from '@angular/material/input';
9
- import { ValidationHelper } from './validation.helper';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/material/dialog";
12
- import * as i2 from "@angular/forms";
13
- import * as i3 from "@angular/material/button";
14
- import * as i4 from "@angular/material/form-field";
15
- import * as i5 from "@angular/material/icon";
16
- import * as i6 from "@angular/material/input";
17
- export class AddLinkDialogOptions {
18
- constructor(fields) {
19
- if (fields) {
20
- Object.assign(this, fields);
21
- }
22
- }
23
- }
24
- export class AddLinkDialogComponent {
25
- constructor(dialogRef, data, fb) {
26
- this.dialogRef = dialogRef;
27
- this.data = data;
28
- this.fb = fb;
29
- this.modal = true;
30
- dialogRef.disableClose = true;
31
- this.form = this.fb.group({
32
- text: [data.text],
33
- link: [data.link, [Validators.required, ValidationHelper.urlValidator]]
34
- });
35
- }
36
- onClose() {
37
- this.dialogRef.close();
38
- }
39
- onApply() {
40
- if (this.form.invalid) {
41
- return;
42
- }
43
- if (this.form.controls.text.value) {
44
- this.form.controls.text.setValue(this.form.controls.text.value.trim());
45
- }
46
- if (!this.form.controls.text.value) {
47
- this.form.controls.text.setValue(this.form.controls.link.value);
48
- }
49
- if (!this.form.controls.link.value.startsWith('http')) {
50
- this.form.controls.link.setValue('http://' + this.form.controls.link.value);
51
- }
52
- this.dialogRef.close({ text: this.form.controls.text.value, link: this.form.controls.link.value });
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddLinkDialogComponent, isStandalone: true, selector: "app-nod-add-link-dialog", host: { listeners: { "keydown.esc": "onClose()", "keydown.enter": "onApply()" }, properties: { "class.noder-modal": "this.modal" } }, ngImport: i0, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px!important;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkDialogComponent, decorators: [{
58
- type: Component,
59
- args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatDialogModule, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule], selector: 'app-nod-add-link-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px!important;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"] }]
60
- }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: AddLinkDialogOptions, decorators: [{
61
- type: Inject,
62
- args: [MAT_DIALOG_DATA]
63
- }] }, { type: i2.FormBuilder }], propDecorators: { modal: [{
64
- type: HostBinding,
65
- args: ['class.noder-modal']
66
- }], onClose: [{
67
- type: HostListener,
68
- args: ['keydown.esc']
69
- }], onApply: [{
70
- type: HostListener,
71
- args: ['keydown.enter']
72
- }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxpbmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvYWRkLWxpbmstZGlhbG9nL2FkZC1saW5rLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2FkZC1saW5rLWRpYWxvZy9hZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFFdkQsTUFBTSxPQUFPLG9CQUFvQjtJQU83QixZQUFtQixNQUFzQztRQUNyRCxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9C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dGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgVmFsaWRhdGlvbkhlbHBlciB9IGZyb20gJy4vdmFsaWRhdGlvbi5oZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgQWRkTGlua0RpYWxvZ09wdGlvbnMge1xuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG4gICAgcHVibGljIHRleHRQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIHB1YmxpYyBsaW5rOiBzdHJpbmc7XG4gICAgcHVibGljIGxpbmtQbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8QWRkTGlua0RpYWxvZ09wdGlvbnM+KSB7XG4gICAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWFkZC1saW5rLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdhZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydhZGQtbGluay1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRMaW5rRGlhbG9nQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vZGVyLW1vZGFsJykgbW9kYWwgPSB0cnVlO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwPHsgdGV4dDogRm9ybUNvbnRyb2w8c3RyaW5nPjsgbGluazogRm9ybUNvbnRyb2w8c3RyaW5nPiB9PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkTGlua0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQWRkTGlua0RpYWxvZ09wdGlvbnMsXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXG4gICAgKSB7XG4gICAgICAgIGRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIHRleHQ6IFtkYXRhLnRleHRdLFxuICAgICAgICAgICAgbGluazogW2RhdGEubGluaywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRpb25IZWxwZXIudXJsVmFsaWRhdG9yXV1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnKVxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicpXG4gICAgb25BcHBseSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzLnRleHQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy50ZXh0LnNldFZhbHVlKHRoaXMuZm9ybS5jb250cm9scy50ZXh0LnZhbHVlLnRyaW0oKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZm9ybS5jb250cm9scy50ZXh0LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudGV4dC5zZXRWYWx1ZSh0aGlzLmZvcm0uY29udHJvbHMubGluay52YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZm9ybS5jb250cm9scy5saW5rLnZhbHVlLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmxpbmsuc2V0VmFsdWUoJ2h0dHA6Ly8nICsgdGhpcy5mb3JtLmNvbnRyb2xzLmxpbmsudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyB0ZXh0OiB0aGlzLmZvcm0uY29udHJvbHMudGV4dC52YWx1ZSwgbGluazogdGhpcy5mb3JtLmNvbnRyb2xzLmxpbmsudmFsdWUgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBtYXQtZGlhbG9nLXRpdGxlPnt7IGRhdGEudGl0bGUgfX08L2Rpdj5cbjxkaXZcbiAgICBtYXQtZGlhbG9nLWNvbnRlbnRcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBkYXRhLnRleHRQbGFjZWhvbGRlciB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy50ZXh0XCIgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGRhdGEubGlua1BsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLmxpbmtcIlxuICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgPG1hdC1lcnJvcj5UaGUge3sgZGF0YS5saW5rUGxhY2Vob2xkZXIgfX0gaXMgcmVxdWlyZWQuPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tY2FuY2VsLXRoaW5cIiAvPlxuICAgICAgICBDYW5jZWxcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiYXBwbHktYnRuXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgIChjbGljayk9XCJvbkFwcGx5KClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZG9uZS10aGluXCIgLz5cbiAgICAgICAgQXBwbHlcbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,7 +0,0 @@
1
- export const URL_PATTERN = /^(https?:\/\/)?(www\.)?[-a-zA-Z0-9áéíóúÁÉÍÓÚüÜñÑ@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9áéíóúÁÉÍÓÚüÜñÑ@:%_+.~#?&/=]*)$/;
2
- export class ValidationHelper {
3
- static urlValidator(control) {
4
- return control.value && !URL_PATTERN.test(control.value) ? { invalidUrl: true } : null;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2FkZC1saW5rLWRpYWxvZy92YWxpZGF0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQ3BCLDJIQUEySCxDQUFDO0FBRWhJLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFnQztRQUNoRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBVUkxfUEFUVEVSTiA9XG4gICAgL14oaHR0cHM/OlxcL1xcLyk/KHd3d1xcLik/Wy1hLXpBLVowLTnDocOpw63Ds8O6w4HDicONw5PDmsO8w5zDscORQDolLl8rfiM9XXsyLDI1Nn1cXC5bYS16XXsyLDZ9XFxiKFstYS16QS1aMC05w6HDqcOtw7PDusOBw4nDjcOTw5rDvMOcw7HDkUA6JV8rLn4jPyYvPV0qKSQvO1xuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkhlbHBlciB7XG4gICAgc3RhdGljIHVybFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWUgJiYgIVVSTF9QQVRURVJOLnRlc3QoY29udHJvbC52YWx1ZSkgPyB7IGludmFsaWRVcmw6IHRydWUgfSA6IG51bGw7XG4gICAgfVxufVxuIl19
@@ -1,47 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReactiveFormsModule, Validators } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { ValidationHelper } from '../add-link-dialog/validation.helper';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../editor/interaction/editor.service";
11
- import * as i2 from "@angular/forms";
12
- import * as i3 from "../editor-toolbar/shared/services/toolbar-core.service";
13
- import * as i4 from "@angular/material/button";
14
- import * as i5 from "@angular/material/form-field";
15
- import * as i6 from "@angular/material/icon";
16
- import * as i7 from "@angular/material/input";
17
- export class AddLinkMobileComponent {
18
- constructor(editorService, fb, toolbarCoreService) {
19
- this.editorService = editorService;
20
- this.fb = fb;
21
- this.toolbarCoreService = toolbarCoreService;
22
- this.form = this.fb.group({
23
- text: ['', Validators.required],
24
- link: ['', [Validators.required, ValidationHelper.urlValidator]]
25
- });
26
- }
27
- onClose() {
28
- this.toolbarCoreService.reset();
29
- }
30
- onApply() {
31
- this.editorService.insertLink(this.form.controls.text.value, this.form.controls.link.value);
32
- this.toolbarCoreService.reset();
33
- }
34
- onEnter() {
35
- if (this.form.invalid) {
36
- return;
37
- }
38
- this.onApply();
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkMobileComponent, deps: [{ token: i1.EditorService }, { token: i2.FormBuilder }, { token: i3.ToolbarCoreService }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddLinkMobileComponent, isStandalone: true, selector: "app-nod-add-link-mobile", ngImport: i0, template: "<div class=\"content\">\n <div class=\"title\">Link Options</div>\n <div\n class=\"inputs\"\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Text</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The Text is required.</mat-error>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>Link</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The Link is required.</mat-error>\n </mat-form-field>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.title{font-size:16px;font-weight:500}mat-form-field{width:100%}.inputs{padding-top:10px;padding-bottom:0}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkMobileComponent, decorators: [{
44
- type: Component,
45
- args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule], selector: 'app-nod-add-link-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"content\">\n <div class=\"title\">Link Options</div>\n <div\n class=\"inputs\"\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Text</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The Text is required.</mat-error>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>Link</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The Link is required.</mat-error>\n </mat-form-field>\n </div>\n</div>\n<div class=\"actions\">\n <button\n mat-mini-fab\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n </button>\n <button\n mat-mini-fab\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%;height:100%;padding:30px;justify-content:space-between;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.title{font-size:16px;font-weight:500}mat-form-field{width:100%}.inputs{padding-top:10px;padding-bottom:0}.actions{text-align:end}.actions .mdc-fab:first-child{margin-right:10px}\n"] }]
46
- }], ctorParameters: () => [{ type: i1.EditorService }, { type: i2.FormBuilder }, { type: i3.ToolbarCoreService }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxpbmstbW9iaWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvYWRkLWxpbmstbW9iaWxlL2FkZC1saW5rLW1vYmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2FkZC1saW5rLW1vYmlsZS9hZGQtbGluay1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBVXhFLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBb0IsYUFBNEIsRUFBVSxFQUFlLEVBQVUsa0JBQXNDO1FBQXJHLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN0QixJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMvQixJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ25FLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQzsrR0F6QlEsc0JBQXNCO21HQUF0QixzQkFBc0IsbUZDcEJuQywrd0NBMENBLDhqQkQ1QmMsWUFBWSw4QkFBRSxlQUFlLDJJQUFFLGtCQUFrQix1WUFBRSxhQUFhLG1MQUFFLGNBQWMsMFdBQUUsbUJBQW1COzs0RkFNdEcsc0JBQXNCO2tCQVJsQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxZQUN0Ryx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2VkaXRvci9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sYmFyQ29yZVNlcnZpY2UgfSBmcm9tICcuLi9lZGl0b3ItdG9vbGJhci9zaGFyZWQvc2VydmljZXMvdG9vbGJhci1jb3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhlbHBlciB9IGZyb20gJy4uL2FkZC1saW5rLWRpYWxvZy92YWxpZGF0aW9uLmhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdElucHV0TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ2FwcC1ub2QtYWRkLWxpbmstbW9iaWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FkZC1saW5rLW1vYmlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2FkZC1saW5rLW1vYmlsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFkZExpbmtNb2JpbGVDb21wb25lbnQge1xuICAgIGZvcm06IEZvcm1Hcm91cDx7IHRleHQ6IEZvcm1Db250cm9sPHN0cmluZz47IGxpbms6IEZvcm1Db250cm9sPHN0cmluZz4gfT47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHRvb2xiYXJDb3JlU2VydmljZTogVG9vbGJhckNvcmVTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgdGV4dDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgIGxpbms6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRpb25IZWxwZXIudXJsVmFsaWRhdG9yXV1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b29sYmFyQ29yZVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuaW5zZXJ0TGluayh0aGlzLmZvcm0uY29udHJvbHMudGV4dC52YWx1ZSwgdGhpcy5mb3JtLmNvbnRyb2xzLmxpbmsudmFsdWUpO1xuICAgICAgICB0aGlzLnRvb2xiYXJDb3JlU2VydmljZS5yZXNldCgpO1xuICAgIH1cblxuICAgIG9uRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkFwcGx5KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5MaW5rIE9wdGlvbnM8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXRzXCJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5UZXh0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLnRleHRcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoKVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgICAgIDxtYXQtZXJyb3I+VGhlIFRleHQgaXMgcmVxdWlyZWQuPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5MaW5rPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLmxpbmtcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoKVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgICAgIDxtYXQtZXJyb3I+VGhlIExpbmsgaXMgcmVxdWlyZWQuPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtbWluaS1mYWJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1jYW5jZWwtdGhpblwiIC8+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtbWluaS1mYWJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgIChjbGljayk9XCJvbkFwcGx5KClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZG9uZS10aGluXCIgLz5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,32 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, HostBinding, Inject } from '@angular/core';
3
- import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/dialog";
8
- import * as i2 from "@angular/material/button";
9
- import * as i3 from "@angular/material/icon";
10
- export class ConfirmDialogComponent {
11
- constructor(data, ref) {
12
- this.data = data;
13
- this.ref = ref;
14
- this.modal = true;
15
- }
16
- onClose(status) {
17
- this.ref.close(status);
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmDialogComponent, isStandalone: true, selector: "app-nod-confirm-dialog", host: { properties: { "class.noder-modal": "this.modal" } }, ngImport: i0, template: "<p class=\"title\">{{ data.title ? data.title : 'Confirmation' }}</p>\n<div class=\"content\">\n <p>{{ data.message }}</p>\n</div>\n<div class=\"actions\">\n <button\n id=\"confirm-dialog-cancel-btn\"\n mat-button\n (click)=\"onClose(false)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n {{ data.cancel ? data.cancel : 'Cancel' }}\n </button>\n <button\n id=\"confirm-dialog-confirm-btn\"\n mat-raised-button\n class=\"delete-btn\"\n color=\"primary\"\n (click)=\"onClose(true)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n {{ data.confirm ? data.confirm : 'Delete' }}\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-width:400px;max-width:440px;min-height:208px}.title{font-size:18px;font-weight:700;text-transform:capitalize;padding:24px 24px 12px;margin:0;border-bottom-width:1px;border-bottom-style:solid}.content{display:flex;flex:1;font-size:16px;line-height:20px;padding:20px 24px 16px}.content p{margin:0;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;justify-content:center;margin-bottom:24px;gap:8px}.actions button{height:40px;width:120px;text-transform:uppercase}.actions button mat-icon{font-size:24px;height:24px;width:24px}.actions button .mat-button-toggle-label-content{padding:0 2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
23
- type: Component,
24
- args: [{ standalone: true, imports: [CommonModule, MatDialogModule, MatButtonModule, MatIconModule], selector: 'app-nod-confirm-dialog', template: "<p class=\"title\">{{ data.title ? data.title : 'Confirmation' }}</p>\n<div class=\"content\">\n <p>{{ data.message }}</p>\n</div>\n<div class=\"actions\">\n <button\n id=\"confirm-dialog-cancel-btn\"\n mat-button\n (click)=\"onClose(false)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n {{ data.cancel ? data.cancel : 'Cancel' }}\n </button>\n <button\n id=\"confirm-dialog-confirm-btn\"\n mat-raised-button\n class=\"delete-btn\"\n color=\"primary\"\n (click)=\"onClose(true)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\"></mat-icon>\n {{ data.confirm ? data.confirm : 'Delete' }}\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-width:400px;max-width:440px;min-height:208px}.title{font-size:18px;font-weight:700;text-transform:capitalize;padding:24px 24px 12px;margin:0;border-bottom-width:1px;border-bottom-style:solid}.content{display:flex;flex:1;font-size:16px;line-height:20px;padding:20px 24px 16px}.content p{margin:0;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;justify-content:center;margin-bottom:24px;gap:8px}.actions button{height:40px;width:120px;text-transform:uppercase}.actions button mat-icon{font-size:24px;height:24px;width:24px}.actions button .mat-button-toggle-label-content{padding:0 2px}\n"] }]
25
- }], ctorParameters: () => [{ type: undefined, decorators: [{
26
- type: Inject,
27
- args: [MAT_DIALOG_DATA]
28
- }] }, { type: i1.MatDialogRef }], propDecorators: { modal: [{
29
- type: HostBinding,
30
- args: ['class.noder-modal']
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFnQnZELE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBNEMsSUFBaUIsRUFBVSxHQUF5QztRQUFwRSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBc0M7UUFGOUUsVUFBSyxHQUFHLElBQUksQ0FBQztJQUVvRSxDQUFDO0lBRXBILE9BQU8sQ0FBQyxNQUFlO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBUFEsc0JBQXNCLGtCQUdYLGVBQWU7bUdBSDFCLHNCQUFzQiwrSUNwQm5DLDR5QkEwQkEsNnJCRFhjLFlBQVksOEJBQUUsZUFBZSw4QkFBRSxlQUFlLDJOQUFFLGFBQWE7OzRGQUs5RCxzQkFBc0I7a0JBUGxDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQzlELHdCQUF3Qjs7MEJBT3JCLE1BQU07MkJBQUMsZUFBZTtvRUFGRCxLQUFLO3NCQUF0QyxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGlhbG9nRGF0YSB7XG4gICAgY2FuY2VsPzogc3RyaW5nO1xuICAgIGNvbmZpcm0/OiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ2FwcC1ub2QtY29uZmlybS1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydjb25maXJtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mubm9kZXItbW9kYWwnKSBtb2RhbCA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IElEaWFsb2dEYXRhLCBwcml2YXRlIHJlZjogTWF0RGlhbG9nUmVmPENvbmZpcm1EaWFsb2dDb21wb25lbnQ+KSB7fVxuXG4gICAgb25DbG9zZShzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWYuY2xvc2Uoc3RhdHVzKTtcbiAgICB9XG59XG4iLCI8cCBjbGFzcz1cInRpdGxlXCI+e3sgZGF0YS50aXRsZSA/IGRhdGEudGl0bGUgOiAnQ29uZmlybWF0aW9uJyB9fTwvcD5cbjxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPHA+e3sgZGF0YS5tZXNzYWdlIH19PC9wPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxidXR0b25cbiAgICAgICAgaWQ9XCJjb25maXJtLWRpYWxvZy1jYW5jZWwtYnRuXCJcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwib25DbG9zZShmYWxzZSlcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tY2FuY2VsLXRoaW5cIj48L21hdC1pY29uPlxuICAgICAgICB7eyBkYXRhLmNhbmNlbCA/IGRhdGEuY2FuY2VsIDogJ0NhbmNlbCcgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGlkPVwiY29uZmlybS1kaWFsb2ctY29uZmlybS1idG5cIlxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImRlbGV0ZS1idG5cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSh0cnVlKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1kb25lLXRoaW5cIj48L21hdC1pY29uPlxuICAgICAgICB7eyBkYXRhLmNvbmZpcm0gPyBkYXRhLmNvbmZpcm0gOiAnRGVsZXRlJyB9fVxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,64 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs';
4
- import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { MatTooltipModule } from '@angular/material/tooltip';
9
- import { DestroyComponent } from '../../editor/components/shared/abstract/destroy.component';
10
- import { ExternalElementService } from '../../editor/components/external-element/external-element.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../../editor/interaction/editor.service";
13
- import * as i2 from "@angular/common";
14
- import * as i3 from "@angular/forms";
15
- import * as i4 from "@angular/material/button";
16
- import * as i5 from "@angular/material/icon";
17
- import * as i6 from "@angular/material/input";
18
- import * as i7 from "@angular/material/form-field";
19
- import * as i8 from "@angular/material/tooltip";
20
- export class EditorSearchDialogComponent extends DestroyComponent {
21
- constructor(editorService) {
22
- super();
23
- this.editorService = editorService;
24
- this.searchControl = new FormControl('');
25
- this.replaceControl = new FormControl('');
26
- this.isReplace = false;
27
- this.searchIteration$ = this.editorService.searchIteration$;
28
- }
29
- ngOnInit() {
30
- this.searchControl.valueChanges
31
- .pipe(debounceTime(300), distinctUntilChanged(), takeUntil(this.destroy$))
32
- .subscribe(() => (this.editorService.searchOptions = { term: this.searchControl.value, skipCurrent: false, backwards: false }));
33
- }
34
- onClose() {
35
- this.editorService.openSearchDialog = false;
36
- }
37
- findNext() {
38
- this.editorService.searchOptions = {
39
- term: this.searchControl.value,
40
- skipCurrent: true,
41
- backwards: false
42
- };
43
- }
44
- findPrev() {
45
- this.editorService.searchOptions = {
46
- term: this.searchControl.value,
47
- skipCurrent: true,
48
- backwards: true
49
- };
50
- }
51
- setReplace() {
52
- this.isReplace = !this.isReplace;
53
- }
54
- replace() {
55
- this.editorService.replace = { replaceValue: this.replaceControl.value, searchValue: this.searchControl.value };
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorSearchDialogComponent, deps: [{ token: i1.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditorSearchDialogComponent, isStandalone: true, selector: "app-nod-editor-search-dialog", providers: [ExternalElementService], usesInheritance: true, ngImport: i0, template: "<div class=\"line search-form\">\n <mat-form-field\n color=\"accent\"\n floatLabel=\"auto\"\n appearance=\"outline\">\n <mat-label>Search for</mat-label>\n <input\n matInput\n [formControl]=\"searchControl\"\n (keydown.enter)=\"findNext()\" />\n </mat-form-field>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"findPrev()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-onleft\"></mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"findNext()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-onright\"></mat-icon>\n </button>\n</div>\n<ng-container *ngIf=\"{ searchIteration: searchIteration$ | async } as data\">\n <div\n class=\"replace-form\"\n *ngIf=\"isReplace\">\n <mat-form-field\n color=\"accent\"\n floatLabel=\"auto\"\n appearance=\"outline\">\n <mat-label>Replace with</mat-label>\n <input\n matInput\n [formControl]=\"replaceControl\"\n spellcheck=\"false\"\n autocomplete=\"off\"\n (keydown.enter)=\"replace()\" />\n </mat-form-field>\n <button\n type=\"button\"\n mat-button\n (click)=\"replace()\">\n Replace\n </button>\n </div>\n <div class=\"search-options\">\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Toggle Replace Mode\"\n (click)=\"setReplace()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ isReplace ? 'icon-arrow-up' : 'icon-arrow-down' }}\"></mat-icon>\n </button>\n <div class=\"counter\">\n <span>{{ data.searchIteration?.current ?? 0 }} of {{ data.searchIteration?.total ?? 0 }}</span>\n </div>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Close\"\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n </button>\n </div>\n</ng-container>\n", styles: [":host{min-height:56px;max-width:100%;display:block;font-size:10px;padding:3px}.close-icon{position:absolute;right:1px;top:1px}.search-form,.replace-form,.search-options{display:flex}mat-form-field{padding-left:10px}.mdc-button{font-size:12px;padding:0 8px;min-width:unset}.search-options{line-height:40px}.search-options .counter{text-align:center;flex:1}.mat-mdc-input-element{font-size:10px}.replace-form .mdc-button{width:80px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorSearchDialogComponent, decorators: [{
61
- type: Component,
62
- args: [{ standalone: true, imports: [CommonModule, FormsModule, MatButtonModule, MatIconModule, MatInputModule, MatTooltipModule, ReactiveFormsModule], providers: [ExternalElementService], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-editor-search-dialog', template: "<div class=\"line search-form\">\n <mat-form-field\n color=\"accent\"\n floatLabel=\"auto\"\n appearance=\"outline\">\n <mat-label>Search for</mat-label>\n <input\n matInput\n [formControl]=\"searchControl\"\n (keydown.enter)=\"findNext()\" />\n </mat-form-field>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"findPrev()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-onleft\"></mat-icon>\n </button>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"findNext()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-onright\"></mat-icon>\n </button>\n</div>\n<ng-container *ngIf=\"{ searchIteration: searchIteration$ | async } as data\">\n <div\n class=\"replace-form\"\n *ngIf=\"isReplace\">\n <mat-form-field\n color=\"accent\"\n floatLabel=\"auto\"\n appearance=\"outline\">\n <mat-label>Replace with</mat-label>\n <input\n matInput\n [formControl]=\"replaceControl\"\n spellcheck=\"false\"\n autocomplete=\"off\"\n (keydown.enter)=\"replace()\" />\n </mat-form-field>\n <button\n type=\"button\"\n mat-button\n (click)=\"replace()\">\n Replace\n </button>\n </div>\n <div class=\"search-options\">\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Toggle Replace Mode\"\n (click)=\"setReplace()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ isReplace ? 'icon-arrow-up' : 'icon-arrow-down' }}\"></mat-icon>\n </button>\n <div class=\"counter\">\n <span>{{ data.searchIteration?.current ?? 0 }} of {{ data.searchIteration?.total ?? 0 }}</span>\n </div>\n <button\n type=\"button\"\n mat-icon-button\n matTooltip=\"Close\"\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\"></mat-icon>\n </button>\n </div>\n</ng-container>\n", styles: [":host{min-height:56px;max-width:100%;display:block;font-size:10px;padding:3px}.close-icon{position:absolute;right:1px;top:1px}.search-form,.replace-form,.search-options{display:flex}mat-form-field{padding-left:10px}.mdc-button{font-size:12px;padding:0 8px;min-width:unset}.search-options{line-height:40px}.search-options .counter{text-align:center;flex:1}.mat-mdc-input-element{font-size:10px}.replace-form .mdc-button{width:80px}\n"] }]
63
- }], ctorParameters: () => [{ type: i1.EditorService }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXNlYXJjaC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3Itc2VhcmNoL2VkaXRvci1zZWFyY2gtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXNlYXJjaC9lZGl0b3Itc2VhcmNoLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDOzs7Ozs7Ozs7O0FBWTNHLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxnQkFBZ0I7SUFTN0QsWUFBb0IsYUFBNEI7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFEUSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVJoRCxrQkFBYSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLG1CQUFjLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQU1kLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0lBQ2hFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZO2FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEdBQUc7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSztZQUM5QixXQUFXLEVBQUUsSUFBSTtZQUNqQixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRztZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLO1lBQzlCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFNBQVMsRUFBRSxJQUFJO1NBQ2xCLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEgsQ0FBQzsrR0E5Q1EsMkJBQTJCO21HQUEzQiwyQkFBMkIsMkVBTnpCLENBQUMsc0JBQXNCLENBQUMsaURDakJ2Qyx3MEVBMkVBLHllRDNEYyxZQUFZLHVMQUFFLFdBQVcsc1pBQUUsZUFBZSx3VUFBRSxhQUFhLG1MQUFFLGNBQWMsc25CQUFFLGdCQUFnQiw0VEFBRSxtQkFBbUI7OzRGQU9qSCwyQkFBMkI7a0JBVHZDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxhQUNoSCxDQUFDLHNCQUFzQixDQUFDLG1CQUNsQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBEZXN0cm95Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWRpdG9yL2NvbXBvbmVudHMvc2hhcmVkL2Fic3RyYWN0L2Rlc3Ryb3kuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9lZGl0b3IvaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxFbGVtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2VkaXRvci9jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvZXh0ZXJuYWwtZWxlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaEl0ZXJhdGlvbiB9IGZyb20gJy4uLy4uL2VkaXRvci9nYWRnZXRzL3NlYXJjaC9zZWFyY2gtaXRlcmF0aW9uLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW0V4dGVybmFsRWxlbWVudFNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLW5vZC1lZGl0b3Itc2VhcmNoLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdlZGl0b3Itc2VhcmNoLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2VkaXRvci1zZWFyY2gtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yU2VhcmNoRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJveUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgICByZXBsYWNlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgICBpc1JlcGxhY2UgPSBmYWxzZTtcblxuICAgIHNlYXJjaEl0ZXJhdGlvbiQ6IE9ic2VydmFibGU8U2VhcmNoSXRlcmF0aW9uPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNlYXJjaEl0ZXJhdGlvbiQgPSB0aGlzLmVkaXRvclNlcnZpY2Uuc2VhcmNoSXRlcmF0aW9uJDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gKHRoaXMuZWRpdG9yU2VydmljZS5zZWFyY2hPcHRpb25zID0geyB0ZXJtOiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUsIHNraXBDdXJyZW50OiBmYWxzZSwgYmFja3dhcmRzOiBmYWxzZSB9KSk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLm9wZW5TZWFyY2hEaWFsb2cgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBmaW5kTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNlYXJjaE9wdGlvbnMgPSB7XG4gICAgICAgICAgICB0ZXJtOiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBza2lwQ3VycmVudDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2t3YXJkczogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmaW5kUHJldigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNlYXJjaE9wdGlvbnMgPSB7XG4gICAgICAgICAgICB0ZXJtOiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBza2lwQ3VycmVudDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2t3YXJkczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNldFJlcGxhY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNSZXBsYWNlID0gIXRoaXMuaXNSZXBsYWNlO1xuICAgIH1cblxuICAgIHJlcGxhY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZXBsYWNlID0geyByZXBsYWNlVmFsdWU6IHRoaXMucmVwbGFjZUNvbnRyb2wudmFsdWUsIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUgfTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGluZSBzZWFyY2gtZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgIGZsb2F0TGFiZWw9XCJhdXRvXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5TZWFyY2ggZm9yPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImZpbmROZXh0KClcIiAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJmaW5kUHJldigpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWFycm93LW9ubGVmdFwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJmaW5kTmV4dCgpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJpY29uLWFycm93LW9ucmlnaHRcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwieyBzZWFyY2hJdGVyYXRpb246IHNlYXJjaEl0ZXJhdGlvbiQgfCBhc3luYyB9IGFzIGRhdGFcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwicmVwbGFjZS1mb3JtXCJcbiAgICAgICAgKm5nSWY9XCJpc1JlcGxhY2VcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICBmbG9hdExhYmVsPVwiYXV0b1wiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5SZXBsYWNlIHdpdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlcGxhY2VDb250cm9sXCJcbiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwicmVwbGFjZSgpXCIgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwicmVwbGFjZSgpXCI+XG4gICAgICAgICAgICBSZXBsYWNlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtb3B0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlRvZ2dsZSBSZXBsYWNlIE1vZGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNldFJlcGxhY2UoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgIGZvbnRJY29uPVwie3sgaXNSZXBsYWNlID8gJ2ljb24tYXJyb3ctdXAnIDogJ2ljb24tYXJyb3ctZG93bicgfX1cIj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IGRhdGEuc2VhcmNoSXRlcmF0aW9uPy5jdXJyZW50ID8/IDAgfX0gb2Yge3sgZGF0YS5zZWFyY2hJdGVyYXRpb24/LnRvdGFsID8/IDAgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkNsb3NlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICBmb250SWNvbj1cImljb24tY2FuY2VsLXRoaW5cIj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,92 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatTooltipModule } from '@angular/material/tooltip';
6
- import { Mode } from '../../editor/interaction/mode.enum';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/material/button";
10
- import * as i3 from "@angular/material/icon";
11
- import * as i4 from "@angular/material/tooltip";
12
- export class EditorTitleComponent {
13
- set rename$(value) {
14
- value?.subscribe(() => this.setTitleActive(this.titleSpan.nativeElement));
15
- }
16
- constructor(cdr) {
17
- this.cdr = cdr;
18
- this.selectedMode = Mode.Edit;
19
- this.showTitle = true;
20
- this.defaultFileName = 'Untitled document';
21
- this.changeMode = new EventEmitter();
22
- this.renameDocumentTitle = new EventEmitter();
23
- this.modeOptions = [
24
- {
25
- id: Mode.Edit,
26
- text: 'Edit document',
27
- icon: 'icon-edit-mode'
28
- },
29
- {
30
- id: Mode.Fill,
31
- text: 'Fill or print document',
32
- icon: 'icon-fill-done'
33
- },
34
- {
35
- id: Mode.View,
36
- text: 'Read or print document',
37
- icon: 'icon-view'
38
- }
39
- ];
40
- }
41
- onRenameTitle(event) {
42
- event.target.contentEditable = 'false';
43
- this.title = event.target.textContent || this.defaultFileName;
44
- event.target.innerText = ''; // to correctly display text that is significantly larger than the input width
45
- this.renameDocumentTitle.emit(this.title);
46
- setTimeout(() => {
47
- event.target.innerText = this.title;
48
- this.cdr.detectChanges();
49
- });
50
- this.cdr.detectChanges();
51
- }
52
- onFocus(event) {
53
- this.setTitleActive(event.target);
54
- }
55
- setTitleActive(element) {
56
- if (element.contentEditable === 'true') {
57
- return;
58
- }
59
- element.contentEditable = 'true';
60
- const range = document.createRange();
61
- const sel = window.getSelection();
62
- range.setStart(element.firstChild, element.textContent.length);
63
- range.collapse(true);
64
- sel.removeAllRanges();
65
- sel.addRange(range);
66
- element.focus();
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorTitleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditorTitleComponent, isStandalone: true, selector: "app-nod-editor-title", inputs: { selectedMode: "selectedMode", showTitle: "showTitle", title: "title", defaultFileName: "defaultFileName", rename$: "rename$" }, outputs: { changeMode: "changeMode", renameDocumentTitle: "renameDocumentTitle" }, viewQueries: [{ propertyName: "titleSpan", first: true, predicate: ["titleSpan"], descendants: true, static: true }], ngImport: i0, template: "<div\n *ngIf=\"showTitle\"\n class=\"menu-header\">\n <div class=\"file-name\">\n <span\n #titleSpan\n class=\"title\"\n matTooltip=\"Double click to rename\"\n (blur)=\"onRenameTitle($event)\"\n (keydown.enter)=\"$event.target.blur()\"\n (dblclick)=\"onFocus($event)\">\n {{ title }}\n </span>\n </div>\n</div>\n<div class=\"editor-mode\">\n <button\n *ngFor=\"let mode of modeOptions\"\n mat-icon-button\n [class.selected-mode]=\"selectedMode === mode.id\"\n [matTooltip]=\"mode.text\"\n (click)=\"selectedMode = mode.id; changeMode.emit(mode.id)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ mode.icon }}\" />\n </button>\n</div>\n", styles: [":host{display:flex;position:relative;align-items:center;width:100%}.menu-header{width:35%;line-height:0;z-index:1}.file-name{display:block;margin:0 8px;overflow:hidden}.title{font-size:18px;font-weight:400;line-height:normal;outline:none;display:inline-block;white-space:nowrap;min-width:1px;overflow:hidden;max-width:100%;-webkit-user-select:none;user-select:none}.title:not(:focus){text-overflow:ellipsis}.editor-mode{display:flex;position:absolute;justify-content:center;width:100%}.mdc-icon-button{min-width:40px;min-height:40px;width:40px;height:40px;padding:8px}.mdc-icon-button:not(:first-child){margin-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorTitleComponent, decorators: [{
72
- type: Component,
73
- args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule], selector: 'app-nod-editor-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"showTitle\"\n class=\"menu-header\">\n <div class=\"file-name\">\n <span\n #titleSpan\n class=\"title\"\n matTooltip=\"Double click to rename\"\n (blur)=\"onRenameTitle($event)\"\n (keydown.enter)=\"$event.target.blur()\"\n (dblclick)=\"onFocus($event)\">\n {{ title }}\n </span>\n </div>\n</div>\n<div class=\"editor-mode\">\n <button\n *ngFor=\"let mode of modeOptions\"\n mat-icon-button\n [class.selected-mode]=\"selectedMode === mode.id\"\n [matTooltip]=\"mode.text\"\n (click)=\"selectedMode = mode.id; changeMode.emit(mode.id)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ mode.icon }}\" />\n </button>\n</div>\n", styles: [":host{display:flex;position:relative;align-items:center;width:100%}.menu-header{width:35%;line-height:0;z-index:1}.file-name{display:block;margin:0 8px;overflow:hidden}.title{font-size:18px;font-weight:400;line-height:normal;outline:none;display:inline-block;white-space:nowrap;min-width:1px;overflow:hidden;max-width:100%;-webkit-user-select:none;user-select:none}.title:not(:focus){text-overflow:ellipsis}.editor-mode{display:flex;position:absolute;justify-content:center;width:100%}.mdc-icon-button{min-width:40px;min-height:40px;width:40px;height:40px;padding:8px}.mdc-icon-button:not(:first-child){margin-left:10px}\n"] }]
74
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { selectedMode: [{
75
- type: Input
76
- }], showTitle: [{
77
- type: Input
78
- }], title: [{
79
- type: Input
80
- }], defaultFileName: [{
81
- type: Input
82
- }], rename$: [{
83
- type: Input
84
- }], changeMode: [{
85
- type: Output
86
- }], renameDocumentTitle: [{
87
- type: Output
88
- }], titleSpan: [{
89
- type: ViewChild,
90
- args: ['titleSpan', { static: true }]
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRpdGxlL2VkaXRvci10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10aXRsZS9lZGl0b3ItdGl0bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBVTFELE1BQU0sT0FBTyxvQkFBb0I7SUFTN0IsSUFDSSxPQUFPLENBQUMsS0FBdUI7UUFDL0IsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBMEJELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckNqQyxpQkFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFekIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQixv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RUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNb2RlIH0gZnJvbSAnLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL21vZGUuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ2FwcC1ub2QtZWRpdG9yLXRpdGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3ItdGl0bGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JUaXRsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRNb2RlID0gTW9kZS5FZGl0O1xuXG4gICAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkZWZhdWx0RmlsZU5hbWUgPSAnVW50aXRsZWQgZG9jdW1lbnQnO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgcmVuYW1lJCh2YWx1ZTogT2JzZXJ2YWJsZTx2b2lkPikge1xuICAgICAgICB2YWx1ZT8uc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0VGl0bGVBY3RpdmUodGhpcy50aXRsZVNwYW4ubmF0aXZlRWxlbWVudCkpO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBjaGFuZ2VNb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxNb2RlPigpO1xuXG4gICAgQE91dHB1dCgpIHJlbmFtZURvY3VtZW50VGl0bGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RpdGxlU3BhbicsIHsgc3RhdGljOiB0cnVlIH0pIHRpdGxlU3BhbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBtb2RlT3B0aW9ucyA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IE1vZGUuRWRpdCxcbiAgICAgICAgICAgIHRleHQ6ICdFZGl0IGRvY3VtZW50JyxcbiAgICAgICAgICAgIGljb246ICdpY29uLWVkaXQtbW9kZSdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IE1vZGUuRmlsbCxcbiAgICAgICAgICAgIHRleHQ6ICdGaWxsIG9yIHByaW50IGRvY3VtZW50JyxcbiAgICAgICAgICAgIGljb246ICdpY29uLWZpbGwtZG9uZSdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IE1vZGUuVmlldyxcbiAgICAgICAgICAgIHRleHQ6ICdSZWFkIG9yIHByaW50IGRvY3VtZW50JyxcbiAgICAgICAgICAgIGljb246ICdpY29uLXZpZXcnXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgb25SZW5hbWVUaXRsZShldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jb250ZW50RWRpdGFibGUgPSAnZmFsc2UnO1xuICAgICAgICB0aGlzLnRpdGxlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkudGV4dENvbnRlbnQgfHwgdGhpcy5kZWZhdWx0RmlsZU5hbWU7XG4gICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dCA9ICcnOyAvLyB0byBjb3JyZWN0bHkgZGlzcGxheSB0ZXh0IHRoYXQgaXMgc2lnbmlmaWNhbnRseSBsYXJnZXIgdGhhbiB0aGUgaW5wdXQgd2lkdGhcbiAgICAgICAgdGhpcy5yZW5hbWVEb2N1bWVudFRpdGxlLmVtaXQodGhpcy50aXRsZSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0ID0gdGhpcy50aXRsZTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0VGl0bGVBY3RpdmUoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRpdGxlQWN0aXZlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlbGVtZW50LmNvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBlbGVtZW50LmNvbnRlbnRFZGl0YWJsZSA9ICd0cnVlJztcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgICBjb25zdCBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGVsZW1lbnQuZmlyc3RDaGlsZCwgZWxlbWVudC50ZXh0Q29udGVudC5sZW5ndGgpO1xuICAgICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgICAgc2VsLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICBzZWwuYWRkUmFuZ2UocmFuZ2UpO1xuICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwic2hvd1RpdGxlXCJcbiAgICBjbGFzcz1cIm1lbnUtaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtbmFtZVwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgI3RpdGxlU3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0aXRsZVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiRG91YmxlIGNsaWNrIHRvIHJlbmFtZVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvblJlbmFtZVRpdGxlKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnRhcmdldC5ibHVyKClcIlxuICAgICAgICAgICAgKGRibGNsaWNrKT1cIm9uRm9jdXMoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZWRpdG9yLW1vZGVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBtb2RlIG9mIG1vZGVPcHRpb25zXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZC1tb2RlXT1cInNlbGVjdGVkTW9kZSA9PT0gbW9kZS5pZFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIm1vZGUudGV4dFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RlZE1vZGUgPSBtb2RlLmlkOyBjaGFuZ2VNb2RlLmVtaXQobW9kZS5pZClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cInt7IG1vZGUuaWNvbiB9fVwiIC8+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatMenuModule } from '@angular/material/menu';
6
- import { MatTooltipModule } from '@angular/material/tooltip';
7
- import { EditorTitleComponent } from '../editor-title/editor-title.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common";
10
- import * as i2 from "@angular/material/button";
11
- import * as i3 from "@angular/material/icon";
12
- import * as i4 from "@angular/material/tooltip";
13
- import * as i5 from "@angular/material/menu";
14
- export class EditorTitleMobileComponent extends EditorTitleComponent {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorTitleMobileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditorTitleMobileComponent, isStandalone: true, selector: "app-nod-editor-title-mobile", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"showTitle\"\n class=\"menu-header\">\n <div class=\"file-name\">\n <span\n #titleSpan\n class=\"title\"\n matTooltip=\"Double click to rename\"\n (blur)=\"onRenameTitle($event)\"\n (keydown.enter)=\"$event.target.blur()\"\n (click)=\"onFocus($event)\">\n {{ title }}\n </span>\n </div>\n</div>\n<div class=\"editor-mode\">\n <div class=\"circles\">\n <div class=\"circle\"></div>\n <div class=\"circle\"></div>\n <div class=\"circle\"></div>\n </div>\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"modeMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ modeOptions[selectedMode].icon }}\" />\n </button>\n <mat-menu\n #modeMenu=\"matMenu\"\n class=\"noder-editor-title-mobile-menu\"\n yPosition=\"above\">\n <ng-container *ngFor=\"let mode of modeOptions\">\n <button\n *ngIf=\"selectedMode !== mode.id\"\n mat-icon-button\n (click)=\"selectedMode = mode.id; changeMode.emit(mode.id)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ mode.icon }}\" />\n </button>\n </ng-container>\n </mat-menu>\n</div>\n", styles: [":host{display:flex;position:relative;align-items:center;width:100%}.menu-header{width:calc(100% - 48px);line-height:0;z-index:1}.file-name{display:block;margin:0 8px;overflow:hidden}.title{font-size:18px;font-weight:400;line-height:normal;outline:none;display:inline-block;white-space:nowrap;min-width:1px;overflow:hidden;max-width:100%;-webkit-user-select:none;user-select:none}.title:not(:focus){text-overflow:ellipsis}.editor-mode{display:flex;flex-direction:column;position:relative}.circles{display:flex;flex-direction:row;justify-content:center;width:100%;position:absolute;top:-8px}.circle{width:4px;height:4px;border-radius:50%}.circle:not(:last-child){margin-right:5px}.mdc-icon-button{min-width:40px;min-height:40px;width:40px;height:40px;padding:8px}::ng-deep .noder-editor-title-mobile-menu{min-width:auto!important;min-height:auto!important;overflow:hidden!important}::ng-deep .noder-editor-title-mobile-menu .mat-mdc-menu-content{display:flex;flex-direction:column-reverse}::ng-deep .noder-editor-title-mobile-menu .mdc-icon-button{margin-bottom:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorTitleMobileComponent, decorators: [{
19
- type: Component,
20
- args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule, MatMenuModule], selector: 'app-nod-editor-title-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"showTitle\"\n class=\"menu-header\">\n <div class=\"file-name\">\n <span\n #titleSpan\n class=\"title\"\n matTooltip=\"Double click to rename\"\n (blur)=\"onRenameTitle($event)\"\n (keydown.enter)=\"$event.target.blur()\"\n (click)=\"onFocus($event)\">\n {{ title }}\n </span>\n </div>\n</div>\n<div class=\"editor-mode\">\n <div class=\"circles\">\n <div class=\"circle\"></div>\n <div class=\"circle\"></div>\n <div class=\"circle\"></div>\n </div>\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"modeMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ modeOptions[selectedMode].icon }}\" />\n </button>\n <mat-menu\n #modeMenu=\"matMenu\"\n class=\"noder-editor-title-mobile-menu\"\n yPosition=\"above\">\n <ng-container *ngFor=\"let mode of modeOptions\">\n <button\n *ngIf=\"selectedMode !== mode.id\"\n mat-icon-button\n (click)=\"selectedMode = mode.id; changeMode.emit(mode.id)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ mode.icon }}\" />\n </button>\n </ng-container>\n </mat-menu>\n</div>\n", styles: [":host{display:flex;position:relative;align-items:center;width:100%}.menu-header{width:calc(100% - 48px);line-height:0;z-index:1}.file-name{display:block;margin:0 8px;overflow:hidden}.title{font-size:18px;font-weight:400;line-height:normal;outline:none;display:inline-block;white-space:nowrap;min-width:1px;overflow:hidden;max-width:100%;-webkit-user-select:none;user-select:none}.title:not(:focus){text-overflow:ellipsis}.editor-mode{display:flex;flex-direction:column;position:relative}.circles{display:flex;flex-direction:row;justify-content:center;width:100%;position:absolute;top:-8px}.circle{width:4px;height:4px;border-radius:50%}.circle:not(:last-child){margin-right:5px}.mdc-icon-button{min-width:40px;min-height:40px;width:40px;height:40px;padding:8px}::ng-deep .noder-editor-title-mobile-menu{min-width:auto!important;min-height:auto!important;overflow:hidden!important}::ng-deep .noder-editor-title-mobile-menu .mat-mdc-menu-content{display:flex;flex-direction:column-reverse}::ng-deep .noder-editor-title-mobile-menu .mdc-icon-button{margin-bottom:10px}\n"] }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXRpdGxlLW1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10aXRsZS1tb2JpbGUvZWRpdG9yLXRpdGxlLW1vYmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10aXRsZS1tb2JpbGUvZWRpdG9yLXRpdGxlLW1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7OztBQVU5RSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsb0JBQW9COytHQUF2RCwwQkFBMEI7bUdBQTFCLDBCQUEwQiw4R0NqQnZDLHU1Q0E2Q0Esb21DRGxDYyxZQUFZLCtQQUFFLGVBQWUsMklBQUUsYUFBYSxtTEFBRSxnQkFBZ0IsNFRBQUUsYUFBYTs7NEZBTTlFLDBCQUEwQjtrQkFSdEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsWUFDOUUsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IEVkaXRvclRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vZWRpdG9yLXRpdGxlL2VkaXRvci10aXRsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTWF0TWVudU1vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWVkaXRvci10aXRsZS1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3ItdGl0bGUtbW9iaWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3ItdGl0bGUtbW9iaWxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yVGl0bGVNb2JpbGVDb21wb25lbnQgZXh0ZW5kcyBFZGl0b3JUaXRsZUNvbXBvbmVudCB7fVxuIiwiPGRpdlxuICAgICpuZ0lmPVwic2hvd1RpdGxlXCJcbiAgICBjbGFzcz1cIm1lbnUtaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtbmFtZVwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgI3RpdGxlU3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0aXRsZVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiRG91YmxlIGNsaWNrIHRvIHJlbmFtZVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvblJlbmFtZVRpdGxlKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnRhcmdldC5ibHVyKClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRm9jdXMoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZWRpdG9yLW1vZGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaXJjbGVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNpcmNsZVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtb2RlTWVudVwiXG4gICAgICAgIFttYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1c109XCJmYWxzZVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwie3sgbW9kZU9wdGlvbnNbc2VsZWN0ZWRNb2RlXS5pY29uIH19XCIgLz5cbiAgICA8L2J1dHRvbj5cbiAgICA8bWF0LW1lbnVcbiAgICAgICAgI21vZGVNZW51PVwibWF0TWVudVwiXG4gICAgICAgIGNsYXNzPVwibm9kZXItZWRpdG9yLXRpdGxlLW1vYmlsZS1tZW51XCJcbiAgICAgICAgeVBvc2l0aW9uPVwiYWJvdmVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW9kZSBvZiBtb2RlT3B0aW9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRNb2RlICE9PSBtb2RlLmlkXCJcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRNb2RlID0gbW9kZS5pZDsgY2hhbmdlTW9kZS5lbWl0KG1vZGUuaWQpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgZm9udEljb249XCJ7eyBtb2RlLmljb24gfX1cIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LW1lbnU+XG48L2Rpdj5cbiJdfQ==