ngx-rendering-service-lib 0.0.0 → 0.0.2

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 (408) hide show
  1. package/assets/pdfjs/build/pdf.js +24385 -0
  2. package/assets/pdfjs/build/pdf.js.map +1 -0
  3. package/assets/pdfjs/build/pdf.worker.js +55973 -0
  4. package/assets/pdfjs/build/pdf.worker.js.map +1 -0
  5. package/assets/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
  6. package/assets/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
  7. package/assets/pdfjs/web/cmaps/78-H.bcmap +0 -0
  8. package/assets/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
  9. package/assets/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
  10. package/assets/pdfjs/web/cmaps/78-V.bcmap +0 -0
  11. package/assets/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  12. package/assets/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  13. package/assets/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  14. package/assets/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  15. package/assets/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  16. package/assets/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  17. package/assets/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  18. package/assets/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  19. package/assets/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  20. package/assets/pdfjs/web/cmaps/Add-H.bcmap +0 -0
  21. package/assets/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  22. package/assets/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  23. package/assets/pdfjs/web/cmaps/Add-V.bcmap +0 -0
  24. package/assets/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  25. package/assets/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  26. package/assets/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  27. package/assets/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  28. package/assets/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  29. package/assets/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  30. package/assets/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  31. package/assets/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  32. package/assets/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  33. package/assets/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  34. package/assets/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  35. package/assets/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  36. package/assets/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  37. package/assets/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  38. package/assets/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  39. package/assets/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  40. package/assets/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  41. package/assets/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  42. package/assets/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  43. package/assets/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  44. package/assets/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  45. package/assets/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  46. package/assets/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  47. package/assets/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  48. package/assets/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  49. package/assets/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  50. package/assets/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  51. package/assets/pdfjs/web/cmaps/B5-H.bcmap +0 -0
  52. package/assets/pdfjs/web/cmaps/B5-V.bcmap +0 -0
  53. package/assets/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
  54. package/assets/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
  55. package/assets/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
  56. package/assets/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
  57. package/assets/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
  58. package/assets/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
  59. package/assets/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
  60. package/assets/pdfjs/web/cmaps/CNS2-V.bcmap +3 -0
  61. package/assets/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
  62. package/assets/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
  63. package/assets/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
  64. package/assets/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
  65. package/assets/pdfjs/web/cmaps/ETenms-B5-H.bcmap +3 -0
  66. package/assets/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
  67. package/assets/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
  68. package/assets/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
  69. package/assets/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
  70. package/assets/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  71. package/assets/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  72. package/assets/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
  73. package/assets/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
  74. package/assets/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
  75. package/assets/pdfjs/web/cmaps/GB-H.bcmap +4 -0
  76. package/assets/pdfjs/web/cmaps/GB-V.bcmap +0 -0
  77. package/assets/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
  78. package/assets/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
  79. package/assets/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
  80. package/assets/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
  81. package/assets/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  82. package/assets/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  83. package/assets/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
  84. package/assets/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
  85. package/assets/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
  86. package/assets/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
  87. package/assets/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  88. package/assets/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  89. package/assets/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  90. package/assets/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  91. package/assets/pdfjs/web/cmaps/H.bcmap +0 -0
  92. package/assets/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
  93. package/assets/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
  94. package/assets/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  95. package/assets/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  96. package/assets/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  97. package/assets/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  98. package/assets/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
  99. package/assets/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
  100. package/assets/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
  101. package/assets/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
  102. package/assets/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
  103. package/assets/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
  104. package/assets/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
  105. package/assets/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
  106. package/assets/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
  107. package/assets/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
  108. package/assets/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
  109. package/assets/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
  110. package/assets/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
  111. package/assets/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
  112. package/assets/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  113. package/assets/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  114. package/assets/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  115. package/assets/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  116. package/assets/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  117. package/assets/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  118. package/assets/pdfjs/web/cmaps/Katakana.bcmap +0 -0
  119. package/assets/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
  120. package/assets/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
  121. package/assets/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
  122. package/assets/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
  123. package/assets/pdfjs/web/cmaps/Roman.bcmap +0 -0
  124. package/assets/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  125. package/assets/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  126. package/assets/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  127. package/assets/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  128. package/assets/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  129. package/assets/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  130. package/assets/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  131. package/assets/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  132. package/assets/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  133. package/assets/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  134. package/assets/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  135. package/assets/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  136. package/assets/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  137. package/assets/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  138. package/assets/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  139. package/assets/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  140. package/assets/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  141. package/assets/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  142. package/assets/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  143. package/assets/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  144. package/assets/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  145. package/assets/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  146. package/assets/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  147. package/assets/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  148. package/assets/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  149. package/assets/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  150. package/assets/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  151. package/assets/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  152. package/assets/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  153. package/assets/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  154. package/assets/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  155. package/assets/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  156. package/assets/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  157. package/assets/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  158. package/assets/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  159. package/assets/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  160. package/assets/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  161. package/assets/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  162. package/assets/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  163. package/assets/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  164. package/assets/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  165. package/assets/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  166. package/assets/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  167. package/assets/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  168. package/assets/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  169. package/assets/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  170. package/assets/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  171. package/assets/pdfjs/web/cmaps/V.bcmap +0 -0
  172. package/assets/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
  173. package/assets/pdfjs/web/debugger.js +615 -0
  174. package/assets/pdfjs/web/images/annotation-check.svg +11 -0
  175. package/assets/pdfjs/web/images/annotation-comment.svg +16 -0
  176. package/assets/pdfjs/web/images/annotation-help.svg +26 -0
  177. package/assets/pdfjs/web/images/annotation-insert.svg +10 -0
  178. package/assets/pdfjs/web/images/annotation-key.svg +11 -0
  179. package/assets/pdfjs/web/images/annotation-newparagraph.svg +11 -0
  180. package/assets/pdfjs/web/images/annotation-noicon.svg +7 -0
  181. package/assets/pdfjs/web/images/annotation-note.svg +42 -0
  182. package/assets/pdfjs/web/images/annotation-paragraph.svg +16 -0
  183. package/assets/pdfjs/web/images/findbarButton-next-rtl.png +0 -0
  184. package/assets/pdfjs/web/images/findbarButton-next-rtl@2x.png +0 -0
  185. package/assets/pdfjs/web/images/findbarButton-next.png +0 -0
  186. package/assets/pdfjs/web/images/findbarButton-next@2x.png +0 -0
  187. package/assets/pdfjs/web/images/findbarButton-previous-rtl.png +0 -0
  188. package/assets/pdfjs/web/images/findbarButton-previous-rtl@2x.png +0 -0
  189. package/assets/pdfjs/web/images/findbarButton-previous.png +0 -0
  190. package/assets/pdfjs/web/images/findbarButton-previous@2x.png +0 -0
  191. package/assets/pdfjs/web/images/grab.cur +0 -0
  192. package/assets/pdfjs/web/images/grabbing.cur +0 -0
  193. package/assets/pdfjs/web/images/loading-icon.gif +0 -0
  194. package/assets/pdfjs/web/images/loading-small.png +0 -0
  195. package/assets/pdfjs/web/images/loading-small@2x.png +0 -0
  196. package/assets/pdfjs/web/images/secondaryToolbarButton-documentProperties.png +0 -0
  197. package/assets/pdfjs/web/images/secondaryToolbarButton-documentProperties@2x.png +0 -0
  198. package/assets/pdfjs/web/images/secondaryToolbarButton-firstPage.png +0 -0
  199. package/assets/pdfjs/web/images/secondaryToolbarButton-firstPage@2x.png +0 -0
  200. package/assets/pdfjs/web/images/secondaryToolbarButton-handTool.png +0 -0
  201. package/assets/pdfjs/web/images/secondaryToolbarButton-handTool@2x.png +0 -0
  202. package/assets/pdfjs/web/images/secondaryToolbarButton-lastPage.png +0 -0
  203. package/assets/pdfjs/web/images/secondaryToolbarButton-lastPage@2x.png +0 -0
  204. package/assets/pdfjs/web/images/secondaryToolbarButton-rotateCcw.png +0 -0
  205. package/assets/pdfjs/web/images/secondaryToolbarButton-rotateCcw@2x.png +0 -0
  206. package/assets/pdfjs/web/images/secondaryToolbarButton-rotateCw.png +0 -0
  207. package/assets/pdfjs/web/images/secondaryToolbarButton-rotateCw@2x.png +0 -0
  208. package/assets/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.png +0 -0
  209. package/assets/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal@2x.png +0 -0
  210. package/assets/pdfjs/web/images/secondaryToolbarButton-scrollVertical.png +0 -0
  211. package/assets/pdfjs/web/images/secondaryToolbarButton-scrollVertical@2x.png +0 -0
  212. package/assets/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.png +0 -0
  213. package/assets/pdfjs/web/images/secondaryToolbarButton-scrollWrapped@2x.png +0 -0
  214. package/assets/pdfjs/web/images/secondaryToolbarButton-selectTool.png +0 -0
  215. package/assets/pdfjs/web/images/secondaryToolbarButton-selectTool@2x.png +0 -0
  216. package/assets/pdfjs/web/images/secondaryToolbarButton-spreadEven.png +0 -0
  217. package/assets/pdfjs/web/images/secondaryToolbarButton-spreadEven@2x.png +0 -0
  218. package/assets/pdfjs/web/images/secondaryToolbarButton-spreadNone.png +0 -0
  219. package/assets/pdfjs/web/images/secondaryToolbarButton-spreadNone@2x.png +0 -0
  220. package/assets/pdfjs/web/images/secondaryToolbarButton-spreadOdd.png +0 -0
  221. package/assets/pdfjs/web/images/secondaryToolbarButton-spreadOdd@2x.png +0 -0
  222. package/assets/pdfjs/web/images/shadow.png +0 -0
  223. package/assets/pdfjs/web/images/texture.png +0 -0
  224. package/assets/pdfjs/web/images/toolbarButton-bookmark.png +0 -0
  225. package/assets/pdfjs/web/images/toolbarButton-bookmark@2x.png +0 -0
  226. package/assets/pdfjs/web/images/toolbarButton-download.png +0 -0
  227. package/assets/pdfjs/web/images/toolbarButton-download@2x.png +0 -0
  228. package/assets/pdfjs/web/images/toolbarButton-menuArrows.png +0 -0
  229. package/assets/pdfjs/web/images/toolbarButton-menuArrows@2x.png +0 -0
  230. package/assets/pdfjs/web/images/toolbarButton-openFile.png +0 -0
  231. package/assets/pdfjs/web/images/toolbarButton-openFile@2x.png +0 -0
  232. package/assets/pdfjs/web/images/toolbarButton-pageDown-rtl.png +0 -0
  233. package/assets/pdfjs/web/images/toolbarButton-pageDown-rtl@2x.png +0 -0
  234. package/assets/pdfjs/web/images/toolbarButton-pageDown.png +0 -0
  235. package/assets/pdfjs/web/images/toolbarButton-pageDown@2x.png +0 -0
  236. package/assets/pdfjs/web/images/toolbarButton-pageUp-rtl.png +0 -0
  237. package/assets/pdfjs/web/images/toolbarButton-pageUp-rtl@2x.png +0 -0
  238. package/assets/pdfjs/web/images/toolbarButton-pageUp.png +0 -0
  239. package/assets/pdfjs/web/images/toolbarButton-pageUp@2x.png +0 -0
  240. package/assets/pdfjs/web/images/toolbarButton-presentationMode.png +0 -0
  241. package/assets/pdfjs/web/images/toolbarButton-presentationMode@2x.png +0 -0
  242. package/assets/pdfjs/web/images/toolbarButton-print.png +0 -0
  243. package/assets/pdfjs/web/images/toolbarButton-print@2x.png +0 -0
  244. package/assets/pdfjs/web/images/toolbarButton-search.png +0 -0
  245. package/assets/pdfjs/web/images/toolbarButton-search@2x.png +0 -0
  246. package/assets/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl.png +0 -0
  247. package/assets/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png +0 -0
  248. package/assets/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.png +0 -0
  249. package/assets/pdfjs/web/images/toolbarButton-secondaryToolbarToggle@2x.png +0 -0
  250. package/assets/pdfjs/web/images/toolbarButton-sidebarToggle-rtl.png +0 -0
  251. package/assets/pdfjs/web/images/toolbarButton-sidebarToggle-rtl@2x.png +0 -0
  252. package/assets/pdfjs/web/images/toolbarButton-sidebarToggle.png +0 -0
  253. package/assets/pdfjs/web/images/toolbarButton-sidebarToggle@2x.png +0 -0
  254. package/assets/pdfjs/web/images/toolbarButton-viewAttachments.png +0 -0
  255. package/assets/pdfjs/web/images/toolbarButton-viewAttachments@2x.png +0 -0
  256. package/assets/pdfjs/web/images/toolbarButton-viewOutline-rtl.png +0 -0
  257. package/assets/pdfjs/web/images/toolbarButton-viewOutline-rtl@2x.png +0 -0
  258. package/assets/pdfjs/web/images/toolbarButton-viewOutline.png +0 -0
  259. package/assets/pdfjs/web/images/toolbarButton-viewOutline@2x.png +0 -0
  260. package/assets/pdfjs/web/images/toolbarButton-viewThumbnail.png +0 -0
  261. package/assets/pdfjs/web/images/toolbarButton-viewThumbnail@2x.png +0 -0
  262. package/assets/pdfjs/web/images/toolbarButton-zoomIn.png +0 -0
  263. package/assets/pdfjs/web/images/toolbarButton-zoomIn@2x.png +0 -0
  264. package/assets/pdfjs/web/images/toolbarButton-zoomOut.png +0 -0
  265. package/assets/pdfjs/web/images/toolbarButton-zoomOut@2x.png +0 -0
  266. package/assets/pdfjs/web/images/treeitem-collapsed-rtl.png +0 -0
  267. package/assets/pdfjs/web/images/treeitem-collapsed-rtl@2x.png +0 -0
  268. package/assets/pdfjs/web/images/treeitem-collapsed.png +0 -0
  269. package/assets/pdfjs/web/images/treeitem-collapsed@2x.png +0 -0
  270. package/assets/pdfjs/web/images/treeitem-expanded.png +0 -0
  271. package/assets/pdfjs/web/images/treeitem-expanded@2x.png +0 -0
  272. package/assets/pdfjs/web/locale/ach/viewer.properties +207 -0
  273. package/assets/pdfjs/web/locale/af/viewer.properties +184 -0
  274. package/assets/pdfjs/web/locale/ak/viewer.properties +130 -0
  275. package/assets/pdfjs/web/locale/an/viewer.properties +184 -0
  276. package/assets/pdfjs/web/locale/ar/viewer.properties +242 -0
  277. package/assets/pdfjs/web/locale/as/viewer.properties +167 -0
  278. package/assets/pdfjs/web/locale/ast/viewer.properties +201 -0
  279. package/assets/pdfjs/web/locale/az/viewer.properties +242 -0
  280. package/assets/pdfjs/web/locale/be/viewer.properties +242 -0
  281. package/assets/pdfjs/web/locale/bg/viewer.properties +242 -0
  282. package/assets/pdfjs/web/locale/bn-BD/viewer.properties +232 -0
  283. package/assets/pdfjs/web/locale/bn-IN/viewer.properties +242 -0
  284. package/assets/pdfjs/web/locale/br/viewer.properties +242 -0
  285. package/assets/pdfjs/web/locale/brx/viewer.properties +167 -0
  286. package/assets/pdfjs/web/locale/bs/viewer.properties +201 -0
  287. package/assets/pdfjs/web/locale/ca/viewer.properties +236 -0
  288. package/assets/pdfjs/web/locale/cak/viewer.properties +242 -0
  289. package/assets/pdfjs/web/locale/crh/viewer.properties +242 -0
  290. package/assets/pdfjs/web/locale/cs/viewer.properties +242 -0
  291. package/assets/pdfjs/web/locale/csb/viewer.properties +134 -0
  292. package/assets/pdfjs/web/locale/cy/viewer.properties +242 -0
  293. package/assets/pdfjs/web/locale/da/viewer.properties +242 -0
  294. package/assets/pdfjs/web/locale/de/viewer.properties +242 -0
  295. package/assets/pdfjs/web/locale/el/viewer.properties +242 -0
  296. package/assets/pdfjs/web/locale/en-CA/viewer.properties +242 -0
  297. package/assets/pdfjs/web/locale/en-GB/viewer.properties +242 -0
  298. package/assets/pdfjs/web/locale/en-US/viewer.properties +246 -0
  299. package/assets/pdfjs/web/locale/en-ZA/viewer.properties +170 -0
  300. package/assets/pdfjs/web/locale/eo/viewer.properties +242 -0
  301. package/assets/pdfjs/web/locale/es-AR/viewer.properties +242 -0
  302. package/assets/pdfjs/web/locale/es-CL/viewer.properties +242 -0
  303. package/assets/pdfjs/web/locale/es-ES/viewer.properties +242 -0
  304. package/assets/pdfjs/web/locale/es-MX/viewer.properties +242 -0
  305. package/assets/pdfjs/web/locale/et/viewer.properties +242 -0
  306. package/assets/pdfjs/web/locale/eu/viewer.properties +242 -0
  307. package/assets/pdfjs/web/locale/fa/viewer.properties +223 -0
  308. package/assets/pdfjs/web/locale/ff/viewer.properties +242 -0
  309. package/assets/pdfjs/web/locale/fi/viewer.properties +242 -0
  310. package/assets/pdfjs/web/locale/fr/viewer.properties +242 -0
  311. package/assets/pdfjs/web/locale/fy-NL/viewer.properties +242 -0
  312. package/assets/pdfjs/web/locale/ga-IE/viewer.properties +184 -0
  313. package/assets/pdfjs/web/locale/gd/viewer.properties +242 -0
  314. package/assets/pdfjs/web/locale/gl/viewer.properties +242 -0
  315. package/assets/pdfjs/web/locale/gn/viewer.properties +242 -0
  316. package/assets/pdfjs/web/locale/gu-IN/viewer.properties +242 -0
  317. package/assets/pdfjs/web/locale/he/viewer.properties +240 -0
  318. package/assets/pdfjs/web/locale/hi-IN/viewer.properties +224 -0
  319. package/assets/pdfjs/web/locale/hr/viewer.properties +242 -0
  320. package/assets/pdfjs/web/locale/hsb/viewer.properties +242 -0
  321. package/assets/pdfjs/web/locale/hto/viewer.properties +127 -0
  322. package/assets/pdfjs/web/locale/hu/viewer.properties +242 -0
  323. package/assets/pdfjs/web/locale/hy-AM/viewer.properties +201 -0
  324. package/assets/pdfjs/web/locale/ia/viewer.properties +242 -0
  325. package/assets/pdfjs/web/locale/id/viewer.properties +242 -0
  326. package/assets/pdfjs/web/locale/is/viewer.properties +239 -0
  327. package/assets/pdfjs/web/locale/it/viewer.properties +157 -0
  328. package/assets/pdfjs/web/locale/ja/viewer.properties +242 -0
  329. package/assets/pdfjs/web/locale/ka/viewer.properties +242 -0
  330. package/assets/pdfjs/web/locale/kab/viewer.properties +242 -0
  331. package/assets/pdfjs/web/locale/kk/viewer.properties +242 -0
  332. package/assets/pdfjs/web/locale/km/viewer.properties +184 -0
  333. package/assets/pdfjs/web/locale/kn/viewer.properties +193 -0
  334. package/assets/pdfjs/web/locale/ko/viewer.properties +242 -0
  335. package/assets/pdfjs/web/locale/kok/viewer.properties +167 -0
  336. package/assets/pdfjs/web/locale/ks/viewer.properties +168 -0
  337. package/assets/pdfjs/web/locale/ku/viewer.properties +146 -0
  338. package/assets/pdfjs/web/locale/lg/viewer.properties +112 -0
  339. package/assets/pdfjs/web/locale/lij/viewer.properties +242 -0
  340. package/assets/pdfjs/web/locale/lo/viewer.properties +152 -0
  341. package/assets/pdfjs/web/locale/locale.properties +369 -0
  342. package/assets/pdfjs/web/locale/lt/viewer.properties +242 -0
  343. package/assets/pdfjs/web/locale/ltg/viewer.properties +220 -0
  344. package/assets/pdfjs/web/locale/lv/viewer.properties +242 -0
  345. package/assets/pdfjs/web/locale/mai/viewer.properties +168 -0
  346. package/assets/pdfjs/web/locale/meh/viewer.properties +72 -0
  347. package/assets/pdfjs/web/locale/mk/viewer.properties +145 -0
  348. package/assets/pdfjs/web/locale/ml/viewer.properties +184 -0
  349. package/assets/pdfjs/web/locale/mn/viewer.properties +82 -0
  350. package/assets/pdfjs/web/locale/mr/viewer.properties +227 -0
  351. package/assets/pdfjs/web/locale/ms/viewer.properties +242 -0
  352. package/assets/pdfjs/web/locale/my/viewer.properties +198 -0
  353. package/assets/pdfjs/web/locale/nb-NO/viewer.properties +242 -0
  354. package/assets/pdfjs/web/locale/ne-NP/viewer.properties +184 -0
  355. package/assets/pdfjs/web/locale/nl/viewer.properties +246 -0
  356. package/assets/pdfjs/web/locale/nn-NO/viewer.properties +242 -0
  357. package/assets/pdfjs/web/locale/nso/viewer.properties +130 -0
  358. package/assets/pdfjs/web/locale/oc/viewer.properties +210 -0
  359. package/assets/pdfjs/web/locale/or/viewer.properties +167 -0
  360. package/assets/pdfjs/web/locale/pa-IN/viewer.properties +225 -0
  361. package/assets/pdfjs/web/locale/pl/viewer.properties +242 -0
  362. package/assets/pdfjs/web/locale/pt-BR/viewer.properties +242 -0
  363. package/assets/pdfjs/web/locale/pt-PT/viewer.properties +242 -0
  364. package/assets/pdfjs/web/locale/rm/viewer.properties +242 -0
  365. package/assets/pdfjs/web/locale/ro/viewer.properties +242 -0
  366. package/assets/pdfjs/web/locale/ru/viewer.properties +242 -0
  367. package/assets/pdfjs/web/locale/rw/viewer.properties +81 -0
  368. package/assets/pdfjs/web/locale/sah/viewer.properties +166 -0
  369. package/assets/pdfjs/web/locale/sat/viewer.properties +134 -0
  370. package/assets/pdfjs/web/locale/si/viewer.properties +207 -0
  371. package/assets/pdfjs/web/locale/sk/viewer.properties +242 -0
  372. package/assets/pdfjs/web/locale/sl/viewer.properties +242 -0
  373. package/assets/pdfjs/web/locale/son/viewer.properties +180 -0
  374. package/assets/pdfjs/web/locale/sq/viewer.properties +235 -0
  375. package/assets/pdfjs/web/locale/sr/viewer.properties +220 -0
  376. package/assets/pdfjs/web/locale/sv-SE/viewer.properties +242 -0
  377. package/assets/pdfjs/web/locale/sw/viewer.properties +128 -0
  378. package/assets/pdfjs/web/locale/ta/viewer.properties +201 -0
  379. package/assets/pdfjs/web/locale/ta-LK/viewer.properties +77 -0
  380. package/assets/pdfjs/web/locale/te/viewer.properties +218 -0
  381. package/assets/pdfjs/web/locale/th/viewer.properties +242 -0
  382. package/assets/pdfjs/web/locale/tl/viewer.properties +242 -0
  383. package/assets/pdfjs/web/locale/tn/viewer.properties +83 -0
  384. package/assets/pdfjs/web/locale/tr/viewer.properties +242 -0
  385. package/assets/pdfjs/web/locale/tsz/viewer.properties +75 -0
  386. package/assets/pdfjs/web/locale/uk/viewer.properties +242 -0
  387. package/assets/pdfjs/web/locale/ur/viewer.properties +207 -0
  388. package/assets/pdfjs/web/locale/uz/viewer.properties +169 -0
  389. package/assets/pdfjs/web/locale/vi/viewer.properties +239 -0
  390. package/assets/pdfjs/web/locale/wo/viewer.properties +124 -0
  391. package/assets/pdfjs/web/locale/xh/viewer.properties +184 -0
  392. package/assets/pdfjs/web/locale/zam/viewer.properties +90 -0
  393. package/assets/pdfjs/web/locale/zh-CN/viewer.properties +242 -0
  394. package/assets/pdfjs/web/locale/zh-TW/viewer.properties +242 -0
  395. package/assets/pdfjs/web/locale/zu/viewer.properties +131 -0
  396. package/assets/pdfjs/web/viewer.css +2405 -0
  397. package/assets/pdfjs/web/viewer.html +394 -0
  398. package/assets/pdfjs/web/viewer.js +15877 -0
  399. package/assets/pdfjs/web/viewer.js.map +1 -0
  400. package/esm2022/lib/module/eduhtml/eduHtml.component.mjs +8 -4
  401. package/esm2022/lib/module/url/url.component.mjs +3 -3
  402. package/esm2022/lib/render.component.mjs +17 -33
  403. package/esm2022/module-info.service.mjs +47 -0
  404. package/fesm2022/ngx-rendering-service-lib.mjs +76 -46
  405. package/fesm2022/ngx-rendering-service-lib.mjs.map +1 -1
  406. package/lib/render.component.d.ts +3 -2
  407. package/module-info.service.d.ts +14 -0
  408. package/package.json +2 -2
@@ -1,26 +1,26 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, signal, Component, Input, HostListener, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import * as i2 from '@angular/common';
2
+ import { NgModule, signal, Component, Input, HostListener, ViewChild, ViewEncapsulation, Injectable } from '@angular/core';
3
+ import * as i3 from '@angular/common';
4
4
  import { CommonModule, NgOptimizedImage } from '@angular/common';
5
5
  import * as i1 from 'ngx-edu-sharing-api';
6
6
  import { EduSharingApiModule } from 'ngx-edu-sharing-api';
7
- import * as i3 from '@angular/material/icon';
7
+ import * as i3$1 from '@angular/material/icon';
8
8
  import { MatIconModule, MatIcon } from '@angular/material/icon';
9
- import * as i2$1 from '@angular/material/button';
9
+ import * as i2 from '@angular/material/button';
10
10
  import { MatButtonModule, MatIconButton } from '@angular/material/button';
11
11
  import { MatSelect, MatOption } from '@angular/material/select';
12
12
  import { FormsModule } from '@angular/forms';
13
13
  import { MatMenu, MatMenuTrigger, MatMenuItem } from '@angular/material/menu';
14
- import * as i3$1 from 'ng2-pdfjs-viewer';
14
+ import * as i3$2 from 'ng2-pdfjs-viewer';
15
15
  import { PdfJsViewerModule } from 'ng2-pdfjs-viewer';
16
16
  import * as i1$1 from 'ngx-rendering-service-api';
17
17
  import { RenderingServiceApiModule } from 'ngx-rendering-service-api';
18
18
  import { YouTubePlayer } from '@angular/youtube-player';
19
19
  import * as i1$2 from '@angular/platform-browser';
20
- import { BehaviorSubject, Subject, firstValueFrom, interval, takeUntil, switchMap } from 'rxjs';
21
- import * as i3$2 from '@angular/material/progress-spinner';
20
+ import { firstValueFrom, BehaviorSubject, Subject, interval, takeUntil, switchMap } from 'rxjs';
21
+ import * as i4 from '@angular/material/progress-spinner';
22
22
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
23
- import * as i4 from '@angular/material/progress-bar';
23
+ import * as i5 from '@angular/material/progress-bar';
24
24
  import { MatProgressBarModule } from '@angular/material/progress-bar';
25
25
 
26
26
  const environment = {
@@ -73,7 +73,7 @@ class ImageComponent {
73
73
  }
74
74
  }
75
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ImageComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: ImageComponent, isStandalone: true, selector: "rs-module-image", inputs: { data: "data", node: "node" }, host: { listeners: { "document:fullscreenchange": "loadOptimalSize()" } }, ngImport: i0, template: "<div class=\"image-wrapper\"\n *ngIf=\"activeObject()\"\n>\n <img\n #image\n [src]=\"activeObject()?.link\"\n [alt]=\"node?.title\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.image-wrapper{width:100%}.image-wrapper img{width:100%;position:relative}.image-wrapper button{position:absolute;right:0;color:#fff;background-color:#00000080}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$1.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"] }] }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: ImageComponent, isStandalone: true, selector: "rs-module-image", inputs: { data: "data", node: "node" }, host: { listeners: { "document:fullscreenchange": "loadOptimalSize()" } }, ngImport: i0, template: "<div class=\"image-wrapper\"\n *ngIf=\"activeObject()\"\n>\n <img\n #image\n [src]=\"activeObject()?.link\"\n [alt]=\"node?.title\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.image-wrapper{width:100%}.image-wrapper img{width:100%;position:relative}.image-wrapper button{position:absolute;right:0;color:#fff;background-color:#00000080}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.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$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
77
77
  }
78
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ImageComponent, decorators: [{
79
79
  type: Component,
@@ -124,7 +124,7 @@ class VideoComponent {
124
124
  }
125
125
  }
126
126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: VideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: VideoComponent, isStandalone: true, selector: "rs-module-video", inputs: { data: "data", node: "node" }, viewQueries: [{ propertyName: "videoRef", first: true, predicate: ["video"], descendants: true }], ngImport: i0, template: "<div class=\"video-wrapper\" *ngIf=\"activeObject()\">\n <video\n controls\n #video\n >\n <source [src]=\"activeObject()?.link\" />\n </video>\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"resolutionMenu\"\n >\n <mat-icon>settings</mat-icon>\n </button>\n <mat-menu\n #resolutionMenu=\"matMenu\"\n xPosition=\"before\"\n >\n <button\n mat-menu-item\n *ngFor=\"let item of data?.items\"\n [disabled]=\"item.link === ''\"\n (click)=\"item.height !== activeObject()?.height && switchResolution(item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"item.link !== '' ? ready : loading\"\n [ngTemplateOutletContext]=\"{item:item}\"\n >\n </ng-container>\n </button>\n\n </mat-menu>\n</div>\n\n<ng-template #ready let-item='item'>\n <div style=\"display: flex; justify-content: space-between\">\n <mat-icon *ngIf=\"item.height === activeObject()?.height\">\n done\n </mat-icon>\n <div *ngIf=\"item.height !== activeObject()?.height\"></div>\n <div>\n {{item.height}}p\n </div>\n </div>\n</ng-template>\n\n<ng-template #loading let-item='item'>\n <div style=\"display: flex; justify-content: space-between\">\n <div>\n {{item.progress >= 0 ? \"Converting: \" + item.progress + \"%\" : \"Queue position: \" + -item.progress}}\n </div>\n <div style=\"padding-left: .5em\">\n {{item.height}}p\n </div>\n </div>\n</ng-template>\n", styles: [".video-wrapper{width:100%;position:relative}.video-wrapper video{width:100%;display:block}.video-wrapper button{position:absolute;right:0;top:0;color:#fff;background-color:#00000080}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: 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: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: VideoComponent, isStandalone: true, selector: "rs-module-video", inputs: { data: "data", node: "node" }, viewQueries: [{ propertyName: "videoRef", first: true, predicate: ["video"], descendants: true }], ngImport: i0, template: "<div class=\"video-wrapper\" *ngIf=\"activeObject()\">\n <video\n controls\n #video\n >\n <source [src]=\"activeObject()?.link\" />\n </video>\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"resolutionMenu\"\n >\n <mat-icon>settings</mat-icon>\n </button>\n <mat-menu\n #resolutionMenu=\"matMenu\"\n xPosition=\"before\"\n >\n <button\n mat-menu-item\n *ngFor=\"let item of data?.items\"\n [disabled]=\"item.link === ''\"\n (click)=\"item.height !== activeObject()?.height && switchResolution(item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"item.link !== '' ? ready : loading\"\n [ngTemplateOutletContext]=\"{item:item}\"\n >\n </ng-container>\n </button>\n\n </mat-menu>\n</div>\n\n<ng-template #ready let-item='item'>\n <div style=\"display: flex; justify-content: space-between\">\n <mat-icon *ngIf=\"item.height === activeObject()?.height\">\n done\n </mat-icon>\n <div *ngIf=\"item.height !== activeObject()?.height\"></div>\n <div>\n {{item.height}}p\n </div>\n </div>\n</ng-template>\n\n<ng-template #loading let-item='item'>\n <div style=\"display: flex; justify-content: space-between\">\n <div>\n {{item.progress >= 0 ? \"Converting: \" + item.progress + \"%\" : \"Queue position: \" + -item.progress}}\n </div>\n <div style=\"padding-left: .5em\">\n {{item.height}}p\n </div>\n </div>\n</ng-template>\n", styles: [".video-wrapper{width:100%;position:relative}.video-wrapper video{width:100%;display:block}.video-wrapper button{position:absolute;right:0;top:0;color:#fff;background-color:#00000080}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: 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: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] }); }
128
128
  }
129
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: VideoComponent, decorators: [{
130
130
  type: Component,
@@ -206,7 +206,7 @@ class PdfComponent {
206
206
  }
207
207
  }
208
208
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PdfComponent, deps: [{ token: i1$1.AssetControllerService }], target: i0.ɵɵFactoryTarget.Component }); }
209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: PdfComponent, isStandalone: true, selector: "rs-module-pdf", inputs: { data: "data", node: "node" }, viewQueries: [{ propertyName: "viewerRef", first: true, predicate: ["pdfViewer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"pdf-wrapper\" *ngIf=\"fileData !== undefined\">\n <ng2-pdfjs-viewer\n #pdfViewer\n [pdfSrc]=\"fileData\"\n [print]=\"!restrictedView\"\n [download]=\"!restrictedView\"\n (onDocumentLoad)=\"onDocumentLoad()\"\n >\n </ng2-pdfjs-viewer>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center;width:100%}.pdf-wrapper{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: PdfJsViewerModule }, { kind: "component", type: i3$1.PdfJsViewerComponent, selector: "ng2-pdfjs-viewer", inputs: ["viewerId", "viewerFolder", "externalWindow", "target", "showSpinner", "downloadFileName", "openFile", "download", "startDownload", "viewBookmark", "print", "startPrint", "fullScreen", "find", "zoom", "nameddest", "pagemode", "lastPage", "rotatecw", "rotateccw", "cursor", "scroll", "spread", "locale", "useOnlyCssZoom", "errorOverride", "errorAppend", "errorMessage", "diagnosticLogs", "externalWindowOptions", "page", "pdfSrc"], outputs: ["onBeforePrint", "onAfterPrint", "onDocumentLoad", "onPageChange"] }] }); }
209
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: PdfComponent, isStandalone: true, selector: "rs-module-pdf", inputs: { data: "data", node: "node" }, viewQueries: [{ propertyName: "viewerRef", first: true, predicate: ["pdfViewer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"pdf-wrapper\" *ngIf=\"fileData !== undefined\">\n <ng2-pdfjs-viewer\n #pdfViewer\n [pdfSrc]=\"fileData\"\n [print]=\"!restrictedView\"\n [download]=\"!restrictedView\"\n (onDocumentLoad)=\"onDocumentLoad()\"\n >\n </ng2-pdfjs-viewer>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center;width:100%}.pdf-wrapper{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: PdfJsViewerModule }, { kind: "component", type: i3$2.PdfJsViewerComponent, selector: "ng2-pdfjs-viewer", inputs: ["viewerId", "viewerFolder", "externalWindow", "target", "showSpinner", "downloadFileName", "openFile", "download", "startDownload", "viewBookmark", "print", "startPrint", "fullScreen", "find", "zoom", "nameddest", "pagemode", "lastPage", "rotatecw", "rotateccw", "cursor", "scroll", "spread", "locale", "useOnlyCssZoom", "errorOverride", "errorAppend", "errorMessage", "diagnosticLogs", "externalWindowOptions", "page", "pdfSrc"], outputs: ["onBeforePrint", "onAfterPrint", "onDocumentLoad", "onPageChange"] }] }); }
210
210
  }
211
211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PdfComponent, decorators: [{
212
212
  type: Component,
@@ -241,7 +241,7 @@ class UrlComponent {
241
241
  this.isRemoteRepoResource = false;
242
242
  }
243
243
  ngOnChanges(changes) {
244
- this.url = this.node?.properties !== undefined ? this.node.properties["ccm:wwwurl"][0] : "";
244
+ this.url = this.node?.properties?.["ccm:wwwurl"]?.[0] || '';
245
245
  this.setEmbeddingType();
246
246
  }
247
247
  isProtected() {
@@ -295,7 +295,7 @@ class UrlComponent {
295
295
  return this.sanitizer.bypassSecurityTrustResourceUrl(url);
296
296
  }
297
297
  detectImage() {
298
- if (this.node?.properties !== undefined && this.node.properties["ccm:remoterepositorytype"][0] === "DDB") {
298
+ if (this.node?.properties?.["ccm:remoterepositorytype"]?.[0] === "DDB") {
299
299
  return false;
300
300
  }
301
301
  if (this.node?.mediatype === 'file-image') {
@@ -321,7 +321,7 @@ class UrlComponent {
321
321
  return (["mp4", "webm"].includes(this.url.split(".").pop() ?? ""));
322
322
  }
323
323
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UrlComponent, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
324
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: UrlComponent, isStandalone: true, selector: "rs-module-url", inputs: { data: "data", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"url-wrapper\">\n <div *ngIf=\"gdprOk\">\n <ng-container *ngIf=\"embedding === 'youtube' && externalId !== ''\">\n <youtube-player\n [videoId]=\"externalId ?? ''\"\n [disableCookies]=\"true\"\n ></youtube-player>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'vimeo' && externalId !== ''\">\n <iframe [src]=\"getVimeoUri()\"></iframe>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'audio' && url !== ''\" >\n <div class=\"audio-wrapper\">\n <video\n controls\n style=\"max-width: 100%\"\n [src]=\"url\"\n poster=\"assets/img/audio.svg\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'image' && url !== ''\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"url\"\n [alt]=\"node?.title ?? 'Edu-Sharing image'\"\n [title]=\"node?.title ?? 'Edu-Sharing image'\"\n width=\"100%\"\n height=\"auto\"\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'video' && url !== ''\">\n <div class=\"video-wrapper\">\n <video\n controls\n [src]=\"url\"\n >\n </video>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!gdprOk\">\n Halt! Stop!\n <button mat-button (click)=\"consentToGdprWarning()\">Weiter!</button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.url-wrapper{width:100%}.url-wrapper .audio-wrapper video[poster]{object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$1.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: YouTubePlayer, selector: "youtube-player", inputs: ["videoId", "height", "width", "startSeconds", "endSeconds", "suggestedQuality", "playerVars", "disableCookies", "loadApi", "disablePlaceholder", "showBeforeIframeApiLoads", "placeholderButtonLabel", "placeholderImageQuality"], outputs: ["ready", "stateChange", "error", "apiChange", "playbackQualityChange", "playbackRateChange"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }] }); }
324
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: UrlComponent, isStandalone: true, selector: "rs-module-url", inputs: { data: "data", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"url-wrapper\">\n <div *ngIf=\"gdprOk\">\n <ng-container *ngIf=\"embedding === 'youtube' && externalId !== ''\">\n <youtube-player\n [videoId]=\"externalId ?? ''\"\n [disableCookies]=\"true\"\n ></youtube-player>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'vimeo' && externalId !== ''\">\n <iframe [src]=\"getVimeoUri()\"></iframe>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'audio' && url !== ''\" >\n <div class=\"audio-wrapper\">\n <video\n controls\n style=\"max-width: 100%\"\n [src]=\"url\"\n poster=\"assets/img/audio.svg\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'image' && url !== ''\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"url\"\n [alt]=\"node?.title ?? 'Edu-Sharing image'\"\n [title]=\"node?.title ?? 'Edu-Sharing image'\"\n width=\"100%\"\n height=\"auto\"\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === 'video' && url !== ''\">\n <div class=\"video-wrapper\">\n <video\n controls\n [src]=\"url\"\n >\n </video>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!gdprOk\">\n Halt! Stop!\n <button mat-button (click)=\"consentToGdprWarning()\">Weiter!</button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.url-wrapper{width:100%}.url-wrapper .audio-wrapper video[poster]{object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: YouTubePlayer, selector: "youtube-player", inputs: ["videoId", "height", "width", "startSeconds", "endSeconds", "suggestedQuality", "playerVars", "disableCookies", "loadApi", "disablePlaceholder", "showBeforeIframeApiLoads", "placeholderButtonLabel", "placeholderImageQuality"], outputs: ["ready", "stateChange", "error", "apiChange", "playbackQualityChange", "playbackRateChange"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }] }); }
325
325
  }
326
326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UrlComponent, decorators: [{
327
327
  type: Component,
@@ -349,13 +349,17 @@ class EduHtmlComponent {
349
349
  }
350
350
  getSafeUri() {
351
351
  if (this.data?.items !== undefined && this.data.items[0].link) {
352
- return this.sanitizer.bypassSecurityTrustResourceUrl(this.data.items[0].link);
352
+ const uri = new URL(this.data.items[0].link);
353
+ if (uri.hostname.includes("nip.io")) {
354
+ uri.hostname = "localhost";
355
+ }
356
+ return this.sanitizer.bypassSecurityTrustResourceUrl(uri.toString());
353
357
  }
354
358
  return new class {
355
359
  };
356
360
  }
357
361
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EduHtmlComponent, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
358
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: EduHtmlComponent, isStandalone: true, selector: "rs-module-eduHtml", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"eduHtml-wrapper\" *ngIf=\"data?.items !== undefined\">\n <iframe [src]=\"getSafeUri()\"></iframe>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center;width:100%}.eduHtml-wrapper{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }] }); }
362
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: EduHtmlComponent, isStandalone: true, selector: "rs-module-eduHtml", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"eduHtml-wrapper\" *ngIf=\"data?.items !== undefined\">\n <iframe class=\"frame\" [src]=\"getSafeUri()\"></iframe>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center;width:100%}.eduHtml-wrapper{width:100%;height:500px}.eduHtml-wrapper .frame{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }] }); }
359
363
  }
360
364
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EduHtmlComponent, decorators: [{
361
365
  type: Component,
@@ -363,7 +367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
363
367
  RenderingModule,
364
368
  MatButtonModule,
365
369
  MatIconModule
366
- ], template: "<div class=\"eduHtml-wrapper\" *ngIf=\"data?.items !== undefined\">\n <iframe [src]=\"getSafeUri()\"></iframe>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center;width:100%}.eduHtml-wrapper{width:100%}\n"] }]
370
+ ], template: "<div class=\"eduHtml-wrapper\" *ngIf=\"data?.items !== undefined\">\n <iframe class=\"frame\" [src]=\"getSafeUri()\"></iframe>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center;width:100%}.eduHtml-wrapper{width:100%;height:500px}.eduHtml-wrapper .frame{width:100%;height:100%}\n"] }]
367
371
  }], ctorParameters: () => [{ type: i1$2.DomSanitizer }], propDecorators: { data: [{
368
372
  type: Input
369
373
  }], node: [{
@@ -439,10 +443,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
439
443
  }]
440
444
  }] });
441
445
 
446
+ class ModuleInfoService {
447
+ constructor(service) {
448
+ this.service = service;
449
+ this.availableMediaTypes = [];
450
+ this.availableMimeTypes = [];
451
+ this.availableMimeTypePrefixes = [];
452
+ }
453
+ async isAvailableBackendObject(node) {
454
+ if (!this.isInitialized()) {
455
+ const result = await firstValueFrom(this.service.getModulesInfo());
456
+ result.forEach(info => {
457
+ if (info.typeMapping.type !== undefined && info.typeMapping.type !== null) {
458
+ this.availableMediaTypes.push(info.typeMapping.type);
459
+ }
460
+ else if (info.typeMapping.mimeTypeSuffix !== undefined
461
+ && info.typeMapping.mimeTypeSuffix !== null
462
+ && info.typeMapping.mimeTypePrefix !== undefined
463
+ && info.typeMapping.mimeTypePrefix !== null) {
464
+ this.availableMimeTypes.push(`${info.typeMapping.mimeTypePrefix}/${info.typeMapping.mimeTypeSuffix}`);
465
+ }
466
+ else if (info.typeMapping.mimeTypePrefix !== undefined && info.typeMapping.mimeTypePrefix !== null) {
467
+ this.availableMimeTypePrefixes.push(info.typeMapping.mimeTypePrefix);
468
+ }
469
+ });
470
+ }
471
+ const mimeTypePrefix = (node.mimetype ?? '').split('/', 2)[0];
472
+ return this.availableMediaTypes.includes(node.mediatype ?? "") ||
473
+ this.availableMimeTypes.includes(node.mimetype ?? "") ||
474
+ this.availableMimeTypePrefixes.includes(mimeTypePrefix);
475
+ }
476
+ isInitialized() {
477
+ return this.availableMediaTypes.length
478
+ + this.availableMimeTypes.length
479
+ + this.availableMimeTypePrefixes.length !== 0;
480
+ }
481
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ModuleInfoService, deps: [{ token: i1$1.ModuleInfoControllerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
482
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ModuleInfoService, providedIn: "root" }); }
483
+ }
484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ModuleInfoService, decorators: [{
485
+ type: Injectable,
486
+ args: [{ providedIn: "root" }]
487
+ }], ctorParameters: () => [{ type: i1$1.ModuleInfoControllerService }] });
488
+
442
489
  class RenderComponent {
443
- constructor(renderControllerService, jobInfoControllerService) {
490
+ constructor(renderControllerService, jobInfoControllerService, moduleInfoService) {
444
491
  this.renderControllerService = renderControllerService;
445
492
  this.jobInfoControllerService = jobInfoControllerService;
493
+ this.moduleInfoService = moduleInfoService;
446
494
  this.renderData$ = new BehaviorSubject(null);
447
495
  this.finished = new Subject();
448
496
  this.someButNotAllFinished = new Subject();
@@ -450,7 +498,7 @@ class RenderComponent {
450
498
  this.useUrlModule = false;
451
499
  }
452
500
  async ngOnChanges(changes) {
453
- if (this.node === undefined || !this.checkIfBackendModule()) {
501
+ if (this.node !== undefined && !await this.moduleInfoService.isAvailableBackendObject(this.node)) {
454
502
  return;
455
503
  }
456
504
  const renderResponseData = (await firstValueFrom(this.renderControllerService.getRenderData({
@@ -469,14 +517,14 @@ class RenderComponent {
469
517
  return assetItem;
470
518
  });
471
519
  const data = {
472
- module: renderResponseData.module,
520
+ module: renderResponseData.module ?? '',
473
521
  items: items
474
522
  };
475
523
  renderResponseData.objectLinks !== undefined && this.renderData$.next(data);
476
524
  this.finished.next();
477
525
  }
478
526
  else {
479
- this.progress$.next({ module: renderResponseData.module });
527
+ this.progress$.next({ module: renderResponseData.module ?? '' });
480
528
  interval(500).pipe(takeUntil(this.finished), switchMap(() => this.jobInfoControllerService.getJobInfo({ jobId: renderResponseData.jobId }).pipe())).subscribe(async (status) => {
481
529
  // Some, but not all, jobs are finished ->
482
530
  if (status.jobs.some(j => j.status === 'FINISHED') && status.status !== 'FINISHED') {
@@ -490,7 +538,7 @@ class RenderComponent {
490
538
  return assetItem;
491
539
  });
492
540
  const data = {
493
- module: renderResponseData.module,
541
+ module: renderResponseData.module ?? '',
494
542
  items: items
495
543
  };
496
544
  this.renderData$.next(data);
@@ -508,7 +556,7 @@ class RenderComponent {
508
556
  return assetItem;
509
557
  });
510
558
  const data = {
511
- module: renderResponseData.module,
559
+ module: renderResponseData.module ?? '',
512
560
  items: items
513
561
  };
514
562
  this.renderData$.next(data);
@@ -525,33 +573,15 @@ class RenderComponent {
525
573
  progress = -(Math.min(...status.jobs.map(j => j.progress + 1)));
526
574
  }
527
575
  this.progress$.next({
528
- module: status.module,
576
+ module: status.module ?? '',
529
577
  progress: progress
530
578
  });
531
579
  }
532
580
  });
533
581
  }
534
582
  }
535
- checkIfBackendModule() {
536
- if (["youtube", "pixabay"].includes((this.node?.remote?.repository?.repositoryType ?? "").toLowerCase())) {
537
- this.useUrlModule = true;
538
- return false;
539
- }
540
- if (this.node?.properties === undefined) {
541
- return true;
542
- }
543
- if (this.node?.properties["ccm:replicationsource"] !== undefined && (this.node.properties["ccm:replicationsource"][0] ?? "") === "oai:dmglib.org") {
544
- this.useUrlModule = true;
545
- return false;
546
- }
547
- if (this.node?.properties["ccm:wwwurl"].length > 0) {
548
- this.useUrlModule = true;
549
- return false;
550
- }
551
- return true;
552
- }
553
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, deps: [{ token: i1$1.RenderControllerService }, { token: i1$1.JobInfoControllerService }], target: i0.ɵɵFactoryTarget.Component }); }
554
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: RenderComponent, isStandalone: true, selector: "rs-root", inputs: { request: "request", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"module\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO' || data?.module === 'AUDIO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n </ng-container>\n <ng-container *ngIf=\"useUrlModule\">\n @defer (when useUrlModule) {\n <rs-module-url [node]=\"node\"></rs-module-url>\n }\n </ng-container>\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: RenderingApiModule }, { kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3$2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i4.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], deferBlockDependencies: [() => [Promise.resolve().then(function () { return image_component; }).then(m => m.ImageComponent)], () => [Promise.resolve().then(function () { return video_component; }).then(m => m.VideoComponent)], () => [Promise.resolve().then(function () { return pdf_component; }).then(m => m.PdfComponent)], () => [Promise.resolve().then(function () { return eduHtml_component; }).then(m => m.EduHtmlComponent)], () => [Promise.resolve().then(function () { return spreadsheet_component; }).then(m => m.SpreadsheetComponent)], () => [Promise.resolve().then(function () { return url_component; }).then(m => m.UrlComponent)]] }); }
583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, deps: [{ token: i1$1.RenderControllerService }, { token: i1$1.JobInfoControllerService }, { token: ModuleInfoService }], target: i0.ɵɵFactoryTarget.Component }); }
584
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: RenderComponent, isStandalone: true, selector: "rs-root", inputs: { request: "request", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"module\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO' || data?.module === 'AUDIO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML' || data?.module === 'H5P' || data?.module === 'JUPYTER') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n </ng-container>\n <ng-container *ngIf=\"useUrlModule\">\n @defer (when useUrlModule) {\n <rs-module-url [node]=\"node\"></rs-module-url>\n }\n </ng-container>\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: RenderingApiModule }, { kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], deferBlockDependencies: [() => [Promise.resolve().then(function () { return image_component; }).then(m => m.ImageComponent)], () => [Promise.resolve().then(function () { return video_component; }).then(m => m.VideoComponent)], () => [Promise.resolve().then(function () { return pdf_component; }).then(m => m.PdfComponent)], () => [Promise.resolve().then(function () { return eduHtml_component; }).then(m => m.EduHtmlComponent)], () => [Promise.resolve().then(function () { return spreadsheet_component; }).then(m => m.SpreadsheetComponent)], () => [Promise.resolve().then(function () { return url_component; }).then(m => m.UrlComponent)]] }); }
555
585
  }
556
586
  i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, resolveDeferredDeps: () => [Promise.resolve().then(function () { return image_component; }).then(m => m.ImageComponent), Promise.resolve().then(function () { return video_component; }).then(m => m.VideoComponent), Promise.resolve().then(function () { return pdf_component; }).then(m => m.PdfComponent), Promise.resolve().then(function () { return eduHtml_component; }).then(m => m.EduHtmlComponent), Promise.resolve().then(function () { return spreadsheet_component; }).then(m => m.SpreadsheetComponent), Promise.resolve().then(function () { return url_component; }).then(m => m.UrlComponent)], resolveMetadata: (ImageComponent, VideoComponent, PdfComponent, EduHtmlComponent, SpreadsheetComponent, UrlComponent) => ({ decorators: [{
557
587
  type: Component,
@@ -566,8 +596,8 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.6", ng
566
596
  UrlComponent,
567
597
  EduHtmlComponent,
568
598
  SpreadsheetComponent,
569
- ], template: "<div class=\"module\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO' || data?.module === 'AUDIO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n </ng-container>\n <ng-container *ngIf=\"useUrlModule\">\n @defer (when useUrlModule) {\n <rs-module-url [node]=\"node\"></rs-module-url>\n }\n </ng-container>\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"] }]
570
- }], ctorParameters: () => [{ type: i1$1.RenderControllerService }, { type: i1$1.JobInfoControllerService }], propDecorators: { request: [{
599
+ ], template: "<div class=\"module\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO' || data?.module === 'AUDIO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML' || data?.module === 'H5P' || data?.module === 'JUPYTER') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n </ng-container>\n <ng-container *ngIf=\"useUrlModule\">\n @defer (when useUrlModule) {\n <rs-module-url [node]=\"node\"></rs-module-url>\n }\n </ng-container>\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"] }]
600
+ }], ctorParameters: () => [{ type: i1$1.RenderControllerService }, { type: i1$1.JobInfoControllerService }, { type: ModuleInfoService }], propDecorators: { request: [{
571
601
  type: Input
572
602
  }], node: [{
573
603
  type: Input